2017-09-17 74 views
0

我有在python numpy的矩陣的,我需要選擇在三分之二的列中的元素時在第一列中的元素是1或2,並且在第2欄是2或4.選擇從numpy的矩陣要素,具體取決於組值

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

您可以使用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]]) 
+1

THX,這正是我需要的:) – user1927468