IndexError: スカラー変数への無効なインデックス
-
Pythonの
IndexError:無効なインデックスからスカラー変数へのインデックス
とは何ですか? -
Python の
IndexError: 無効なインデックスからスカラー変数へのインデックス
を修正する -
2D Numpy 配列の
IndexError: invalid index to scalar variable
を修正
IndexError
は、特に numpy
配列を初めて使用する場合によく見られます。 インデックスは、配列内の要素の位置です。
単純な配列であれば簡単ですが、次元が増えると配列も複雑になります。 配列の次元が増加すると、インデックスも増加します。
単純な配列がある場合、要素にアクセスするために 1つのインデックスが必要であり、2 次元配列では 2つのインデックスが必要であるとします。
1 次元配列と 2 次元配列の例:
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:無効なインデックスからスカラー変数へのインデックス
とは何ですか?
numpy
配列のインデックスを誤用すると、Python の IndexError: 無効なインデックスからスカラー変数へのインデックス
が発生します。 1 次元の arr
があるとしましょう。
import numpy as npy
arr = npy.array([1, 2, 3, 4, 5])
print(arr[0][1])
出力:
IndexError: invalid index to scalar variable.
上記の例では、配列 arr
は 1つのインデックスのみを必要としますが、存在しない 2つのインデックス [0][1]
を持つ要素にアクセスしようとしています。 したがって、IndexError: 無効なインデックスからスカラー変数へのインデックス
がスローされます。
Python の IndexError: 無効なインデックスからスカラー変数へのインデックス
を修正する
IndexError
を修正するのは簡単すぎます。 エラー自体は一目瞭然です。 問題はインデックスにあり、要素にアクセスするために無効なインデックスを提供していることを示しています。
配列の性質に応じて適切なインデックスを提供する必要があります。 上のプログラムの IndexError
を直しましょう。
import numpy as npy
arr = npy.array([1, 2, 3, 4, 5])
print(arr[3])
出力:
4
2D Numpy 配列の IndexError: invalid index to scalar variable
を修正
配列の働きを理解すれば、インデックスを理解するのに 2 次元は大した問題ではなく、問題ありません。
2-D 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
この例では、形状が (2,3)
である 2 次元配列 arr
があり、これは 2 行 3 列であることを意味し、コンピュータ プログラミング言語ではインデックスが 0
で始まり、 1
という意味です。
したがって、インデックス arr[1][2]
は、配列 arr
の 2 行 3 列目の要素 6
にアクセスすることを意味します。
また、arr
配列に 2つではなく 3つのインデックスのように、arr[1][2][3]
のような無効なインデックスを指定すると、IndexError: 無効なインデックスからスカラー変数へのインデックス
がスローされます。 arr
配列には存在しません。
Zeeshan is a detail oriented software engineer that helps companies and individuals make their lives and easier with software solutions.
LinkedIn関連記事 - Python Error
- AttributeError の解決: 'list' オブジェクト属性 'append' は読み取り専用です
- AttributeError の解決: Python で 'Nonetype' オブジェクトに属性 'Group' がありません
- AttributeError: 'generator' オブジェクトに Python の 'next' 属性がありません
- AttributeError: 'numpy.ndarray' オブジェクトに Python の 'Append' 属性がありません
- AttributeError: Int オブジェクトに属性がありません
- AttributeError: Python で 'Dict' オブジェクトに属性 'Append' がありません