Pandas Series.var()-Funktion

Pandas 常用函数Gängige Pandas-Funktionen


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

import pandas as pd

# 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

import pandas as pd

# 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 pandas as pd
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

import pandas as pd

# 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.

Pandas 常用函数Gängige Pandas-Funktionen

Andere Erweiterungen