Solucionado (ver solución)
Solucionado
(ver solución)
2
respuestas

numpy con mas de dos dimensiones y filtrado

Me quedó la duda del uso de más de dos dimensiones con numpy, se me hace más dificil que tomar un dataframe multiindex, sería semejante verdad? adicional teniendo el siguiente ejemplo:

datos = np.array(
    [
        ['Roberto', 'casado', 'masculino'],
        ['Sheila', 'soltero', 'femenino'],
        ['Bruno', 'soltero', 'masculino'],
        ['Rita', 'casado', 'femenino']
    ]

¿Cómo puedo realizar un filtro al estilo pandas como por ejemplo df[df['sexo']=='masculino'] pero con numpy? por lo que ví, numpy lo vimos filtrar por filas mas no por columnas, saben cómo se podría hacer por columnas con numpy?

2 respuestas
solución!

Hola, Mario.

Una salida de código que puedes usar con numpy, al estilo pandas (jejeje), podría ser así:

import numpy as np

datos = np.array([
    ['Roberto', 'casado', 'masculino'],
    ['Sheila', 'soltero', 'femenino'],
    ['Bruno', 'soltero', 'masculino'],
    ['Rita', 'casado', 'femenino']
])

# máscara booleana para crear el filtro
filtro = datos[:, 2] == 'masculino'

# filtro aplicado a los datos 
resultados = datos[filtro]

print(resultados) 

Abrazos! :)

Super, gracias por la explicación.