Ошибка TypeError: объект ‘numpy.float64’ не является итерируемым. Ошибка возникает, когда вы «пытаетесь выполнить некоторую итеративную операцию над значением с плавающей запятой в NumPy, что невозможно».
Чтобы исправить ошибку, убедитесь, что вы не пытаетесь перебирать значение с плавающей запятой или другой объект, не являющийся последовательностью.
Воспроизведение ошибки
|
1 2 3 4 5 6 7 |
import numpy as np data = np.float64(1.9) for element in data: print(element) |
Выход
|
1 |
TypeError: 'numpy.float64' object is not iterable |
В этом коде мы попытались выполнить итеративную операцию над значением numpy с плавающей запятой, что вызвало ошибку TypeError.
Numpy.float64 — это тип данных в библиотеке NumPy, представляющий число двойной точности с плавающей запятой.
np.float64 используется для хранения числовых значений с высокой точностью и часто используется в научных и инженерных приложениях.
Как исправить ошибку TypeError: объект «numpy.float64» не повторяется
Решение 1. Выполнение неитеративной операции над каждым значением массива
|
1 2 3 4 5 6 |
import numpy as np data = np.array([11.1, 19.21, 21.19, 29.0, 46.0]) for element in data: print(element) |
Выход
|
1 2 3 4 5 |
11.1 19.21 21.19 29.0 46.0 |
Решение 2. Выполните итерационную операцию над многомерным массивом.
|
1 2 3 4 5 6 |
import numpy as np data2 = np.array([[1.9, 2.1], [1.8, 4.6], [2.2, 2.5]]) for i in data2: print(sum(i)) |
Выход
|
1 2 3 |
4.0 6.3999999999999995 4.7 |
