Groupby-Wert zählt auf den Datenframe-Pandas
Ich habe den folgenden Datenrahmen:
df = pd.DataFrame([
(1, 1, 'term1'),
(1, 2, 'term2'),
(1, 1, 'term1'),
(1, 1, 'term2'),
(2, 2, 'term3'),
(2, 3, 'term1'),
(2, 2, 'term1')
], columns=['id', 'group', 'term'])
Ich möchte es nach @ gruppierid
undgroup
und berechnen Sie die Anzahl der Begriffe für diese ID, Gruppenpaar.
So am Ende werde ich so etwas bekommen:
Ich konnte erreichen, was ich will, indem ich alle Zeilen mit @ durchschleifdf.iterrows()
und Erstellen eines neuen Datenrahmens, aber dies ist eindeutig ineffizient. (Wenn es hilft, kenne ich die Liste aller Begriffe im Voraus und es gibt ~ 10 davon).
Es sieht so aus, als müsste ich nach gruppieren und dann die Werte zählen, also habe ich das mit @ versuchdf.groupby(['id', 'group']).value_counts()
was nicht funktioniert, weil value_counts arbeitet mit der Groupby-Serie und nicht mit einem Datenframe.
Ich schaffe das trotzdem ohne Schleife?