回答问题
我遇到了一个问题,当我使用 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
虽然这似乎是一个沉重的权衡,但在实践中,我发现在实践中这是一个问题的案例很少。在下一节中对这里的动机进行了一些解释。