如何让 Jupyter Notebook 自动导入代码?

Posted Python学习与数据挖掘

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让 Jupyter Notebook 自动导入代码?相关的知识,希望对你有一定的参考价值。

大家好,每天我们都会启动多个新的Jupyter笔记本,并且在会用到多个不同的库,例如pandasmatplotlib等。

但是,在开始实际工作之前,我们总是需要为每一个 Notebook 写一堆的导入代码,虽然这不困难,但是却很繁琐,有时还需要查找对应的导入语句例如

from sklearn.preprocessing import OneHotEncoder, LabelEncoder
from sklearn import feature_selection

怎样才能在启动Jupyter 笔记本时自动加载这些代码,让我们只专注于使用这些库?本文介绍两种办法。喜欢记得关注、点赞、收藏。

【注】代码、数据、技术交流文末获取

方法一 : 修改配置文件

一个常见的方法就是通过修改Jupyter的配置文件来实现,这也是我在之前文章中介绍过的方法。

macOS为例,你可以进入~/.ipython/profile_default文件夹(Windows下也可以在安装目录中找到对应的文件夹),如果找不到该目录需在命令行执行ipython profile create生成配置文件

如上图所示,在该文件夹下新建一个名为startup的文件夹(如果有则不用新建),之后进入startup文件夹新建一个Python脚本start.py

现在你可以在start.py中尽情的添加你每次启动jupyter notebook后都需要手动敲入的那段代码,之后保存即可

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
from sklearn import svm, tree, linear_model, neighbors, naive_bayes, ensemble, discriminant_analysis, gaussian_process
from xgboost import XGBClassifier
from sklearn.preprocessing import OneHotEncoder, LabelEncoder
from sklearn import feature_selection
from sklearn import model_selection
.......

现在重启Jupyter Notebook后就可以直接使用pandas、numpy等我们配置好的库!

但这个方法也有一个弊端,就是由于文件缺少相关导入代码,因此可能打包发给别人用时会无法执行,我们也不可能再次检查所用的代码然后手动导入一遍,所以只能在自己修改了配置文件的设备上用用。

方法二 : 使用 pyforest

这是我最近新发现的一个方法,由国外大神开发的一个插件,相比较修改配置文件,更适合小白操作。

我们只需要在终端(命令行)执行以下代码

pip install --upgrade pyforest
python -m pyforest install_extensions

之后重启Jupyter Notebook后便可以实现自动导入相关库。

可以看到,这个方法和方法一的差别在于,他不是默认导入全部的依赖库(避免了过多的内存占用),而是在你使用到这个库时,自动在Notebook头部添加对应的导入代码,是不是很酷!

pandas为例,当我们使用到pd.xxx便会在头部添加import pandas as pd,而在使用它之前,变量pd只是pyforest占位符。

但使用别人配置好的缺点就是自己想额外添加一些第三方库会比较困难,好在开发者已经预设了上百个常用库,从数据分析到机器学习、深度学习都有,基本上不用额外设置,感兴趣的话可以尝试一下~

推荐文章

技术交流

欢迎转载、收藏、有所收获点赞支持一下!数据、代码可以找我获取

目前开通了技术交流群,群友已超过2000人,添加时最好的备注方式为:来源+兴趣方向,方便找到志同道合的朋友

  • 方式①、发送如下图片至微信,长按识别,后台回复:加群;
  • 方式②、添加微信号:dkl88191,备注:来自CSDN
  • 方式③、微信搜索公众号:Python学习与数据挖掘,后台回复:加群

以上是关于如何让 Jupyter Notebook 自动导入代码?的主要内容,如果未能解决你的问题,请参考以下文章

如何解决 jupyter notebook 中的 pandas 问题?

使用jupyter notebook时导入文件时出错

如何让Jupyter Notebook支持虚拟运行环境?

如何将 .mat 文件导入 Jupyter notebook 以在 scikit-learn 中使用它们进行机器学习? [复制]

如何让 Spark2.3 在 Jupyter Notebook 中工作

尝试运行 jupyter notebook 时出现导入错误