Pandas Series.mean() Funktion
Series.mean()ist eine Funktion in Pandas, die verwendet wird, um den Mittelwert aller Elemente in einer Series zu berechnen. Der Mittelwert ist einer der am häufigsten verwendeten statistischen Indikatoren und repräsentiert die zentrale Tendenz einer Datenmenge.
Ob Sie Durchschnittsgehalt, Durchschnittsverkäufe oder Durchschnittsnoten berechnen,mean()kann es Ihnen helfen, die Aufgabe schnell zu erledigen. Es ist ein Kernindikator zur Beschreibung der zentralen Tendenz eines Datensatzes.
Grundlegende Syntax und Parameter
mean()ist eine Member-Funktion des Series-Objekts, die direkt über den Punktoperator aufgerufen wird.
Syntaxformat
Series.mean(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, gibt an, welche Ebene 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(Selbst wenn die Eingabe eine Ganzzahl ist, wird der Rückgabewert in einen float umgewandelt) - Beschreibung: Gibt den Mittelwert aller gültigen Elemente in der Series zurück. Wenn alle Elemente NaN sind, wird NaN zurückgegeben.
Beispiele
Lassen Sie uns dies anhand einer Reihe von Beispielen von einfach bis komplex gründlich meistern,Series.mean()die Verwendung von.
Beispiel 1: Grundlegende Verwendung - Durchschnittliche Punktzahl der Schülernoten berechnen
Die grundlegendste Verwendung besteht darin, eine numerische Series zu erstellen und dann aufzurufenmean()um den Mittelwert zu berechnen.
Beispiel
# Eine Series mit Schülernoten erstellen
# Simuliere die Prüfungsergebnisse von 8 Schülern in einer Klasse
scores = pd.Series([85, 92, 78, 90, 88, 76, 95, 82])
# Durchschnittsnote berechnen
average_score = scores.mean()
print("Prüfungsergebnisse der Studierenden:")
print(scores)
print()
print(f"Durchschnittsnote: {average_score:.2f} Punkte")
Ausgabe:
学生考试成绩: 0 85 1 92 2 78 3 90 4 88 5 76 6 95 7 82 dtype: int64 平均成绩:85.75 分
Code-Erklärung:
- Erstellte eine Series mit den Noten von 8 Studierenden.
mean()Berechnet die Summe aller Noten (685) geteilt durch die Anzahl der Studierenden (8), was den Mittelwert 85.75 ergibt.- Hinweis: Der Rückgabewert ist ein Float, auch wenn die Eingabe eine Ganzzahl ist.
Beispiel 2: Umgang mit fehlenden Werten
Reale Daten enthalten oft fehlende Werte,skipnader Parameter bestimmt, wie mit diesen fehlenden Werten umgegangen wird.
Beispiel
import numpy as np
# Eine Series mit fehlenden Werten erstellen
# Simuliere einen Studierenden, der krankheitsbedingt bei einigen Prüfungen fehlt
scores_with_nan = pd.Series([85, 92, np.nan, 90, 88, np.nan, 95, 82])
print("Daten einschließlich fehlender Prüfungsergebnisse:")
print(scores_with_nan)
print()
# Standardmäßig skipna=True, NaN beim Berechnen des Mittelwerts überspringen
average_skipna = scores_with_nan.mean()
print(f"Durchschnittsnote mit skipna=True (Standard): {average_skipna:.2f}")
# Setze skipna=False, bei NaN wird NaN zurückgegeben
average_no_skipna = scores_with_nan.mean(skipna=False)
print(f"Durchschnittsnote mit skipna=False: {average_no_skipna}")
Ausgabe:
包含缺考成绩的数据: 0 85.0 1 92.0 2 NaN 3 90.0 4 88.0 5 NaN 6 95.0 7 82.0 dtype: float64 skipna=True(默认)时的平均成绩:88.67 skipna=False 时的平均成绩:nan
Code-Erklärung:
- Wann
skipna=TrueWenn (Standardwert), wird nur der Mittelwert der gültigen Werte berechnet. - Berechnungsprozess: (85 + 92 + 90 + 88 + 95 + 82) / 6 = 532 / 6 = 88.67
- Wann
skipna=FalseWenn , solange NaN existiert, gibt das Ergebnis NaN zurück.
Beispiel 3: Verwenden einer MultiIndex-Series
Für eine Series mit einem hierarchischen Index (MultiIndex) können Sie angeben, auf welcher Ebene der Mittelwert berechnet werden soll.
Beispiel
# Erstelle eine Series mit einem MultiIndex
# Simuliere Noten von Schülern aus zwei Klassen
multi_index_scores = pd.Series(
[85, 92, 78, 90, 88, 76, 95, 82],
index=pd.MultiIndex.from_tuples([
('Klasse A', 'Schüler 1'), ('Klasse A', 'Schüler 2'), ('Klasse A', 'Schüler 3'), ('Klasse A', 'Schüler 4'),
('Klasse B', 'Schüler 1'), ('Klasse B', 'Schüler 2'), ('Klasse B', 'Schüler 3'), ('Klasse B', 'Schüler 4')
],
names=['Klasse', 'Schüler']
)
)
print("Schülernoten aus zwei Klassen:")
print(multi_index_scores)
print()
# Durchschnittsnote aller Schüler berechnen
overall_mean = multi_index_scores.mean()
print(f"Durchschnittsnote aller Studierenden: {overall_mean:.2f}")
print()
# Durchschnittsnote nach Klasse berechnen (mithilfe des level-Parameters)
class_a_mean = multi_index_scores.xs('Class A', level='Class').mean()
class_b_mean = multi_index_scores.xs('Class B', level='Class').mean()
print(f"Durchschnittsnote der Studierenden in Class A: {class_a_mean:.2f}")
print(f"Durchschnittsnote der Studierenden in Class B: {class_b_mean:.2f}")
Ausgabe:
两个班级的学生成绩:
班级 学生
A班 学生1 85
学生2 92
学生3 78
学生4 90
B班 学生1 88
学生2 76
学生3 95
学生4 82
dtype: int64
所有学生平均成绩:85.75
A班学生平均成绩:86.25
B班学生平均成绩:85.25
Code-Erklärung:
- Eine Series mit zwei Indexebenen wurde erstellt, benannt nach "Class" bzw. "Student".
- Direkter Aufruf
mean()berechnet den Mittelwert aller Elemente. - Mit der
xs()Methode: Sie können Daten nach einer bestimmten Ebene filtern und dann den Mittelwert berechnen.
Beispiel 4: Anwendung in der realen Datenanalyse
Kombiniert mit realen Geschäftsszenarien, um zu demonstrierenmean()typische Anwendungen von.
Beispiel
import numpy as np
# Simulierte tägliche Schlusskursdaten für Aktien erstellen
stock_prices = pd.Series([
100.5, 102.3, 98.7, 101.2, 103.5,
105.2, 103.8, 107.1, 108.3, 106.9
], index=['Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag',
'Montag', 'Dienstag', 'Mittwoch', 'Donnerstag', 'Freitag'])
# Daten für zwei Wochen erstellen
week1 = stock_prices[:5]
week2 = stock_prices[5:]
print("Aktienkurse Woche 1:")
print(week1)
print(f"Durchschnittspreis Woche 1: {week1.mean():.2f}")
print()
print("Aktienkurse Woche 2:")
print(week2)
print(f"Durchschnittspreis Woche 2: {week2.mean():.2f}")
print()
# Berechne die Differenz der Durchschnittspreise zwischen den beiden Wochen
price_diff = week2.mean() - week1.mean()
print(f"Durchschnittliche Preisdifferenz zwischen den beiden Wochen: {price_diff:.2f}")
Ausgabe:
第一周股票价格: 周一 100.5 周二 102.3 周三 98.7 周四 101.2 周五 103.5 dtype: float64 第一周平均价格:101.24 第二周股票价格: 周一 105.2 周二 103.8 周三 107.1 周四 108.3 周五 106.9 dtype: float64 第二周平均价格:106.26 两周平均价格差异:5.02
Hinweise
mean()Der Rückgabewert ist immer ein Float, auch wenn alle Eingabedaten ganze Zahlen sind.- Der Mittelwert ist empfindlich gegenüber Extremwerten (Ausreißern); Extremwerte können das Berechnungsergebnis erheblich beeinflussen.
- Wenn viele fehlende Werte in den Daten vorhanden sind, sollten Sie bei der Verwendung
skipna=Truebeachten, dass der Mittelwert nur auf der Grundlage eines Teils der Daten berechnet wird. - Bei Series, die nicht numerische Daten enthalten, müssen Sie zuerst die Daten bereinigen oder die
numeric_only=TrueParameter überschrieben werden.
Zusammenfassung
Series.mean()ist eine der am häufigsten verwendeten statistischen Funktionen in Pandas. Zu den wichtigsten Merkmalen gehören:
- Einfach und unkompliziert in der Anwendung, wird direkt über den Punktoperator aufgerufen.
- Unterstützt die Behandlung fehlender Werte durch die
skipnaParameter überschrieben werden. - Unterstützt MultiIndex, kann durch Auswahl einer Ebene berechnet werden.
- Der Rückgabewert ist immer ein Float, was Präzision gewährleistet.
Der Mittelwert ist ein wichtiger Indikator zur Beschreibung der zentralen Tendenz eines Datensatzes, aber wenn extreme Werte in den Daten vorhanden sind, müssen Sie möglicherweise die Verwendung des Medians (median()) um die zentrale Position der Daten besser widerzuspiegeln.
Gängige Pandas-Funktionen