如何在多列上屏蔽numpy结构化数组?

时间:2011-07-22 15:34:50

标签: python numpy mask masked-array

我有一个带有dtype的numpy结构化数组,例如:

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

我知道我可以创建一个掩码,例如:

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

有没有办法在多列上创建遮罩?例如(我知道这不起作用,但我希望如此):

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

1 个答案:

答案 0 :(得分:12)

您可以使用&运算符代替and

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

请注意,需要额外的parantheses。