私の質問は簡単です。データフレームがあり、列に基づいてgroupby
結果を取得し、次のようなサイズを取得します。
df.groupby('column').size()
問題は、サイズが[〜#〜] x [〜#〜]より大きいものだけが欲しいということです。ラムダ関数などを使用してそれを行うことができるかどうか疑問に思っていますか?私はすでにこれを試しました:
df.groupby('column').size() > X
そして、いくつかのTrue値とFalse値を出力します。
グループ化された結果は通常のDataFrameなので、通常どおり結果をフィルターします。
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
このコードを試してください:
df.groupby('column').filter(lambda group: group.size > X)