将对象转换为大型数据帧的int

时间:2018-03-08 06:25:20

标签: python pandas

如何将列的大型数据帧从object转换为int。

数据框:

user              
1101110110100        
1111222555555
1112223365556
1113656560005
asaseee"
tdyhhdy"

dtype: object

预期:

user
1101110110100
1111222555555
1112223365556
1113656560005

dtype: int64

我使用了以下代码。

df['user'].astype(int)
df['user'].astype(str).astpe(int)

3 个答案:

答案 0 :(得分:3)

尝试转换为int64

df['user'] = df['user'].astype(np.int64)

或者:

df['user'] = df['user'].astype('int64')
print (df['user'])
0    1101110110100
1    1111222555555
2    1112223365556
3    1113656560005
Name: user, dtype: int64

编辑:

#convert not parseable values to NaNs
df['user'] = pd.to_numeric(df['user'], errors='coerce')
#remove rows with NaNs
df = df.dropna('user')
df['user'] = df['user'].astype(np.int64)

或者:

df['user'] = pd.to_numeric(df['user'], errors='coerce').fillna(0)
df['user'] = df['user'].astype(np.int64)

答案 1 :(得分:2)

你可以使用numpy

进入大型int
import numpy as np
df['user'] = df['user'].astype(np.int64)

答案 2 :(得分:0)

df['user'] = pd.to_numeric(df['user'], errors='coerce').fillna(0)

这工作正常。.我已尝试解决一个我遇到的问题 它将对象转换为浮点数