我有两个载体
A
B
耦合的,我的意思是它们在给定位置定义某个标量场。
我想从A中选择1000个随机项目,并将其与其他1000个B耦合项目进行对比。
使用此代码
A_rand=random.sample(A,1000)
我选择了A的1000个随机值。例如,它们是A [1],A [50],A [49]等。
如何选择B [1],B [50],B [49]等。 ?
我试过
B_rand=B[(A==A_rand)]
但它只返回一个值。我做错了什么?
答案 0 :(得分:2)
您可以选择索引,而不是项目:
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]
答案 1 :(得分:2)
您也可以预先将它们与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)