Función Pandas Series.var()

Pandas 常用函数Funciones comunes de Pandas


Series.var()Es una función de Pandas utilizada para calcular la varianza de una Series. La varianza es el cuadrado de la desviación estándar, mide la dispersión de los datos y es un indicador básico del análisis estadístico.

Cuanto mayor es la varianza, más dispersos están los datos; cuanto menor es la varianza, más concentrados están los datos. Se aplica ampliamente en análisis estadístico, aprendizaje automático, procesamiento de señales y otros campos.


Sintaxis básica y parámetros

var()Es una función miembro del objeto Series, que se invoca directamente mediante el operador de punto.

Formato de sintaxis

Series.var(axis=None, skipna=True, level=None, numeric_only=None, ddof=1, **kwargs)

Descripción de parámetros

Parámetro Tipo Descripción Valor predeterminado
axis int Especifica el eje. Series solo tiene una fila de datos; este parámetro es principalmente para la compatibilidad con DataFrame. None
skipna bool Si es True, omite los valores NaN al calcular; si es False, el resultado devolverá NaN cuando encuentre NaN. True
level int o str Si Series tiene un índice multinivel (MultiIndex), especifica el nivel a calcular. None
numeric_only bool Si es True, solo calcula con datos numéricos; de lo contrario, intenta convertir a numérico. False
ddof int Parámetro de ajuste de grados de libertad. ddof=1 usa la varianza muestral (n-1); ddof=0 usa la varianza poblacional (n). 1

Valor de retorno

  • Tipo de retorno:float
  • Descripción: Devuelve la varianza de los elementos de la Series. Por defecto usa la varianza muestral (dividida por n-1).

Ejemplos

Vamos a dominar completamente mediante una serie de ejemplos de simple a complejo,Series.var()su uso.

Ejemplo 1: Uso básico - Comprender el concepto de varianza

La varianza es el cuadrado de la desviación estándar y mide el grado de desviación de los datos respecto a la media.

Ejemplo

import pandas as pd

# Dos conjuntos de datos
group_a = pd.Series([85, 86, 87, 88, 89])
group_b = pd.Series([70, 75, 85, 95, 100])

print("Datos del grupo A (más concentrados):")
print(group_a)
print(f"Media: {group_a.mean():.2f}")
print(f"Varianza: {group_a.var():.2f}")
print(f"Desviación estándar: {group_a.std():.2f}")
print()

print("Datos del grupo B (más dispersos):")
print(group_b)
print(f"Media: {group_b.mean():.2f}")
print(f"Varianza: {group_b.var():.2f}")
print(f"Desviación estándar: {group_b.std():.2f}")
print()

print("Nota: la varianza es el cuadrado de la desviación estándar (2.50^2 = 6.25, 12.50^2 = 156.25)")

Resultado de la ejecución:

A组数据(较集中):
0    85
1    86
2    87
3    88
4    89
dtype: int64
平均值:85.00
方差:2.50
标准差:1.58

B组数据(较分散):
0    70
1    75
2    85
3    95
4   100
dtype: int64
平均值:85.00
方差:156.25
标准差:12.50

注意:方差是标准差的平方 (1.58^2 ≈ 2.50, 12.50^2 = 156.25)

Análisis del código:

  • La varianza del grupo A es 2.50, los datos están muy concentrados.
  • La varianza del grupo B es 156.25, los datos están muy dispersos.
  • Varianza = desviación estándar² (el valor aproximado se debe al ajuste de ddof=1).

Ejemplo 2: El efecto del parámetro ddof

ddofEl parámetro controla si se usa la varianza muestral o la varianza poblacional.

Ejemplo

import pandas as pd

# Crear un conjunto de datos
data = pd.Series([2, 4, 4, 4, 5, 5, 7, 9])

print("Datos:")
print(data)
print()

# ddof=1 por defecto, usa la varianza muestral (dividida por n-1)
sample_var = data.var(ddof=1)
print(f"Varianza muestral (ddof=1): {sample_var:.4f}")

# ddof=0, usa la varianza poblacional (dividida por n)
population_var = data.var(ddof=0)
print(f"Varianza poblacional (ddof=0): {population_var:.4f}")
print()

# Verificación: la raíz cuadrada de la varianza muestral es aproximadamente igual a la desviación estándar muestral
import math
print(f"Raíz cuadrada de la varianza muestral: {math.sqrt(sample_var):.4f}")
print(f"Desviación estándar muestral: {data.std():.4f}")

Resultado de la ejecución:

数据:
0    2
1    4
2    4
3    4
4    5
5    5
6    7
7    9
dtype: int64

样本方差(ddof=1):5.1429
总体方差(ddof=0):4.5000

样本方差的平方根:2.2678
样本标准差:2.2678

Ejemplo 3: Manejo de datos con valores faltantes

Ejemplo

import pandas as pd
import numpy as np

# Crear una Series con valores faltantes
data_with_nan = pd.Series([10, 20, np.nan, 30, 40, np.nan, 50])

print("Datos con valores faltantes:")
print(data_with_nan)
print()

# skipna=True por defecto
var_skipna = data_with_nan.var()
print(f"Varianza con skipna=True (predeterminado): {var_skipna:.4f}")

# Configurar skipna=False
var_no_skipna = data_with_nan.var(skipna=False)
print(f"Varianza con skipna=False: {var_no_skipna}")

Resultado de la ejecución:

包含缺失值的数据:
0    10.0
1    20.0
2       NaN
3    30.0
4    40.0
5       NaN
6    50.0
dtype: float64

skipna=True(默认)时的方差:250.0000
skipna=False 时的方差:nan

Ejemplo 4: Comparación de la aplicación práctica de la varianza y la desviación estándar

En la aplicación práctica, la varianza y la desviación estándar tienen cada una sus ventajas.

Ejemplo

import pandas as pd

# Simular los rendimientos mensuales (%) de dos carteras de inversión
portfolio_a = pd.Series([2.5, 3.0, -1.0, 1.5, 2.0, 2.8, -0.5, 1.2, 1.8, 2.2])
portfolio_b = pd.Series([5.0, -3.5, 8.0, -2.0, 6.5, -4.0, 7.0, -1.5, 4.5, -2.0])

print("Cartera de inversión A (rendimiento mensual %):")
print(portfolio_a)
print(f"Varianza: {portfolio_a.var():.4f}")
print(f"Desviación estándar (volatilidad): {portfolio_a.std():.2f}%")
print()

print("Cartera de inversión B (rendimiento mensual %):")
print(portfolio_b)
print(f"Varianza: {portfolio_b.var():.4f}")
print(f"Desviación estándar (volatilidad): {portfolio_b.std():.2f}%")
print()

print("Análisis:")
print("- La cartera A tiene varianza y desviación estándar más pequeñas, su rendimiento es más estable")
print("- La cartera B tiene varianza y desviación estándar más grandes, el riesgo es mayor")
print("- Desde la perspectiva del riesgo, la cartera A es más adecuada para inversores conservadores")

Resultado de la ejecución:

投资组合 A(月度收益 %):
0    2.5
1    3.0
2   1.0
3    1.5
4    2.0
5    2.8
6    0.5
7    1.2
8    1.8
9    2.2
dtype: int64
方差:1.29
标准差(波动率):1.14%

投资组合 B(月度收益 %):
0    5.0
1   -3.5
2    8.0
3   -2.0
4    6.5
5   -4.0
6    7.0
7   -1.5
8    4.5
9   -2.0
dtype: int64
方差:19.56
标准差(波动率):4.42%

分析:组合 B 的风险(波动率)约是组合 A 的 4 倍。

Notas

  • La varianza es el cuadrado de la desviación estándar; la relación entre ambas es: std = sqrt(var).
  • Por defecto se usa la varianza muestral (ddof=1), adecuada para el análisis estadístico.
  • La unidad de la varianza es el cuadrado de la unidad de los datos originales, lo que dificulta su comprensión intuitiva; la desviación estándar conserva la unidad original y es más fácil de interpretar.
  • En situaciones donde se necesita usar la varianza para cálculos matemáticos (como el análisis de covarianza), se debe usar la varianza.

Resumen

Series.var()Es una función básica en el análisis estadístico. Sus características principales incluyen:

  • Usa la varianza muestral (ddof=1) por defecto.
  • La varianza es el cuadrado de la desviación estándar, lo que resulta más conveniente en operaciones matemáticas.
  • La desviación estándar conserva la unidad original, lo que facilita la comprensión intuitiva.
  • En el ámbito financiero, tanto la varianza como la desviación estándar se utilizan para medir el riesgo (volatilidad).

En la aplicación práctica, si se necesita comprender intuitivamente la dispersión de los datos, es más adecuado usar la desviación estándar; si se necesitan realizar operaciones matemáticas (como calcular la covarianza), es más conveniente usar la varianza.

Pandas 常用函数Funciones comunes de Pandas

Otras extensiones