Очевидно, что в pandas нет необходимости, потому что NaT
обрабатываются как NaN
s.
Это возможно небольшим взломом, но даты и время передаются объектам:
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
РЕДАКТИРОВАТЬ: Если преобразованные даты и время в строки также пропущены значения NaT
являются строками. Поэтому для замены их на NaN
s используйте:
df = df.mask(df == 'NaT', np.nan)
Или:
df = df.replace('NaT', np.nan)