Конвертировать координаты времени из UTC в местный часовой пояс с xarray - PullRequest
0 голосов
/ 25 марта 2019

Мой вопрос заключается в том, как преобразовать координаты времени UTC в измерении времени в местный часовой пояс (например, Австралийское восточное стандартное время (AEST), +10 или +11 в зависимости от летнего сохранения)

import xarray as xr
import pandas as pd
time = pd.date_range('2000-01-01', freq='H', periods=365 * 24)
ds = xr.Dataset({'foo': ('time', np.arange(365 * 24)), 'time': time})

print(ds)

Выходы:

<xarray.Dataset>
Dimensions:  (time: 8760)
Coordinates:
  * time     (time) datetime64[ns] 2000-01-01 ... 2000-12-30T23:00:00
Data variables:
    foo      (time) int32 0 1 2 3 4 5 6 7 ... 8753 8754 8755 8756 8757 8758 8759

Можно ли преобразовать координаты времени UTC в AEST, поддерживаемые летним временем? Все связанные со временем операции в xarray должны работать в новом измерении времени.

1 Ответ

0 голосов
/ 25 марта 2019

Функция pd.date_range имеет аргумент tz для часового пояса, поэтому вам нужно что-то вроде этого:

time = pd.date_range('2000-01-01', freq='H', periods=365 * 24, tz='Australia/Brisbane')

Чтобы преобразовать существующую серию дат-часов в правильное использование часового пояса:

time = time.tz_localize(tz='Australia/Brisbane')
...