如何比较两个numpy数组中的元素并添加其他元素?

问题描述 投票:0回答:1

我有两个不同长度的numpy数组(~25k),看起来像:

a = [['0110000TPK019906K' '325096'] ['0110000TPK01PR12' '225091']...]

b = [['0110000TPK019906K' '4']['0110000TPK01TGTX12K' '5']...]

我需要找到所有类似元素a [i] [0]和b [i] [0]并在数组a中添加b [i] [1]。结果应该是:

a = [['0110000TPK019906K' '325096' '4']

所以我写了这段代码,我有一些问题吗?

i = 0    
while ( ): # which condition I should use?
        if a[0][i] == b[0][i]:
                quantity = b[0][1]
                np.append(a[0], b[i][1])
        else:
            # how go to next element in array b?

或者,也许存在更有效的方式?

python python-3.x numpy
1个回答
1
投票

你可以使用list-comprehension

new_array = np.array([[i[0],i[1],j[1]] for i,j in zip(a,b) if i[0]==j[0]])

print(new_array)

输出:

[['0110000TPK019906K' '325096' '4']]

推荐问答