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


我有一个带有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] = ...

11670
2017-07-22 15:34


起源



答案:


你可以使用 & 运算符而不是 and

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

请注意,需要额外的parantheses。


12
2017-07-22 15:42



简单,我喜欢它。谢谢! - jlconlin


答案:


你可以使用 & 运算符而不是 and

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

请注意,需要额外的parantheses。


12
2017-07-22 15:42



简单,我喜欢它。谢谢! - jlconlin