gpt4 book ai didi

python - 重新加载 Jupyter Lab 中已更改的模块的最佳方法?

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

问题:我喜欢在 jupyter 中保持 ipython 笔记本干净,并将实用函数放在外部文件中保存,但一旦编写完毕,就根据需要从笔记本中调用它们。

问题是,一旦我将完成的函数移至外部文件,我必须终止内核并重新运行所有内容才能导入它!

我尝试过正常的操作:

%load_ext autoreload
%autoreload 2

但似乎不起作用。

还有更好的建议吗?

最佳答案

您可以使用神奇功能%run <filename>您在其中定义了实用函数。

当我编写新的实用函数并希望在 jupyter 笔记本中测试和改进它们而无需每次都重新启动整个过程时,我对此很有用。查看 Jake VanderPlas 的 IPython Magic Commands 章节

详细信息:

我有一个名为 utils.py 的文件在名为 c:/jupytertest 的文件夹中.

Utils.py:

import pandas as pd

def framer(df):
df_out = df['parch'].to_frame()
return(df_out)

我在 jupyter 笔记本单元中有以下内容:

# standard imports
import os
import pandas as pd
os.chdir('C:/jupytertest/')

# run / reload utils
%run utils.py

# data
url = "https://raw.github.com/mattdelhey/kaggle-titanic/master/Data/train.csv"
titanic = pd.read_csv(url)

# test reloading of function from utils.py
values = framer(titanic)

print(values.tail(5))

现在每次我改变df_out = df['parch'].to_frame()name或者我知道泰坦尼克号数据集中存在的任何其他列,要在 jupyter 中应用更新的函数,我唯一要做的就是保存 utils.py并重新运行笔记本中的单元。

笔记本中不需要重新启动内核。

查看IPython Magic Commands有关更多详细信息,请参阅 Jake VanderPlas 编写的《Python 数据科学手册》。

关于python - 重新加载 Jupyter Lab 中已更改的模块的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59925424/

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