Рубрики
Без рубрики

IndexError: слишком много индексов для массива

Ismycode |. IndexError: слишком много индексов для массива означает, что у вас есть объявленный массив в … Теги с Python, программированием, CodeNewie, учебником.

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, in 
    print(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”