2024-03-29 13:55:15 发布
网友
我有两个向量
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)]
但它只返回一个值。我做错什么了?你知道吗
您还可以预先将它们与zip耦合,然后选择样本
zip
rand = random.sample(zip(A, B), 1000)
这样你就有了一个元组列表。你知道吗
例如[(A[1],B[1]),(A[50],B[50]),(A[49],B[49]),...]
[(A[1],B[1]),(A[50],B[50]),(A[49],B[49]),...]
然后从列表中获取A_rand和B_rand,您可以使用
A_rand
B_rand
A_rand, B_rand = zip(*rand)
您可以选择索引,而不是项目:
rand = random.sample(range(len(A)), 1000)
然后可以使用A[rand[i]]和B[rand[i]]。你知道吗
A[rand[i]]
B[rand[i]]
对于所有选定的项目:
A_rand = [A[x] for x in rand] B_rand = [B[x] for x in rand]
您还可以预先将它们与
zip
耦合,然后选择样本这样你就有了一个元组列表。你知道吗
例如
[(A[1],B[1]),(A[50],B[50]),(A[49],B[49]),...]
然后从列表中获取
A_rand
和B_rand
,您可以使用您可以选择索引,而不是项目:
然后可以使用
A[rand[i]]
和B[rand[i]]
。你知道吗对于所有选定的项目:
相关问题 更多 >
编程相关推荐