Pandas中apply(int)转字符串为整数求和的异常问题求助
Pandas大整数求和溢出问题的解决方案探讨
之前采用df["my_int"].apply(int).sum()的方法处理大整数求和,但该方法并非在所有场景下都有效。例如处理如下文件:
my_int 9220426963983292163 5657924282683240
求和结果为-9220659185443576213,出现整数溢出。查看apply(int)的输出后发现问题:此场景下返回dtype:int64,导致溢出;但当处理更大的数值时,apply(int)返回dtype:object,此时无溢出问题:
0 1111111111111111111111111111111111111111111111... 1 2222222222222222222222222222222222222222222222... Name: my_int, dtype: object
请问是否可以通过Pandas本身解决该问题?还是必须使用其他方案?
临时方案(效果差)
我想到一个临时方案,但实用性很低:在文件末尾添加一行超大整数:
my_int 9220426963983292163 5657924282683240 11111111111111111111111111111111111111111111111111111111111111111111111111
然后对除最后一行外的所有行求和:
data['my_int'].apply(int).iloc[:-1].sum()
希望得到更合理的解决方案。
内容的提问来源于stack exchange,提问作者Stef1611
相关产品推荐
相关产品推荐

