Python 百分位数以 15 天窗口为中心

问题描述 投票:0回答:1

我对 Python 函数和一般的 Python(用于大型数据集的 xarray)有点陌生。 是否存在可以计算某个域的长时间序列以 15 天窗口为中心的第 90 个百分位数的函数?

即我在北美夏季有 62 年的每日最高温度(我在 JJA 内将所有日子与 cdo 合并)。我想根据以 15 天为中心的窗口计算该期间的 tmax(夏季)的第 90 个每日百分位数(以便计算热浪)

我想知道是否存在可以直接计算长时间序列的东西?如 np.percentile 中所示?我在想 np.percentile 是否有类似 np.roll 的东西?但不知道如何正确使用它

提前致谢!

python window percentile
1个回答
0
投票

如果你想使用python,你可以使用:

ds = xr.open('file.nc')
ds_90p = ds.rolling(time=10, min_periods=1).construct('tmp').quantile(0.9, dim='tmp')

但是,这显然需要很长时间,具体取决于您的电脑。我强烈建议使用 cdo,它会更快地产生相同的结果。

  cdo runpctl,90,10 input_file.nc output_file.nc
© www.soinside.com 2019 - 2024. All rights reserved.