magic - python jupyter timeit
Compartir datos entre portátiles IPython (4)
Si tengo varios notebooks IPython corriendo en el mismo servidor. ¿Hay alguna forma de compartir datos entre ellos? Por ejemplo, ¿importando una variable de otro cuaderno? ¡Gracias!
Creo que, en teoría, deberías poder hacerlo con messaging , aunque tendría que profundizar mucho más para averiguarlo.
¿Por qué necesitarías esta capacidad?
Esto funciona para mí:
El comando% store le permite pasar variables entre dos cuadernos diferentes.
data = ''esta es la cadena que quiero pasar a un cuaderno diferente''% de datos de la tienda
Ahora, en un nuevo cuaderno ...% store -r data print (datos) esta es la cadena que quiero pasar a un cuaderno diferente
He probado con éxito con el conjunto de datos de sklearn:
from sklearn import datasets
dataset = datasets.load_iris()
%store dataset
en cuaderno para leer datos:
%store -r dataset
src: https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/
IPython admite el %store
magic ( aquí está la documentación ). Parece tener las mismas restricciones de pickle : si el archivo puede ser pickled también se podrá almacenar.
De todos modos, funcionará seguro con los tipos comunes de Python. Aquí hay un ejemplo básico:
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)
Luego, en un cuaderno IPython diferente, será suficiente escribir:
%store -r var_1
%store -r var_2
%store -r var_3
%store -r var_4
Si sus datos están en una sola variable, intente guardarlos en un archivo con el %save
magic en un cuaderno y luego leerlos en otro.
La única dificultad es que el archivo de texto contendrá los datos pero no la definición de la variable, por lo que generalmente lo contatigo con una definición variable y luego exec
el resultado.