2017-10-17 8 views
1

Je travaille avec de grandes bases de données Pandas dans Spyder. De temps en temps, je clique accidentellement sur les grandes données dans la fenêtre de l'Explorateur de variables et Spyder se bloque très longtemps pendant qu'il essaie d'ouvrir. La seule façon que j'ai trouvé pour arrêter ce processus est de fermer complètement Spyder, puis de le rouvrir.Spyder IDE - Annuler l'ouverture de grandes variables sans redémarrer le programme entier

Est-il possible de:

  1. Annuler la demande pour afficher la variable sans fermer le programme?
  2. Définissez une valeur par défaut afin que Spyder n'affiche que les 1000 premières lignes d'objets très volumineux, tels que des données.

Répondre

1

(Spyder développeur ici) Mes réponses:

Annuler la demande pour afficher la variable sans fermer le programme?

Non, ce n'est pas possible, désolé.

Définir une valeur par défaut afin que Spyder n'affiche que les 1000 premières lignes d'objets très volumineux tels que les données?

C'est déjà en place. Le problème est la taille en mémoire de vos dataframes car Spyder doit en faire une copie pour les afficher graphiquement.

Pour résoudre ce problème, nous prévoyons d'utiliser les bibliothèques de sérialisation plus efficaces (par exemple pyarrow) en Spyder 4, à paraître en 2018.

+0

Merci pour votre réponse. Il semble bon que vous abordiez ce problème dans les versions futures, cependant, en attendant, est-il difficile d'incorporer un avertissement si l'utilisateur essaie d'ouvrir un jeu de données très volumineux, c'est-à-dire une base de données pandas de 100 000 lignes +? Et annuler la demande si l'utilisateur décide? Ou plutôt que d'afficher la trame de données réelle, une copie de la trame de données, c'est-à-dire les 1000 lignes utilisant .head(), est affichée à l'utilisateur? – alkey

+0

Tout dépend de votre RAM disponible. Je peux facilement ouvrir Dataframes avec 1 million de lignes dans mon ordinateur portable avec 8 Go de RAM. S'il vous plaît ouvrir un problème dans notre [problème de suivi] (https://github.com/spyder-ide/spyder/issues) pour continuer à discuter jusqu'à ce que nous trouvions une solution acceptable. –