2011-07-22 14 views
10

que tienen una matriz estructurada numpy con un dtype tales como:¿Cómo enmascarar la matriz numpy estructurada en múltiples columnas?

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

sé que puedo crear una máscara como:

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

¿Hay una manera de crear una máscara en varias columnas? Por ejemplo (sé que esto no funciona, pero me gustaría que lo hiciera):

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

Respuesta

11

Usted puede utilizar el operador & en lugar de and:

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

Tenga en cuenta que se requieren los paréntesis adicionales.

+0

Simple, me encanta. ¡Gracias! – jlconlin

Cuestiones relacionadas