HOWTO · Python
Arreglar el error TypeError: iteration over a 0-d array en Python NumPy
Aprenda a corregir la iteración sobre un error de matriz 0-d debido a numpy en Python
El error TypeError: iteration over a 0-d array ocurre cuando la iteración se realiza sobre un iterable de dimensión 0. En este artículo, aprenderemos cómo corregir el error TypeError: iteration over a 0-d array en Python NumPy.
Cómo corregir el error TypeError: iteration over a 0-d array en Python NumPy
El siguiente código de Python muestra un escenario en el que podemos encontrarnos con este error.
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)
Producción :
Traceback (most recent call last):
File "<string>", line 11, in <module>
TypeError: iteration over a 0-d array
La razón detrás de este error es el tipo de datos de data.items(), que es <clase 'dict_items'>. Para evitar este error, tenemos que convertir su tipo de datos a una lista o una tupla. El siguiente código de Python muestra cómo corregir este error usando una lista y una tupla.
Solución mediante una lista.
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)
Producción :
<class 'list'>
['AB' 'CD' 'EF' 'GH' 'IJ']
['1.01' '2.02' '3.03' '4.04' '5.05']
A continuación se muestra una solución utilizando una tupla.
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)
Producción :
<class 'tuple'>
['AB' 'CD' 'EF' 'GH' 'IJ']
['1.01' '2.02' '3.03' '4.04' '5.05']