Ich habe einen geschwenkten Datenrahmen des Formulars.Pandas Cumsum auf geschwenktem Datenrahmen
Quantity Result
Alpha A B C A B C
Order
1 3.0 0.0 0.0 Best None None
2 0.0 6.0 4.0 None Good Good
3 3.0 0.0 0.0 Average None None
und ich versuche, eine weitere große Spalte namens CumulativeQty mit 3 Spalten zu erstellen, die ich die cumsum() der entsprechenden 3 Spalten in der Hauptspalte Menge sein will. Ohne die einzelnen Spalten einzeln zu spezifizieren, wie würde ich darüber gehen? Ich habe versucht,
p['CumulativeQty'] = p['Quantity'].cumsum(axis=1)
aber beklagt, dass Valueerror: Falsche Anzahl von Artikel 3 übergeben, Platzierung 1.
Das gewünschte Ergebnis impliziert ist
CumulativeQty
Alpha A B C
Order
1 3.0 0.0 0.0
2 3.0 6.0 4.0
3 6.0 6.0 4.0
Unten ist, wie die Ausgangs zu bekommen geschwenkt Datenrahmen .
df = pd.DataFrame(data=[[1, "A", 3, "Best"], [2, "C", 4, "Good"], [2, "B", 6, "Good"], [3, "A", 3, "Average"]],
columns=["Order", "Alpha", "Quantity", "Result"])
p = df.pivot(index="Order", columns="Alpha")
p['Quantity'] = p['Quantity'].fillna(0)