You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Pandas的group by分组中按条件统计对应字段值?

你原有合并语句存在笔误,正确写法为:
launches.merge(dropped, on='id', how='left')

实现方法

你需要的统计规则是:按name和colour分组后,launches取分组内的总记录数,dropped取分组内dropped字段非空的数量,直接用groupby+agg指定不同列的聚合逻辑即可:

result = df.groupby(['name', 'colour'], as_index=False).agg(
    launches=('id', 'count'),  # id字段无空值,count结果即总记录数
    dropped=('dropped', 'count')  # count会自动忽略NaN,结果即符合要求的统计值
)

如果你的dropped字段后续可能出现0值,而非仅1和NaN两种取值,可以把dropped的聚合规则改为sum:

result = df.groupby(['name', 'colour'], as_index=False).agg(
    launches=('id', 'count'),
    dropped=('dropped', 'sum')
)

执行后得到的result就和你需要的预期结果完全一致。


内容的提问来源于stack exchange,提问作者user458

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.28 16:06:08