Python错误集锦:numpy数组下标方式访问时提示:IndexError: index 5 is out of bounds for axis 0 with size 5

原文链接:http://www.juzicode.com/archives/6513

错误提示:

numpy数组下标方式访问时提示:IndexError: index 5 is out of bounds for axis 0 with size 5

#VX公众号:桔子code / juzicode.com
import numpy as np
arr = np.arange(0,150,1).reshape(5,10,3)
print(arr.shape)
print(arr[5,2])
==========运行结果:

(5, 10, 3)
---------------------------------------------------------------------------
IndexError                                Traceback (most recent call last)
<ipython-input-8-e2f0d48a6824> in <module>
      3 arr = np.arange(0,150,1).reshape(5,10,3)
      4 print(arr.shape)
----> 5 print(arr[5,2])

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

错误原因:

1、numpy数组arr的大小为(5,10,3),下标方式访问时数值范围应该小于各个“轴”的size,上面的错误是arr[5,2]的第0轴下标为5不满足“小于0轴的size=5”。

解决方法:

1、本意是想访问0轴上的从0开始的第4个元素,下标5修改为4:

#VX公众号:桔子code / juzicode.com
import numpy as np
arr = np.arange(0,150,1).reshape(5,10,3)
print(arr.shape)
print(arr[4,2])
==========运行结果:
(5, 10, 3) 
[126 127 128]

扩展内容:

  1. 看我72变,numpy数组的变形方法
  2. NumPy数组的属性和常用创建方法


如果本文还没有完全解决你的疑惑,你也可以在微信公众号“桔子code”后台给我留言,欢迎一起探讨交流。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注