Pandas命名聚合语法报错TypeError: int()参数不能为'_NoValueType'
错误原因
该报错由当前使用的Pandas版本过低导致:命名聚合语法agg(自定义列名=(目标列, 聚合函数))是Pandas 0.25.0版本才新增的特性,低于该版本的Pandas无法解析该参数格式,进而抛出类型错误。
解决方案
方案1:升级Pandas版本(推荐)
执行升级命令将Pandas升级到0.25.0及以上版本,原有命名聚合代码无需修改即可正常运行:
pip install --upgrade pandas>=0.25.0
方案2:低版本兼容写法
如果受环境限制无法升级Pandas,可使用传统写法实现相同的聚合+列重命名效果:
# 写法1:单列聚合直接指定name参数 xx = aa.groupby('g1')['x'].sum().reset_index(name='xsum') # 写法2:多列聚合场景下先聚合再重命名 xx = aa.groupby('g1').agg({'x': 'sum'}).rename(columns={'x': 'xsum'}).reset_index()
内容的提问来源于stack exchange,提问作者PingPong
相关产品推荐
相关产品推荐

