熊猫:如何获取NaT的当前日期时间

时间:2020-03-13 10:29:14

标签: python python-3.x pandas

我正在尝试通过计算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?

谢谢

1 个答案:

答案 0 :(得分:3)

第一个想法是仅替换为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,添加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]