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?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage