pandas
Gotchas de pandas
Buscar..
Observaciones
Gotcha en general es una construcción que está documentada, pero no es intuitiva. Los gotchas producen una salida que normalmente no se espera debido a su carácter contraintuitivo.
El paquete de Pandas tiene varios errores, que pueden confundir a alguien que no los conoce, y algunos de ellos se presentan en esta página de documentación.
Detectando valores perdidos con np.nan
Si quieres detectar faltas con
df=pd.DataFrame({'col':[1,np.nan]})
df==np.nan
Obtendrás el siguiente resultado:
col
0 False
1 False
Esto se debe a que comparar el valor faltante con cualquier cosa da como resultado un Falso; en lugar de esto, debe usar
df=pd.DataFrame({'col':[1,np.nan]})
df.isnull()
lo que resulta en:
col
0 False
1 True
Integer y NA
Las pandas no admiten la falta de atributos de tipo entero. Por ejemplo, si tiene faltas en la columna de calificación:
df= pd.read_csv("data.csv", dtype={'grade': int})
error: Integer column has NA values
En este caso, solo debes usar float en lugar de enteros o establecer el tipo de objeto.
Alineación automática de datos (comportamiento indexado)
Si desea agregar una serie de valores [1,2] a la columna de dataframe df, obtendrá NaNs:
import pandas as pd
series=pd.Series([1,2])
df=pd.DataFrame(index=[3,4])
df['col']=series
df
col
3 NaN
4 NaN
porque la configuración de una nueva columna alinea automáticamente los datos por el índice, y sus valores 1 y 2 obtendrían los índices 0 y 1, y no 3 y 4 como en su marco de datos:
df=pd.DataFrame(index=[1,2])
df['col']=series
df
col
1 2.0
2 NaN
Si desea ignorar el índice, debe configurar los valores al final:
df['col']=series.values
col
3 1
4 2