【发布时间】:2020-06-01 03:57:55
【问题描述】:
我有两个向量,向量 A 是 (1298,1),向量 B 在 for 循环中变化但始终只是一个列向量,我正在尝试使用 numpy.where 来查找其中元素的 A 索引B. 目前我有一个 for 循环通过 Vector B element-wise 并使用 numpy.isclose 但我想知道是否有人知道更快的函数和/或如何在没有嵌套 for 循环的情况下做到这一点?它工作但非常缓慢。 for 循环看起来像这样
sphere_indices=[]
for k in range(len(A)):
for j in range(len(B)):
if np.isclose(B[j,0],A[k,0]):
sphere_indices.append(k) ```
【问题讨论】:
-
你能举一些输入例子吗?
-
您是否也可以在代码中使用
A和B以便我们知道哪个是哪个? -
所以 A 是 (1298,1) 向量,B 通常是 (10,1) 和 (1,1) 之间的大小,元素都是从 1 到 10,000 的整数,对应于模拟软件使用的 atom-id #s(这是 MD 模拟的后处理脚本)
标签: python numpy for-loop comparison indices