在xarray(Python)中替换数据集坐标

Fra*_*ois 5 python python-xarray

我有存储在由NetCDF4格式的数据集Intensity的值与3个维度:Loop,DelayWavelength.我将我的坐标命名为与尺寸相同(我不知道它的好坏......)

我在Python中使用xarray(以前的xray)来加载数据集:

import xarray as xr
ds = xr.open_dataset('test_data.netcdf4')
Run Code Online (Sandbox Code Playgroud)

现在我想在跟踪原始数据的同时操纵数据.例如,我会:

  1. Delay坐标应用偏移量并保持原始数据Delay阵列不变.这似乎是通过以下方式完成的:

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

  2. 将坐标替换DelayDelay_corr数据集中的所有相关数据阵列.但是,我不知道如何做到这一点,我没有在文档中找到任何东西.

有人会知道如何执行第2项吗?

要下载带有测试数据的NetCDF4文件:http://1drv.ms/1QHQTRy

sho*_*yer 8

您正在寻找的xr.swap_dims()方法是方法:

ds.coords['Delay_corr'] = ds.Delay + 25  # could also use assign_coords
ds2 = ds.swap_dims({'Delay': 'Delay_corr'})
Run Code Online (Sandbox Code Playgroud)

有关完整示例,请参阅xarray文档的此部分.

  • 这会交换尺寸,但不会正确更新坐标 (2认同)