1

値を持つ numpy.ndarray を作成しました

numpy import nonzero から 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 に答える