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 : Sélectionner tout - Visualiser dans une fenêtre à part
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:

Nom : tabelletje.png
Affichages : 540
Taille : 2,0 Ko

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:

Nom : tabelletje2.png
Affichages : 527
Taille : 1,4 Ko

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.