Pandas Series.median() Funktion
Series.median()Ist eine Funktion in Pandas, die zur Berechnung des Medians (mittlerer Wert) einer Series verwendet wird. Der Median ist der Wert, der nach dem Sortieren der Daten in der Mitte liegt. Er wird nicht von extremen Werten beeinflusst und ist ein robustes Maß für die zentrale Tendenz der Daten.
Wenn Ausreißer oder schiefe Verteilungen in den Daten vorliegen, kann der Median die zentrale Position der Daten genauer widerspiegeln als der Mittelwert. Er wird häufig in Szenarien wie Einkommensdatenanalyse, Immobilienpreisstatistik und Notenanalyse verwendet.
Grundlegende Syntax und Parameter
median()Ist eine Memberfunktion des Series-Objekts, die direkt über den Punktoperator aufgerufen wird.
Syntaxformat
Series.median(axis=None, skipna=True, level=None, numeric_only=None, **kwargs)
Parameterbeschreibung
| Parameter | Type | Beschreibung | Standardwert |
|---|---|---|---|
| axis | int | Gibt die Achse an. Eine Series hat nur eine Datenzeile, daher dient dieser Parameter 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 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, werden nur numerische Daten berechnet; andernfalls wird versucht, in numerische Daten umzuwandeln. | False |
Rückgabewert
- Rückgabetyp:
float - BeschreibungGibt den Median aller Elemente in der Series zurück. Wenn die Anzahl der Elemente gerade ist, wird der Durchschnitt der beiden mittleren Elemente zurückgegeben.
Beispiele
Lass uns ... anhand einer Reihe von Beispielen von einfach bis komplex gründlich meistern.Series.median()die Verwendung beherrschen.
Beispiel 1: Grundlegende Verwendung - Median einer ungeraden Anzahl von Elementen
Bei Daten mit einer ungeraden Anzahl von Elementen ist der Median der Wert, der nach dem Sortieren in der Mitte liegt.
Beispiel
# Erstellen einer Series, die Mitarbeitereinkommen enthält
# Simulieren Sie das Monatseinkommen von 7 Mitarbeitern in einer Abteilung (Einheit: Tausend Yuan)
income = pd.Series([5, 6, 7, 8, 9, 10, 50])
# Median berechnen
median_income = income.median()
print("Monatliches Einkommen der Mitarbeiter (Tausend Yuan):")
print(income)
print()
print(f"Durchschnittseinkommen: {income.mean():.2f} Tausend Yuan")
print(f"Median-Einkommen: {median_income} Tausend Yuan")
print()
print("Hinweis: Der Durchschnitt wird stark vom Extremwert (50 Tausend Yuan) beeinflusst, während der Median das tatsächliche Niveau besser widerspiegelt.")
Ausgabe:
员工月收入(千元): 0 5 1 6 2 7 3 8 4 9 5 10 6 50 dtype: int64 平均收入:13.57 千元 中位数收入:8.0 千元
Codeanalyse:
- Nach dem Sortieren der Daten: [5, 6, 7, 8, 9, 10, 50]
- Die mittlere Position ist das 4. Element (Index 3) mit einem Wert von 8.
- Da es einen Extremwert (50) gibt, wird der Durchschnitt (13.57) nach oben gezogen, während der Median (8) das Einkommensniveau der meisten Menschen besser widerspiegelt.
Beispiel 2: Median einer geraden Anzahl von Elementen
Bei Daten mit einer geraden Anzahl von Elementen ist der Median der Durchschnitt der beiden mittleren Elemente.
Beispiel
# Erstelle eine Series mit 6 Elementen
# Simuliere die Prüfungsergebnisse von 6 Studierenden
scores = pd.Series([75, 82, 88, 92, 95, 100])
# Median berechnen
median_score = scores.median()
print("Prüfungsergebnisse der Studierenden:")
print(scores)
print()
print(f"Durchschnittliche Punktzahl: {scores.mean():.2f}")
print(f"Median-Punktzahl: {median_score}")
Ausgabe:
学生考试成绩: 0 75 1 82 2 88 3 92 4 95 5 100 dtype: int64 平均成绩:88.67 中位数成绩:90.0
Codeanalyse:
- Nach dem Sortieren der Daten: [75, 82, 88, 92, 95, 100]
- Die beiden mittleren Elemente sind 88 und 92 (Indizes 2 und 3).
- Median = (88 + 92) / 2 = 90.
Beispiel 3: Umgang mit Daten, die fehlende Werte enthalten
skipnaDer Parameter bestimmt, wie fehlende Werte behandelt werden.
Beispiel
import numpy as np
# Erstellen einer Series mit fehlenden Werten
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 ist skipna=True; NaN wird bei der Berechnung des Medians übersprungen
median_skipna = data_with_nan.median()
print(f"Median, wenn skipna=True (Standard): {median_skipna}")
# Setze skipna=False
median_no_skipna = data_with_nan.median(skipna=False)
print(f"Median, wenn skipna=False: {median_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(默认)时的中位数:30.0 skipna=False 时的中位数:nan
Codeanalyse:
- Gültige Daten: [10, 20, 30, 40, 50], insgesamt 5 Elemente.
- Nach dem Sortieren den mittleren Wert nehmen: 30.
skipna=FalseWenn ..., wird NaN zurückgegeben, solange ein NaN vorhanden ist.
Beispiel 4: Anwendungsszenarien zum Vergleich von Mittelwert und Median
Zeigt den Vorteil des Medians beim Umgang mit verzerrten Daten.
Beispiel
# Simuliere die monatlichen Einkommensdaten von 10 Haushalten in einer Wohnanlage
# Die meisten Menschen haben ein Einkommen zwischen 3000-5000 yuan, aber es gibt einige Hochverdiener
income_data = pd.Series([3000, 3500, 3800, 4000, 4200, 4500, 4800, 5000, 8000, 50000])
print("Monatliche Einkommensdaten der Anwohner (yuan):")
print(income_data)
print()
mean_income = income_data.mean()
median_income = income_data.median()
print(f"Durchschnitt: {mean_income:.2f} yuan")
print(f"Median: {median_income} yuan")
print()
print("Analyse:")
print("Der Durchschnitt (10380 yuan) wird durch den Extremwert (50000 yuan) stark nach oben gezogen.")
print("Der Median (4350 yuan) spiegelt das tatsächliche Einkommensniveau der meisten Haushalte besser wider.")
print("Deshalb verwenden Statistikämter bei der Veröffentlichung von Einkommensdaten häufiger den Median.")
Ausgabe:
小区住户月收入数据(元): 0 3000 1 3500 2 3800 3 4000 4 4200 5 4500 6 4800 7 5000 8 8000 9 50000 dtype: int64 平均值:10380.00 元 中位数:4350.0 元
Hinweise
- Der Median ist unempfindlich gegenüber Extremwerten und robuster als der Mittelwert.
- Wenn die Anzahl der Datenpunkte gerade ist, ist der Median der Durchschnitt der beiden mittleren Zahlen.
- Wenn die Daten eine deutlich schiefe Verteilung aufweisen, spiegelt der Median die zentrale Position der Daten besser wider als der Mittelwert.
skipnaDas Verhalten des Parameters istmean()gleich.
Zusammenfassung
Series.median()Es ist eine wichtige Funktion zur Beschreibung der zentralen Tendenz von Daten. Zu ihren Hauptmerkmalen gehören:
- Nicht von Extremwerten beeinflusst, ist das Berechnungsergebnis robust.
- Bei einer geraden Anzahl von Elementen wird der Durchschnitt der beiden mittleren Elemente zurückgegeben.
- Besonders nützlich in der Datenanalyse bei schiefen Verteilungen wie Einkommen und Immobilienpreisen.
- Die Syntax und die Parameter sind
mean()exakt gleich, leicht zu erlernen und zu verwenden.
In der praktischen Datenanalyse wird empfohlen, sowohl den Mittelwert als auch den Median zu berechnen, um die Verteilungseigenschaften der Daten umfassender zu verstehen. Wenn die Differenz zwischen beiden groß ist, deutet dies darauf hin, dass die Daten möglicherweise eine schiefe Verteilung oder Ausreißer aufweisen.
Andere Erweiterungen
Pandas Häufige Funktionen