0

我正在创建一个从海洋数据集中提取数据的 API

我正在使用 netCDF4 python 模块来处理这些数据。有一个多维变量 vozocrtx,输入参数为 time_counter、deptht、y、x。

根据文档,如果我想从数据集中提取这个特定变量的数据,我可以做

import netCDF4
url = 'http://navigator.oceansdata.ca/thredds/dodsC/giops/daily/201806/giops_2018061300_024.nc'
dataset = netCDF4.Dataset(url)
variable = dataset.variables['vozocrtx']
extracted_data = variable[0:1:1,0:50:1,0:10:1,0:10:1]

但是,我想要的是有一个包含提取和切片索引的变量,比如

data_indexes = 0:1:1,0:50:1,0:10:1,0:10:1
extracted_data = variable[data_indexes]

我想做的原因是创建一个通用函数,该函数将根据输入(开始、结束和步幅)* 不提取数据。的尺寸。

我尝试了一些东西并阅读了文档,但找不到任何有用的东西。任何提示或方向将不胜感激。

4

1 回答 1

0
#Step 1 - create a list of all the slices

list = []
list.append(np.s_[0:1:1])
list.append(np.s_[0:50:1])
list.append(np.s_[0:10:1])
list.append(np.s_[0:10:1])    

#Step 2 - convert the list to a tuple
tuple_slice = tuple(list)    

#Step 3 - use the tuple as the index input to extract the data
variable[tuple_slice]

感谢提问如何为 Numpy 数组创建切片对象?并将Numpy 数组索引存储在变量中我想出了解决问题的方法。

于 2018-06-15T16:35:42.130 回答