HOWTO · Python
Beheben die TypeError: iteration over a 0-d array Fehler in Python NumPy
Erfahren Sie, wie Sie die Iteration über einen 0-d-Array-Fehler aufgrund von numpy in Python beheben
Der Fehler TypeError: iteration over a 0-d array tritt auf, wenn eine Iteration über eine Iterable mit der Dimension 0 ausgeführt wird. In diesem Artikel erfahren Sie, wie Sie den Fehler TypeError: iteration over a 0-d array in Python NumPy beheben.
So beheben Sie den Fehler TypeError: iteration over a 0-d array in Python NumPy
Der folgende Python-Code zeigt ein Szenario, in dem wir auf diesen Fehler stoßen können.
import numpy as np
data = {
"AB": 1.01,
"CD": 2.02,
"EF": 3.03,
"GH": 4.04,
"IJ": 5.05,
}
keys, values = np.array(data.items()).T
print(keys)
print(values)
Ausgabe:
Traceback (most recent call last):
File "<string>", line 11, in <module>
TypeError: iteration over a 0-d array
Der Grund für diesen Fehler ist der Datentyp von data.items(), also <class 'dict_items'>. Um diesen Fehler zu vermeiden, müssen wir seinen Datentyp in eine Liste oder ein Tupel umwandeln. Der folgende Python-Code zeigt, wie dieser Fehler mit einer Liste und einem Tupel behoben werden kann.
Lösung mit einer Liste.
import numpy as np
data = {
"AB": 1.01,
"CD": 2.02,
"EF": 3.03,
"GH": 4.04,
"IJ": 5.05,
}
print(type(list(data.items())))
keys, values = np.array(list(data.items())).T
print(keys)
print(values)
Ausgabe:
<class 'list'>
['AB' 'CD' 'EF' 'GH' 'IJ']
['1.01' '2.02' '3.03' '4.04' '5.05']
Unten ist eine Lösung mit einem Tupel.
import numpy as np
data = {
"AB": 1.01,
"CD": 2.02,
"EF": 3.03,
"GH": 4.04,
"IJ": 5.05,
}
print(type(tuple(data.items())))
keys, values = np.array(tuple(data.items())).T
print(keys)
print(values)
Ausgabe:
<class 'tuple'>
['AB' 'CD' 'EF' 'GH' 'IJ']
['1.01' '2.02' '3.03' '4.04' '5.05']