Arreglar el error TypeError: iteration over a 0-d array en Python NumPy

Arreglar el error TypeError: iteration over a 0-d array en Python NumPy

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']
¿Disfrutas de nuestros tutoriales? Suscríbete a DelftStack en YouTube para apoyarnos en la creación de más guías en vídeo de alta calidad. Suscríbete
Vaibhav Vaibhav avatar Vaibhav Vaibhav avatar

Vaibhav is an artificial intelligence and cloud computing stan. He likes to build end-to-end full-stack web and mobile applications. Besides computer science and technology, he loves playing cricket and badminton, going on bike rides, and doodling.

Artículo relacionado - Python Array

Artículo relacionado - Python Error