Estadística descriptiva de Pandas

La estadística descriptiva se utiliza para resumir y describir las características básicas de los datos. Pandas proporciona una amplia variedad de funciones estadísticas que permiten obtener rápidamente la distribución general de los datos.


Funciones estadísticas básicas

Ejemplo

import pandas as pd
import numpy as np

# Crear datos de ejemplo
df = pd.DataFrame({
    "Edad": [25, 30, 28, 35, 22, 40, 38, 45, 29, 31],
    "Salario": [12000, 15000, 11000, 18000, 9000, 20000, 17000, 22000, 12500, 14000],
    "Desempeño": [85, 92, 78, 88, 65, 95, 82, 90, 75, 89]
})

print("=== Resumen de datos ===")
print(f"Forma de los datos: {df.shape}")
print(f"\nEstadísticas básicas:)
print(df.describe())

Estadísticos de uso común

Función Descripción Ejemplo
count() Número de valores no nulos df["年龄"].count()
sum() Suma df["薪资"].sum()
mean() Media df["年龄"].mean()
median() Mediana df["年龄"].median()
std() Desviación estándar df["绩效"].std()
var() Varianza df["绩效"].var()
min() / max() Mínimo/Máximo df["年龄"].min()
quantile() Cuantil df["薪资"].quantile(0.25)

Calcular cuantiles

Ejemplo

import pandas as pd
import numpy as np

s = pd.Series(range(1, 101))  # 1 a 100

print("Varios cuantiles:")
print(f"0% (mínimo): {s.quantile(0)}")
print(f"25%: {s.quantile(0.25)}")
print(f"50% (mediana): {s.quantile(0.50)}")
print(f"75%: {s.quantile(0.75)}")
print(f"100% (máximo): {s.quantile(1)}")
print()

# Calcular varios cuantiles a la vez
print("Cuantiles en lote:")
print(s.quantile([0.1, 0.2, 0.5, 0.8, 0.9]))

Resumen de describe

describe()Proporciona un resumen estadístico completo de las columnas numéricas del conjunto de datos.

Ejemplo

import pandas as pd

df = pd.DataFrame({
    "Edad": [25, 30, 28, 35],
    "Salario": [12000, 15000, 11000, 18000],
    "Ciudad": ["Pekín", "Shanghái", "Guangzhou", "Shenzhen"]
})

print("Estadísticas de columnas numéricas:")
print(df.describe())
print()

print("Incluyendo todas las columnas:")
print(df.describe(include="all"))

Correlación y covarianza

Ejemplo

import pandas as pd
import numpy as np

df = pd.DataFrame({
    "Edad": [25, 30, 28, 35, 22],
    "Salario": [12000, 15000, 11000, 18000, 9000],
    "Desempeño": [85, 92, 78, 88, 65]
})

print("Matriz de coeficientes de correlación:")
print(df.corr())
print()

# Correlación con una columna específica
print("Correlación con el salario:")
print(df.corr()["Salario"])

El coeficiente de correlación varía de -1 a 1. Cuanto más cerca de 1, indica una correlación positiva; cuanto más cerca de -1, indica una correlación negativa; cerca de 0, indica que no hay correlación.


Estadística avanzada

Ejemplo

import pandas as pd
import numpy as np

s = pd.Series([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# Sesgo (mide el grado de asimetría de la distribución)
print(f"Sesgo: {s.skew()}")

# Curtosis (mide el grado de apuntamiento de la distribución)
print(f"Curtosis: {s.kurtosis()}")
print()

# Estadísticas acumulativas
s = pd.Series([1, 2, 3, 4, 5])
print("Suma acumulativa:")
print(s.cumsum())
print()

print("Máximo acumulativo:")
print(s.cummax())
Otras extensiones