J'essaie d'écrire un calcul de voisin très basique. Je veux essentiellement voir à quoi ça ressemble, mais j'ai ce type d'erreur. Quand j'ai demandé au funciton de revenir juste il a dit "". Quand je lui ai demandé de se tourner vers la liste, il a lancé "TypeError: itération sur un tableau 0-d Python"
Comment puis-je résoudre ce problème s'il vous plaît?
...
t = np.array(map(lambda v:
map(lambda w: distance(v, w, L), x_train.values),
x_test.values))
...
Le problème est np.array
ne prend pas d'itérateur, vous devez d'abord convertir en list
, comme ci-dessous:
t = np.array(list(map(lambda v: map(lambda w: distance(v, w, L),
x_train.values), x_test.values)))
Selon numpy.array
documentation , le paramètre requis doit être:
Un tableau, tout objet exposant l'interface de tableau, un objet dont la méthode de tableau renvoie un tableau ou toute séquence (imbriquée).
Vous pouvez également utiliser numpy.fromiter
et n'oubliez pas de fournir dtype
, par exemple dtype=float
.