Description
I think this is probably an enhancement request, but there doesn't seem to be any documentation related to this and it doesn't really match the behavior I would expect. From what I can tell, xarray doesn't support datetime arrays with units other than [ns]. For example,
times = np.arange(np.datetime64('2005-01'),np.datetime64('2007-01'),np.timedelta64(1,'M'))
xrtimes = xr.DataArray(times,dims=['time'],coords={'time':times},name='time')
I would expect xrtimes.dtype
to return dtype('<M8[M]')
as times.dtype
does, but instead it returns dtype('<M8[ns]')
. Even looking at xrtimes.indexes['time']
to ensure it isn't just a problem with the repr
, the dtype is listed as 'datetime64[ns]'
. Trying to do xrtimes.astype('datetime64[M]')
does nothing. It would be nice if this didn't simply silently fail, or if there were some documentation explaining that datetime64 objects have to be in units of ns.
In an ideal world, it would be nice if xarray supported datetime units other than ns, but I understand with internals that may be more trouble than its worth...
I'm using
xarray=0.19.0
pandas=1.3.1
numpy=1.21.1