在执行.astype(int)

时间:2018-03-16 19:31:21

标签: python pandas numpy

我正在运行python脚本,我必须使用df方法将字符串列从pandas int转换为astype(int)。但是,我收到以下错误:

"Python int too large to convert to C long"

我的字符串都是字符串格式的数字,最多15个字符。有没有办法将此列转换为int类型而不会弹出此错误?

2 个答案:

答案 0 :(得分:1)

您需要使用.astype('int64')

import pandas as pd
df = pd.DataFrame({'test': ['999999999999999','111111111111111']})
df['int'] = df['test'].astype('int64')

答案 1 :(得分:-2)

检查是否为变量分配了大整数值。

1)使用幂而不是应用乘法

例如:

x = [10**i for i in range(1,1000)] instead of [10*i for i in range(1,1000)]  ,which will cross the variable limit