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

2024-03-29 13:55:15 发布

您现在位置:Python中文网/ 问答频道 /正文

我有两个向量

   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)]

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


Tags: sample代码定义random向量标量rand
2条回答

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

rand = random.sample(zip(A, B), 1000)

这样你就有了一个元组列表。你知道吗

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

然后从列表中获取A_randB_rand,您可以使用

A_rand, B_rand = zip(*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]

相关问题 更多 >