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

Python Pandas如何优雅实现按条件分组累计计数 球队累计负场统计

解决方案

你之前的实现错误来自于fillna(method='ffill')没有按球队分组执行,导致A队的最终累计负场值被错误填充到了B队的开头行。

仅需一行代码即可实现需求:

df['Losses'] = df.groupby('Team')['Point_Diff'].transform(lambda x: (x < 0).cumsum())

实现逻辑

按球队分组后,对每组的净胜分列判断是否为负(布尔值True对应1、False对应0),直接对布尔序列做累加即可得到累计负场数:非负场次累加0,自动沿用最近一次的累计值,完全符合需求。

运行结果

Team  Point_Diff  Losses
0    A          -4       1
1    A           5       1
2    A          -1       2
3    A           2       2
4    A           2       2
5    B           6       0
6    B          -5       1
7    B          -4       2
8    B           3       2
9    B          -1       3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.25 06:54:03