亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何找到與特定選擇的 xarray 等效的索引?

如何找到與特定選擇的 xarray 等效的索引?

白衣染霜花 2022-10-25 14:55:56
我有一個 xarray 數據集。<xarray.Dataset>Dimensions:           (lat: 92, lon: 172, time: 183)Coordinates:  * lat               (lat) float32 4.125001 4.375 4.625 ... 26.624994 26.874996  * lon               (lon) float32 nan nan nan ... 24.374996 24.624998 24.875  * time              (time) datetime64[ns] 2003-09-01 2003-09-02 ... 2004-03-01Data variables:    swnet        (time, lat, lon) float32 dask.array<shape=(183, 92, 172), chunksize=(1, 92, 172)>查找最近的經緯度df.sel(time='2003-09-01', lon=6.374997, lat=16.375006, method='nearest')需要找此特定位置的索引。基本上,row-column在網格中。最簡單的方法是什么?試過了nearestlat=df.sel(time='2003-09-01', lon=6.374997, lat=16.375006, method='nearest')['lat'].values nearestlon=df.sel(time='2003-09-01', lon=6.374997, lat=16.375006, method='nearest')['lon'].values rowlat=np.where(df['lat'].values==nearestlat)[0][0] collon=np.where(df['lon'].values==nearestlon)[0][0] 但我不確定這是否是正確的方法。我怎樣才能“正確”地做到這一點?
查看完整描述

2 回答

?
慕桂英4014372

TA貢獻1871條經驗 獲得超13個贊

我同意找到與.sel操作相關的索引比預期的要復雜!


此代碼有效:


import xarray as xr

ds = xr.tutorial.open_dataset('air_temperature')

ilon = list(ds.lon.values).index(ds.sel(lon=250.0, method='nearest').lon)

ilat = list(ds.lat.values).index(ds.sel(lat=45.0, method='nearest').lat)

print(' lon index=',ilon,'\n','lat index=', ilat)

生產:


 lon index= 20 

 lat index= 12

萬一有人想知道為什么要這樣做,我們用它來研究圖像的時間堆棧,我們有興趣在指定日期選擇緊接在圖像之前的圖像:


import xarray as xr

ds = xr.tutorial.open_dataset('air_temperature')

ilon = list(ds.time.values).index(ds.sel(time='2013-06-01 00:00:00', method='nearest').time)

print(idx)

產生


848


查看完整回答
反對 回復 2022-10-25
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

我認為這樣的事情應該有效:


ds = xr.tutorial.open_dataset('air_temperature')

idx = ds.indexes["time"].get_loc('2013-06-01 00:00:00',  method="nearest")

print(idx)


查看完整回答
反對 回復 2022-10-25
  • 2 回答
  • 0 關注
  • 113 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號