如何将全年每天 3 小时的数据导入 xarray
How to import 3 hourly data in daily basis into xarray for a whole year
我试图将 3 小时的 netCDF 数据导入 xarray 并找到它的每日平均值。我可以简单地做 select 特定的一天并获得每日平均值,但如何在一整年内完成这个过程?如何做到这一点?
import xarray as xr
fname='/home/atmosphere/GRIDSAT-B1.2010.12.01.*.v02r01.nc'
ds=xr.open_mfdataset(fname))
varlist=list(ds.variables)
imr=ds.sel(lat=slice(0,30),lon=slice(25,45)) #subsetting dataset
bt=imr['irwin_cdr'] #making into a data array
dailymean1=imrbt.mean('time')
在上面的代码中,我可以获得 2010 年 12 月 1 日的每日平均值,但我如何才能找到全年的每日平均值?将不胜感激。
我想您可能想使用一种名为 resample
:
的方法
daily_mean = ds.resample(time='D').mean()
它的一个主要用例是将时间序列下采样到常规的粗频率(例如,从三小时数据到每日平均数据)。确保 ds
包含您要重新采样的所有数据(您可能需要更改 glob 字符串)。
我试图将 3 小时的 netCDF 数据导入 xarray 并找到它的每日平均值。我可以简单地做 select 特定的一天并获得每日平均值,但如何在一整年内完成这个过程?如何做到这一点?
import xarray as xr
fname='/home/atmosphere/GRIDSAT-B1.2010.12.01.*.v02r01.nc'
ds=xr.open_mfdataset(fname))
varlist=list(ds.variables)
imr=ds.sel(lat=slice(0,30),lon=slice(25,45)) #subsetting dataset
bt=imr['irwin_cdr'] #making into a data array
dailymean1=imrbt.mean('time')
在上面的代码中,我可以获得 2010 年 12 月 1 日的每日平均值,但我如何才能找到全年的每日平均值?将不胜感激。
我想您可能想使用一种名为 resample
:
daily_mean = ds.resample(time='D').mean()
它的一个主要用例是将时间序列下采样到常规的粗频率(例如,从三小时数据到每日平均数据)。确保 ds
包含您要重新采样的所有数据(您可能需要更改 glob 字符串)。