数据框的魔法存储命令如何工作?

SSM*_*SMK 2 python python-import dataframe pandas jupyter-notebook

我分别在两个 jupyter 笔记本(N1 和 N2)中创建了两个数据帧(df1 和 df2)。

第一天,我使用下面的 store 命令在jupyter 笔记本中使用df1及其变量N2

%store -r df1
Run Code Online (Sandbox Code Playgroud)

但在第 25 天,我创建了一个新的 jupyter 笔记本N3并再次使用以下存储命令

%store -r df1
Run Code Online (Sandbox Code Playgroud)

而且它似乎很容易将数据帧的所有细节轻松地拉入jupyter笔记本df1中?N3

这是如何运作的?

它们不是仅对特定的 jupyter 笔记本会话有效吗?

那么我们是否可以只执行存储命令并随时轻松存储/检索它们,而不是将所有数据帧存储为文件?

小智 5

Storemagic是一项 IPython 功能,“将变量、别名和宏存储在 IPython\xe2\x80\x99s 数据库中”。因为它是 IPython 功能而不是 Jupyter 独有的功能,所以您可以跨许多 IPython 和 Jupyter 会话存储和恢复变量。

\n

在我的环境(IPython 7.19.0)中,变量存储在目录中:

\n
$HOME/.ipython/profile_default/db/autorestore\n
Run Code Online (Sandbox Code Playgroud)\n

使用 . 存储时,每个文件存储一个%store <name>。文件本身是存储变量的腌制表示。您可以使用以下命令手动加载变量:

\n
$HOME/.ipython/profile_default/db/autorestore\n
Run Code Online (Sandbox Code Playgroud)\n