我有一个DataFrame df
,我想在其中对'columnA'
进行分组,用len >= 3
过滤组成员,并选择值为 pizza 在'columnB'
中。
以下一行
df.groupby('columnA').filter(lambda x: len(x) >= 3)['columnB'] == 'pizza'
返回'columnB'
中带有布尔值的所有行的索引。
这当然起作用:
df2 = df.groupby('columnA').filter(lambda x: len(x) >= 3)
df2 = df2[(df2['columnB'] == 'pizza')]
但是我可以一行吗?
答案 0 :(得分:0)
@Lambda在评论中提供了解决方案:
df.groupby("columnA").filter(lambda x: len(x)>=3).query('columnB=="pizza"')