有什么办法可以更改从表中使用read_sql时应将int变为float的列数据类型

时间:2019-07-31 12:01:01

标签: python pandas

我正在使用read_sql函数从postgresql表中提取数据。当我将数据存储在数据帧中时,我发现某些整数dtype列会自动转换为float,有什么方法可以防止在仅使用read_sql函数时

1 个答案:

答案 0 :(得分:0)

由于您的列包含NaN值(它们是浮点数),所以我认为您可以避免在不更改查询的情况下从数据库加载此“问题”。

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

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

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

  

有什么方法可以更改在使用表中的read_sql时应将应为int 的列数据类型

但是由于它包含NaN,所以它不是int,而是float