Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/311.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/arrays/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从两个向量中选择随机值(python)_Python_Arrays_Random - Fatal编程技术网

从两个向量中选择随机值(python)

从两个向量中选择随机值(python),python,arrays,random,Python,Arrays,Random,我有两个向量 A B 它们是耦合的,我的意思是它们在给定的位置定义了一个特定的标量场 我想从A中选择1000个随机项目,并绘制它们与其他1000个B耦合项目的对比图 使用此代码 A_rand=random.sample(A,1000) 我选择了1000个A的随机值。例如,它们是A[1],A[50],A[49],等等 如何选择B[1]、B[50]、B[49]等 我试过了 B_rand=B[(A==A_rand)] 但它只返回一个值。我做错了什么?您可以选择索引,而不是项目:

我有两个向量

   A
   B
它们是耦合的,我的意思是它们在给定的位置定义了一个特定的标量场

我想从A中选择1000个随机项目,并绘制它们与其他1000个B耦合项目的对比图

使用此代码

  A_rand=random.sample(A,1000)
我选择了1000个A的随机值。例如,它们是A[1],A[50],A[49],等等

如何选择B[1]、B[50]、B[49]等

我试过了

 B_rand=B[(A==A_rand)]

但它只返回一个值。我做错了什么?

您可以选择索引,而不是项目:

rand = random.sample(range(len(A)), 1000)
然后您可以使用
A[rand[i]]
B[rand[i]]

对于所有选定项目:

A_rand = [A[x] for x in rand]
B_rand = [B[x] for x in rand]

您可以选择索引,而不是项目:

rand = random.sample(range(len(A)), 1000)
然后您可以使用
A[rand[i]]
B[rand[i]]

对于所有选定项目:

A_rand = [A[x] for x in rand]
B_rand = [B[x] for x in rand]

您还可以预先将它们与
zip
进行耦合,然后选择样本

rand = random.sample(zip(A, B), 1000)
这样,您将拥有一个包含元组的列表

例如
[(A[1],B[1]),(A[50],B[50]),(A[49],B[49]),…]

然后,要从该列表中获取
A_rand
B_rand
,您可以使用

A_rand, B_rand = zip(*rand)

您还可以预先将它们与
zip
进行耦合,然后选择样本

rand = random.sample(zip(A, B), 1000)
这样,您将拥有一个包含元组的列表

例如
[(A[1],B[1]),(A[50],B[50]),(A[49],B[49]),…]

然后,要从该列表中获取
A_rand
B_rand
,您可以使用

A_rand, B_rand = zip(*rand)