0

我有一个字段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,有没有办法我可以将它转换为int64orstr它看起来像1111111111(没有浮动.0?)

我也试过df['ID'] = df['ID'].astype('int64')了,但它给了我错误ValueError: Cannot convert non-finite values (NA or inf) to integer

有人可以帮忙吗...谢谢。

4

0 回答 0