指定从SQL Server返回的数据框中的列的数据类型

时间:2019-02-13 13:47:00

标签: python pandas dataframe

我正在使用下面一行的pandas从SQL Server数据库中检索数据。

df = pd.read_sql_query(query, cnxn) 

因此返回了我想要的数据框。但是我注意到,列并不总是正确的数据类型,例如有时数字是字符串。

我想知道解决这个问题的最佳方法是什么?

1)我应该用正确的dtypes初始化列的空数据框,然后通过遍历游标结果填充数据框

2)使用返回的数据框(在上面的示例中为df),并在需要转换的列上使用astype()和其他转换器

3)或有一种方法可以在read_sql_query中为查询中的每一列指定期望的数据类型

1 个答案:

答案 0 :(得分:1)

默认情况下,您有coerce_float=True,并且可以将日期列列表输入parse_dates中。您没有像dtypes和其他IO方法那样具有明确的read_csv支持。 here对此进行了讨论。