[英]Replace xarray coordinates with another coordinate
我尝试通过对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?
我尝试过rename
,但是它返回冲突错误(因为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'})
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.