簡體   English   中英

如何使用xarray從netcdf數據集中的變量中刪除緯度和經度(它們是常量)?

[英]How to remove latitude and longitude (they're constants) from variables in netcdf dataset using xarray?

我有一個 NetCDF 數據集我試圖從我的數據變量中刪除緯度和經度數據,以便它們可以被正確索引。 每個數據變量的形狀始終為 (x, 1, 1),其中 x 是我的數據點數,1 代表靜態經度和緯度。 我試過xarray.Dataset.squeezexarray.Dataset.dropxarray.DataArray.drop_vars定位緯度和經度。 我還用熊貓數據框嘗試了它,緯度和經度仍然粘在我的變量上並阻止正確索引。 如果您復制下面的代碼,您將看到變量'wave_height'顯示的形狀為 (3411,1,1)。 我想要一個使這個形狀只是 (3411,) 的函數。

url = 'https://dods.ndbc.noaa.gov/thredds/fileServer/data/stdmet/46077/46077h2021.nc'
reqSpectra = urllib.request.Request(url)
with urllib.request.urlopen(reqSpectra) as respS:
    ds_s = xr.open_dataset(io.BytesIO(respS.read()))

wh = ds_s.variables['wave_height']
wh

我會使用 NumPy 的擠壓來刪除額外的維度。

import urllib
import xarray as xr
import numpy as np
import io
# --------------------------------------------------------------------------
url = 'https://dods.ndbc.noaa.gov/thredds/fileServer/data/stdmet/46077/46077h2021.nc'
reqSpectra = urllib.request.Request(url)
with urllib.request.urlopen(reqSpectra) as respS:
    ds_s = xr.open_dataset(io.BytesIO(respS.read()))
# --------------------------------------------------------------------------
wh = ds_s.variables['wave_height'];
wh = np.squeeze(wh);
wh

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM