我有一个数据框,我想对一个字段进行分组,然后只选择不为零的值作为聚合函数,然后将其转换为列表。这是我的代码
df.sort_values(by='col1').groupby('col2').apply(lambda x: x if x!=0).apply(list)
但是如果说invalid syntax
。我在做什么错了?
答案 0 :(得分:1)
将第一个功能从apply
转换为lambda
并在那里进行过滤:
(df.sort_values(by='col1')
.groupby('col2')
.apply(lambda x: [y for y in x if y != 0]))