【发布时间】:2019-11-07 08:59:49
【问题描述】:
我有 2 个不同大小的 numpy arrays。从理论上讲,一个将是另一个的子集。我想在较大的numpy array 中找到其值与较小子集匹配的索引。
例如
A = [ 7.52 8.32 16.96 20.05 -24.96 -42.69 -47.47 55.04 -57.62 2.03
61.94 64.41 -71.3 93.6 151.65 151.75 -0.43 -3.18 4.59 -5.55
6.44 -9.48 9.31 0.67 -14.34 -8.09 16.23 17.69 19.46 23.52
-52.59]
B = [61.94 16.23 19.46 -5.55 -0.43 93.6]
2 for 循环会执行此操作,但我想知道是否有 python 方法可以更快地执行此操作。
我尝试了一个循环,但它不起作用(我怀疑numpy.where 不适用于不同大小的数组)
def get_index(self, lst_1, lst_2):
tmp_list = list()
for i in range(min(len(lst_1), len(lst_2))):
if np.where(lst_2[i] == lst_1):
tmp_list.append(i)
return tmp_list
任何建议将不胜感激:)
谢谢
【问题讨论】: