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

NumPy二维数组元素访问越界时异常提示显示错误axis的问题

NumPy 多维索引报错维度不符问题说明

报错根源

你使用的[][]链式索引属于两次独立的一维索引操作,并非NumPy原生的多维索引,因此会出现报错维度和预期不符的情况,具体执行流程如下:
给定示例数组:

import numpy as np
a = np.array([[10,20,30],[40,50,60]]) # 形状为(2,3),axis0长度2,axis1长度3

执行print(a[-2][5])时,会分两步执行:

  1. 第一步执行a[-2]:对原二维数组的axis0取索引-2,得到长度为3的一维数组array([10, 20, 30]),该一维数组仅存在axis 0一个维度
  2. 第二步对上述一维数组执行[5]索引操作:此时访问的是这个一维数组的axis0,索引5超出了该维度长度3的范围,因此报错提示axis 0越界,属于符合逻辑的正常提示。

正确写法

如果要进行二维数组的多维度索引,请使用NumPy官方推荐的单括号+逗号分隔的写法,一次传入多个维度的索引:

print(a[-2, 5])

此时NumPy会一次性校验两个维度的索引合法性,axis1越界时会输出符合预期的报错:

IndexError: index 5 is out of bounds for axis 1 with size 3

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 02:54:02