Pandas 2.0.0执行分组累加代码报索引不兼容TypeError,1.4.4正常
Pandas 2.0.0 groupby.apply cumsum 报错解决方案
问题出在Pandas 2.0.0对
groupby.apply的索引对齐逻辑做了严格升级。1.4.4版本中,apply返回的Series会自动和原DataFrame索引对齐,哪怕中间有索引变动也能兼容;但2.0.0版本对索引匹配要求更严,一旦返回的Series索引和原DataFrame不完全一致,就会抛出TypeError。换用更高效且兼容的写法:别用
apply(lambda x: x.cumsum()),直接用Pandas原生的groupby.cumsum()方法,新旧版本都能正常运行:
CLEANCPM['COST_CUMSUM'] = CLEANCPM.groupby(['UNIT_NUM'])['COST'].cumsum()
- 关于GitHub Issue:
- 先核对你找到的类似问题,如果它们都是针对更早版本、且没覆盖你这个
apply调用标准cumsum的场景,可以提交issue。 - 提交时要附带最小可复现代码(比如构造一个简单的测试DataFrame,完整展示报错流程)、Pandas版本、报错信息这些关键细节,方便官方定位。
- 先核对你找到的类似问题,如果它们都是针对更早版本、且没覆盖你这个
内容的提问来源于stack exchange,提问作者jjudge3
相关产品推荐
相关产品推荐

