Deskriptive Statistik mit Pandas

Deskriptive Statistiken werden verwendet, um die grundlegenden Eigenschaften von Daten zusammenzufassen und zu beschreiben. Pandas bietet umfangreiche statistische Funktionen, um schnell die Gesamtverteilung der Daten zu erhalten.


Grundlegende statistische Funktionen

Beispiel

import pandas as pd
import numpy as np

# Beispieldaten erstellen
df = pd.DataFrame({
    "Alter": [25, 30, 28, 35, 22, 40, 38, 45, 29, 31],
    "Salary": [12000, 15000, 11000, 18000, 9000, 20000, 17000, 22000, 12500, 14000],
    "Leistung": [85, 92, 78, 88, 65, 95, 82, 90, 75, 89]
})

print("=== Datenübersicht ===")
print(f"Datenform: {df.shape}")
print(f"\nGrundlegende Statistiken:")
print(df.describe())

Gängige statistische Maße

Funktion Beschreibung Beispiel
count() Anzahl der Nicht-Null-Werte df["年龄"].count()
sum() Sum df["薪资"].sum()
mean() Mittelwert df["年龄"].mean()
median() Median df["年龄"].median()
std() Standardabweichung df["绩效"].std()
var() Varianz df["绩效"].var()
min() / max() Minimum/Maximum df["年龄"].min()
quantile() Quantil df["薪资"].quantile(0.25)

Quantile berechnen

Beispiel

import pandas as pd
import numpy as np

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

print("Verschiedene Quantile:")
print(f"0% (min): {s.quantile(0)}")
print(f"25%: {s.quantile(0.25)}")
print(f"50% (Median): {s.quantile(0.50)}")
print(f"75%: {s.quantile(0.75)}")
print(f"100% (Maximum): {s.quantile(1)}")
print()

# Mehrere Quantile gleichzeitig berechnen
print("Batch-Quantile:")
print(s.quantile([0.1, 0.2, 0.5, 0.8, 0.9]))

describe Zusammenfassung

describe()Bietet eine umfassende statistische Zusammenfassung der numerischen Spalten im Datensatz.

Beispiel

import pandas as pd

df = pd.DataFrame({
    "Alter": [25, 30, 28, 35],
    "Salary": [12000, 15000, 11000, 18000],
    "City": ["Beijing", "Shanghai", "Guangzhou", "Shenzhen"]
})

print("Statistiken numerischer Spalten:")
print(df.describe())
print()

print("Alle Spalten einbeziehen:")
print(df.describe(include="all"))

Korrelationskoeffizient und Kovarianz

Beispiel

import pandas as pd
import numpy as np

df = pd.DataFrame({
    "Alter": [25, 30, 28, 35, 22],
    "Salary": [12000, 15000, 11000, 18000, 9000],
    "Leistung": [85, 92, 78, 88, 65]
})

print("Korrelationskoeffizientenmatrix:")
print(df.corr())
print()

# Korrelation mit einer bestimmten Spalte
print("Korrelation mit Gehalt:")
print(df.corr()["Salary"])

Der Korrelationskoeffizient reicht von -1 bis 1. Je näher an 1, desto stärker die positive Korrelation; je näher an -1, desto stärker die negative Korrelation; nahe 0 bedeutet keine Korrelation.


Fortgeschrittene Statistik

Beispiel

import pandas as pd
import numpy as np

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

# Schiefe (misst die Schiefe einer Verteilung)
print(f"Schiefe: {s.skew()}")

# Kurtosis (misst die Wölbung einer Verteilung)
print(f"Kurtosis: {s.kurtosis()}")
print()

# Kumulative Statistiken
s = pd.Series([1, 2, 3, 4, 5])
print("Kumulierte Summe:")
print(s.cumsum())
print()

print("Kumulatives Maximum:")
print(s.cummax())
Andere Erweiterungen