Ottieni la colonna della somma dei pandas
-
Metodo per ottenere la somma dei pandas colonna
DataFrame
-
Somma cumulativa con
groupby
- Metodo per ottenere la somma delle colonne in base alla condizione di altri valori di colonna
Introdurremo come ottenere la somma della colonna
del dataframe dei pandas. Include metodi come il calcolo della somma cumulativa con groupby
e la somma dei DataFrame delle colonne in base al condizionale di altri valori di colonna.
Metodo per ottenere la somma dei pandas colonna DataFrame
Per prima cosa, creiamo un array casuale usando la libreria NumPy
e poi otteniamo la somma di ogni colonna usando la funzione sum()
.
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)
Il metodo Pandas DataFrame sum()
somma la colonna Pandas.
Se esegui questo codice, otterrai l’output come segue.
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
Somma cumulativa con groupby
Possiamo ottenere la somma cumulativa dei Pandas utilizzando il metodo groupby
. Considera le seguenti colonne DataFrame
con Data
, Fruit
e Sale
:
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],
}
)
Se vogliamo calcolare la somma cumulativa di Sale per Fruit e per ogni data, possiamo fare:
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())
Dopo aver eseguito i codici sopra, otterremo il seguente output, che mostra la somma cumulativa di Fruit
per ogni data:
Fruit Date Sale
Apple 08/09/2018 34
10/09/2018 46
Banana 08/09/2018 22
10/09/2018 49
Metodo per ottenere la somma delle colonne in base alla condizione di altri valori di colonna
Questo metodo fornisce funzionalità per ottenere la somma se la condizione data è True
e sostituire la somma con il valore dato se la condizione è False
. Considera il codice seguente,
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)
Nel codice sopra, aggiungiamo la nuova colonna sum
a DataFrame
. L’elemento sum
è la somma delle prime due colonne ['x','y']
se ['x']
è maggiore di 1, altrimenti sostituiamo sum
con 0
.
Dopo aver eseguito il codice, otterremo il seguente output (i valori potrebbero differire nel tuo caso).
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