gpt4 book ai didi

python - 防止 ipython 将输出存储在 Out 变量中

转载 作者:太空宇宙 更新时间:2023-11-03 14:11:13 25 4
gpt4 key购买 nike

我目前正在使用 pandas 和 ipython。由于 pandas 数据帧在您执行操作时会被复制,因此我的内存使用量会随着每个单元格增加 500 mb。我相信这是因为数据存储在 Out 变量中,因为默认的 python 解释器不会发生这种情况。

如何禁用 Out 变量?

最佳答案

您的第一个选择是避免产生输出。如果您真的不需要查看中间结果,只需避免它们并将所有计算放在一个单元格中即可。

如果您需要实际显示该数据,您可以使用 InteractiveShell.cache_size选项来设置缓存的最大大小。将此值设置为 0禁用缓存。

为此,您必须创建一个名为 ipython_config.py 的文件(或 ipython_notebook_config.py )在您的 ~/.ipython/profile_default 下目录内容:

c = get_config()

c.InteractiveShell.cache_size = 0

之后你会看到:

In [1]: 1
Out[1]: 1

In [2]: Out[1]
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-2-d74cffe9cfe3> in <module>()
----> 1 Out[1]

KeyError: 1

您还可以使用命令 ipython profile create <name> 为 ipython 创建不同的配置文件.这将在 ~/.ipython/profile_<name> 下创建一个新配置文件使用默认配置文件。然后您可以使用 --profile <name> 启动 ipython加载该配置文件的选项。

或者您可以使用 %reset out 魔术重置输出缓存或使用 %xdel 删除特定对象的魔法:

In [1]: 1
Out[1]: 1

In [2]: 2
Out[2]: 2

In [3]: %reset out

Once deleted, variables cannot be recovered. Proceed (y/[n])? y
Flushing output cache (2 entries)

In [4]: Out[1]
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-4-d74cffe9cfe3> in <module>()
----> 1 Out[1]

KeyError: 1

In [5]: 1
Out[5]: 1

In [6]: 2
Out[6]: 2

In [7]: v = Out[5]

In [8]: %xdel v # requires a variable name, so you cannot write %xdel Out[5]

In [9]: Out[5] # xdel removes the value of v from Out and other caches
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-9-573c4eba9654> in <module>()
----> 1 Out[5]

KeyError: 5

关于python - 防止 ipython 将输出存储在 Out 变量中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37808904/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com