根据值集从numpy矩阵中选择元素

时间:2017-09-17 14:41:26

标签: python numpy

我在python中有一个numpy矩阵,当第一列中的元素是1或2而第二列中的元素是2或4时,我需要选择第三列中的元素。

import numpy as np 
a = np.matrix('1 2 5; 3 4 3; 2 3 2; 2 4 5; 1 3 2; 3 2 2')

我尝试了这段代码,但它没有用。

l1 = np.array([1, 2])
l2 = np.array([2, 4])
result = a[(a[:,0] in l1) & (a[:,1] in l2)]

1 个答案:

答案 0 :(得分:1)

您可以使用np.in1d

l1 = np.array([1, 2])
l2 = np.array([2, 4])
result = a[np.in1d(a[:,0], l1) & np.in1d(a[:,1], l2)]

result
#matrix([[1, 2, 5],
#        [2, 4, 5]])