Closed
Description
Code Sample, a copy-pastable example if possible
Index
/Series
results in datetime64
dtype if all inputs are pd.NaT
.
pd.Index([pd.NaT, pd.NaT])
# DatetimeIndex(['NaT', 'NaT'], dtype='datetime64[ns]', freq=None)
pd.Series([pd.NaT, pd.NaT])
#0 NaT
#1 NaT
# dtype: datetime64[ns]
However, it coerces to timedelta64
if np.nan
is included.
pd.Index([pd.NaT, np.nan])
# TimedeltaIndex([NaT, NaT], dtype='timedelta64[ns]', freq=None)
pd.Series([pd.NaT, np.nan])
#0 NaT
#1 NaT
# dtype: timedelta64[ns]
This looks to be caused by following internals:
pd.tslib.is_timestamp_array(np.array([pd.NaT, np.nan]))
# False
pd.lib.is_timedelta_array(np.array([pd.NaT, np.nan]))
# True
Expected Output
datetime64
dtype?
output of pd.show_versions()
on current master