python - pandas:如何获取 NaT 的当前日期时间
问题描述
我正在尝试通过计算 2 个动态日期的差异并将其转换为相应的小时数来计算老化
这是我的代码片段
l_series = getattr(df, field_def['primaryField'])
r_series = getattr(df, field_def['secondaryField'])
result = l_series - r_series
这是我的输出
4 NaT
14 2020-03-02 13:59:11+00:00
我可以理解没有updated_at
第一个记录的字段,这就是抛出 NaT 的原因。
有没有办法可以用当前日期时间替换 NaT?
谢谢
解决方案
第一个想法是仅替换为Series.fillna
,但因为不同的时区输出是对象:
result1 = result.fillna(pd.to_datetime('now'))
print (result1)
4 2020-03-13 10:33:10.557126
14 2020-03-02 13:59:11+00:00
Name: s, dtype: object
对于datetime
带时区的 s 添加Timestamp.tz_localize
:
result2 = result.fillna(pd.to_datetime('now').tz_localize('utc'))
print (result2)
4 2020-03-13 10:33:10.559126+00:00
14 2020-03-02 13:59:11+00:00
Name: s, dtype: datetime64[ns, UTC]
推荐阅读
- python - 时间序列分析 Python(用于日期和时间)
- reactjs - 安装插件后 Gatsby 站点中断
- testing - 尝试为 QNX 函数 MsgReceive()、MsgSend() 和 MsgReply() 编写基本测试
- git - 如何使 gitconfig 的而不是与 Cargo 一起工作?
- algorithm - Clojure中的Deal x Number of Cards - vs Partition
- c++ - 枚举成员与静态 int 成员?
- c# - 从 IServiceProvider 模拟 AutoFac 根
- html - HTML 中的 HTTP 请求方法
- push-notification - 没有 SDK 的 Firebase 云消息传递
- sql - 在 PostgreSQL 中使用 NULL 值更新 JSONB 列