Kyl*_*gel 23 python ipython ipython-notebook ipython-magic
如果我有几个IPython笔记本在同一台服务器上运行.有没有办法在它们之间共享数据?例如,从另一个笔记本导入变量?谢谢!
blu*_*sky 32
这对我有用:
%store命令允许您在两个不同的笔记本之间传递变量.
data ='这是我要传递给不同笔记本'%存储数据的字符串
现在,在一个新的笔记本中...%store -r data print(data)这是我要传递给不同笔记本的字符串
我已成功使用sklearn数据集进行测试:
from sklearn import datasets
dataset = datasets.load_iris()
%store dataset
Run Code Online (Sandbox Code Playgroud)
在笔记本中读取数据:
%store -r dataset
Run Code Online (Sandbox Code Playgroud)
src:https://www.dataquest.io/blog/jupyter-notebook-tips-tricks-shortcuts/
Jupyter Lab 中的笔记本可以共享相同的内核。在您的 notebook 中,您可以选择另一个 notebook 的内核,并且来自另一个 notebook 的变量将在两个 notebook 中都可用。
IPython 支持%store
魔法(这里是文档)。它似乎有泡菜的相同限制:如果文件可以被腌制,它也将是可存储的。
无论如何,它肯定适用于常见的 Python 类型。这是一个基本示例:
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
Run Code Online (Sandbox Code Playgroud)
Stored 'var_1' (list)
Stored 'var_2' (dict)
Stored 'var_3' (tuple)
Stored 'var_4' (set)
Run Code Online (Sandbox Code Playgroud)
然后在不同的 IPython 笔记本上输入:
%store -r var_1
%store -r var_2
%store -r var_3
%store -r var_4
Run Code Online (Sandbox Code Playgroud)