我尝试对xarray DataArray进行重采样,以获得数组在N秒间隔内的平均值。我的DataArray有两个坐标,时间和纬度(LAT_GIN),一维:具有100个时间点的最小版本如下:
# Create a time coordinate
start_time = pd.Timestamp("2023-09-25 12:34:56")
time_values = pd.date_range(start_time, periods=100, freq="1S")
lat_values = np.random.rand(100).astype(np.float32)
da = xr.DataArray(lat_values, coords={'time': time_values}, dims=['time'])
da.coords['LAT_GIN'] = xr.Variable(('time',), lat_values)
重新采样,例如20秒,我正在使用的线:
da.resample(time='20S').mean()
我期望的输出是一个重采样的DataArray,有五个值(100/20),其中LAT_GIN坐标也是在十个采样周期的每个周期上平均的。
相反,我得到以下错误:
TypeError: Grouper.__init__() got an unexpected keyword argument 'base'
2条答案
按热度按时间ulydmbyx1#
这是Pandas 2.1.0中的一个bug。它在Pandas 1.5.3中运行良好。
yh2wf1be2#
将重采样过程分为两部分:一个用于数据本身(da),另一个用于LAT_GIN坐标。然后,将它们再次组合以获得期望的结果: