regrouper les données pandas par deux colonnes (ou plus)?
J'ai le texte suivant dataframe:
mydf = pandas.DataFrame({"cat": ["first", "first", "first", "second", "second", "third"], "class": ["A", "A", "A", "B", "B", "C"], "name": ["a1", "a2", "a3", "b1", "b2", "c1"], "val": [1,5,1,1,2,10]})
Je veux créer un dataframe qui rend résumé des statistiques sur les val
colonne d'éléments avec le même class
id. Pour cela, j'utilise groupby
comme suit:
mydf.groupby("class").val.sum()
c'est le comportement correct, mais je tiens à conserver le cat
l'information de la colonne dans le résultat de df. peut-on le faire? dois-je merge/join
l'information au plus tard? J'ai essayé:
mydf.groupby(["cat", "class"]).val.sum()
mais il utilise hiérarchique de l'indexation. J'aimerais avoir une plaine dataframe dos qui a juste l' cat
valeur pour chaque groupe, où le groupe en est class
. La sortie doit être un dataframe (pas de série) avec les valeurs du chat et de la classe, où l' val
entrées sont additionnés pour chaque entrée qui a le même class
:
cat class val
first A 7
second B 3
third C 10
est-ce possible?
source d'informationauteur user248237dfsf
Vous devez vous connecter pour publier un commentaire.
Utilisation
reset_index
MODIFIER
niveau de jeu=1 si vous souhaitez définir
cat
que l'indice deVous pouvez également définir
as_index=False
pour obtenir le même résultat