Pandas DataFrame Gruppieren Sie nach zwei Spalten und erhalten Sie Zählungen

Hier ist ein Beispielcode-Schnipsel, der zeigt, wie man die groupby()-Methode in pandas verwendet, um einen DataFrame nach zwei Spalten zu gruppieren und die Anzahl der Gruppen zu erhalten:

import pandas as pd

# Create a sample DataFrame
df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar',
                         'foo', 'bar', 'foo', 'foo'],
                   'B': ['one', 'one', 'two', 'three',
                         'two', 'two', 'one', 'three'],
                   'C': [1, 2, 3, 4, 5, 6, 7, 8],
                   'D': [10, 20, 30, 40, 50, 60, 70, 80]})

# Group the DataFrame by columns 'A' and 'B'
grouped = df.groupby(['A', 'B']).size().reset_index(name='Counts')

# Print the resulting DataFrame
print(grouped)

Dies gruppiert den DataFrame nach den Spalten 'A' und 'B' und gibt einen neuen DataFrame mit den Anzahlen für jede Gruppe zurück. Der resultierende DataFrame sieht wie folgt aus:

A      B  Counts
0  bar    one       1
1  bar  three       1
2  bar    two       1
3  foo    one       2
4  foo  three       1
5  foo    two       2

Man kann auch .count() anstelle von .size() verwenden, um die Anzahl der nicht-NA/null-Werte in jeder Gruppe zu erhalten.