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

如何对xarray DataArray中嵌套的列表元素进行索引?

问题根因

你构造的DataArray是一维object类型数组,仅包含1个长度为2的维度,每个位置存储的是Python原生list对象,不具备第二个规整维度,因此直接使用多维索引语法(如x[0,1])会报错。

正确索引取值方法

取值需要分两步执行,先取出对应位置的list对象,再对list做索引:

  • 第一步取对应行的list对象:可以用x[位置].item()或者x.values[位置]两种写法
  • 第二步对取出的list做常规下标索引

举个完整示例:

# 取第一个列表[0,1,2]里的第2个元素(值为1)
print(x[0].item()[1])
# 输出:1

# 取第二个列表[3,4]里的第1个元素(值为3)
print(x.values[1][0])
# 输出:3
不等长会话数据存储建议

xarray的核心能力是处理维度规整的带标签数据,存储object类型的不等长数组无法发挥其维度广播、分组计算、批量运算等核心特性,针对你的录音会话存储场景,更建议两种方案:

  • 用xarray.Dataset嵌套存储,每个会话对应一个独立的DataArray,保留每个录音的独立维度
  • 对短录音补NaN填充为统一长度,配合有效长度掩码字段,构造规整维度的DataArray,可正常使用xarray的所有特性

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 01:48:04