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

如何用Numpy查找多维数组中第N个元素的索引?含实例

解决方法

首先创建指定形状的随机Numpy数组:

import numpy as np
arr = np.random.rand(2, 3, 2)

根据你给出的目标索引(1,1,1),对应的是0-based计数的第9个元素(线性索引为9)。直接使用Numpy内置的np.unravel_index函数,无需循环即可完成线性索引到多维索引的转换:

idx = np.unravel_index(9, arr.shape)
print(idx)  # 输出 (1, 1, 1)

如果你的"第9个元素"是1-based计数(即从1开始数第9个),只需将线性索引改为8,得到的结果会是(1,1,0)。

原理说明

np.unravel_index会根据数组的形状(默认按C顺序,即行优先)通过数学运算自动推导多维索引,完全替代了手动循环计算的过程。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 12:02:39