python-3.x - Python pandas to_datetime 工作不一致:为什么月份和日期混在一起?
问题描述
使用我运行的 python pandas 包
pd.to_datetime("23.01.2019 06:50:59")
并得到预期的结果
Timestamp('2019-01-23 06:50:59')
但是,运行时
pd.to_datetime("11.01.2019 18:34:39")
日期和月份混淆了,我得到了
Timestamp('2019-11-01 18:34:39')
预期是:Timestamp('2019-01-11 18:34:39')
关于为什么会发生这种情况以及如何避免它的任何想法?谢谢!
解决方案
这是可能的使用参数dayfirst=True
:
print (pd.to_datetime("11.01.2019 18:34:39", dayfirst=True))
2019-01-11 18:34:39
一般解决方案是指定日期时间格式:
print (pd.to_datetime("11.01.2019 18:34:39", format='%d.%m.%Y %H:%M:%S'))
2019-01-11 18:34:39
为什么月份和日期会混淆?
因为 pandas 尝试猜测格式并MMDDYYYY
具有更高的优先级,例如DDMMYYY
.
推荐阅读
- error-handling - 当来自服务器的响应缺少必填字段时,是否可以使用状态码?
- javascript - React - 列表元素文本未显示
- .net - 如何在 PowerShell 中添加事件操作处理程序
- javascript - event.wheelDelta 上的触摸板和滚轮
- c# - 在 C# 中使用 Saxon-HE 对 XDocument 执行具有给定上下文的 XQuery
- python - 使用烧瓶运行 SQL 命令并将结果输出为 CSV 下载
- python - 为什么我无法在 Jupyterlab 中使用 BeautifulSoup4 解析本地文件
- c - 在 Do-While 中比较 C 中的字符
- python - 熊猫数据框无法存储十进制值
- python - 如何使用 python 请求库从 Web 下载 PDF 文件