我试图获得一个相对较大的数据集的小时的时间平均值 . 你能告诉我如何更快地完成这个过程吗?

下面是xr.dataset“Tair”的维度

<xarray.Dataset>
Dimensions:       (lat: 2600, lon: 2600, time: 7200)
Coordinates:
* lon           (lon) float64 -64.97 -64.92 -64.88 -64.82 -64.77 -64.72 ...
* lat           (lat) float64 -64.97 -64.92 -64.88 -64.82 -64.77 -64.72 ...
* time          (time) datetime64[ns] 1991-01-01 1991-01-01T01:00:00 ...
Data variables:
grid_mapping  (time) |S1 b'' b'' b'' b'' b'' b'' b'' b'' b'' b'' b'' b'' ...
SATID         (time) float64 dask.array<shape=(7200,), chunksize=(24,)>
LST_PMW       (time, lat, lon) float32 dask.array<shape=(7200, 2600, 2600), chunksize=(24, 2600, 2600)>
LSTERROR_PMW  (time, lat, lon) float32 dask.array<shape=(7200, 2600, 2600), chunksize=(24, 2600, 2600)>
LST_PMW_NUMO  (time, lat, lon) float32 dask.array<shape=(7200, 2600, 2600), chunksize=(24, 2600, 2600)>

这就是我正在做的每小时获得时间平均值的方法 .

MEAN_LST = Tair.LST_PMW.groupby('time.hour').mean(dim='time')
MEAN_LST.to_netcdf('Mean_T_air.nc')

我试图将数据集Tair重新分配到(7200,10,10)和(1,200,200),但它们都没有帮助 . 由于平均值是按时间计算的,我认为将整个时间维度保持为一个块是有意义的,如果这是真的,那么更好的解决方案是使用(7200,1,1)块吗?非常感谢!