Ismycode |.
indexError: слишком много индексов для массива Значит, у вас есть объявленный массив в другом измерении и пытаясь индексировать его в другом измерении.
Например, предположим, что вы объявили о Numpy Array в одном измерении и попробуйте получить доступ к элементам массива в 2-х мерах. В этом случае вы получите слишком много индексов для ошибки массива, как показано ниже.
# Import the numpy library import numpy as np # Declaring and Initializing the one Dimension Array numbers = np.array([10,20,30,40,50]) # Indexing and accessing array as 2D causes IndexError print(numbers[0,2])
Выход
Traceback (most recent call last): File "c:\Projects\Tryouts\Python Tutorial.py", line 8, inprint(numbers[0,2]) IndexError: too many indices for array: array is 1-dimensional, but 2 were indexed
Приведенный выше код представляет собой классический пример indexError: слишком много индексов для массива. Мы объявили одномерный массив в коде, но с другой стороны, мы пытаемся распечатать массив в виде двумерного массива.
Как исправить indexError: слишком много индексов для массива
Разрешение довольно простое, где вам необходимо повторно проверить размерность массива, который вы объявили, и пытаетесь индексировать или получить доступ к нему таким же образом.
# Import the numpy library import numpy as np # Declaring and Initializing the one Dimension Array numbers = np.array([10,20,30,40,50]) # Indexing and accessing array correctly print("The array element is ",numbers[2])
Выход
The array element is 30
Как проверить размерность насыпного массива в Python?
Если это динамический номер Numpy, вы также можете проверить размерность массива, используя Лен ()
метод, как показано ниже.
Вы можете передавать функцию Numpy Array к Лен ()
функция и вернуть размер массива.
# Import the numpy library import numpy as np # Declaring and Initializing the one Dimension Array numbers1d = np.array([10,20,30,40,50]) # Declaring and Initializing the one Dimension Array numbers2d = np.array([[[10,1],[20,2],[30,3],[40.4],[50.5]]]) print("The array dimension is ", len(numbers1d.shape)) print("The array dimension is ", len(numbers2d.shape))
Выход
The array dimension is 1 The array dimension is 2
Пост IndexError: слишком много индексов для массива появился первым на INSMYCODE Отказ
Оригинал: “https://dev.to/itsmycode/indexerror-too-many-indices-for-array-255f”