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

如何用独立索引数组选取Numpy三维堆叠数组的值?

Numpy三维数组索引问题解决方案

正确索引方式

要获取8组二维索引对应的所有通道值,你需要将piece拆分为两个独立的一维数组,分别对应stack的行、列轴索引:

  • 提取行索引:rows = piece[:, 0]
  • 提取列索引:cols = piece[:, 1]
  • 执行索引:extraction = stack[rows, cols, :]

此时extraction的形状为(8, 14),包含8*14=112个值,完全符合预期。

错误方法原因分析

你之前尝试的两种方法都触发了Numpy的广播索引,导致维度不符合预期:

  • stack[tuple(piece), :]:将piece转为元组后,每个元素是长度为2的行索引对,Numpy会对每组行索引取整行数据,因此得到(8,2,2606,14)的形状。
  • stack[piece, :]:直接用二维数组piece索引前两个轴,同样触发广播,生成多余维度。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 01:55:11