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

升级Python后Pandas groupby偶现IndexError下标越界问题求助

问题根因

该差异本质是不同环境下NumPy对超大整数算术运算的精度处理不一致导致的,和Pandas的decons_group_index()逻辑无直接关联,你提供的复现代码已经完全脱离Pandas依赖,可直接定位到NumPy的行为偏差:
你用到的x数组元素量级达到10^15,和factor做取模运算时,部分旧版本NumPy的64位整数运算会出现隐式精度异常,导致模运算结果比实际值超出一个factor,最终整除后得到1而非正确的0,进而触发Pandas分组时的索引越界错误。

可用解决方案
  • 临时快速修复:在调用groupby方法前,将参与分组的大整数列强制转换为Python原生int类型(即dtype设置为object),或转换为字符串类型即可完全规避该问题:
# 转换为object类型的原生Python整数
df["分组列"] = df["分组列"].astype(object)
# 或转换为字符串,兼容性更强
df["分组列"] = df["分组列"].astype(str)
  • 永久修复:将NumPy升级到1.22及以上版本,该版本已经修复了超大整数取模运算的精度偏差问题。
BUG上报说明

这是NumPy历史版本的已知问题,2021年之后发布的正式版已经完成修复,无需重复上报。如果你当前使用的Pandas版本对NumPy版本有依赖限制无法升级,使用上述类型转换方案即可解决所有场景下的同类报错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 00:15:03