You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Xarray操作:如何向指定维度(如coord x)添加带标签的数组?

在Xarray中向指定维度添加数组的方法

要给Xarray的指定维度(比如你的x维度)添加数组并设置对应标签,最常用的方式是用xr.concat()来拼接——先把要添加的数组包装成和原数组结构匹配的DataArray,再沿着目标维度合并。下面给你一个完整的简单示例:

步骤详解 + 示例代码

1. 创建原始数组

首先我们定义一个带x和y维度的DataArray,作为你的arr:

import xarray as xr
import numpy as np

# 原始数组arr,x维度的标签是['a', 'b']
arr = xr.DataArray(
    np.array([[1, 2], [3, 4]]),
    dims=['x', 'y'],
    coords={'x': ['a', 'b'], 'y': [0, 1]}
)

2. 准备要添加的数组和对应标签

假设你要添加的数组是to_add = np.array([5, 6]),对应的x维度标签是a_plus。我们需要把这个数组包装成和原数组维度匹配的DataArray:

to_add = np.array([5, 6])

# 包装成DataArray,指定x标签为'a_plus',同时匹配原数组的y维度坐标
new_entry = xr.DataArray(
    to_add,
    dims=['y'],
    coords={'x': 'a_plus', 'y': arr.coords['y']}
)

3. 沿着x维度拼接

最后用xr.concat()把原数组和新的条目合并:

# 沿着x维度拼接,得到最终结果
result = xr.concat([arr, new_entry], dim='x')

# 打印看看效果
print(result)

最终输出效果

运行上面的代码后,你会得到这样的结果:

<xarray.DataArray (x: 3, y: 2)>
array([[1, 2],
       [3, 4],
       [5, 6]])
Coordinates:
  * x        (x) <U6 'a' 'b' 'a_plus'
  * y        (y) int64 0 1

可以看到,x维度已经新增了a_plus标签,对应的数据就是你要添加的to_add数组啦。


内容的提问来源于stack exchange,提问作者dexhunter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 10:07:25