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