2011-07-22 113 views
10

我有一個D型,如numpy的結構數組:如何屏蔽多列上的numpy結構數組?

A = numpy.empty(10, dtype=([('segment', '<i8'), ('material', '<i8'), ('rxN', '<i8')])) 

我知道我可以創造一個面具如:

A[A['segment'] == 42] = ... 

有沒有一種方法來創建多個列的面具?例如(我知道這是不行的,但我希望它做的):

A[A['segment'] == 42 and A['material'] == 5] = ... 

回答

11

可以使用&運營商,而不是and

A[(A['segment'] == 42) & (A['material'] == 5)] 

注意,額外的括號是必需的。

+0

簡單,我愛它。謝謝! – jlconlin