with specific remove one eliminate dropna drop delete column python pandas

specific - python pandas delete nan



Índice de valores no “NaN” en Pandas (2)

Desde el marco de datos de Pandas, ¿cómo obtener el índice de valores que no son "NaN"?

Mi marco de datos es

A b c 0 1 q1 1 1 2 NaN 3 2 3 q2 3 3 4 q1 NaN 4 5 q2 7

Y quiero que el índice de las filas en las que la columna b no sea NaN. (Puede haber valores de NaN en otra columna, por ejemplo, c)

non_nana_index = [0,2,3,4]

Usando esta lista de índice que no es "NaN" quiero crear un nuevo marco de datos cuya columna b no tenga "Nan"

df2 =

A b c 0 1 q1 1 1 3 q2 3 2 4 q1 NaN 3 5 q2 7


Los DataFrames tienen un método dropna :

import pandas import numpy d = pandas.DataFrame({''A'': [1, 2, 3, numpy.nan], ''b'': [1, 2, numpy.nan, 3], ''c'': [1, numpy.nan, 2, 3]}) d.dropna(subset=[''b''])


Solo filtrarlos

In [62]: df[''b''].notnull() Out[62]: 0 True 1 False 2 True 3 True 4 True Name: b, dtype: bool In [63]: df[df[''b''].notnull()] Out[63]: A b c 0 1 q1 1 2 3 q2 3 3 4 q1 NaN 4 5 q2 7