Fonction Pandas DataFrame DataFrame.sum()

Suraj Joshi 30 janvier 2023
  1. Syntaxe de pandas.DataFrame.sum() :
  2. Exemples de codes : DataFrame.sum() Méthode de calcul de la somme le long de l’axe des colonnes
  3. Exemples de codes : DataFrame.sum() Méthode pour trouver la somme le long de l’axe des lignes
  4. Exemples de codes : DataFrame.sum() Méthode pour trouver la somme en ignorant les valeurs NaN
  5. Exemples de codes : Définissez min_count dans DataFrame.sum() Méthode
Fonction Pandas DataFrame DataFrame.sum()

La fonction du Python Pandas DataFrame.sum() est de calculer la somme des valeurs de l’objet DataFrame sur l’axe spécifié.

Syntaxe de pandas.DataFrame.sum() :

DataFrame.sum(
    axis=None, skipna=None, level=None, numeric_only=None, min_count=0, **kwargs
)

Paramètres

axis trouver la somme le long de la ligne (axis=0) ou de la colonne (axis=1)
skipna Booléen. Exclure les valeurs NaN (skipna = True) ou inclure les valeurs NaN (skipna = False)
level Compter avec un niveau particulier si l’axe est MultiIndex.
numeric_only Booléen. Pour numeric_only=True, n’inclure que les colonnes float, int, et boolean.
min_count Entier. Nombre minimum de valeurs non-NaN pour calculer la somme. Si cette condition n’est pas remplie, la somme sera NaN.
**kwargs Arguments supplémentaires à la fonction par mot-clé.

Renvoie

Si le level n’est pas spécifié, retournez Series de la somme des valeurs pour l’axe demandé, sinon retournez DataFrame de la somme des valeurs.

Exemples de codes : DataFrame.sum() Méthode de calcul de la somme le long de l’axe des colonnes

import pandas as pd

df = pd.DataFrame({'X': 
                   [1,2,3,4,5], 
                   'Y': [1, 2, 3,4,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df.sum()
print("Column-wise Sum:")
print(sums)

Production:

DataFrame:
   X  Y  Z
0  1  1  3
1  2  2  4
2  3  3  5
3  4  4  6
4  5  5  3
Column-wise Sum:
X    15
Y    15
Z    21
dtype: int64

Il calcule la somme de toutes les colonnes X, Y et Z et retourne finalement un objet Series avec la somme de chaque colonne.

Pour trouver la somme d’une colonne particulière de DataFrame dans Pandas, vous devez appeler la fonction sum() pour cette colonne seulement.

import pandas as pd

df = pd.DataFrame({'X': 
                   [1,2,3,4,5], 
                   'Y': [1, 2, 3,4,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df["Z"].sum()
print("Sum of values of Z-column:")
print(sums)

Production:

DataFrame:
   X  Y  Z
0  1  1  3
1  2  2  4
2  3  3  5
3  4  4  6
4  5  5  3
Sum of values of Z-column:
21

Elle ne donne que la somme des valeurs de la colonne Z de DataFrame.

Exemples de codes : DataFrame.sum() Méthode pour trouver la somme le long de l’axe des lignes

import pandas as pd

df = pd.DataFrame({'X': 
                   [1,2,3,4,5], 
                   'Y': [1, 2, 3,4,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df.sum(axis=1)
print("Row-wise sum:")
print(sums)

Production:

DataFrame:
   X  Y  Z
0  1  1  3
1  2  2  4
2  3  3  5
3  4  4  6
4  5  5  3
Row-wise sum:
0     5
1     8
2    11
3    14
4    13
dtype: int64

Il calcule la somme de toutes les lignes et retourne finalement un objet Series avec la somme de chaque ligne.

Pour trouver la somme d’une ligne particulière de DataFrame dans Pandas, vous devez appeler la fonction sum() pour cette ligne spécifique seulement.


import pandas as pd

df = pd.DataFrame({'X': 
                   [1,2,3,4,5], 
                   'Y': [1, 2, 3,4,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sum_3=df.iloc[[2]].sum(axis=1)
print("Sum of values of 3rd Row:")
print(sum_3)

Production:

DataFrame:
   X  Y  Z
0  1  1  3
1  2  2  4
2  3  3  5
3  4  4  6
4  5  5  3
Sum of values of 3rd Row:
2    11
dtype: int64

Elle ne donne que la somme des valeurs de la 3ème ligne de DataFrame.

Utilisez la méthode iloc pour sélectionner les lignes en fonction de l’index.

Exemples de codes : DataFrame.sum() Méthode pour trouver la somme en ignorant les valeurs NaN

Utilisez la valeur par défaut du paramètre skipna, c’est-à-dire skipna=True, pour trouver la somme de DataFrame le long de l’axe spécifié, en ignorant les valeurs NaN.

import pandas as pd
df = pd.DataFrame({'X': 
                   [1,None,3,4,5], 
                   'Y': [1, None, 3,None,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df.sum()
print("Column-wise Sum:")
print(sums)

Production:

DataFrame:
     X    Y  Z
0  1.0  1.0  3
1  NaN  NaN  4
2  3.0  3.0  5
3  4.0  NaN  6
4  5.0  5.0  3
Column-wise Sum:
X    13.0
Y     9.0
Z    21.0
dtype: float64

Si vous définissez skipna=True, vous obtiendrez des valeurs NaN de sommes si le DataFrame a des valeurs NaN.


import pandas as pd

df = pd.DataFrame({'X': 
                   [1,None,3,4,5], 
                   'Y': [1, None, 3,None,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df.sum(skipna=False)
print("Column-wise Sum:")
print(sums)

Production:

DataFrame:
     X    Y  Z
0  1.0  1.0  3
1  NaN  NaN  4
2  3.0  3.0  5
3  4.0  NaN  6
4  5.0  5.0  3
Column-wise Sum:
X     NaN
Y     NaN
Z    21.0
dtype: float64

Ici, vous obtenez la valeur NaN pour la somme des colonnes X et Y car les deux ont les valeurs NaN en elles.

Exemples de codes : Définissez min_count dans DataFrame.sum() Méthode

import pandas as pd

df = pd.DataFrame({'X': 
                   [1,None,3,4,5], 
                   'Y': [1, None, 3,None,5], 
                   'Z': [3,4,5,6,3]})
print("DataFrame:")
print(df)

sums=df.sum(min_count=4)
print("Column-wise Sum:")
print(sums)

Production:

DataFrame:
     X    Y  Z
0  1.0  1.0  3
1  NaN  NaN  4
2  3.0  3.0  5
3  4.0  NaN  6
4  5.0  5.0  3
Column-wise Sum:
X    13.0
Y     NaN
Z    21.0
dtype: float64

Ici, vous obtenez la valeur NaN pour la somme de la colonne Y car la colonne Y n’a que 3 valeurs non NaN, ce qui est inférieur à la valeur du paramètre min_count.

Auteur: Suraj Joshi
Suraj Joshi avatar Suraj Joshi avatar

Suraj Joshi is a backend software engineer at Matrice.ai.

LinkedIn

Article connexe - Pandas DataFrame