Python 基于来自两个numpy数组的数据查找索引
我有一个巨大的numpy矩阵。让我们说Python 基于来自两个numpy数组的数据查找索引,python,numpy,Python,Numpy,我有一个巨大的numpy矩阵。让我们说 A['a1'] = [1,2,3,6] A['a3']= [3,4,3,7] A['a4']= [4,6,8,7] B['b2'] = [2,2,2,4] A['a1'] A['a3'] A['a4'] B['b2'] 1 3 4 2 2 4 6 2 3 3 8 2 6
A['a1'] = [1,2,3,6]
A['a3']= [3,4,3,7]
A['a4']= [4,6,8,7]
B['b2'] = [2,2,2,4]
A['a1'] A['a3'] A['a4'] B['b2']
1 3 4 2
2 4 6 2
3 3 8 2
6 7 7 4
我想选择一个索引,其中B['b2']的值为2,A['a3']的值为3。
这意味着我需要索引0和2
对于单个数组,我可以使用np.where,但是如何在不同数组之间关联它呢。
我以前一直在使用Pandas,这很简单,但无法使用numpy找到实现它的方法。您可以使用一个集合对象{…}结合其方法相交
将numpy导入为np
A、 B={},{}#可选:避免这段代码中的bug
A['a1']=[1,2,3,6]
A['a3']=[3,4,3,7]
A['a4']=[4,6,8,7]
B['b2']=[2,2,2,4]
n1=np.where(np.array(A['a3'])==3)#{0,2}
n2=np.where(np.array(B['b2'])==2)#{0,1,2}
打印(设置(n1[0])。交叉点(n2[0]))
# {0, 2}
谢谢。那很好。为什么我以前没想到呢。再次感谢