在python中使用xarray获取每月气候学

use*_*827 4 python xarray

我有一个netCDF文件,其中包含一个名为var2001-01-01到2010-12-31 的变量的每日数据.我想计算每月总和,var得到一个包含12个时间步长的netCDF(一年中每个月一个).目前,我这样做:

import xarray as xr
hndl_fl = xr.open_dataset(path_file)

hndl_fl.resample('1MS', dim='time', how='sum')
Run Code Online (Sandbox Code Playgroud)

然而,这导致netCDF每月从2001年到2010年的每月总和.我如何获得12个月的月平均值?

pat*_*_ai 6

任何一个

hndl_fl.resample('1MS', dim='time', how='mean')
Run Code Online (Sandbox Code Playgroud)

或者

hndl_fl.groupby('time.month').mean('time')
Run Code Online (Sandbox Code Playgroud)

应该可以解决问题,具体取决于你想要什么。


sto*_*vfl 5

评论:我正在寻找12个月的月平均值(从2001年到2010年的所有年份).您的解决方案仅计算1年的月平均值

我的第一次输出从2001-01开始到2010-12,因此所有年份都被覆盖.
你想再次获得resample120个价值吗?


我如何获得12个月的月平均值?

您必须决定您想要的内容:
一年中每个月的平均值,每年12个值,10年内最多120个值

1年平均值,10年内产生10个值

使用以下xarray.Dataset,date_range = 10年

date_range('2001-01-01', '2010-12-31', name='time')
<xarray.Dataset>
Dimensions:  (time: 3652)
Coordinates:
  * time     (time) datetime64[ns] 2001-01-01 2001-01-02 2001-01-03 ...
Data variables:
    data     (time) float64 16.0 18.0 15.0 12.0 23.0 9.0 7.0 18.0 23.0 23.0 ...
Run Code Online (Sandbox Code Playgroud)

获取monthly_avr每月的date_range('2001-01-01', '2010-12-31', name='time'):

monthly_avr = ds.resample('1MS', dim='time', how='mean')
Run Code Online (Sandbox Code Playgroud)

输出:

monthly_avr=<xarray.Dataset>
Dimensions:  (time: 120)
Coordinates:
  * time     (time) datetime64[ns] 2001-01-01 2001-02-01 2001-03-01 ...
Data variables:
    data     (time) float64 17.42 16.54 19.23 18.37 14.74 17.8 16.45 17.29 ...
Run Code Online (Sandbox Code Playgroud)

获取year_avr每年的date_range('2001-01-01', '2010-12-31', name='time'):

year_avr = ds.resample('1AS', dim='time', how='mean')  
Run Code Online (Sandbox Code Playgroud)

输出:

year_avr=<xarray.Dataset>
Dimensions:  (time: 10)
Coordinates:
  * time     (time) datetime64[ns] 2001-01-01 2002-01-01 2003-01-01 ...
Data variables:
    data     (time) float64 17.22 17.13 17.05 17.49 17.38 17.07 16.72 16.47 ...  
Run Code Online (Sandbox Code Playgroud)

用Python测试:3.4.2 - xarray:0.9.1