====== 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]]