python - 将 xarray 坐标替换为另一个坐标

标签 python coordinate python-xarray

我尝试使用一个坐标来替换 xarray.Dataset 中具有相同长度的两个坐标。我不关心旧坐标或其值;我只是想更换它们。有什么方便的方法吗?

import xarray as xr
ds = xr.Dataset({
    "a": ("a_coord", [0, 1, 2]),
    "b": ("b_coord", [50, 10, 20]),
    "a_coord": [4, 8, 9],
    "b_coord": [3, 1, 4],
    "new_coord": [0, 1, 2],
})
# Get rid of a_coord and b_coord and replace both with new_coord, so a and b
# have new_coord as coordinate.
# But how?

我尝试重命名,但它返回冲突错误(因为 new_coord 已经存在)。

ds.rename({
    "a_coord": "new_coord",
    "b_coord": "new_coord",
})

我是否必须将新坐标显式分配给依赖于旧坐标之一的每个数据变量?由于我有许多数据变量(不仅仅是 a 和 b)和其他坐标,这可能会变得困惑。

最佳答案

您需要先重置索引:

ds.reset_index(['a_coord', 'b_coord'], drop = True, inplace = True)
ds['a']= ds.a.rename({'a_coord': 'new_coord'})
ds['b']= ds.b.rename({'b_coord': 'new_coord'})

关于python - 将 xarray 坐标替换为另一个坐标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49853326/

相关文章:

python - 如何获取xarray中最大值的坐标?

Python:计算列表列表中的元素数量并提供给矩阵?

python - 如何替换 xarray 变量中的值?

python - 如何解释 format(n, 'c' ) 超出 ASCII 的结果?

python - 我可以在没有/usr/local 等权限的情况下使用 setuptools 吗

c# - DDM到DD地理坐标转换算法

机器人:为什么 getrotationmatrix 返回 false?

objective-c - 如何旋转坐标系?

python - google-app-engine firebase-admin python

Python:加载的 NLTK 分类器不起作用