web-dev-qa-db-fra.com

Partager des données entre des ordinateurs portables IPython

Si j'ai plusieurs ordinateurs portables IPython exécutés sur le même serveur. Existe-t-il un moyen de partager des données entre eux? Par exemple, importer une variable d'un autre ordinateur portable? Merci!

28
Kyle Siegel

Cela fonctionne pour moi:

La commande% store vous permet de passer des variables entre deux blocs-notes différents.

data = 'c'est la chaîne que je veux transmettre à un autre notebook'% stocke les données

Maintenant, dans un nouveau cahier…% store -r data print (data) c'est la chaîne que je veux passer à un autre cahier

J'ai testé avec succès avec l'ensemble de données sklearn:

from sklearn import datasets

dataset = datasets.load_iris()

%store dataset

dans le cahier pour lire les données:

%store -r dataset

src: https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/

31
blue-sky

IPython prend en charge le %store magic ( voici la documentation ). Il semble avoir les mêmes contraintes pickle : si le fichier peut être décapé, il sera également stockable.

Quoi qu'il en soit, cela fonctionnera à coup sûr avec les types courants Python. Voici un exemple de base:

var_1 = [1,2,3,4] #list
var_2 = {'a':1,'b':2,'c':3} #dict
var_3 = (6,7,8) #Tuple
var_4 = {'d','e','f'} #set
%store var_1
%store var_2
%store var_3
%store var_4
 Stored 'var_1' (list)
 Stored 'var_2' (dict)
 Stored 'var_3' (Tuple)
 Stored 'var_4' (set)

Ensuite, sur un autre notebook IPython, il suffira de taper:

%store -r var_1 
%store -r var_2 
%store -r var_3 
%store -r var_4
2
gibbone

Si vos données sont dans une seule variable, essayez de les enregistrer dans un fichier en utilisant le %save la magie dans un cahier, puis la relire dans un autre.

La seule difficulté est que le fichier texte contiendra les données mais pas de définition de variable, donc je les contatène généralement avec une définition de variable puis exec le résultat.

1
Tony Williams

Je crois que théoriquement, vous devriez pouvoir le faire avec messagerie , même si je devrais creuser beaucoup plus pour le comprendre.

Pourquoi auriez-vous besoin de cette capacité?

0
dmargol1

Les ordinateurs portables de Jupyter Lab peuvent partager le même noyau. Dans votre bloc-notes, vous pouvez choisir le noyau d'un autre bloc-notes et les variables de l'autre bloc-notes seront disponibles dans les deux blocs-notes.

screenshot Jupyter Lab kernel selection popup

  1. Cliquez sur le bouton qui décrit votre noyau actuel.
  2. Choisissez le noyau de l'autre bloc-notes, dont vous souhaitez accéder aux variables.
0
Stefan_Fairphone