La función DataFrame.describe() de la Bi­blio­te­ca Python Pandas sirve para generar un resumen es­ta­dí­s­ti­co de las columnas numéricas de un DataFrame. Dicho resumen incluye in­di­ca­do­res es­ta­dí­s­ti­cos clave como el promedio, de­s­via­ción estándar, mínimo, máximo y varios cuantiles de los datos.

Web Hosting
El hosting que crece con tu proyecto
  • Tiempo de actividad de 99.99 % y seguridad ga­ra­n­ti­za­da
  • Aumenta el re­n­di­mie­n­to según el tráfico de tu página web
  • Incluye dominio, SSL, e-mail y soporte 24/7

Sintaxis de describe() en Pandas

La sintaxis básica de la función describe() en Pandas no es co­m­pli­ca­da y es la siguiente:

DataFrame.describe(percentiles=None, include=None, exclude=None)
python

Pa­rá­me­tros re­le­va­n­tes

Con la ayuda de algunos pa­rá­me­tros, podrás realizar ajustes en la salida de la función describe(). Dichos pa­rá­me­tros son:

Parámetro De­s­cri­p­ción Valor por defecto
percentiles Enumera los cuantiles deseados que deben incluirse en la de­s­cri­p­ción [.25, .5, .75]
include Determina qué tipos de datos se deben incluir en la de­s­cri­p­ción. Los valores pueden ser numpy.number, numpy.object, all o None None
exclude Determina qué tipos de datos deben ser excluidos de la de­s­cri­p­ción. Los valores son análogos a los de include None
De­fi­ni­ción

Los cuantiles es­ta­dí­s­ti­cos son valores que dividen un conjunto de datos ordenados en segmentos de igual tamaño y muestran qué po­r­ce­n­ta­je de los puntos de datos se encuentra por debajo de ese umbral. Los cuantiles resultan muy útiles para co­m­pre­n­der la di­s­tri­bu­ción de los datos y pueden incluir, por ejemplo, la mediana (percentil 50), el percentil 25 y el percentil 75.

Uso de describe() en Pandas

El método DataFrame.describe() de Pandas se utiliza pri­n­ci­pa­l­me­n­te para obtener rá­pi­da­me­n­te los pri­n­ci­pa­les in­di­ca­do­res es­ta­dí­s­ti­cos de un conjunto de datos.

Ejemplo 1: Resumen es­ta­dí­s­ti­co de datos numéricos

En el siguiente ejemplo se analiza el DataFrame df, que contiene una serie de datos de ventas:

import pandas as pd
import numpy as np
# Ejemplo de DataFrame con datos de ventas
data = {
    'Product': ['A', 'B', 'C', 'D', 'E'],
    'Quantity': [10, 20, 15, 5, 30],
    'Price': [100, 150, 200, 80, 120],
    'Revenue': [1000, 3000, 3000, 400, 3600]
}
df = pd.DataFrame(data)
print(df)
python

A co­n­ti­nua­ción, podemos utilizar describe() de Pandas para obtener un resumen es­ta­dí­s­ti­co de las columnas numéricas:

summary = df.describe()
print(summary)
python

La llamada a la función DataFrame.describe() genera el siguiente resultado:

Quantity       Price      Revenue
count   5.000000    5.000000     5.000000
mean   16.000000  130.000000  2200.000000
std     9.617692   46.904158  1407.124728
min     5.000000   80.000000   400.000000
25%    10.000000  100.000000  1000.000000
50%    15.000000  120.000000  3000.000000
75%    20.000000  150.000000  3000.000000
max    30.000000  200.000000  3600.000000

Estas cifras tienen el siguiente si­g­ni­fi­ca­do:

  • count: cantidad de entradas no NaN
  • mean: promedio de los valores (también visible con DataFrame.mean())
  • std: de­s­via­ción estándar de los valores
  • min, 25%, 50%, 75%, max: mínimo, percentil 25, mediana (percentil 50), percentil 75, máximo de los valores

Ejemplo 2: Ajuste de los cuantiles

Puedes ajustar la función DataFrame.describe() de Pandas con los pa­rá­me­tros pre­via­me­n­te descritos para incluir cuartiles es­pe­cí­fi­cos.

# Resumen estadístico con cuantiles ajustados
custom_summary = df.describe(percentiles=[0.1, 0.5, 0.9])
print(custom_summary)
python

A partir de los cuantiles que hemos elegido, es decir, 10 %, 50 % (mediana) y 90 %; la llamada a la función pro­po­r­cio­na el siguiente resultado:

Quantity       Price      Revenue
count   5.000000    5.000000     5.000000
mean   16.000000  130.000000  2200.000000
std     9.617692   46.904158  1407.124728
min     5.000000   80.000000   400.000000
10%     7.000000   88.000000   640.000000
50%    15.000000  120.000000  3000.000000
90%    26.000000  180.000000  3360.000000
max    30.000000  200.000000  3600.000000
Ir al menú principal