2011-07-22 112 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