index - pandas python



Python Pandas Dataframe Gruppe basierend auf einer Bedingung (2)

Das gruppierte Ergebnis ist ein regulärer DataFrame. Filtern Sie die Ergebnisse einfach wie gewohnt:

 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

Meine Frage ist einfach, ich habe einen Datenrahmen und ich gruppiere die Ergebnisse basierend auf einer Spalte und bekomme die Größe wie folgt:

df.groupby('column').size()

Jetzt ist das Problem, dass ich nur die wünsche, wo Größe größer als X ist. Ich frage mich, ob ich es mit einer Lambda-Funktion oder etwas ähnlichem machen kann? Ich habe das schon probiert:

df.groupby('column').size() > X

Und es gibt einige Wahre und Falsche Werte aus.

Vielen Dank


Answer #1

Versuche dies.

df.groupby('column').filter(lambda group: group.size > X)





dataframe