xr.open_mfdataset中的块大小定义不相等

时间:2019-06-12 18:52:23

标签: python-3.x python-xarray

我有NetCDF文件,每个文件包含5年的每日数据。我正在阅读以下内容,并希望定义不相等的块大小,以便一次处理每年的每日数据。但是无法从5年的每日数据的每个块中分割年度数据。以下是我所拥有的:

toJson(const Location&)

请建议是否可以如上所述将块大小定义为等于每年的天数,或者是否可以采用其他方法。

1 个答案:

答案 0 :(得分:0)

我认为您可能会误解什么是分块。仅仅是并行计算时dask每批处理的数据量。这不是分离和组织数据进行分析的方式-使用xarray和pandas有很多方法。

这应该证明您正在寻找什么:

time = xr.DataArray(pd.date_range('2000-01-01', '2009-12-31', freq='D'))
da = xr.DataArray(np.random.random(len(time)), dims=['time'], coords=[time], name='Temp')
da.groupby('time.year').sum(dim='time')

<xarray.DataArray 'Temp' (year: 10)>
array([186.243399, 177.013772, 177.043625, 178.909328, 185.276436, 188.423565,
       175.852382, 180.455858, 182.747201, 183.260242])
Coordinates:
  * year     (year) int64 2000 2001 2002 2003 2004 2005 2006 2007 2008 2009

这些年份包括适当的leap日,并使用groupby()函数进行解析。如果您需要执行自定义功能而不是sum(),则可以改用.apply(func)