So beheben sie das problem: das objekt „numpy.float64“ ist nicht iterierbar
Ein Fehler, der bei der Verwendung von NumPy auftreten kann, ist:
TypeError : 'numpy.float64' object is not iterable
Dieser Fehler tritt auf, wenn Sie versuchen, eine iterative Operation für einen Float-Wert in NumPy iterativ auszuführen, was nicht möglich ist.
Das folgende Beispiel zeigt, wie dieser Fehler in der Praxis behoben werden kann.
So reproduzieren Sie den Fehler
Angenommen, wir haben das folgende NumPy-Array:
import numpy as np #define array of data data = np. array ([1.3, 1.5, 1.6, 1.9, 2.2, 2.5]) #display array of data print (data) [1.3 1.5 1.6 1.9 2.2 2.5]
Nehmen wir nun an, wir versuchen, die Summe aller Werte im Array auszugeben:
#attempt to print the sum of every value
for i in data:
print (sum(i))
TypeError : 'numpy.float64' object is not iterable
Wir haben eine Fehlermeldung erhalten, weil wir versucht haben, jeden einzelnen Float-Wert im Array iterativ zu ermitteln (die Summe der Werte zu ermitteln).
So beheben Sie den Fehler
Wir können diesen Fehler auf zwei Arten vermeiden:
1. Führen Sie eine nicht iterative Operation für jeden Wert im Array durch.
Wir könnten zum Beispiel jeden Wert im Array drucken:
#print every value in array
for i in data:
print (i)
1.3
1.5
1.6
1.9
2.2
2.5
Wir erhalten keine Fehlermeldung, da wir nicht versucht haben, jeden Wert zu iterieren.
2. Führen Sie eine iterative Operation für ein mehrdimensionales Array durch.
Wir könnten einen Fehler auch vermeiden, indem wir eine iterative Operation an einem mehrdimensionalen Array durchführen:
#create multi-dimensional array
data2 = np. array ([[1.3, 1.5], [1.6, 1.9], [2.2, 2.5]])
#print sum of each element in array
for i in data2:
print (sum(i))
2.8
3.5
4.7
Wir erhalten keine Fehlermeldung, da es sinnvoll war, die Funktion sum() für ein mehrdimensionales Array zu verwenden.
Im Einzelnen hat NumPy die Summenwerte wie folgt berechnet:
- 1,3 + 1,5 = 2,8
- 1,6 + 1,9 = 3,5
- 2,2 + 2,5 = 4,7
Zusätzliche Ressourcen
Die folgenden Tutorials erklären, wie Sie andere häufige Fehler in Python beheben:
So beheben Sie KeyError in Pandas
So beheben Sie: ValueError: Float NaN kann nicht in int konvertiert werden
So beheben Sie: ValueError: Operanden konnten nicht mit Formen übertragen werden