Comment attribuer une valeur de chaîne en un tableau numpy?
Lorsque j'essaie d'assigner une chaîne dans un tableau comme ceci:
CoverageACol[0,0] = "Hello"
J'obtiens l'erreur suivante
Traceback (most recent call last):
File "<pyshell#19>", line 1, in <module>
CoverageACol[0,0] = "hello"
ValueError: setting an array element with a sequence.
Cependant, en attribuant un nombre entier n'est pas une erreur:
CoverageACol[0,0] = 42
CoverageACol est un tableau numpy.
S'il vous plaît aider! Merci!
Vous devez vous connecter pour publier un commentaire.
Vous obtenez le message d'erreur parce que NumPy du tableau est homogène, c'est à dire un tableau multidimensionnel d'éléments de même type. C'est différent d'un multidimensionnelle liste de listes dans "régulière" de Python, où vous pouvez avoir des objets de types différents dans une liste.
Régulière Python:
NumPy:
Donc, cela dépend de ce que vous voulez atteindre, pourquoi voulez-vous stocker une chaîne de caractères dans un tableau rempli le reste avec des nombres? Si c'est vraiment ce que vous voulez, vous pouvez définir le type de données du tableau NumPy à la chaîne:
Avis que seule la première lettre de
Hello
est affectée. Si vous voulez tout le mot attribué, vous devez définir un tableau-type de protocole de la chaîne:dtype=object
fonctionne aussi: stackoverflow.com/questions/14639496/...overageACol = array(range(10), dtype=str).reshape(2,5)
. Il est possible de changerdtype
àlist
oudict
?Vous devez définir la type de données de la tableau:
Ce fait ConerageACol un tableau de chaînes de caractères (un) de longueur 16.