2 pièce(s) jointe(s)
Effectuer une addition "par morceau" sur une DataFrame [pandas]
Bonjour à tous,
J'ai besoin de votre aide pour effectuer une opération sur une DataFrame que je j'ai du mal à faire moi-même. Je m'explique: le code qui suit définit un tableau contenant des achats.
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
|
import pandas as pd
import numpy as np
a = "pommes"
b = "poires"
c = "citrons"
listes = [[a,a,b,b,c,c],
[2,1,4,3,4,6]]
s = np.array(listes)
df = pd.DataFrame(s)
df = df.transpose()
df.rename(columns={0:"produit",1:"nombre"}, inplace=True)
print(df) |
Voici ce que cela donne:
Pièce jointe 491398
Ce que j'aimerais faire, c'est obtenir un tableau qui a les mêmes noms de colonnes, qui a une seule ligne par espèce de fruit achetée, et où la colonne "nombre" cette fois-ci montre le nombre total de pommes, de poires et de citrons achetés. Voici ce que cela devrait donner:
Pièce jointe 491410
Encore un mot à propos de ce que j'ai essayé de faire moi-même. On pourrait bien sûr parcourir le tableau avec une boucle pour récupérer tous ce dont on a besoin pour définir le tableau que je voulais obtenir, mais d'après ce que j'ai lu l'utilisation de boucles sur une DataFrame est à proscrire.
Je me suis aussi dit qu'il pourrait y avoir un rapport entre ce que je veux faire et la méthode des tableaux croisés dynamiques, mais je ne maîtrise pas cette notion-là.
Je vous remercie d'avance pour votre aide.