pandas - Zulu 格式的时间戳字符串到日期时间
问题描述
根据Google 的文档,我正在处理的时间戳是:
RFC3339 UTC“Zulu”格式的时间戳,精确到纳秒。示例:“2014-10-02T15:01:23.045123456Z”。
因此,例如,如果字符串是'2019-11-06T06:24:42.558008Z'
,则pd.to_datetime('2019-11-06T06:24:42.558008Z',infer_datetime_format=True)
工作并返回Timestamp('2019-11-06 06:24:42.558008')
。
但是,让 Pandas 推断格式很慢,而且我有很多行数据。我会传递什么format
参数来帮助加快处理速度?
解决方案
您可以将to_datetime与utc=True
+ tz_convert一起使用:
import pandas as pd
utc = pd.to_datetime('2019-11-06T06:24:42.558008Z', utc=True).tz_convert(None)
inferred = pd.to_datetime('2019-11-06T06:24:42.558008Z', infer_datetime_format=True)
print(utc == inferred)
输出
True
从文档中tz_convert
:
一个 tz 的 None 将转换为 UTC 并删除时区信息。
请注意,只做:
utc = pd.to_datetime('2019-11-06T06:24:42.558008Z', utc=True) # or pd.to_datetime('2019-11-06T06:24:42.558008Z')
比较时抛出 TypeError 异常inferred
:
TypeError:无法比较 tz-naive 和 tz-aware 时间戳
推荐阅读
- mysql - 如何获得今天和第二天早上 8 点之间的小时差 - MYSQL
- python - Python:如何根据函数的参数创建 csv 列
- azure - 从 Microsoft Graph 安全 API 中提取扩展属性?
- ruby-on-rails - 组织数据产品及其历史价格的最佳方式是什么?
- python - 如何在 Python 中获取处理器温度?
- javascript - 如何以尽可能少的字节将图像文件存储在 utf-8 HTML 源中?
- sql - 使用两个表上的关系获取最大值
- android - 是否有机会在切换活动中存储数据
- html - 有没有办法让 div 具有文本内容的大小?
- python - 从 datetime64[ns] 重新格式化为 date[d]