熟悉python编程的同学都知道,在处理或分析各类数据时,我们经常需要借助Python的内置包或第三方包。在使用这些包之前,我们都需要通过import命令将目标包导入进来,否则会出现“NameError:name *** is not defined”这样的错误。 尽管手动输入import语句并不复杂,但每次开始新的分析任务时都需要重复输入一遍。尤其是当需要的包比较多时,写起来费时费力。 那么,问题来了,有没有办法能够让我们省去繁琐的import语句呢? 答案是有的!这就是本文将要介绍的pyforest库。
这意味着当我们导入pyforest包后,就无需再导入其他所需的包了。 下面,我们就来看看如何安装并使用pyforest包。 安装与其他包一样,pyforest也是使用pip install的方式进行安装,具体方法如下: # 指定Python源 需要注意的是,pyforest包依赖于python 3.6及以上版本。 使用方法pyforest库的使用非常简单,我们只需要导入该包(无需导入其他包),然后就可以直接进行代码的编写。
导入后,我们就可以直接开始编写代码了。 举个栗子。 s = pd.Series([1,3,5,7,9])
可以看到,我们并没有手工导入numpy, pandas,但是都可以直接使用这些包,是不是很方便? 我们可以查看pyforest支持的库列表。 # 踢除内置的方法或属性 列出支持的具体包名。
可以看到,pyforest支持的库非常多,基本上涵盖了我们日常使用所需要的各种数据科学库,如pandas,numpy,matplotlib,seaborn,sklearn等等,以及常用的内置库os,sys,re等等。 此外,我们还可以查看已导入并且正在使用的库列表。 active_imports() 查看pyforest中所有Python库的列表及导入命令。
有的同学会担心,所有的库都添加进来会不会导致很慢? 答案是不会,这是因为pyforest实现的是惰性导入(lazy import),即只有实际使用的库才会被导入,而未被使用过的库根本不会导入进来。这一点我们通过上面active_imports()函数的运行结果就可以看出来。 还有的同学可能会问:如果需要的库不在pyforest中怎么办? 实际上,pyforest支持向其中添加库。操作方法为找到pyforest库的user_imports.py文件(一般在电脑用户主目录下的.forest文件夹下),然后在其中添加对应的语句即可。例如,当我们要添加xlwings库时,方法如下: # Add your imports here, line by line pyforest可谓是懒人的福音,不过笔者在日常工作中使用较少,毕竟使用不当的话可能会导致库的污染或导入库不清晰,也使得代码的可读性下降。 最后,附上pyforest源码的链接。有兴趣研究pyforest库原理的同学们可以去下面的网站进行下载。 https://github.com/8080labs/pyforest |
|