首页 > 解决方案 > 如何在熊猫中分组后过滤值

问题描述

我有一个数据框,我想对一个字段进行分组,然后只选择不为零的值作为我的聚合函数,然后将它们转换为列表。这是我的代码

df.sort_values(by='col1').groupby('col2').apply(lambda x: x if x!=0).apply(list)

不过如果说invalid syntax。我究竟做错了什么?

标签: pythonpandaspandas-groupby

解决方案


将第一个函数转换apply为 alambda并在那里进行过滤:

(df.sort_values(by='col1')
   .groupby('col2')
   .apply(lambda x: [y for y in x if y != 0]))

推荐阅读