数据框的魔术存储命令如何工作?
how does the magic store commands for dataframe work?
我分别在两个 jupyter 笔记本(N1 和 N2)中创建了两个数据帧(df1 和 df2)。
第 1 天,我使用下面的存储命令在 N2
jupyter notebook
中使用 df1
及其变量
%store -r df1
但是在第 25 天,我创建了一个新的 jupyter notebook N3
并再次使用了下面的存储命令
%store -r df1
它似乎很容易将数据框 df1
的所有细节拉入 N3
jupyter notebook?
这是如何工作的?
它们不是只对特定的 jupyter notebook 会话有效吗?
那么我们可以不将所有数据帧存储为文件,而是可以随时执行存储命令并 store/retrieve 轻松地存储它们吗?
%store
魔术命令将变量存储在 IPython 的数据库中(它实际上是在后端使用 pickle 来存储),以便您稍后在不同的笔记本或会话中恢复它。
例如
>>> myvar = "store this string"
>>> %store myvar
Stored 'myvar' (str)
>>> %store
Stored variables and their in-db values:
myvar -> 'store this string'
现在,您可以恢复这个变量
>>> %store -r myvar
>>> myvar
'store this string'
Storemagic 是一个 IPython 功能,“在 IPython 的数据库中存储变量、别名和宏”。因为它是一个 IPython 功能而不是 Jupyter 独有的,所以您可以在许多 IPython 和 Jupyter 会话中存储和恢复变量。
在我的环境 (IPython 7.19.0) 中,变量存储在目录中:
$HOME/.ipython/profile_default/db/autorestore
使用%store <name>
存储时,每个文件存储一个。文件本身是存储变量的 pickled 表示。您可以使用以下方法手动加载变量:
import pickle
# Name of the previously stored variable
stored_var = 'test'
# myvar will contain the variable previously stored with "%store test"
myvar_filename = get_ipython().ipython_dir + '/profile_default/db/autorestore/' + stored_var
with open(myvar_filename, 'rb') as f:
myvar = pickle.load(f)
我分别在两个 jupyter 笔记本(N1 和 N2)中创建了两个数据帧(df1 和 df2)。
第 1 天,我使用下面的存储命令在 N2
jupyter notebook
df1
及其变量
%store -r df1
但是在第 25 天,我创建了一个新的 jupyter notebook N3
并再次使用了下面的存储命令
%store -r df1
它似乎很容易将数据框 df1
的所有细节拉入 N3
jupyter notebook?
这是如何工作的?
它们不是只对特定的 jupyter notebook 会话有效吗?
那么我们可以不将所有数据帧存储为文件,而是可以随时执行存储命令并 store/retrieve 轻松地存储它们吗?
%store
魔术命令将变量存储在 IPython 的数据库中(它实际上是在后端使用 pickle 来存储),以便您稍后在不同的笔记本或会话中恢复它。
例如
>>> myvar = "store this string"
>>> %store myvar
Stored 'myvar' (str)
>>> %store
Stored variables and their in-db values:
myvar -> 'store this string'
现在,您可以恢复这个变量
>>> %store -r myvar
>>> myvar
'store this string'
Storemagic 是一个 IPython 功能,“在 IPython 的数据库中存储变量、别名和宏”。因为它是一个 IPython 功能而不是 Jupyter 独有的,所以您可以在许多 IPython 和 Jupyter 会话中存储和恢复变量。
在我的环境 (IPython 7.19.0) 中,变量存储在目录中:
$HOME/.ipython/profile_default/db/autorestore
使用%store <name>
存储时,每个文件存储一个。文件本身是存储变量的 pickled 表示。您可以使用以下方法手动加载变量:
import pickle
# Name of the previously stored variable
stored_var = 'test'
# myvar will contain the variable previously stored with "%store test"
myvar_filename = get_ipython().ipython_dir + '/profile_default/db/autorestore/' + stored_var
with open(myvar_filename, 'rb') as f:
myvar = pickle.load(f)