我的问题是如何将时间维度中的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中的所有时间相关操作仍应适用于新的时间维度。
pd.date_range
函数有一个参数tz
for timezone所以你想要的是这样的:
time = pd.date_range('2000-01-01', freq='H', periods=365 * 24, tz='Australia/Brisbane')
要将现有的一系列日期时间转换为正确的时区,请使用:
time = time.tz_localize(tz='Australia/Brisbane')