首页 > 解决方案 > 平均一个块的维度(xarray)

问题描述

让 X 成为我存储在多个文件中的变量。在每个文件中,X 的维度为(时间、深度、纬度、经度)。我希望做一个年度平均值,每个文件存储一年的数据。

为了提高效率,我使用X = xarray.open_mfdataset('path'+'year_*_X.nc').

我不想平均所有时间轴,即:X.mean(dim='time')

我观察到 X 存储“块”,因为它给出了“块大小”,所以也许它可以用来平均每个块的时间维度?

In [1] : X

Out[1] : <xarray.DataArray 'ty_trans_submeso' (time: 240, st_ocean: 50, yu_ocean: 200, xt_ocean: 360)> dask.array<shape=(240, 50, 200, 360), dtype=float32, chunksize=(12, 50, 200, 360)>

标签: python-xarray

解决方案


X.groupby('time.year').mean(dim='time')只要time是 datetime64 对象,就可以解决问题。


推荐阅读