簡體   English   中英

Xarray-將數據變量更改為維度

[英]Xarray - Changing Data Variables into Dimensions

我正在處理許多在不同的經度和緯度下測量的溫度數據,我可以從NetCDF文件中像這樣打開它。

<xarray.Dataset>
Dimensions:            (altitude: 801, measurement_number: 3180)
Coordinates:
   * altitude           (altitude) float64 0.0 100.0 200.0 300.0 400.0 500.0 ...
Dimensions without coordinates: measurement_number
Data variables:
    temperature        (measurement_number, altitude) float32 ...
    longitude          (measurement_number) float64 ...
    latitude           (measurement_number) float64 ...

為了更方便地評估結果,我想將變量“經度”和“緯度”更改為這樣的尺寸或坐標。

<xarray.Dataset>
Dimensions:            (altitude: 801, measurement_number: 3180, longitude: 36, latitude: 18)
Coordinates:
   * altitude           (altitude) float64 0.0 100.0 200.0 300.0 400.0 500.0 ...
   * longitude          (longitude) float64 -180, -170, -160 ...
   * latitude           (latitude) float64 -90, -80, -70, ...
Dimensions without coordinates: measurement_number
Data variables:
    temperature        (measurement_number, altitude, longitude, latitude) float32 ...

我試圖通過使用ds.set_coords(['longitude','latitude'])和許多不同的功能到達這里,但是我無法根據經度和緯度來調節溫度。 您能給我個小竅門如何解決這個問題嗎?

您看過xarray中的Multi-index功能嗎? 它可能不完全是您要尋找的東西,並且存在一些限制(例如,據我所知,尚不支持序列化到netCDF),但也許對您來說還可以。 想法是將measurement_number轉換為以緯度和經度為虛擬坐標的熊貓多索引。 然后,您還可以在多索引坐標上使用.sel-> 多級索引

暫無
暫無

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

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