首页 > 解决方案 > 在使用表中的 read_sql 时,有什么方法可以更改应该是 int 的列数据类型变成浮点数

问题描述

我正在使用read_sql函数从postgresql表中提取数据。当我将该数据存储在数据框中时,我会发现某些整数dtype列会自动转换为float,有没有办法在使用read_sqlfunctiononly时防止这种情况

标签: pythonpandas

解决方案


由于您的列包含NaN浮点数的值,因此我认为您无法在不更改查询的情况下避免从数据库加载此“问题”。

如果您希望更改查询,您可以插入一个WHERE排除值的子句None,或者检查该行是否包含这样的列值。

我建议使用.fillna(),然后使用转换为整数.astype('int')

编辑:以防万一,您的问题是错误的,您是在说

在使用表中的 read_sql 时,有什么方法可以更改应该是 int的列数据类型变成浮点数

但由于它包含NaN,它预计不是一个int,而是一个float


推荐阅读