Pandas Series.var()-Funktion
Series.var()Es ist eine Funktion in Pandas, die verwendet wird, um die Varianz einer Series zu berechnen. Die Varianz ist das Quadrat der Standardabweichung. Sie misst die Streuung der Daten und ist eine grundlegende Kennzahl in der statistischen Analyse.
Je größer die Varianz, desto stärker sind die Daten gestreut; je kleiner die Varianz, desto konzentrierter sind die Daten. Sie wird in Bereichen wie statistischer Analyse, maschinellem Lernen und Signalverarbeitung weit verbreitet eingesetzt.
Grundlegende Syntax und Parameter
var()Es ist eine Memberfunktion des Series-Objekts und wird direkt über den Punktoperator aufgerufen.
Syntaxformat
Series.var(axis=None, skipna=True, level=None, numeric_only=None, ddof=1, **kwargs)
Parameterbeschreibung
| Parameter | Type | Beschreibung | Standardwert |
|---|---|---|---|
| axis | int | Gibt die Achse an. Series hat nur eine Datenzeile; dieser Parameter dient hauptsächlich der Kompatibilität mit DataFrame. | Keine |
| skipna | bool | Wenn True, werden NaN-Werte während der Berechnung übersprungen; wenn False, gibt das Ergebnis NaN zurück, wenn ein NaN auftritt. | True |
| level | int oder str | Wenn die Series einen MultiIndex hat, geben Sie die Ebene an, die berechnet werden soll. | Keine |
| numeric_only | bool | Wenn True, wird nur für numerische Daten berechnet; andernfalls wird versucht, in numerische Daten umzuwandeln. | False |
| ddof | int | Parameter zur Anpassung der Freiheitsgrade. ddof=1 verwendet die Stichprobenvarianz (n-1), ddof=0 verwendet die Populationsvarianz (n). | 1 |
Rückgabewert
- Rückgabetyp:
float - BeschreibungGibt die Varianz der Elemente in der Series zurück. Standardmäßig wird die Stichprobenvarianz verwendet (geteilt durch n-1).
Beispiele
Anhand einer Reihe von Beispielen von einfach bis komplex wollen wir gründlich beherrschenSeries.var()seine Verwendung gründlich beherrschen.
Beispiel 1: Grundlegende Verwendung – Das Konzept der Varianz verstehen
Die Varianz ist das Quadrat der Standardabweichung und misst den Grad der Abweichung zwischen Daten und Mittelwert.
Beispiel
# Zwei Datensätze
group_a = pd.Series([85, 86, 87, 88, 89])
group_b = pd.Series([70, 75, 85, 95, 100])
print("Daten von Gruppe A (stärker konzentriert):")
print(group_a)
print(f"Mittelwert: {group_a.mean():.2f}")
print(f"Varianz: {group_a.var():.2f}")
print(f"Standardabweichung: {group_a.std():.2f}")
print()
print("Daten von Gruppe B (stärker gestreut):")
print(group_b)
print(f"Mittelwert: {group_b.mean():.2f}")
print(f"Varianz: {group_b.var():.2f}")
print(f"Standardabweichung: {group_b.std():.2f}")
print()
print("Hinweis: Die Varianz ist das Quadrat der Standardabweichung (2.50^2 = 6.25, 12.50^2 = 156.25)")
Ausgabe:
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)
Codeanalyse:
- Gruppe A hat eine Varianz von 2.50, die Daten sind sehr konzentriert.
- Gruppe B hat eine Varianz von 156.25, die Daten sind sehr stark gestreut.
- Varianz = Standardabweichung² (der Näherungswert ist auf die Anpassung von ddof=1 zurückzuführen).
Beispiel 2: Die Rolle des ddof-Parameters
ddofDieser Parameter steuert, ob die Stichprobenvarianz oder die Populationsvarianz verwendet wird.
Beispiel
# Erstelle einen Datensatz
data = pd.Series([2, 4, 4, 4, 5, 5, 7, 9])
print("Daten:")
print(data)
print()
# Standardwert ddof=1, Stichprobenvarianz verwenden (geteilt durch n-1)
sample_var = data.var(ddof=1)
print(f"Stichprobenvarianz (ddof=1): {sample_var:.4f}")
# ddof=0, Populationsvarianz verwenden (geteilt durch n)
population_var = data.var(ddof=0)
print(f"Populationsvarianz (ddof=0): {population_var:.4f}")
print()
# Überprüfen: Die Quadratwurzel der Stichprobenvarianz ist ungefähr gleich der Stichprobenstandardabweichung
import math
print(f"Quadratwurzel der Stichprobenvarianz: {math.sqrt(sample_var):.4f}")
print(f"Stichprobenstandardabweichung: {data.std():.4f}")
Ausgabe:
数据: 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
Beispiel 3: Umgang mit Daten, die fehlende Werte enthalten
Beispiel
import numpy as np
# Eine Series mit fehlenden Werten erstellen
data_with_nan = pd.Series([10, 20, np.nan, 30, 40, np.nan, 50])
print("Daten mit fehlenden Werten:")
print(data_with_nan)
print()
# Standardmäßig skipna=True
var_skipna = data_with_nan.var()
print(f"Varianz bei skipna=True (Standard): {var_skipna:.4f}")
# Setze skipna=False
var_no_skipna = data_with_nan.var(skipna=False)
print(f"Varianz bei skipna=False: {var_no_skipna}")
Ausgabe:
包含缺失值的数据: 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
Beispiel 4: Praktischer Anwendungsvergleich von Varianz und Standardabweichung
In praktischen Anwendungen haben Varianz und Standardabweichung jeweils ihre eigenen Vorteile.
Beispiel
# Simuliere monatliche Renditen (%) zweier Anlageportfolios
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("Portfolio A (monatliche Rendite %):")
print(portfolio_a)
print(f"Varianz: {portfolio_a.var():.4f}")
print(f"Standardabweichung (Volatilität): {portfolio_a.std():.2f}%")
print()
print("Portfolio B (monatliche Rendite %):")
print(portfolio_b)
print(f"Varianz: {portfolio_b.var():.4f}")
print(f"Standardabweichung (Volatilität): {portfolio_b.std():.2f}%")
print()
print("Analyse:")
print("- Portfolio A hat eine kleinere Varianz und Standardabweichung und ist stabiler")
print("- Portfolio B hat eine größere Varianz und Standardabweichung und birgt ein höheres Risiko")
print("- Aus Risikoperspektive ist Portfolio A besser für konservative Anleger geeignet")
Ausgabe:
投资组合 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 倍。
Hinweise
- Die Varianz ist das Quadrat der Standardabweichung. Die Beziehung zwischen beiden ist: std = sqrt(var).
- Standardmäßig wird die Stichprobenvarianz (ddof=1) verwendet, die für statistische Analysen geeignet ist.
- Die Einheit der Varianz ist das Quadrat der ursprünglichen Dateneinheit, was intuitiv nicht leicht zu verstehen ist; die Standardabweichung behält die ursprüngliche Einheit bei und ist leichter zu interpretieren.
- In Szenarien, in denen die Varianz für mathematische Berechnungen benötigt wird (wie z. B. Kovarianzanalyse), sollte die Varianz verwendet werden.
Zusammenfassung
Series.var()Es ist eine grundlegende Funktion in der statistischen Analyse. Zu ihren Hauptmerkmalen gehören:
- Standardmäßig wird die Stichprobenvarianz (ddof=1) verwendet.
- Die Varianz ist das Quadrat der Standardabweichung, was bei mathematischen Operationen praktischer ist.
- Die Standardabweichung behält die ursprüngliche Einheit bei und ist intuitiv leichter zu verstehen.
- Im Finanzbereich werden sowohl Varianz als auch Standardabweichung zur Messung des Risikos (Volatilität) verwendet.
In praktischen Anwendungen ist die Verwendung der Standardabweichung geeigneter, wenn Sie die Streuung der Daten intuitiv verstehen möchten; wenn Sie mathematische Operationen durchführen müssen (z. B. die Berechnung der Kovarianz), ist die Verwendung der Varianz bequemer.
Andere Erweiterungen
Gängige Pandas-Funktionen