tablas para notebook leer hacer funciones datos como r pandas reporting nan missing-data

para - ¿Cómo obtengo un recuento resumido de datos faltantes/NaN por columna en ''pandas''?



como hacer tablas en jupyter notebook (4)

Aún no puedo hacer comentarios, pero para agregar a la respuesta de Jeff, pero si no te importó qué columnas tenían la de Nan y solo querías verificar en general, solo agrega una segunda .sum () para obtener un solo valor.

result = df.isnull().sum().sum() result > 0

una Serie solo necesitaría una .sum () y un Panel () necesitaría tres

En R puedo ver rápidamente un recuento de datos faltantes con el comando de summary , pero el método de DataFrame de pandas equivalente, describe no informa estos valores.

Supongo que puedo hacer algo como

len(mydata.index) - mydata.count()

para calcular el número de valores faltantes para cada columna, pero me pregunto si hay un mejor idioma (o si mi enfoque es correcto).


Como una pequeña adición, para obtener el porcentaje faltante en la columna DataFrame, la combinación de las respuestas de @Jeff y @ userS anteriores le permite:

df.isnull().sum()/len(df)*100


Este no es un resumen completo, pero le dará una idea rápida de sus datos a nivel de columna

def getPctMissing(series): num = series.isnull().sum() den = series.count() return 100*(num/den)


Tanto la describe como la info informan el recuento de valores no perdidos.

In [1]: df = DataFrame(np.random.randn(10,2)) In [2]: df.iloc[3:6,0] = np.nan In [3]: df Out[3]: 0 1 0 -0.560342 1.862640 1 -1.237742 0.596384 2 0.603539 -1.561594 3 NaN 3.018954 4 NaN -0.046759 5 NaN 0.480158 6 0.113200 -0.911159 7 0.990895 0.612990 8 0.668534 -0.701769 9 -0.607247 -0.489427 [10 rows x 2 columns] In [4]: df.describe() Out[4]: 0 1 count 7.000000 10.000000 mean -0.004166 0.286042 std 0.818586 1.363422 min -1.237742 -1.561594 25% -0.583795 -0.648684 50% 0.113200 0.216699 75% 0.636036 0.608839 max 0.990895 3.018954 [8 rows x 2 columns] In [5]: df.info() <class ''pandas.core.frame.DataFrame''> Int64Index: 10 entries, 0 to 9 Data columns (total 2 columns): 0 7 non-null float64 1 10 non-null float64 dtypes: float64(2)

Para obtener un recuento de desaparecidos, su solución es correcta.

In [20]: len(df.index)-df.count() Out[20]: 0 3 1 0 dtype: int64

Podrías hacer esto también

In [23]: df.isnull().sum() Out[23]: 0 3 1 0 dtype: int64