还在手动导入 pandas?你太 out 了!

还在手动导入 pandas?你太 out 了!_java

在用 Python 或 Juptyer 做数据分析时,我们一般都会在代码顶部导入很多流行的三方库,比如 pandas、numpy、matplotlib 等等。但是其实每次导入的库都是类似的,有没有更加”偷懒“的实现方式呢?

最近在 Github 上发现了一个第三方库,就是专门针对这种场景设计的,在这里推荐给大家。

pyforest

pyforest 是一家德国初创公司开源的,安装之后只要导入 pyforest,就可以直接在代码中引用所有主流的数据分析库。如果你也用 Jupyter 或者 Jupyterlab 的话,可以不需要显示的导入 pyforest。


还在手动导入 pandas?你太 out 了!_java_02pyforest github page

你不用担心在代码中导入太多实际没有用到的库,因为 pyforest 会自动根据你的使用情况,进行导入。如果是没有用到的库,是不会引入到代码中的。

使用示例

在 shell 中使用时,需要显示的导入 pyforest:

from pyforest import *

还在手动导入 pandas?你太 out 了!_java_03pyforest demo in shell

上面有提到 Jupyter 环境下,我们可以直接开始数据处理操作了:


还在手动导入 pandas?你太 out 了!_java_04pyforest_demo_in_jupyter

调试完代码后,可以通过 active_imports() 函数将所有导入的库的信息导出。

支持哪些库

据库作者介绍,pyforest 的目标是支持导入日常工作中用到的所有流行的数据分析库,例如 pandas、numpy、seaborn、matplotlib,还有 sklearn 中的 OneHotEncoder,以及 os、re、tqdm 等辅助库。


如果想查看当前所有支持导入的三方库,可以输入lazy_imports()函数了解。

假如你日常使用的库不在上述列表中,那么你还可以提 PR 或者直接修改 pyforest 中的 _imports.py 进行添加。

还在手动导入 pandas?你太 out 了!_java_05pyforest _imports.py

只需要先安装指定的库,然后按照如下示例进行调整即可:

bokeh = LazyImport("import bokeh")

如何安装

通过 pip 或 conda 均可安装:

pip install pyforest
conda install pyforest

但是该库要求 Python 版本为 3.6+,主要是因为大量用到了 3.6 之后才支持的 f-string。

项目地址:https://github.com/8080labs/pyforest


回复下方「关键词」,获取优质资源


回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~


推荐阅读



题图:pexels,CC0 授权。