Python pandas数据帧组基于条件

aha*_*jib 16 python group-by conditional-statements dataframe pandas

我的问题很简单,我有一个数据框,我根据列对结果进行分组,得到如下大小:

df.groupby('column').size()
Run Code Online (Sandbox Code Playgroud)

现在的问题是我只想要大小大于X的那些.我想知道我是否可以使用lambda函数或类似的东西来做它?我已经尝试过了:

df.groupby('column').size() > X
Run Code Online (Sandbox Code Playgroud)

它打印出一些True和False值.

谢谢

Ami*_*ory 23

分组结果是常规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
Run Code Online (Sandbox Code Playgroud)


Jia*_* Li 18

试试这段代码:

df.groupby('column').filter(lambda group: group.size > X)
Run Code Online (Sandbox Code Playgroud)