Pandas Series.sum()-Funktion
Series.sum()Es ist eine Funktion in Pandas, mit der die Summe aller Elemente in einer Series berechnet wird. Sie ist eine der am häufigsten verwendeten statistischen Funktionen in der Datenanalyse und kann schnell die Summe numerischer Daten ermitteln.
Ob Sie den Gesamtumsatz, den Gesamtgewinn oder die Gesamtmenge berechnen,sum()es kann Ihnen helfen, es schnell zu erledigen. Es eignet sich besonders für die Verarbeitung von Finanzdaten, statistischen Berichten, Vertriebsdatenanalysen und ähnlichen Szenarien.
Grundlegende Syntax und Parameter
sum()Es ist eine Memberfunktion des Series-Objekts und wird direkt über den Punktoperator aufgerufen.
Syntaxformat
Series.sum(axis=None, skipna=True, level=None, numeric_only=None, min_count=0, **kwargs)
Parameterbeschreibung
| Parameter | Type | Beschreibung | Standardwert |
|---|---|---|---|
| axis | int | Gibt die Achse an. Eine 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 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 Werte zu konvertieren. | False |
| min_count | int | Die Mindestanzahl gültiger Werte, die für die Berechnung erforderlich ist. Wenn die Anzahl gültiger Werte kleiner als diese Anzahl ist, wird NaN zurückgegeben. | 0 |
Rückgabewert
- Rückgabetyp: numerisch (
int、floatodernumpy.nan) - Beschreibung: Gibt die Summe aller Elemente in der Series zurück. Wenn alle Elemente NaN sind (und skipna=True), wird 0 zurückgegeben.
Beispiele
Lassen Sie uns anhand einer Reihe von Beispielen von einfach bis komplexSeries.sum()die Verwendung davon gründlich meistern.
Beispiel 1: Grundlegende Verwendung – Summe einer numerischen Liste berechnen
Die grundlegendste Verwendung besteht darin, eine numerische Series zu erstellen und dann aufzurufensum()um die Summe zu berechnen.
Beispiel
# Erstellen Sie eine Series mit Verkaufsbeträgen
# Simulieren Sie tägliche Verkaufsdaten für eine Woche
sales_data = pd.Series([1200, 1500, 1800, 900, 2100, 1600, 1350])
# Gesamtverkäufe berechnen
total_sales = sales_data.sum()
print("Tägliche Verkäufe:")
print(sales_data)
print()
print(f"Gesamtverkäufe: {total_sales}")
Ausgabe:
每日销售额: 0 1200 1 1500 2 1800 3 900 4 2100 5 1600 6 1350 dtype: int64 总销售额:10450
Code-Erklärung:
- Eine Series mit Verkaufsdaten für 7 Tage und einem Integer-Datentyp wurde erstellt.
sum()Es iteriert einfach über alle Elemente und addiert sie, um die Gesamtsumme 10450 zu erhalten.
Beispiel 2: Umgang mit Daten, die fehlende Werte enthalten
Fehlende Werte treten in realen Daten häufig auf,skipnaund der Parameter bestimmt, wie mit diesen fehlenden Werten umgegangen wird.
Beispiel
import numpy as np
# Eine Series mit fehlenden Werten erstellen
# Fehlende Verkaufsdaten für bestimmte Datumsangaben simulieren
sales_with_nan = pd.Series([1200, 1500, np.nan, 1800, np.nan, 2100, 1600])
print("Verkaufsdaten mit fehlenden Werten:")
print(sales_with_nan)
print()
# Standardmäßig skipna=True, NaN überspringen und die Summe berechnen
total_skipna = sales_with_nan.sum()
print(f"Summe mit skipna=True (Standard): {total_skipna}")
# skipna=False setzen, NaN zurückgeben, wenn NaN auftritt
total_no_skipna = sales_with_nan.sum(skipna=False)
print(f"Summe mit skipna=False: {total_no_skipna}")
Ausgabe:
包含缺失值的销售数据: 0 1200.0 1 1500.0 2 NaN 3 1800.0 4 NaN 5 2100.0 6 1600.0 dtype: float64 skipna=True(默认)时的总和:8200.0 skipna=False 时的总和:nan
Code-Erklärung:
- Wann
skipna=TrueWenn (der Standardwert),sum()werden NaN-Werte automatisch übersprungen und die Summe nur der gültigen Werte berechnet. - Berechnungsprozess: 1200 + 1500 + 1800 + 2100 + 1600 = 8200
- Wann
skipna=FalseWenn skipna=False, gibt das Ergebnis NaN zurück, solange NaN vorhanden ist. Dies ist nützlich in Szenarien, in denen Sie die Datenintegrität eindeutig kennen müssen.
Beispiel 3: Verwendung des min_count-Parameters
min_countDer Parameter min_count kann die minimale Anzahl gültiger Werte festlegen, die für die Berechnung erforderlich sind. Dies ist nützlich, wenn sichergestellt werden soll, dass genügend Daten vorhanden sind.
Beispiel
import numpy as np
# Erstelle eine Series, bei der die meisten Werte fehlen
sparse_data = pd.Series([np.nan, np.nan, 100, np.nan, np.nan])
print("Daten, bei denen die meisten Werte fehlen:")
print(sparse_data)
print()
# Standardmäßig min_count=0, Berechnung erfolgt, solange mindestens 0 gültige Werte vorhanden sind
result_default = sparse_data.sum()
print(f"Ergebnis mit min_count=0 (Standard): {result_default}")
# min_count=3 setzen, erfordert mindestens 3 gültige Werte zur Berechnung
result_min_count = sparse_data.sum(min_count=3)
print(f"Ergebnis mit min_count=3: {result_min_count}")
# min_count=2 setzen, nur 2 gültige Werte erforderlich
result_min_count_2 = sparse_data.sum(min_count=2)
print(f"Ergebnis mit min_count=2: {result_min_count_2}")
Ausgabe:
大部分缺失的数据: 0 NaN 1 NaN 2 100.0 3 NaN 4 NaN dtype: float64 min_count=0(默认)时的结果:100.0 min_count=3 时的结果:nan min_count=2 时的结果:100.0
Code-Erklärung:
- Diese Series hat nur 1 gültigen Wert (100).
min_count=3Das bedeutet, dass für die Berechnung mindestens 3 gültige Werte erforderlich sind, aber tatsächlich nur 1 vorhanden ist, sodass NaN zurückgegeben wird.min_count=2Das bedeutet, dass mindestens 2 gültige Werte erforderlich sind, aber tatsächlich nur 1 gültiger Wert vorhanden ist, was die Bedingung nicht erfüllt, sodass NaN zurückgegeben wird.- Dieser Parameter ist in Analyseszenarien mit hohen Anforderungen an die Datenqualität sehr nützlich, da er helfen kann, Situationen zu erkennen, in denen nicht genügend gültige Daten vorhanden sind.
Beispiel 4: Anwendung in der realen Datenanalyse
Kombinieren Sie reale Geschäftsszenarien und demonstrieren Siesum()seine typischen Anwendungen.
Beispiel
# Simulierten Verkaufsdaten-DataFrame erstellen
sales_data = pd.DataFrame({
'Month': ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
'East China Region': [12000, 15000, 18000, 16000, 14000, 17000],
'Nordchina-Region': [10000, 11000, 13000, 12500, 11500, 14000],
'Südchina-Region': [15000, 17000, 19000, 18000, 16000, 20000]
})
print("Verkaufsdaten nach Region für das erste Halbjahr:")
print(sales_data)
print()
# Halbjahresgesamtumsatz für jede Region berechnen
for region in ['Ostchina-Region', 'Nordchina-Region', 'Südchina-Region']:
total = sales_data[region].sum()
print(f"{region} Halbjahresgesamtumsatz: {total} yuan")
print()
# Gesamtumsatz für alle Regionen berechnen
total_all = sales_data[['Ostchina-Region', 'Nordchina-Region', 'Südchina-Region']].sum().sum()
print(f"Gesamter Halbjahresumsatz für alle Regionen: {total_all} yuan")
Ausgabe:
上半年各区域销售数据: 月份 华东区 华北区 华南区 0 1月 12000 10000 15000 1 2月 15000 11000 17000 2 3月 18000 13000 19000 3 4月 16000 12500 18000 4 5月 14000 11500 16000 5 6月 17000 14000 20000 华东区半年总销售额:92000 元 华北区半年总销售额:72000 元 华南区半年总销售额:105000 元 所有区域半年总销售额:269000 元
Hinweise
sum()Standardmäßig werden NaN-Werte übersprungen, was in den meisten Fällen das erwartete Verhalten ist.- Wenn Sie eine Series summieren müssen, die nicht-numerische Daten enthält, sollten Sie zuerst die Daten bereinigen oder den
numeric_only=Truenumeric_only-Parameter verwenden. min_countDer min_count-Parameter ist sehr nützlich bei der Datenvalidierung und bei Qualitätsprüfungen, da er helfen kann, Situationen zu erkennen, in denen gültige Daten nicht ausreichen.- Für große Datensätze,
sum()sum() funktioniert normalerweise gut, da es unter der Haube NumPys vektorisierte Operationen verwendet.
Zusammenfassung
Series.sum()Es ist eine der grundlegendsten und am häufigsten verwendeten statistischen Funktionen in Pandas. Zu seinen Hauptmerkmalen gehören:
- Einfach und benutzerfreundlich, direkt über den Punktoperator aufgerufen.
- Unterstützt die Behandlung fehlender Werte über den
skipnaskipna-Parameter. - Sie können die
min_countmin_count-Parameter, um die Mindestanforderung für gültige Werte festzulegen. - Es verwendet NumPys optimierte Implementierung auf der zugrunde liegenden Ebene, was zu hoher Recheneffizienz führt.
In der realen Datenanalyse,sum()wird es normalerweise zusammen mit anderen Aggregationsfunktionen verwendet (wie z. B.mean()、count()mean(), usw.) zur Durchführung einer umfassenden statistischen Analyse von Daten.
Gängige Pandas-Funktionen