【发布时间】:2016-10-21 18:16:03
【问题描述】:
我有 .nc 格式的网格数据集。我想根据经纬度提取数据。我的数据集的经纬度如下图:
import netCDF4
from netCDF4 import Dataset
f= Dataset('data.nc')
f.variables['lat'][:]
array([ 31.5, 30.5, 29.5, 28.5, 27.5, 26.5, 25.5, 24.5, 23.5,
22.5, 21.5, 20.5, 19.5, 18.5], dtype=float32)
f.variables['lon'][:]
array([ 60.5, 61.5, 62.5, 63.5, 64.5, 65.5, 66.5, 67.5, 68.5,
69.5, 70.5, 71.5, 72.5, 73.5, 74.5, 75.5, 76.5, 77.5,
78.5, 79.5, 80.5, 81.5, 82.5, 83.5, 84.5, 85.5, 86.5,
87.5, 88.5, 89.5, 90.5, 91.5], dtype=float32)
假设我想提取 lat = 29.5 和 lon = 65.5 的数据 那么哪个代码是正确的呢?
f.variables['temp'][:,2,5]
或
f.variables['temp'][:,29.5,65.5]
您的建议将不胜感激!
【问题讨论】:
-
您是否尝试过您提出的方案?看看docs.scipy.org/doc/numpy/reference/arrays.indexing.html。