给出一个矩阵mat
和一个数组arr
,如果第1列的元素等于该数组的相应元素,则为该矩阵的每一行打印相应的第2列的值矩阵。
mat = np.array([['abc','A'],['def','B'],['ghi','C'],['jkl','D']])
arr = np.array(['abc','dfe','ghi','kjl'])
答案 0 :(得分:0)
这可以通过numpy.where解决。
使用mat[:,0]
提取矩阵的第一行,并使用arr
将其与np.where(mat[:,0] == arr)
进行比较以提取索引。
并使用这些索引从mat
In [1]: import numpy as np
...:
...: mat = np.array([['abc','A'],['def','B'],['ghi','C'],['jkl','D']])
...:
...: arr = np.array(['abc','dfe','ghi','kjl'])
In [2]: print(mat[np.where(mat[:,0] == arr)])
[['abc' 'A']
['ghi' 'C']]