9

、およびのIntensity3 つの次元の値で構成される NetCDF4 形式で保存されたデータセットがあります。座標に次元と同じ名前を付けました(良いか悪いかわかりません...)LoopDelayWavelength

Python でxarray (以前の xray)を使用してデータセットをロードしています。

import xarray as xr
ds = xr.open_dataset('test_data.netcdf4')

ここで、元のデータを追跡しながらデータを操作したいと考えています。たとえば、次のようにします。

  1. Delay座標にオフセットを適用し、元のデータ配列を変更しないでDelayください。これは次のように行われるようです:

    ds_ = ds.assign_coords(Delay_corr=ds_.Delay.copy(deep=True) + 25)

  2. データセット内の関連するすべてのデータ配列の座標Delayを置き換えます。Delay_corrただし、これを行う方法がわかりません。ドキュメントには何も見つかりませんでした。

アイテム#2の実行方法を知っている人はいますか?

テスト データを含む NetCDF4 ファイルをダウンロードするには: http://1drv.ms/1QHQTRy

4

2 に答える 2

2

それよりもはるかに簡単だと思います。

既存のデータを変更したくない場合は、コピーを作成します。ds変更しても netcdf4 ファイルは変更されないことに注意してdsください。

ds_ = ds.copy(deep=True)

次に、Delay座標を古いものの修正版として設定するだけです

ds_.coords['Delay'] = ds_['Delay'] + 25
于 2016-02-26T06:44:56.773 に答える