我试图按小时计算相对较大数据集的时间均值。你能告诉我如何使这个过程更快吗?
下面是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)块吗?非常感谢!