我有如下数据框
df.head(3)
ORD Date1 Date2
717 2020-03-04T00:00:00Z 2020-03-04T00:00:00Z
722 NaT 2020-03-15T00:00:00Z
719 2020-05-14T00:00:00Z NaT
我想将所有NaT转换为NaN
预期输出
ORD Date1 Date2
717 2020-03-04T00:00:00Z 2020-03-04T00:00:00Z
722 NaN 2020-03-15T00:00:00Z
719 2020-05-14T00:00:00Z NaN
如何完成
显然没有必要在大熊猫中,因为NaT
的处理类似于NaN
。
可以通过一点技巧,但日期时间转换为对象:
df = df.astype(object).mask(df.isna(), np.nan)
print (df)
ORD Date1 Date2
0 717 2020-03-04 00:00:00+00:00 2020-03-04 00:00:00+00:00
1 722 NaN 2020-03-15 00:00:00+00:00
2 719 2020-05-14 00:00:00+00:00 NaN
print (df.dtypes)
ORD object
Date1 object
Date2 object
dtype: object
编辑:
df = df.mask(df == 'NaT', np.nan)