我的问题是如何将时间维度中的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中所有与时间相关的操作仍应在新的时间维度上起作用。
答案 0 :(得分:0)
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')