Ma question est simple, j'ai un dataframe et je groupby
les résultats basés sur une colonne et j'obtiens la taille comme ceci:
df.groupby('column').size()
Maintenant, le problème est que je ne veux que ceux dont la taille est supérieure à X . Je me demande si je peux le faire en utilisant une fonction lambda ou quelque chose de similaire? J'ai déjà essayé ceci:
df.groupby('column').size() > X
et il imprime des valeurs True et False.
Le résultat groupé est un DataFrame normal, il suffit donc de filtrer les résultats comme d'habitude:
import pandas as pd
df = pd.DataFrame({'a': ['a', 'b', 'a', 'a', 'b', 'c', 'd']})
after = df.groupby('a').size()
>> after
a
a 3
b 2
c 1
d 1
dtype: int64
>> after[after > 2]
a
a 3
dtype: int64
Essayez ce code:
df.groupby('column').filter(lambda group: group.size > X)