gpt4 book ai didi

python - 在python中按纬度和经度从.nc文件中提取数据

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:06 34 4
gpt4 key购买 nike

我有 .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]

非常感谢您的建议!

最佳答案

这段代码肯定行不通:

f.variables['temp'][:,29.5,65.5]

因为您不能(不应该)在 numpynetcdf4 中使用 float 进行索引。

如果您想按值索引,我建议您查看 xarray :

import xarray as xr
ds = xr.open_dataset('data.nc')
# index by value
ds['temp'].sel(lon=65.5, lat=29.5)
# or index by position
ds['temp'].isel(lon=5, lat=2)

关于python - 在python中按纬度和经度从.nc文件中提取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37923403/

34 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com