2

In pandas there is a toordinal function to convert the datetime to ordinal, such as:Convert date to ordinal python? or Pandas datetime column to ordinal. I have an xarray dataarray with time coordinate that I want to convert it to ordinal. Is there similar panda's toordinal to do it in xarray?
sample:

Coordinates:
time
array(['2019-07-31T10:00:00.000000000', '2019-07-31T10:15:00.000000000',
       '2019-07-31T10:30:00.000000000', '2019-07-31T10:45:00.000000000',
       '2019-07-31T11:00:00.000000000', '2019-07-31T11:15:00.000000000',
       '2019-07-31T11:30:00.000000000', '2019-07-31T11:45:00.000000000',
       '2019-07-31T12:00:00.000000000'], dtype='datetime64[ns]')
HMadadi
  • 391
  • 5
  • 22

1 Answers1

0

I didn't find a xarray-native way to do it.

But, you can work around it by converting the time values to datetime objects, on which you can then use toordinal:

import pandas as pd
import xarray as xr

ds = xr.tutorial.open_dataset("air_temperature")
time_ordinal = [pd.to_datetime(x).toordinal() for x in ds.time.values]

print(time_ordinal[:5])
# [734869, 734869, 734869, 734869, 734870]
Val
  • 6,585
  • 5
  • 22
  • 52