从 NETCDF 数据集中提取特定日期的数据
Extract data of specific dates from NETCDF dataset
我有 netcdf 数据,其中包含以特定湿度为变量的 2020 年每日数据,以及一个 excel 文件,其中包含在北印度洋上空形成的所有气旋的日期。大多数情况下,当我们想要在特定时间范围内提取数据时,我们使用 xarray 进行切片,但在这种特殊情况下,我面临的问题是我只需要为 [=] 中的那些特定旋风日提取数据13=] 文件并创建一个合成。如果有人可以通过展示如何完成它来帮助我,将不胜感激。
我将 link 附加到 netcdf 数据集和包含气旋天数的 excel 文件。netcdf cyclonedays
这很简单。您可以将字符串日期转换为 pandas
datetime
对象,然后直接使用 DataArray
中的 select 数据。
import xarray as xr
import pandas as pd
ds = xr.load_dataset('data.nc')
times = pd.read_excel('time.xlsx')
times['Date(DD/MM/YYYY)'] = pd.to_datetime(times['Date(DD/MM/YYYY)'], infer_datetime_format=True)
ds['shum'][ds.time.isin(times.values)]
在这种情况下,输出没有数据,因为您的日期是 2020 年,而 netcdf 文件只有 2019 年的日期。
我有 netcdf 数据,其中包含以特定湿度为变量的 2020 年每日数据,以及一个 excel 文件,其中包含在北印度洋上空形成的所有气旋的日期。大多数情况下,当我们想要在特定时间范围内提取数据时,我们使用 xarray 进行切片,但在这种特殊情况下,我面临的问题是我只需要为 [=] 中的那些特定旋风日提取数据13=] 文件并创建一个合成。如果有人可以通过展示如何完成它来帮助我,将不胜感激。 我将 link 附加到 netcdf 数据集和包含气旋天数的 excel 文件。netcdf cyclonedays
这很简单。您可以将字符串日期转换为 pandas
datetime
对象,然后直接使用 DataArray
中的 select 数据。
import xarray as xr
import pandas as pd
ds = xr.load_dataset('data.nc')
times = pd.read_excel('time.xlsx')
times['Date(DD/MM/YYYY)'] = pd.to_datetime(times['Date(DD/MM/YYYY)'], infer_datetime_format=True)
ds['shum'][ds.time.isin(times.values)]
在这种情况下,输出没有数据,因为您的日期是 2020 年,而 netcdf 文件只有 2019 年的日期。