Как исправить: TypeError: объект 'numpy.float64' не вызывается


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

TypeError : 'numpy.float64' object is not callable

Эта ошибка может возникнуть в двух разных сценариях:

  • Сценарий 1: умножение без использования знака *
  • Сценарий 2: отказ от использования функции NumPy Min

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

Сценарий 1: умножение без использования знака *

Предположим, мы пытаемся умножить два массива NumPy без использования знака умножения (*) следующим образом:

import numpy as np

#define arrays
x = np.array([1, 2, 3, 4, 5])
y = np.array([12, 14, 14, 19, 22])

#attempt to multiply two arrays together
combo = (x)(y)

#view result
print(combo)

TypeError : 'numpy.float64' object is not callable

Мы получаем TypeError , потому что мы не использовали знак умножения (*) при попытке умножить два массива.

Чтобы избежать этой ошибки, нужно убедиться, что мы использовали знак умножения:

import numpy as np

#define arrays
x = np.array([1, 2, 3, 4, 5])
y = np.array([12, 14, 14, 19, 22])

#multiply two arrays together
combo = (x)\*(y)

#view result
print(combo)

[ 12 28 42 76 110]

Обратите внимание, что на этот раз мы не получили никакой ошибки.

Сценарий 2: отказ от использования функции NumPy Min

Предположим, мы используем следующий код, чтобы попытаться найти минимальное значение массива NumPy:

import numpy as np

#define array of data
data = np.array([3.3, 4.1, 4, 5.6, 8.1, 9.9, 9.7, 10.2])

#attempt to find minimum value of array
min_val = min (data)

#view minimum value
print(min_val)

TypeError : 'numpy.float64' object is not callable 

Мы получаем TypeError , потому что использовали функцию min() .

Вместо этого нам нужно использовать np.min() следующим образом:

import numpy as np

#define array of data
data = np.array([3.3, 4.1, 4, 5.6, 8.1, 9.9, 9.7, 10.2])

#attempt to find minimum value of array
min_val = np.min (data)

#view minimum value
print(min_val)

3.3

Обратите внимание, что на этот раз мы не получили никакой ошибки.

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

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

Как исправить: столбцы перекрываются, но суффикс не указан
Как исправить: объект «numpy.ndarray» не имеет атрибута «добавлять»
Как исправить: при использовании всех скалярных значений необходимо передать индекс
Как исправить: ValueError: невозможно преобразовать число с плавающей запятой NaN в целое число