Python 当文件和数据集都有一个“";时间“;成分
我不知道这个问题怎么说,但我希望这个例子能解释它 我每天都有一系列netcdf文件的数据。 每个文件都包含一个数据的时间维度,作为30天的预测 如果我使用以下方法读取一年的数据:Python 当文件和数据集都有一个“";时间“;成分,python,python-xarray,Python,Python Xarray,我不知道这个问题怎么说,但我希望这个例子能解释它 我每天都有一系列netcdf文件的数据。 每个文件都包含一个数据的时间维度,作为30天的预测 如果我使用以下方法读取一年的数据: data=xarray.open_mfdataset(files, concat_dim='None', autoclose='True') 然后我得到: Dimensions: (None: 365, lat: 110, lon: 100, time: 395) 我只对每个文件在时间=0时的值感兴趣,即,对于
data=xarray.open_mfdataset(files, concat_dim='None', autoclose='True')
然后我得到:
Dimensions: (None: 365, lat: 110, lon: 100, time: 395)
我只对每个文件在时间=0时的值感兴趣,即,对于文件=0,对于文件=360,我希望时间=0,等等
基本上,我认为我想做的只是从每个文件中读取时间组件的第一个元素,但我似乎不知道如何使用open_mfdataset来实现这一点
即使只是在读取整个内容后删除不需要的值也可以,但我似乎也无法理解这一点,因为open_mfdataset连接数据集的方式。使用预处理函数将允许您执行所需操作。预处理函数在连接之前应用,因此您可以在
open_mfdataset
步骤中使用该函数重新格式化数据集
def preprocess(ds):
'''keep only the first timestep for each file'''
return ds.isel(time=0)
data = xr.open_mfdataset(files, preprocess=preprocess, concat_dim='time', ...)
根据文件的格式,您可能需要在
预处理
中进一步清理数据集 谢谢!我不知道这是可能的。