如何让 Jupyter Notebook 自动导入代码?
Posted Python学习与数据挖掘
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何让 Jupyter Notebook 自动导入代码?相关的知识,希望对你有一定的参考价值。
大家好,每天我们都会启动多个新的Jupyter
笔记本,并且在会用到多个不同的库,例如pandas
、matplotlib
等。
但是,在开始实际工作之前,我们总是需要为每一个 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 问题?
如何将 .mat 文件导入 Jupyter notebook 以在 scikit-learn 中使用它们进行机器学习? [复制]