如何在python中检查矩阵和数组的值是否相等

时间:2019-05-15 13:41:15

标签: python-3.x

给出一个矩阵mat和一个数组arr,如果第1列的元素等于该数组的相应元素,则为该矩阵的每一行打印相应的第2列的值矩阵。

mat = np.array([['abc','A'],['def','B'],['ghi','C'],['jkl','D']])
arr = np.array(['abc','dfe','ghi','kjl'])

1 个答案:

答案 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']]