Fonction Series.var() de Pandas
Series.var()C'est une fonction de Pandas utilisée pour calculer la variance d'une Series. La variance est le carré de l'écart-type. Elle mesure la dispersion des données et est une mesure fondamentale en analyse statistique.
Plus la variance est grande, plus les données sont dispersées ; plus la variance est petite, plus les données sont concentrées. Elle est largement utilisée dans des domaines tels que l'analyse statistique, l'apprentissage automatique et le traitement du signal.
Syntaxe de base et paramètres
var()C'est une fonction membre de l'objet Series, appelée directement via l'opérateur point.
Format de syntaxe
Series.var(axis=None, skipna=True, level=None, numeric_only=None, ddof=1, **kwargs)
Description du paramètre
| Paramètre | Type | Description | Valeur par défaut |
|---|---|---|---|
| axis | int | Spécifie l'axe. Series n'a qu'une seule ligne de données ; ce paramètre est principalement destiné à la compatibilité avec DataFrame. | Aucune |
| skipna | bool | Si True, ignore les valeurs NaN lors du calcul ; si False, le résultat renverra NaN lorsqu'il rencontre NaN. | True |
| level | int ou str | Si la Series possède un MultiIndex, spécifiez le niveau à calculer. | Aucune |
| numeric_only | bool | Si True, calcule uniquement pour les données numériques ; sinon, il tentera de convertir en numérique. | False |
| ddof | int | Paramètre d'ajustement des degrés de liberté. ddof=1 utilise la variance d'échantillon (n-1), ddof=0 utilise la variance de population (n). | 1 |
Valeur de retour
- Type de retour:
float - DescriptionRenvoie la variance des éléments de la Series. Par défaut, la variance d'échantillon est utilisée (divisée par n-1).
Exemples
À travers une série d'exemples du plus simple au plus complexe, maîtrisons parfaitementSeries.var()son utilisation.
Exemple 1 : Utilisation de base - Comprendre le concept de variance
La variance est le carré de l'écart-type, mesurant le degré d'écart entre les données et la moyenne.
Exemple
# Deux ensembles de données
group_a = pd.Series([85, 86, 87, 88, 89])
group_b = pd.Series([70, 75, 85, 95, 100])
print("Données du groupe A (plus concentrées) :")
print(group_a)
print(f"Moyenne : {group_a.mean():.2f}")
print(f"Variance : {group_a.var():.2f}")
print(f"Écart-type : {group_a.std():.2f}")
print()
print("Données du groupe B (plus dispersées) :")
print(group_b)
print(f"Moyenne : {group_b.mean():.2f}")
print(f"Variance : {group_b.var():.2f}")
print(f"Écart-type : {group_b.std():.2f}")
print()
print("Remarque : la variance est le carré de l'écart-type (2.50^2 = 6.25, 12.50^2 = 156.25)")
Sortie :
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)
Analyse du code :
- Le groupe A a une variance de 2.50, les données sont très concentrées.
- Le groupe B a une variance de 156.25, les données sont très dispersées.
- Variance = écart-type² (la valeur approximative est due à l'ajustement de ddof=1).
Exemple 2 : Le rôle du paramètre ddof
ddofCe paramètre contrôle s'il faut utiliser la variance d'échantillon ou la variance de population.
Exemple
# Créer un jeu de données
data = pd.Series([2, 4, 4, 4, 5, 5, 7, 9])
print("Données :")
print(data)
print()
# Par défaut ddof=1, utiliser la variance d'échantillon (divisée par n-1)
sample_var = data.var(ddof=1)
print(f"Variance de l'échantillon (ddof=1) : {sample_var:.4f}")
# ddof=0, utiliser la variance de la population (divisée par n)
population_var = data.var(ddof=0)
print(f"Variance de la population (ddof=0) : {population_var:.4f}")
print()
# Vérifier : la racine carrée de la variance de l'échantillon est approximativement égale à l'écart-type de l'échantillon
import math
print(f"Racine carrée de la variance de l'échantillon : {math.sqrt(sample_var):.4f}")
print(f"Écart-type de l'échantillon : {data.std():.4f}")
Sortie :
数据: 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
Exemple 3 : Traitement des données contenant des valeurs manquantes
Exemple
import numpy as np
# Créer une Series contenant des valeurs manquantes
data_with_nan = pd.Series([10, 20, np.nan, 30, 40, np.nan, 50])
print("Données contenant des valeurs manquantes :")
print(data_with_nan)
print()
# Par défaut skipna=True
var_skipna = data_with_nan.var()
print(f"Variance lorsque skipna=True (par défaut) : {var_skipna:.4f}")
# Définir skipna=False
var_no_skipna = data_with_nan.var(skipna=False)
print(f"Variance lorsque skipna=False : {var_no_skipna}")
Sortie :
包含缺失值的数据: 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
Exemple 4 : Comparaison d'application pratique de la variance et de l'écart type
Dans les applications pratiques, la variance et l'écart type ont chacun leurs propres avantages.
Exemple
# Simuler les rendements mensuels (%) de deux portefeuilles d'investissement
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("Portefeuille A (rendement mensuel %) :")
print(portfolio_a)
print(f"Variance : {portfolio_a.var():.4f}")
print(f"Écart type (volatilité) : {portfolio_a.std():.2f}%")
print()
print("Portefeuille B (rendement mensuel %) :")
print(portfolio_b)
print(f"Variance : {portfolio_b.var():.4f}")
print(f"Écart type (volatilité) : {portfolio_b.std():.2f}%")
print()
print("Analyse :")
print("- Le portefeuille A a une variance et un écart type plus faibles, et se comporte de manière plus stable")
print("- Le portefeuille B a une variance et un écart type plus élevés, et présente un risque plus élevé")
print("- Du point de vue du risque, le portefeuille A est plus adapté aux investisseurs conservateurs")
Sortie :
投资组合 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 倍。
Notes
- La variance est le carré de l'écart type. La relation entre les deux est : std = sqrt(var).
- La variance d'échantillon (ddof=1) est utilisée par défaut, ce qui convient à l'analyse statistique.
- L'unité de la variance est le carré de l'unité des données d'origine, ce qui n'est pas facile à comprendre intuitivement ; l'écart type conserve l'unité d'origine et est plus facile à interpréter.
- Dans les scénarios où la variance est nécessaire pour des calculs mathématiques (comme l'analyse de covariance), il faut utiliser la variance.
Résumé
Series.var()C'est une fonction de base de l'analyse statistique. Ses principales caractéristiques sont les suivantes :
- La variance d'échantillon (ddof=1) est utilisée par défaut.
- La variance est le carré de l'écart type, ce qui est plus pratique dans les opérations mathématiques.
- L'écart type conserve l'unité d'origine et est plus facile à comprendre intuitivement.
- Dans le domaine financier, la variance et l'écart-type sont tous deux utilisés pour mesurer le risque (volatilité).
Dans les applications pratiques, si vous devez comprendre intuitivement la dispersion des données, l'utilisation de l'écart-type est plus appropriée ; si vous devez effectuer des opérations mathématiques (comme le calcul de la covariance), l'utilisation de la variance est plus pratique.
Autres extensions
Fonctions courantes de Pandas