【发布时间】:2021-06-27 00:13:51
【问题描述】:
我有一个 DataArray da 和一个名为 FFDI 的变量,它具有三个维度,time、latitude 和 longitude。
xarray.DataArray 'FFDI' time: 43848 latitude: 2 longitude: 244
latitude (latitude) float32 -39.2 -39.163948
longitude (longitude) float32 140.8 140.83786 ... 149.96214 150.0
time (time) datetime64[ns] 2000-01-01T00:00:00 2000-01-01T01:00:00 ... 2004-12-31T22:00:00 2004-12-31T23:00:00
我想要实现的是将以下函数应用于time 维度的每个时间戳,以计算时间戳是否在夏令时期间并输出布尔值。
def isDST(dt_str):
local_time_tz = pytz.timezone("Australia/Victoria")
naive_datetime = datetime.datetime.strptime (dt_str, "%Y-%m-%d %H:%M:%S")
a = local_time_tz.localize(naive_datetime)
return bool(a.dst())
输出将是一个 numpy 数组或另一个 DataArray 元素;然后它将作为名为 isDST 的附加变量添加到原始 da。
xarray.DataArray 'FFDI' time: 43848 latitude: 2 longitude: 244
latitude (latitude) float32 -39.2 -39.163948
longitude (longitude) float32 140.8 140.83786 ... 149.96214 150.0
time (time) datetime64[ns] 2000-01-01T00:00:00 2000-01-01T01:00:00 ... 2004-12-31T22:00:00 2004-12-31T23:00:00
isDST (time) bool true true ... true true
这可能吗?在 xarray、pandas 或 numpy 中应该使用什么函数?
【问题讨论】:
标签: python pandas numpy python-xarray