python - 指定从 SQL Server 返回的数据框中列的数据类型
问题描述
我正在使用 pandas 和下面的行从 SQL Server 数据库中检索数据。
df = pd.read_sql_query(query, cnxn)
所以返回了我想要的数据框。但是我注意到这些列并不总是正确的数据类型,例如有时一个数字将是一个字符串。
我想知道解决这个问题的最佳方法是什么?
1)我是否应该使用列的正确 dtypes 初始化一个空数据框,然后通过遍历游标结果来填充数据框
2)使用返回的数据框(上面示例中的df)并在需要转换的列上使用 astype() 和其他转换器
3)或者有没有办法指定read_sql_query
查询中每一列的数据类型
解决方案
默认情况下coerce_float=True
,您可以将日期列列表输入parse_dates
. 您没有像 in和其他 IO 方法那样的明确dtypes
支持。这里read_csv
有一个关于它的讨论。
推荐阅读
- amazon-web-services - terraform 资源应根据变量创建多个 CloudWatch 警报,这在计划中已确认但仅部署一个警报
- javascript - JSView / JSRender 从 for 循环属性中计算总量
- ruby - 耙场 VS yardoc
- postgresql - 年销售额变化
- powershell - OnedriveMapper.ps1 4.04 脚本显示网络驱动器
- ruby-on-rails - 2 link_to 在同一行?
- tensorflow - ValueError:必须使用 SageMaker 支持的区域设置本地 AWS 配置
- angular - 如何从Angular中RXJS的可观察函数处理返回值
- mysql - MySQL 5.7 上的加密如何工作?
- oracle - 数据加载向导 - 转换规则不起作用