簡體   English   中英

使用xarray刪除沒有坐標的維度

[英]Dropping dimension without coordinate using xarray

<xarray.DataArray 'nc_file' (time: 20, latitude: 360, longitude: 720, N: 3)>
[34992000 values with dtype=float64]
Coordinates:
  * latitude   (latitude) float64 89.75 89.25 88.75 88.25 87.75 87.25 86.75 ...
  * longitude  (longitude) float64 -179.8 -179.2 -178.8 -178.2 -177.8 -177.2 ...
  * time       (time) float64 0.0 1.826e+03 3.652e+03 5.479e+03 7.305e+03 ...
Dimensions without coordinates: N
Attributes:
    units: 1
    long_name: sample data var

如何使用 xarray 從 netCDF 中刪除N xarray drop命令不起作用

假設 hndl_nc 是 netCDF 文件的句柄,我嘗試hndl_nc.drop('N')

不清楚你想做什么: dataarr.drop('N') 將只刪除坐標; 主要用於冗余坐標。

但是您的數據的等效 numpy 維度仍然是形狀數組 (20,360,720,3),因此您將始終擁有 N

現在您必須決定要對最后一個維度 N 做什么。您是否選擇了 N=1 或求和或對維度 N 進行一些歸約操作; 然后 drop('N') 將起作用。

如果 N 只是重復(時間:20,緯度:360,經度:720)的相同數據集 3 次,那么您可以使用hndl_nc.isel(N=0)刪除維度 N。

如果 N 給你不同的數據集(時間:20,緯度:360,經度:720),你可以通過hndl_nc.squeeze('N')保留數據,但注意數據的結構會改變。

暫無
暫無

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

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