我正在创建一个从ocean dataset中提取数据的API。
我正在使用netCDF4 python模块来处理这些数据。有一个具有输入参数time_counter,deptht,y,x的多维变量vozocrtx。
根据文档,如果我想要从数据集中提取这个特定变量的数据,我可以这样做
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]我之所以要这样做,是因为要创建一个泛型函数,该函数将根据输入(start、end和stride) * no提取数据。维度的。
我尝试了一些东西,也阅读了文档,但找不到任何有用的东西。如有任何提示或指导,我们将不胜感激。
发布于 2018-06-16 00:35:42
#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]多亏了问题How can I create a slice object for Numpy array?和Store Numpy array index in variable,我找到了解决问题的办法。
https://stackoverflow.com/questions/50879057
复制相似问题