Як виправити: 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: неможливо перетворити float NaN на int

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *