Correction de l'erreur TypeError: iteration over a 0-d array dans Python NumPy

Vaibhav Vaibhav 14 avril 2022
Correction de l'erreur TypeError: iteration over a 0-d array dans Python NumPy

L’erreur TypeError: iteration over a 0-d array se produit lorsque l’itération est effectuée sur un itérable de dimension 0. Dans cet article, nous allons apprendre à corriger l’erreur TypeError: iteration over a 0-d array dans Python NumPy.

Comment réparer l’erreur TypeError: iteration over a 0-d array due dans Python NumPy

Le code Python suivant décrit un scénario dans lequel nous pouvons rencontrer cette erreur.

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)

Production :

Traceback (most recent call last):
  File "<string>", line 11, in <module>
TypeError: iteration over a 0-d array

La raison derrière cette erreur est le type de données de data.items(), qui est <class 'dict_items'>. Pour éviter cette erreur, nous devons convertir son type de données en une liste ou un tuple. Le code Python suivant montre comment corriger cette erreur en utilisant une liste et un tuple.

Solution utilisant une 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)

Production :

<class 'list'>
['AB' 'CD' 'EF' 'GH' 'IJ']
['1.01' '2.02' '3.03' '4.04' '5.05']

Ci-dessous une solution utilisant un tuple.

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)

Production :

<class 'tuple'>
['AB' 'CD' 'EF' 'GH' 'IJ']
['1.01' '2.02' '3.03' '4.04' '5.05']
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.

Article connexe - Python Array

Article connexe - Python Error