seleccionar manejo leer filtrar datos con como columnas archivos python pandas null na

python - manejo - Selección de celdas pandas sin valor



seleccionar columnas de un dataframe pandas (2)

Llámalo así:

yes_records_sample[''name''].isnull()

Tengo una columna de un marco de datos de pandas que obtuve de una consulta de base de datos con celdas en blanco. Las celdas en blanco se convierten en "Ninguna" y quiero verificar si cada una de las filas es Ninguna:

In [325]: yes_records_sample[''name''] Out[325]: 41055 John J Murphy Professional Building 25260 None 41757 Armand Bayou Nature Center 31397 None 33104 Hubert Humphrey Building 16891 Williams Hall 29618 None 3770 Covenant House 39618 None 1342 Bhathal Student Services Building 20506 None

Mi comprensión según la documentación es que puedo verificar si cada fila es nula con el isnull() http://pandas.pydata.org/pandas-docs/dev/missing_data.html#values-considered-missing

Esa función, sin embargo, no está funcionando para mí:

In [332]: isnull(yes_records_sample[''name''])

Obtuve el siguiente error:

NameError Traceback (most recent call last) <ipython-input-332-55873906e7e6> in <module>() ----> 1 isnull(yes_records_sample[''name'']) NameError: name ''isnull'' is not defined

También vi que alguien simplemente reemplazó las cadenas "Ninguna", pero ninguna de estas variaciones en ese enfoque funcionó para mí: Cambiar el nombre de "Ninguna" en Pandas

yes_records_sample[''name''].replace(''None'', "--no value--") yes_records_sample[''name''].replace(None, "--no value--")

Finalmente pude usar la función fillna y llenar cada una de esas filas con una cadena vacía yes_records_sample.fillna('''') como solución alternativa y luego pude verificar yes_records_sample[''name'']=='''' Pero estoy profundamente confundido por cómo funciona ''ninguno'' y lo que significa. ¿Hay una manera de comprobar fácilmente si una celda en un marco de datos es ''Ninguna''?


No pude encontrar ninguna incorporada que haga exactamente esto, así que lo hago manualmente. En caso de Serie, el código es este:

import numpy as np series = yes_records_sample[''name''] n = np.empty_like(series) n[...] = None nones = series.values == n

En el caso de DataFrames, el código es muy similar:

import numpy as np df = yes_records_sample n = np.empty_like(df) n[...] = None nones = df == n

Mi problema con .isnull () es que no distingue entre NaN y Ninguno. Esto puede o no ser un problema en su aplicación.