修复Python错误IndexError: Invalid Index to Scalar Variable
IndexError
太常见了,特别是当你不熟悉numpy
数组的时候。索引是数组中元素的位置。
当我们有一个简单的数组时,这很容易,但是当维度增加时,数组也变得复杂。当数组的维数增加时,索引也会增加。
假设当你有一个简单的数组时,你需要一个索引来访问元素,而在二维数组中,你需要两个索引。
一维和二维数组的示例:
One_D = [1,2,3,4,5]
print(One_D[0]) #--> 1
two_D = [[1,2,3],
[4,5,6]]
print(two_D[1][0]) #--> 4
输出:
1
4
什么是在Python中IndexError: invalid index to scalar variable
在Python中
Python中的IndexError: invalid index to scalar variable
发生在你误用numpy
数组的索引时。假设我们有一维的arr
。
import numpy as npy
arr = npy.array([1,2,3,4,5])
print(arr[0][1])
输出:
IndexError: invalid index to scalar variable.
在上面的例子中,数组arr
只需要一个索引,但是我们试图访问具有两个索引[0][1]
的元素,这是不存在的。因此,它抛出了IndexError: invalid index to scalar variable
。
修复在Python中IndexError: invalid index to scalar variable
在Python中
修复IndexError
过于简单和容易;错误本身是不言自明的;它告诉我们问题出在索引上,你提供了一个无效的索引来访问元素。
我们需要根据数组的性质提供正确的索引。让我们修复上述程序的IndexError
。
import numpy as npy
arr = npy.array([1,2,3,4,5])
print(arr[3])
输出:
4
在2D Numpy Arrays中修复 IndexError: invalid index to scalar variable
当你理解了数组的工作原理,那么二维就不是理解索引的大问题了,你就可以开始了。
让我们以二维numpy
数组为例。
import numpy as npy
# creating a 2-D array
arr = npy.array([[1,2,3],
[4,5,6]])
# with 2 rows and 3 columns
print(arr.shape)
# arr[2nd row] [3rd column]
print(arr[1][2])
#print(arr[1][2][3]) --> IndexError: invalid index to scalar variable.
输出:
(2, 3)
6
在这个例子中,我们有一个二维数组arr
,其形状是(2,3)
意味着它有两行和3列,我们知道在计算机编程语言中,索引以0
开始,它意味着1
。
因此索引arr[1][2]
意味着访问第2行第3列的阵列arr
元素,其为6
。
同样,如果你为arr[1][2][3]
数组提供了无效的索引,比如arr
3索引而不是2,这将抛出IndexError: invalid index to scalar variable
,因为该位置不存在于arr
数组中。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布,任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站。本站所有源码与软件均为原作者提供,仅供学习和研究使用。如您对本站的相关版权有任何异议,或者认为侵犯了您的合法权益,请及时通知我们处理。