Pandas: so fügen sie zwischensummen zur pivot-tabelle hinzu
Häufig möchten Sie möglicherweise Zwischensummen zu einer Pandas-Pivot-Tabelle hinzufügen.
Glücklicherweise ist dies mit den integrierten Funktionen von Pandas einfach zu bewerkstelligen.
Das folgende Beispiel zeigt, wie das geht.
Beispiel: Zwischensummen zur Pandas PivotTable hinzufügen
Angenommen, wir haben den folgenden Pandas-DataFrame, der Informationen über verschiedene Basketballspieler enthält:
import pandas as pd #createDataFrame df = pd. DataFrame ({' team ': ['A', 'A', 'A', 'A', 'B', 'B', 'B', 'B'], ' position ': ['G', 'G', 'F', 'F', 'G', 'F', 'F', 'F'], ' all_star ': ['Y', 'N', 'Y', 'Y', 'N', 'N', 'N', 'Y'], ' points ': [4, 4, 6, 8, 9, 5, 5, 12]}) #view DataFrame print (df) team position all_star points 0 AGY 4 1 AGN 4 2 AFY 6 3 AFY 8 4 BGN 9 5 BFN 5 6 BFN 5 7 BFY 12
Mit dem folgenden Code können wir in Pandas eine Pivot-Tabelle erstellen, die die Summe der Punkte für jede Kombination aus team , all_star und position im DataFrame anzeigt:
#create pivot table
my_table = pd. pivot_table (df, values=' points ',
index=[' team ', ' all_star '],
columns=' position ',
aggfunc=' sum ')
#view pivot table
print (my_table)
FG position
team all_star
AN NaN 4.0
Y 14.0 4.0
BN 10.0 9.0
Y 12.0 NaN
Nehmen wir nun an, wir möchten eine Zwischensummenzeile hinzufügen, in der die Zwischensummenpunkte für jedes Team und jede Position angezeigt werden.
Wir können dazu die folgende Syntax verwenden:
#add subtotals row to pivot table
p.d. concat ([
y. append ( y.sum (). rename ((x, ' Total ')))
for x, y in my_table. groupby (level= 0 )
]). append ( my_table.sum (). rename ((' Large ', ' Total ')))
position F G
team all_star
A N NaN 4.0
Y 7.0 4.0
Overall 7.0 8.0
B N 5.0 9.0
Y 12.0 NaN
Total 17.0 9.0
Grand Total 24.0 17.0
Wir haben jetzt zwei Zwischensummenzeilen, die die Zwischensummenpunkte für jedes Team und jede Position anzeigen, sowie eine Gesamtsummenzeile, die die Gesamtsumme für jede Spalte anzeigt.
Hinweis : Die vollständige Dokumentation der Pandas- Pivot_table() -Funktion finden Sie hier .
Zusätzliche Ressourcen
In den folgenden Tutorials wird erläutert, wie andere gängige Vorgänge in Pandas ausgeführt werden:
Pandas: So erstellen Sie eine Pivot-Tabelle mit der Anzahl der Werte
Pandas: So ersetzen Sie NaN-Werte in der Pivot-Tabelle durch Nullen
Pandas: So konvertieren Sie PivotTable in DataFrame