我遇到了一个问题,当我使用pandas读取Mysql表时,一些列(参见’to_nlc’)曾经是整数变成了一个浮点数(之后自动添加.0).
任何人都可以搞清楚吗?或者一些猜测?非常感谢!
解决方法
问题是您的数据包含NaN值,因此int会自动转换为float.
我想你可以查看NA type promotions:
When introducing NAs into an existing Series or DataFrame via reindex or some other means,boolean and integer types will be promoted to a different dtype in order to store the NAs. These are summarized by this table:
Typeclass Promotion dtype for storing NAs floating no change object no change integer cast to float64 boolean cast to object
While this may seem like a heavy trade-off,in practice I have found very few cases where this is an issue in practice. Some explanation for the motivation here in the next section.