1. Descripción general

El objetivo principal de pandas-profiling es proporcionar una experiencia de análisis de datos exploratorios (EDA) de una línea en una solución uniforme y rápida. Al igual que la función pandas df.describe(), que es muy útil, pandas-profiling ofrece un análisis extendido de un DataFrame al tiempo que permite que el análisis de datos se exporte en diferentes formatos, como html y json.

Nota: pandas-profiling ha cambiado su nombre, ahora se llama ydata-profiling.

2. Instalación

pip install ydata-profiling

o

conda install -c conda-forge ydata-profiling

Si ta problemas la instalación como a mi prueba a seguir esta práctica en Google Colab o Jupyter Lab.

3. Inicio rápido

01.py:

import numpy as np
import pandas as pd
from pandas_profiling import ProfileReport

df = pd.DataFrame(np.random.rand(100, 5), columns=["a", "b", "c", "d", "e"])

Para generar el informe de perfil estándar, simplemente ejecute:

profile = ProfileReport(df)

La función ProfileReport del módulo pandas-profiling genera automáticamente un informe detallado de análisis exploratorio de datos (EDA) para un DataFrame de pandas.

3.1. Exportando el informe a un archivo

Para generar un archivo de informe HTML, guarde el ProfileReport en un objeto y use la función to_file():

profile.to_file("your_report.html")

Alternativamente, los datos del informe se pueden obtener como un archivo JSON:

# As a JSON string
json_data = profile.to_json()
# As a file
profile.to_file("your_report.json")

4. Acceso a los valores de las matrices de correlación

En algunos casos, puede ser útil acceder directamente a los valores debajo de las visualizaciones predeterminadas proporcionadas en el informe (como matrices de correlación) para generar una visualización altamente personalizada, para reutilizar los cálculos, para hacer más cálculos de seguimiento, para cambiar directamente los valores de acuerdo con alguna lógica específica de dominio.

El siguiente fragmento muestra cómo enumerar las matrices de correlación disponibles:

src/02.py

import json
# ....
data = json.loads(json_data) 
# Imprimir solo el primer nivel
print("Claves de primer nivel:")
for key in data.keys():
    print(key)
print(data["correlations"])

5. Ejemplos

6. Enlaces externos