Одна распространенная ошибка, с которой вы можете столкнуться при использовании 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: Индекс содержит повторяющиеся записи, не может изменить форму
Как исправить: ошибка типа: ожидаемая строка или байтовый объект
Как исправить: TypeError: объект 'numpy.float64' не вызывается