Comment obtenir la somme de la colonne Pandas
-
Méthode pour obtenir la somme des colonnes de Pandas
DataFrame
-
Somme cumulée avec
groupby
- Méthode pour obtenir la somme des colonnes basée sur les valeurs conditionnelles des autres colonnes
Nous allons présenter comment obtenir la somme des colonnes d’un Pandas DataFrame, des méthodes comme le calcul de la somme cumulative avec groupby
, et la somme des colonnes d’un Pandas DataFrame basée sur les valeurs conditionnelles des autres colonnes.
Méthode pour obtenir la somme des colonnes de Pandas DataFrame
Tout d’abord, nous créons un tableau aléatoire en utilisant une bibliothèque NumPy
et ensuite nous obtenons la somme de chaque colonne en utilisant la fonction 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)
Si vous exécutez ce code, vous obtiendrez la sortie suivante (les valeurs peuvent être différentes dans votre cas),
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
Somme cumulée avec groupby
Nous pouvons obtenir la somme cumulative en utilisant la méthode groupby
. Considérons la DataFrame
suivante avec les colonnes Date
, Fruit
et 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],
}
)
Si nous voulons calculer la somme cumulée des ventes par fruit et pour chaque date, nous pouvons le faire:
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())
Après avoir exécuté les codes ci-dessus, nous obtiendrons le résultat suivant, qui indique la somme cumulée des fruits pour chaque date:
Fruit Date Sale
Apple 08/09/2018 34
10/09/2018 46
Banana 08/09/2018 22
10/09/2018 49
Méthode pour obtenir la somme des colonnes basée sur les valeurs conditionnelles des autres colonnes
Cette méthode permet d’obtenir la somme si la condition donnée est True
et de remplacer la somme par une valeur donnée si la condition est False
. Considérons le code suivant,
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)
Dans le code ci-dessus, nous ajoutons une nouvelle colonne sum
à DataFrame
. L’élément sum
est la somme des deux premières colonnes ['x', 'y']
si ['x']
est supérieur à 1, sinon nous remplaçons sum
par 0
.
Après avoir exécuté le code, nous obtiendrons la sortie suivante (les valeurs peuvent être modifiées dans votre cas).
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
Article connexe - Pandas DataFrame Column
- Comment obtenir les en-têtes de colonne de Pandas DataFrame sous forme de liste
- Comment supprimer une colonne de Pandas DataFrame
- Comment convertir la colonne DataFrame en date-heure dans Pandas
- Comment changer l'ordre des colonnes de Pandas DataFrame
- Comment convertir une colonne de DataFrame en chaîne de caractères dans Pandas