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

标签 python python-xarray

我有一个以 NetCDF4 格式存储的数据集,它由具有 3 个维度的 Intensity 值组成: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

最佳答案

您正在寻找的方法是 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/

相关文章:

Python-camelot(错误 : GhostscriptNotFound while it is installed)

python - 值错误: invalid literal for int() with base 10 in tensorflow

python - 无法使用python存储子进程的终端输出

python - xarray.DataArray.diff 与 pandas.DataFrame.diff 输出不同

numpy - xarray 或 dask 真的支持内存映射吗?

python websocketapp on_message() 方法不起作用

dask - 沿 XArray 的时间维度应用函数

python - 使用Python从OpenDAP批量下载数据

python - 将 cftime.DatetimeJulian 转换为日期时间

python - 在循环行时 append 到 Pandas 数据框?