我有一个以 NetCDF4 格式存储的数据集,它由具有 3 个维度的 Intensity
值组成:Loop
、Delay
和 Wavelength
。我把我的坐标命名为和维度一样的名字(不知道是好是坏...)
我在 Python 中使用 xarray(以前称为 xray)来加载数据集:
import xarray as xr
ds = xr.open_dataset('test_data.netcdf4')
现在我想在跟踪原始数据的同时操纵数据。例如,我会:
对
Delay
坐标应用偏移量,并保持原始Delay
数据数组不变。这似乎是通过以下方式完成的:ds_ = ds.assign_coords(Delay_corr=ds_.Delay.copy(deep=True) + 25)
用坐标
Delay
代替数据集中所有相关数据数组的Delay_corr
。但是,我不知道如何执行此操作,而且我在文档中也没有找到任何内容。
有人知道如何执行第 2 项吗?
要下载带有测试数据的 NetCDF4 文件: http://1drv.ms/1QHQTRy
最佳答案
您正在寻找的方法是 xr.swap_dims()
方法:
ds.coords['Delay_corr'] = ds.Delay + 25 # could also use assign_coords
ds2 = ds.swap_dims({'Delay': 'Delay_corr'})
参见 this section完整示例的 xarray 文档。
关于python - 在 xarray 中替换数据集坐标 (Python),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35634033/