python - 如何在熊猫中分组后过滤值
问题描述
我有一个数据框,我想对一个字段进行分组,然后只选择不为零的值作为我的聚合函数,然后将它们转换为列表。这是我的代码
df.sort_values(by='col1').groupby('col2').apply(lambda x: x if x!=0).apply(list)
不过如果说invalid syntax
。我究竟做错了什么?
解决方案
将第一个函数转换apply
为 alambda
并在那里进行过滤:
(df.sort_values(by='col1')
.groupby('col2')
.apply(lambda x: [y for y in x if y != 0]))
推荐阅读
- kdb - kdb/q -- 如何通过自定义时间列表进行选择?
- c# - 如何一次将所有对象的 int 值推送到数组中
- python - Panda 的 read_sql 为 SQL 中的 NULL 值返回 NaN 和 None
- ios - 如何将点击监听器添加到选定的 mkannotationview?
- python - 带有 MultiLabelBinarizer 的图像的 Keras 模型数据生成器抛出 generator_output = next(output_generator) StopIteration
- java - “@Constructor 不适用于构造函数”,同时尝试使用 jdk.nashorn.internal.objects.annotations.Constructor 注释构造函数
- wordpress - 使用 Woocommerce 条纹支付网关进行购买时出错
- java - 为什么excel中的泊松公式在java中不起作用?
- android - 从片段调用 Activity 方法时出现 NullPointerException,变成了 ClassCastException
- python - 在 forloop 中计算 itertools 以停止 MemoryError 的方法