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

Python用Groupby与筛选按供应商分组统计逾期付款总和并新增列

实现代码

可以通过一行代码完成需求,补全内容如下:

df['Paid Late by Vendor'] = df.groupby('供应商')['账单金额'].transform(lambda s: s[df.loc[s.index, '付款类型'] == '逾期'].sum())

如果想要代码可读性更强,也可以用下面的写法,逻辑完全等价:

df['Paid Late by Vendor'] = df.assign(逾期临时额=lambda x: x['账单金额'].where(x['付款类型'] == '逾期', 0)).groupby('供应商')['逾期临时额'].transform('sum')

说明

  • 以上代码默认付款类型字段中,逾期付款的取值为逾期,如果你的实际业务中该字段的逾期取值是其他内容(比如已逾期/Late),替换代码中判断条件的对应值即可
  • 这里用transform而非普通的sum聚合,是为了保证分组求和后的结果和原DataFrame行数完全对齐,自动匹配到对应供应商的所有行,不需要额外做拼接操作

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 23:48:03