Pandas 读取 sql 整数变成浮点数

回答问题

我遇到了一个问题,当我使用 pandas 读取 Mysql 表时,一些列(参见 'to_nlc')曾经是整数变成了浮点数(之后自动添加 .0)。任何人都可以弄清楚吗?还是一些猜测?非常感谢!

Answers

问题是您的数据包含NaN值,因此int会自动转换为float

我想你可以查看NA 类型的促销:

当通过重新索引或其他方式将 NA 引入现有 Series 或 DataFrame 时,布尔和整数类型将被提升为不同的 dtype 以存储 NA。下表总结了这些:

Typeclass   Promotion dtype for storing NAs
floating    no change
object      no change
integer     cast to float64
boolean     cast to object

虽然这似乎是一个沉重的权衡,但在实践中,我发现在实践中这是一个问题的案例很少。在下一节中对这里的动机进行了一些解释。

猜你喜欢

转载自blog.csdn.net/zhishifufei/article/details/127944211