1

我创建了一个带有值的 numpy.ndarray

将 numpy 导入为 np 从 numpy 导入非零

data = np.zeros((5, 5))
data
array([[ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.]])

我希望用 1 更改一些值

data[0,0] = 1
data[4,4] = 1

data
array([[ 1.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  1.]])

如果我使用负值将 0 更改为 5

data[-5,-5] = 5
data[-4,-4] = 5

>>> data
array([[ 5.,  0.,  0.,  0.,  0.],
       [ 0.,  5.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.],
       [ 0.,  0.,  0.,  0.,  0.]])

1-我不明白为什么我没有错误消息

>>> data[10,10] = 5
Traceback (most recent call last):
  File "<interactive input>", line 1, in <module>
IndexError: index (10) out of range (0<=index<5) in dimension 0

2-不清楚为什么 data[-5,-5] = 5 和 data[-4,-4] = 5 值 5 插入位置 0,0 和 1,1

4

1 回答 1

3

文档中

负索引被解释为从数组末尾开始计数

这是标准的 Python 索引行为(用于 Python 列表等)。

于 2013-02-18T22:30:33.807 回答