Как исправить в python: объект numpy.ndarray не может быть вызван


Распространенная ошибка, с которой вы можете столкнуться при использовании NumPy в Python:

 TypeError : 'numpy.ndarray' object is not callable

Эта ошибка обычно возникает при попытке вызвать массив NumPy как функцию с использованием круглых скобок () вместо квадратных скобок [ ] .

В следующем примере показано, как использовать этот синтаксис на практике.

Как воспроизвести ошибку

Предположим, у нас есть следующий массив NumPy:

 import numpy as np

#create NumPy array
x = np. array ([2, 4, 4, 5, 9, 12, 14, 17, 18, 20, 22, 25])

Теперь предположим, что мы пытаемся получить доступ к первому элементу массива:

 #attempt to access the first element in the array
x(0)

TypeError : 'numpy.ndarray' object is not callable

Поскольку мы использовали круглые скобки () , Python думает, что мы пытаемся вызвать массив NumPy x как функцию.

Поскольку x не является функцией, мы получаем ошибку.

Как исправить ошибку

Способ устранения этой ошибки — просто использовать квадратные скобки [] при доступе к элементам массива NumPy вместо круглых скобок () :

 #access the first element in the array
x[0]

2

Отображается первый элемент массива (2), и мы не получаем никаких ошибок, поскольку мы использовали квадратные скобки [ ] .

Также обратите внимание, что мы можем получить доступ к нескольким элементам массива одновременно, если используем квадратные скобки [] :

 #find sum of first three elements in array
x[0] + x[1] + x[2]

10

Дополнительные ресурсы

В следующих руководствах объясняется, как исправить другие распространенные ошибки в Python:

Как исправить: ValueError: индекс содержит повторяющиеся записи, его форму невозможно изменить.
Как исправить: Ошибка типа: ожидаемый строковый или байтовый объект
Как исправить: Ошибка типа: объект «numpy.float64» не может быть вызван

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *