我有一个字段ID
,在 MySQL Workbench 中它是Bigint(20)
类型,如果我在工作台中查询,它看起来像这样:
ID
1111111111
2222222222
3333333333
...
如果我使用pandas.read_sql()
then 打印出这一列,它看起来像这样:
ID
1.111111e+09
2.222222e+09
3.333333e+09
...
并且通过检查df.dtypes
,此列是float64
类型,如果我尝试str
通过使用将其转换为:df['ID'] = df['ID'].astype('str')
,则此列将变成这样:
ID
1111111111.0
2222222222.0
3333333333.0
我很困惑......我认为Bigint(20)
afterread_sql()
会变成int64
,但为什么它会变成float64
,有没有办法我可以将它转换为int64
orstr
它看起来像1111111111
(没有浮动.0
?)
我也试过df['ID'] = df['ID'].astype('int64')
了,但它给了我错误ValueError: Cannot convert non-finite values (NA or inf) to integer
有人可以帮忙吗...谢谢。