Les tableaux d'objets Spyder Python "ne sont actuellement pas supportés"
J'ai un problème dans Anaconda Spyder (Python).
Objet de type tableau ne peut pas être vu sous Windows 10 dans le variable explorer. Si je clique sur X ou Yje vois une erreur:
tableaux d'objets, sont actuellement pas pris en charge.
J'ai Gagner 10 Home 64bit (i7-4710HQ) et Python 3.5.2 | Anaconda 4.2.0 (64 bits) [MSC v. 1900 64 bits (AMD64)]
source d'informationauteur Honza
Vous devez vous connecter pour publier un commentaire.
Un bon exemple est ici
Vous pouvez afficher les données dans dataframe ce convertit arrray à dataframe .
Et la variable de l'explorateur accepte le dataframe. Le ci-dessus sont exactes et vérifiées code
(Spyder développeur ici) le Support pour les tableaux d'objets seront ajoutés dans Spyder 4qui sera publié au cours de l'été 2018.
J'ai analysé le code jusqu'à ce que le point qui pourraient être en défaut pour vous.
Il semble que la matrice de l'éditeur de Spyder ne prend pas en charge l'affichage de tableaux de différents types d'objets (tableaux).
Ici vous pouvez voir la formats pris en charge.
Quelque chose a été déroutant pour moi la première fois que je l'ai utilisé. C'est le fait qu'une chose que vous recevez le même éditeur quand vous cliquez sur un jeu de données que lorsque vous cliquez sur une variable de tableau.
Dans le cas d'une variable de type tableauvous recevez un ArrayEditor widget. Je pense que l'appel est fait ici.
Mais dans le cas d'une variable de type DataFramevous recevez un DataFrameEditor. Je pense que l'appel est fait ici
Le problème est que les widgets regarder de plus ou moins la même chose, donc on a tendance à penser que recevoir le même résultat dans les deux cas, mais la DataFrameEditor permet mixte et les types de ArrayEditor pas.
Je suis allé sur le cours que vous avez prises. Vous pouvez le voir dans la conférence "Importation de données" (Section 2, Conférence 9) (5m:11s) que l'instructeur prend soin d'inspecter les variables de tableau dans la console IPython bien qu'il vous montre la Dataframe à comparer. Peut-être confond-vous lorsque vous avez passé plus de lessions, car une fois que vous avez toutes l'ensemble du code et l'exécuter tous, alors la matrice de variables ont été modifiés par l' Imputer et ils ont un type. En ce moment, vous pouvez cliquer sur chacun d'eux et vous obtenez un éditeur, et peut-être que c'est ce que vos collèges font parce qu'ils pourraient avoir tout le code de la leçon.
C'est parce que la matrice a plus d'un type de données de sorte qu'il ne peut pas montrer un objet avec plus d'un type de données car il ne peut pas sélectionner un type unique.. Mais si il y a un seul type de données le type est 'float64' de sorte qu'il peut être vu.
Vous pouvez le faire en allant à l'anaconda-navigator.
Si vous êtes à la suite de la Udemy Cours sur l'Apprentissage de la Machine, probablement le formateur est l'utilisation d'une ancienne version de spyder et c'est en travaillant pour lui. Dans les versions plus récentes comme 3.2.8, il n'est pas de travail mais peut être incorporé dans les versions à venir dans le futur.
Il y a deux choses que vous pouvez faire pour contourner la visionneuse de variables en Spyder. Vous pouvez soit
A) l'utilisation de "print (X)" pour révéler le contenu de X, ou
B) l'utilisation Simple de la console IPython, en tapant simplement X et appuyez sur return. Que trop vous permettent de révéler si l'discuté ML fonctions font leur travail.
Utiliser le code suivant:
Tant que votre type variables ne sont pas les mêmes et dans la variable explorer vous voyez cela comme un objet, cela signifie que la variable doit être converti en un même type dans votre cas.
Vous pouvez y remédier en utilisant fit_transform():
Ici est lié à la partie du code dans ce tutoriel:
C'est parce que les données ne sont pas codés. Toutes les catégories de données doit être "codé".
Après avoir examiné les données dans la variable de l'explorateur de votre sypder(https://i.stack.imgur.com/uApwt.jpg), il est clair que
X contient des données sur certains pays (comme le [France, 44.0, 72000]), de sorte que le nom du pays doit être encodé et de la même façon
y contient "Oui" ou "Non", alors il devrait également être codé
Ajoutez le code suivant après la ligne 21, vous serez en mesure de voir le tableau d'objets
J'ai eu le même problème. Problème a la ligne
Qui ne pas céder les données à l'X tableau. Au lieu de cela, la ligne suivante doit résoudre le problème:
Avec la version mise à jour de spyder vous ne pouvez pas voir le mixte des tableaux plus à l'aide de la variable d'explorer. Vous pouvez imprimer la table au lieu de la console pour l'inspecter.
J'ai eu un problème similaire, parce que j'ai insisté sur l'utilisation du format exact pour le
y
variable comme pourx
c'est à direx[: , 0] = labelencoder_x.fit_transform(x[:,0])
et j'ai utilisé
y[:] = labelencoder_y.fit_transform(y[:]) *(taking into account the syntax for the fit transform for y)*
Ce qui fait de la dtype pour
y_test
ety_train
"objet" qui ne peuvent pas être visualisées sur Spyder dans la variable explorer.Lorsque j'ai utilisé la ligne exacte utilisée par le professeur:
y = labelencoder_y.fit_transform(y)
.Le dtype changé à
int64
qui peut être consulté dans la variable explorer.Cela a fonctionné pour moi :
Il n'est pas encore pris en charge par Spyder, mais vous pouvez utiliser IPyhon Console pour imprimer ces valeurs en tapant directement le nom de variable.