HOWTO · Python
Correction de l'erreur TypeError: iteration over a 0-d array dans Python NumPy
Apprenez à corriger l'itération sur une erreur de tableau 0-d due à numpy en Python
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']