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 pd
import numpy as np
data = np.random.randint(5, size=(3,3))
df = pd.DataFrame(data=data,columns=['A','B','C'])
donne par exemple
A B C
0 0 2 0
1 2 3 0
2 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 5
B 6
C 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.T
print(df_sum)
donne
A B C
0 5 6 2
Remarque : nous pouvons également modifier le nom de l'index :
df_sum.index = ['Total']
donne
A B C
Total 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 C
Total 5 6 2
0 0 2 0
1 2 3 0
2 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 C
0 0 2 0
1 2 3 0
2 3 1 2
Total 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 pd
import numpy as np
data = np.random.randint(5, size=(3,3))
df = pd.DataFrame(data=data,columns=['A','B','C'])
donne
A B C
0 0 4 2
1 4 1 0
2 2 0 1
Ignorer la première ligne :
df.iloc[1:].sum(axis=0)
donne
A 6
B 1
C 1
Ignorer la dernière ligne :
df.iloc[:-1].sum(axis=0)
donne
A 4
B 5
C 2
dtype: int64