簡體   English   中英

Python-xarray:如何將多個 3D DataArray 組合成一個具有 6 維的單個?

[英]Python-xarray: How to combine multiples 3D DataArray into a single one with 6 dimensions?

我已經閱讀了 12 個波段(月)的 80 個柵格 geotif 文件,並生成了 80 個 3D DataArrays(因此我可以通過 clip_box 裁剪它們,以便 plot 80 個我的項目區域的地圖)。

現在我需要將它們組合成一個單獨的 DataArray,但要沿着另外 3 個維度(氣候 Model、氣候變化情景和時間段)。 我的目標是計算統計數據和 plot 沿 4 個不同維度的映射。

我應該把重點放在什么 function 上? 3 個組合函數之一(concat、merge、combine_nested)?

我發現沿多個維度合並多個 dataArrays 的唯一方法是:

  • 首先使用所有請求的維度和坐標列表創建一個空的 dataArray da_to (並設置空間維度)
dims= ('dim1', 'dim2', ...) 
array= np.empty((len(coord1_list), len(coord2_list), ...) 
da_tot= xr.DataArray(data= array, dims= dims, coords={'coord1': coord1_list, 'coord2': coord2_list, ..., 'lon': lon_list, 'lat': lat_list) 
da_tot.rio.set_spatial_dims(x_dim= 'lon', y_dim= 'lat', inplace= True)
  • 然后通過為其分配坐標來添加每個 dataArray da

da_tot.loc[dict(coord1= 'xxxx', coord2= 'yyyy', ....)]= da

暫無
暫無

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

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