La création d'un tableau numpy d'objets personnalisés donne une erreur "SystemError: erreur return sans exception"
Je suis en train d'utiliser numpy pour stocker des objets personnalisés que j'ai fait. Ce qui suit est une version simplifiée de mon programme
import numpy as np
class Element:
def __init__(self): pass
a = Element()
periodicTable = np.array(range(7*32)).reshape((7,32))
periodicTable[0][0] = a
Cependant lorsque je l'exécute-je obtenir
Traceback (most recent call last):
File "C:/Users/Dan/Desktop/a.py", line 9, in <module>
periodicTable[0][0] = a
SystemError: error return without exception set
Je ne suis pas vraiment sûr de ce que je fais mal - aussi loin que je peux dire tout ce que j'ai fait doit être légale. L'énigmatique message d'erreur lui-même n'est pas très utile - je crois que c'est une numpy question mais je n'ai pas été en mesure d'identifier mon problème.
source d'informationauteur Dannnno
Vous devez vous connecter pour publier un commentaire.
@user2357112 identifié le problème: vous affectez une
Element
exemple d'un tableau numpy qui contient des entiers. C'est ce que j'obtiens quand j'essaie quelque chose de similaire:Il n'est pas surprenant que ce n'est pas autorisé. L'énigmatique message d'erreur, cependant, est presque certainement un numpy bug.
Une façon de résoudre le problème est d'utiliser un tableau de type
object
. Modifier cette ligne::
Mise à jour
Dans numpy 1.10.1, le message d'erreur est toujours un peu cryptique:
Mise à jour 2 Le message d'erreur est le meilleur: