Cet article montrera comment résumer toutes ou des colonnes particulières dans un pandas dataframe à l'aide de Python. Le dataframe.La fonction sum () sera utilisée avec quelques paramètres utiles dans les nombreux exemples de ce tutoriel.
Le 'dataframe.sum () 'La fonction en pandas renvoie la somme totale pour l'axe spécifié. Si l'entrée est un axe de l'index, la fonction ajoute les valeurs de chaque colonne individuellement. Ensuite, il fait de même pour chaque colonne, renvoyant une série stockant la somme des données / valeurs dans chaque colonne. De plus, il prend en charge le calcul de la somme de DataFrame en ignorant les valeurs manquantes.
Syntaxe
pandas.Dataframe_object.sum (axis = non, skipna = non, niveau = aucun, numérique_only = aucun, min_count = 0, ** kwargs)
Paramètres
Retour
DataFrame (si le niveau spécifié) ou série.
Trame de données
Pour tous les exemples, nous utiliserons la «analyse» suivante. Il contient 12 lignes avec 5 colonnes.
importer des pandas
# Créez le dataframe à l'aide de listes
Analyse = Pandas.DataFrame ([[23, «Sravan», 1000,34,56],
[23, «Sravan», 700,11,0],
[23, «Sravan», 20,4,2],
[21, «Siva», 400,32,45],
[21, «Siva», 100 456,78],
[23, «Sravan», 00,90,12],
[21, «Siva», 400,32,45],
[20, «Sahaja», 120,1,67],
[23, «Sravan», 00,90,12],
[22, «Suryam», 450,76,56],
[22, «Suryam», 40,0,1],
[22, «Suryam», 12,45,0]
], colonnes = ['id', 'name', 'POINTS3', 'POINT1', 'POINTS2'])
# Afficher le dataframe - Analyse
Impression (analyse)
Sortir
Points de nom d'identification3 points1 points2
0 23 Sravan 1000 34 56
1 23 Sravan 700 11 0
2 23 Sravan 20 4 2
3 21 Siva 400 32 45
4 21 Siva 100 456 78
5 23 Sravan 0 90 12
6 21 Siva 400 32 45
7 20 Sahaja 120 1 67
8 23 Sravan 0 90 12
9 22 Suryam 450 76 56
10 22 Suryam 40 0 1
11 22 Suryam 12 45 0
Ici, les colonnes 'ID', 'POINTS3', 'POINTS2' et 'POINTS1' sont numériques, et assurez-vous que vous devez charger le dataframe pour tous les exemples dont nous discutons dans ce tutoriel.
Scénario 1: somme de toutes les colonnes
Nous pouvons appliquer directement SUM () sur le DataFrame pour renvoyer la somme des valeurs dans chaque colonne.
pandas.Dataframe_object.somme()
Exemple
# Renvoie la somme des valeurs dans toutes les colonnes
Impression (analyse.somme())
Sortir
ID 264
Nom Sravansravansravansivasivasravansivasahajasrav…
Points3 3242
Points1 871
Points2 374
Explication
Vous pouvez voir que la somme des valeurs dans chaque colonne est retournée.
Scénario 2: somme d'une colonne particulière
Si vous souhaitez renvoyer la somme des valeurs dans une colonne particulière, vous devez spécifier le nom de la colonne et l'objet DataFrame.
pandas.Dataframe_object ['colonne'].somme()
Exemple
Renvoyons la somme des valeurs dans les colonnes «Points1», «Points2» et «Points3» séparément.
# Renvoie la somme des valeurs dans la colonne Points1
Impression (Analyse ['Points1'].somme())
# Renvoie la somme des valeurs dans la colonne Points2
Impression (Analyse ['Points2'].somme())
# Renvoie la somme des valeurs dans les points3 colonne
Impression (Analyse ['Points3'].somme())
Sortir
871
374
3242
Explication
Scénario 3: Sum entre les lignes
Si vous souhaitez renvoyer la somme des valeurs sur chaque ligne, vous devez spécifier le paramètre d'axe dans la fonction sum () et le définir sur 1.
pandas.Dataframe_object [[colonnes / s…]].somme (axe = 1)
Exemple
Renvoyons la somme des valeurs de «Points1», «Points2» et «Points3» sur toutes les lignes et stockez le résultat dans la colonne «Sum».
# Renvoie la somme des valeurs sur chaque ligne
analyse ['sum'] = analyse [['POINTS1', 'POINTS2', 'POINTS3']].somme (axe = 1)
Impression (analyse)
Sortir
Points de nom d'identification3 points1 points2 somme
0 23 Sravan 1000 34 56 1090
1 23 Sravan 700 11 0 711
2 23 Sravan 20 4 2 26
3 21 Siva 400 32 45 477
4 21 Siva 100 456 78 634
5 23 Sravan 0 90 12 102
6 21 Siva 400 32 45 477
7 20 Sahaja 120 1 67 188
8 23 Sravan 0 90 12 102
9 22 Suryam 450 76 56 582
10 22 Suryam 40 0 1 41
11 22 Suryam 12 45 0 57
Explication
Maintenant, la nouvelle colonne - 'Sum' détient la somme de trois points.
Nous pouvons également ajouter à travers les lignes sans utiliser sum (). En utilisant l'opérateur «+», nous pouvons atteindre les fonctionnalités précédentes.
Exemple
importer des pandas
# Créez le dataframe à l'aide de listes
Analyse = Pandas.DataFrame ([[23, «Sravan», 1000,34,56],
[23, «Sravan», 700,11,0],
[23, «Sravan», 20,4,2],
[21, «Siva», 400,32,45],
[21, «Siva», 100 456,78],
[23, «Sravan», 00,90,12],
[21, «Siva», 400,32,45],
[20, «Sahaja», 120,1,67],
[23, «Sravan», 00,90,12],
[22, «Suryam», 450,76,56],
[22, «Suryam», 40,0,1],
[22, «Suryam», 12,45,0]
], colonnes = ['id', 'name', 'POINTS3', 'POINT1', 'POINTS2'])
# Ajouter des valeurs dans les colonnes Points1 et Points2 et stockez le résultat dans la colonne `` 2 ajoutées ''
Analyse ['2 ajouté'] = analyse ['Points1'] + Analyse ['Points2']
# Ajouter des valeurs dans les points1, les points2 et les points2columns et stocker le résultat dans la colonne «3 ajoutées»
Analyse ['3 ajouté'] = analyse ['Points1'] + Analyse ['Points2'] + Analyse ['Points3']
Impression (analyse)
Sortir
Points de nom d'ID3 points1 points2 2 2 ajoutés 3 ajoutés
0 23 Sravan 1000 34 56 90 1090
1 23 Sravan 700 11 0 11 711
2 23 Sravan 20 4 2 6 26
3 21 Siva 400 32 45 77 477
4 21 Siva 100 456 78 534 634
5 23 Sravan 0 90 12 102 102
6 21 Siva 400 32 45 77 477
7 20 Sahaja 120 1 67 68 188
8 23 Sravan 0 90 12 102 102
9 22 Suryam 450 76 56 132 582
10 22 Suryam 40 0 1 1 41
11 22 Suryam 12 45 0 45 57
Scénario 4: sum () avec groupby ()
Si vous souhaitez retourner la somme des valeurs pour les groupes individuels, vous devez utiliser GroupBy () avec SUM (). Ainsi, GroupBy () est utilisé pour regrouper les valeurs de colonne dans une colonne particulière, et SUM () renverra la somme dans chaque groupe.
pandas.Dataframe_object.groupby ('grouping_column').somme()
Exemple
Groupons les lignes en fonction de la colonne de nom et renvoyons la somme des valeurs dans chaque groupe pour toutes les colonnes.
importer des pandas
# Créez le dataframe à l'aide de listes
Analyse = Pandas.DataFrame ([[23, «Sravan», 1000,34,56],
[23, «Sravan», 700,11,0],
[23, «Sravan», 20,4,2],
[21, «Siva», 400,32,45],
[21, «Siva», 100 456,78],
[23, «Sravan», 00,90,12],
[21, «Siva», 400,32,45],
[20, «Sahaja», 120,1,67],
[23, «Sravan», 00,90,12],
[22, «Suryam», 450,76,56],
[22, «Suryam», 40,0,1],
[22, «Suryam», 12,45,0]
], colonnes = ['id', 'name', 'POINTS3', 'POINT1', 'POINTS2'])
# Groupez les lignes en fonction de la colonne du nom et de la somme de valeurs de retour dans chaque groupe pour toutes les colonnes
Impression (analyse.Groupby ('nom').somme())
Sortir
Points ID3 points1 points2
nom
Sahaja 20 120 1 67
Siva 63 900 520 168
Sravan 115 1720 229 82
Suryam 66 502 121 57
Explication
Il y a donc 4 groupes dans la colonne «Nom». Pour chaque groupe, la somme de ID, Points3, Points1 et Points2 est retournée.
Conclusion
Nous avons essayé de vous apprendre à calculer la somme à travers les dataframes en utilisant la méthode pandas sum (). Nous avons discuté de l'ajout de valeurs en ligne et en colonne dans les exemples de cet article. De plus, vous avez appris à ajouter de la condition conditionnelle des colonnes et à résumer les valeurs après le regroupement de la colonne du DataFrame. Maintenant, vous pourrez peut-être résumer les colonnes du DataFrame ensemble ou résumer les valeurs dans la colonne DataFrame par vous-même.