Если вы хотите среднесуточные значения, resample
- лучший инструмент для работы:
daily = arr.resample(time='D').mean('time')
Затем вы можете использовать groupby для вычисления квантилей для каждого дня года:
quantiles_by_dayofyear = daily.groupby('time.dayofyear').apply(
xr.DataArray.quantile, q=[0.25, 0.5, 0.75])
print(quantiles_by_dayofyear)
Выход:
<xarray.DataArray (dayofyear: 366, quantile: 3)>
array([[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.],
...,
[1., 1., 1.],
[1., 1., 1.],
[1., 1., 1.]])
Coordinates:
* quantile (quantile) float64 0.25 0.5 0.75
* dayofyear (dayofyear) int64 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...
Вероятно, мы должны добавить метод квантили в список методов группового сокращения xarray, но пока это должно работать.