当前位置: 首页 > 科技观察

如何让JupyterNotebook自动导入代码?

时间:2023-03-14 21:49:00 科技观察

大家好,我早起。作为一名使用Python工作的数据科学家。每天我们都会启动多个新的Jupyternotebook,使用多个不同的库,比如pandas、matplotlib等。然而,在开始实际工作之前,我们总是需要为每个Notebook编写一堆导入代码。这虽然不难,但却非常繁琐。有时候我们需要找到对应的导入语句。例如:fromsklearn.preprocessingimportOneHotEncoder,LabelEncoderfromsklearnimportfeature_selection如何在启动Jupyternotebook时自动加载这些代码,让我们专注于使用这些库?本文介绍了两种方法。方法一:修改配置文件一个常见的方法就是修改Jupyter的配置文件,这也是我在上一篇介绍的方法。以macOS为例,可以进入~/.ipython/profile_default文件夹(Windows下也可以在安装目录下找到对应的文件夹)。如果找不到这个目录,需要在命令行执行ipythonprofilecreate生成配置文件:如上图,在该文件夹下新建一个名为startup的文件夹(如果有,你没有需要创建它),然后进入启动文件夹并创建一个新的Python脚本start.py,现在你可以在start.py中添加你想要的内容你需要在每次启动jupyternotebook时手动输入代码,然后保存:importpandasaspdimportnumpyasnpimportmatplotlib.pyplotaspltfromsklearnimportsvm,tree,linear_model,neighbors,naive_bayes,ensemble,discriminant_analysis,gaussian_processfromxgboostimportXGBClassifierfromsklearn.preprocessingimportOneHotEncoder,LabelEncoderfromsklearnimportfeature_selection_fromsklearn导入模型.......现在重启JupyterNotebook后,就可以直接使用我们配置的pandas、numpy等库了!但是这种方式也有一个缺点,就是因为文件缺少相关的导入代码,所以打包发给别人的时候可能无法执行。我们也不可能再次查看使用到的代码,手动导入,只能自己修改配置文件。在设备上使用。方法二:使用pyforest这是我最近发现的一个新方法。是国外高手开发的插件。相比修改配置文件,更适合小白的操作。我们只需要在终端(命令行)执行如下代码:pipinstall--upgradepyforestpython-mpyforestinstall_extensions并重启JupyterNotebook即可自动导入相关库。可以看出,该方法与方法一的区别在于,它默认不导入所有依赖库(避免内存占用过大),而是在你使用该库时自动在Notebook头部添加对应的导入代码,不是吗很酷!以pandas为例,我们在使用pd.xxx的时候,会在头部加上importpandasaspd,而在使用之前,变量pd只是pyforest的一个占位符。但是使用别人的配置的缺点是添加一些第三方库比较困难。幸运的是,开发者预设了数百个常用的库,从数据分析到机器学习和深度学习。基本上没有额外的有兴趣的可以试试~