So erhalten Sie die Summe der Pandas-Spalte
-
Methode, um die Summe von Pandas
DataFrame
-Spalte zu erhalten -
Kumulative Summe mit
groupby
- Methode, um die Summe der Spalten basierend auf den bedingten Werten anderer Spalten zu erhalten
Wir stellen vor, wie man die Summe von Pandas-DataFrame Spalte
erhält, Methoden wie die Berechnung der kumulativen Summe mit Gruppieren nach
, und die DataFrameumme von Spalten basierend auf den Bedingungen anderer Spaltenwerte.
Methode, um die Summe von Pandas DataFrame
-Spalte zu erhalten
Zuerst erstellen wir ein zufälliges Array mit Hilfe einer NumPy
-Bibliothek und erhalten dann die Summe jeder Spalte mit der sum()
-Funktion.
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randint(0, 10, size=(10, 4)), columns=list("1234"))
print(df)
Total = df["1"].sum()
print("Column 1 sum:", Total)
Total = df["2"].sum()
print("Column 2 sum:", Total)
Total = df["3"].sum()
print("Column 3 sum:", Total)
Total = df["4"].sum()
print("Column 4 sum:", Total)
Wenn Sie diesen Code ausführen, erhalten Sie die Ausgabe wie folgt (die Werte können in Ihrem Fall unterschiedlich sein),
1 2 3 4
0 2 2 3 8
1 9 4 3 1
2 8 5 6 0
3 9 5 7 4
4 2 7 3 7
5 9 4 1 3
6 6 7 7 3
7 0 4 2 8
8 0 6 6 4
9 5 8 7 2
Column 1 sum: 50
Column 2 sum: 52
Column 3 sum: 45
Column 4 sum: 40
Kumulative Summe mit groupby
Wir können die kumulative Summe erhalten, indem wir die “gruppenweise” Methode verwenden. Betrachten Sie den folgenden DataFrame
mit den Spalten Datum
, Frucht
und Verkauf
:
import pandas as pd
df = pd.DataFrame(
{
"Date": ["08/09/2018", "10/09/2018", "08/09/2018", "10/09/2018"],
"Fruit": ["Apple", "Apple", "Banana", "Banana"],
"Sale": [34, 12, 22, 27],
}
)
Wenn wir die kumulative Summe der Verkäufe pro Frucht und für jedes Datum berechnen wollen, können wir das tun:
import pandas as pd
df = pd.DataFrame(
{
"Date": ["08/09/2018", "10/09/2018", "08/09/2018", "10/09/2018"],
"Fruit": ["Apple", "Apple", "Banana", "Banana"],
"Sale": [34, 12, 22, 27],
}
)
print(df.groupby(by=["Fruit", "Date"]).sum().groupby(level=[0]).cumsum())
Nachdem wir die obigen Codes ausgeführt haben, erhalten wir die folgende Ausgabe, die die kumulative Summe der Früchte für jedes Datum anzeigt:
Fruit Date Sale
Apple 08/09/2018 34
10/09/2018 46
Banana 08/09/2018 22
10/09/2018 49
Methode, um die Summe der Spalten basierend auf den bedingten Werten anderer Spalten zu erhalten
Diese Methode bietet die Funktionalität, die Summe zu erhalten, wenn die gegebene Bedingung True
ist, und die Summe durch den gegebenen Wert zu ersetzen, wenn die Bedingung False
ist. Betrachten Sie den folgenden Code,
import numpy as np
import pandas as pd
df = pd.DataFrame(np.random.randn(5, 3), columns=list("xyz"))
df["sum"] = df.loc[df["x"] > 0, ["x", "y"]].sum(axis=1)
df["sum"].fillna(0, inplace=True)
print(df)
Im obigen Code fügen wir die neue Spalte sum
zu DataFrame
hinzu. Das Element Summe
ist die Summe der ersten beiden Spalten ['x','y']
, wenn ['x']
größer als 1 ist, andernfalls ersetzen wir Summe
durch 0
.
Nachdem der Code ausgeführt wurde, erhalten wir die folgende Ausgabe (Werte können in Ihrem Fall geändert werden).
x y z sum
0 -1.067619 1.053494 0.179490 0.000000
1 -0.349935 0.531465 -1.350914 0.000000
2 -1.650904 1.534314 1.773287 0.000000
3 2.486195 0.800890 -0.132991 3.287085
4 1.581747 -0.667217 -0.182038 0.914530