====== 02 - Pandas: Apendices ======
===== Tratamiento de datos inválidos =====
* De una columna , obtener la lista de filas que tiene el valor ''NaN'' o ''None''. Retorna una array de booleanos.
df.capacidad.isna()
[False, True, False, True, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False, False]
* De una columna , obtener la lista de filas que **NO** tiene el valor ''NaN'' o ''None''. Retorna una array de booleanos.. Como es un array de booleanos se puede usar para filtrar las filas que son válidas.
df.capacidad.notna()
[True, False, True, False, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True,
True, True, True, True, True, True, True, True, True, True]
* De una columna, borrar las filas que tengan ''NaN'' o ''None''
new_df=df[df.capacidad.notna()]
* De más de una columna, borrar las filas que tenga ''NaN'' o ''None''
df[(df.tipo.notna()) & (df.capacidad.notna()) & (df.precio.notna())]
* Rellenar los valores que tengan ''NaN'' o ''None'' con la media de su columna
df.fillna(df.mean(),inplace=True)
new_df=df.fillna(df.mean())
* Rellenar los valores de una columna con ''NaN'' o ''None'' con un valor
df['tipo']=df.tipo.fillna("Desconocido")
* Rellenar los valores de una columna con ''NaN'' o ''None'' con la media
df['precio']=df.precio.fillna(df.precio.mean())
===== pandas_profiling ====
Genera un HTML con información del DataFrame
from pandas_profiling import ProfileReport
reporte = ProfileReport(df, title = "Mi reporte")
reporte.to_file("reporte.html")
Se puede ver el resultado en [[http://logongas.es/pandas_profiling.html|pandas_profiling.html]]
[[http://logongas.es/pandas_profiling.html|{{:clase:iabd:pia:1eval:pandas_profiling.png|}}]]
Una herramienta similar pero mucho mas potente es [[https://taknev83.github.io/pywedge-docs/|pywedge]]. Mas información en [[https://towardsdatascience.com/automated-interactive-package-for-eda-modeling-and-hyperparameter-tuning-in-a-few-lines-of-228c561fa63c|Automated Interactive Package for EDA, Modeling, and Hyperparameter Tuning in a few lines of Python Code]]
Mas información:
* [[https://medium.com/tacosdedatos/an%C3%A1lisis-exploratorio-de-datos-eda-con-pandas-profiling-cf6c19caa8aa|Análisis Exploratorio de Datos (EDA) con pandas_profiling]]
* [[https://enlapasta.wordpress.com/2017/08/24/pandas-profiling-una-excelente-herramienta-para-la-exploracion-de-datos/|Pandas Profiling: Una excelente herramienta para la exploración de datos]]