当前位置: 首页 > 知识库问答 >
问题:

从NETCDF数据集中提取特定日期的数据

花阳秋
2023-03-14

我有netcdf数据,其中包含2020年的每日数据,以特定湿度为变量,以及一个excel文件,其中包含北印度洋上空形成的所有气旋的日期。大多数情况下,当我们想要提取特定时间范围内的数据时,我们习惯使用 xarray 进行切片,但在这种特定情况下,我面临的问题是我只需要提取 excel 文件中那些特定旋风日的数据并创建一个复合。如果有人可以通过展示如何做到这一点来帮助我,我们将不胜感激。我正在附加一个指向netcdf数据集和包含cyclone days.netcdf cyclonedays的excel文件的链接

共有1个答案

欧阳俊逸
2023-03-14

这相当简单。您可以将字符串日期转换为pandas日期时间对象,然后直接使用它从 中选择数据

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年的日期。

 类似资料:
  • 问题内容: 我有一个包含6列的R数据框,并且我想创建一个仅包含三列的新数据框。 假设我的数据帧df,我想提列A,B和E,这是唯一的命令,我可以计算出: 有没有更紧凑的方法可以做到这一点? 问题答案: 如果您的data.frame被调用,则使用dplyr包df1: 也可以在不使用%>%管道的情况下将其写为:

  • 我有海洋pH、o2等的全球4D NetCDF文件。每个文件有1个变量和4个维度(时间、经度、纬度和深度)。我希望从不包含NA的每个单元格的最底部深度提取数据。我尝试使用带有负超实验室的NCO的nks: 但是,这只为我提供了最深的箱(即-5700米深度箱)的数据,输出了海洋中所有较浅区域的NaN。有没有办法以类似的方式提取数据,但指定我想要每个单元格最深的非 NaN 值? 我能够使用 R、CDO 或

  • 我有许多坐标(大约20000),我需要从许多NetCDF文件中提取数据,每个文件大约有30000个时间步(未来的气候场景)。使用这里的解决方案效率不高,原因是每个i,j将“dsloc”转换为“dataframe”所花费的时间(请看下面的代码)。**可以从这里下载NetCDF文件示例** 结果是: 这意味着每个i、j需要大约9秒来处理。考虑到大量的坐标和netcdf文件以及大量的时间步长,我想知道是

  • 更新:修改了这个问题,以更好地反映我目前的理解。 我有一个NetCDF 4.5版本的Grib2记录对象。给定一个(x,y)网格点和一个变量名,我想从对象中按预测时间提取该变量的所有预测数据(如果记录包含该变量的预测)。由于写入磁盘索引文件的默认行为,我不想使用更高级别的NetCDFFile接口。 我尝试过查看底层代码(Grib2Rectilyser,Grib2Customizer等)。)但是代码太

  • 我有一个R代码,它从单个. nc4文件中提取每个月的每日值。我有49个netcdf文件。我想使用循环从所有这些文件中提取数据并将它们写入唯一的csv文件中。 我有一个文件的代码,但我需要多个文件的帮助。

  • 一个与R有关的新手问题。如何使用R从netdcf文件中提取特定位置的时间序列数据。例如,下面的快照显示位置(1、2)的时间序列为13、28、43。 提前谢谢。