Exemples de comment additionner toutes les lignes d'une dataframe avec pandas en python:
Créer un dataframe avec pandas
Créons d'abord une dataframe avec des pandas :
import pandas as pdimport numpy as npdata = np.random.randint(5, size=(3,3))df = pd.DataFrame(data=data,columns=['A','B','C'])
donne par exemple
A B C0 0 2 01 2 3 02 3 1 2
Additionner toutes les lignes d'une dataframe avec pandas
Pour additionner toutes les lignes avec des pandas, une solution consiste à utiliser pandas.DataFrame.sum:
df_sum = df.sum(axis=0)
donne
A 5B 6C 2
Notez que df_sum est une série ici :
print(type(df_sum))
donne
<class 'pandas.core.series.Series'>
Sauvegarder le résultat de l'addition dans une nouvelle ligne
Pour enregistrer le résultat dans une nouvelle ligne, une solution consiste à changer df_sum d'une série en une base de données :
df_sum = df.sum(axis=0).to_frame()
transposez-le:
df_sum = df_sum.Tprint(df_sum)
donne
A B C0 5 6 2
Remarque : nous pouvons également modifier le nom de l'index :
df_sum.index = ['Total']
donne
A B CTotal 5 6 2
Maintenant, nous pouvons ajouter le résultat de la somme dans notre dataframe source :
df = pd.concat([df_sum,df], ignore_index=False)
donne ici
A B CTotal 5 6 20 0 2 01 2 3 02 3 1 2
ou si nous voulons le total à la de fin :
df = pd.concat([df,df_sum], ignore_index=False)
donne alors
A B C0 0 2 01 2 3 02 3 1 2Total 5 6 2
Comment ignorer la première ou la dernière ligne
Exemples de comment ignorer la première ou la dernière ligne si nécessaire :
import pandas as pdimport numpy as npdata = np.random.randint(5, size=(3,3))df = pd.DataFrame(data=data,columns=['A','B','C'])
donne
A B C0 0 4 21 4 1 02 2 0 1
Ignorer la première ligne :
df.iloc[1:].sum(axis=0)
donne
A 6B 1C 1
Ignorer la dernière ligne :
df.iloc[:-1].sum(axis=0)
donne
A 4B 5C 2dtype: int64
