1、引言
今天我们来分享一个懒人库:Pyforest。
小潘:鱼哥,今天啥情况,你突然分享这个库?
小鱼:这不是因为我准备换吃饭的家伙电脑,为了能省事,少敲几次pip install xxx 的动作…
小潘:嗯??你的意思,安装这个库,就不需要安装别的库了?
小鱼:必须的~像我这种节约时间的男人…
小潘:你能不能好好说话!!!
小鱼:…好吧…
通过小潘扛小鱼的对话,我们可以大概了解到,Pyforest库是一个万能库,几乎可以说不需要再单独安装别的库。
这不就可以把省下的时间来聊妹子了聊工作了…
Pyforest到底有没有小鱼说的这么牛叉,
我们继续往下瞅!
2、Pyforest
2.1 Pyforest 介绍
Pyforest是一个开源的Python库,可以自动导入代码中使用到的Python库。
例如:我们在做数据分析时,需要导入多个库,Pandas、Numpy、Matplotlib
等,这很不方便,
所以,这就有了Pyforest的诞生,使用Pyforest,每个程序文件中就不需要导入相同的Python库,而且也不必使用确切的导入语句。
这是多么省事
骚操作~
直接代码展示一下:
# -*- coding:utf-8 -*- # @Time : 2021-07-26 # @Author : carl_DJ #导入pyforest import pyforest #直接调用 df = pd.read_csv('test.csv') print(df)
这里有3个点,需要了解:
- 使用的任何库都不需要使用import语句导入,Pyforest会为你自动导入;
- 只有在代码中调用库或创建库的对象后,才会导入库;
- 如果一个库没有被使用或调用,Pyforest将不会导入它。
如果想看Pyforest的源码,直接点击GitHub传送门。
在GitHub还是有不错的标星,关键还是持续更新的。
如下图:
2.2 Pyforest 安装与使用
2.2.1 安装
老规矩,在使用前,必须要安装。
安装方式逃不了 pip方式:
pip install pyforest
或
pip install pyforest -i https://pypi.tuna.tsinghua.edu.cn/simple
安装完,如果import 导入不报错,就说明安装OK了。
2.2.2 使用
安装完成后,我们就要开车开撸代码!
睡眠质量不好,就容易打错字
我们不导入pandas、seaborn
和matplotlib
库,直接导入Pyforest库来使用。
# -*- coding:utf-8 -*- # @Time : 2021-07-26 # @Author : carl_DJ import pyforest #teston.csv是我本地的测试文件 data = pd.read_csv('testone.csv') print(data)
我们来看下执行结果:
小潘:嘿,鱼哥,别说,还真能执行出来了哈,牛叉了~
小鱼:这才哪到哪,接着看,继续看它的牛叉厉害之处…
别的不说,就为了支持新疆棉,我们就来看看国内棉花产量排名,代码如下
# -*- coding:utf-8 -*- # @Time : 2021-07-26 # @Author : carl_DJ import pyforest plt.rcParams['font.flamily'] = 'sans-serif' #用来显示中文标签 plt.rcParams['font.sans-serif'] = ['Hiragino Sans GB'] #用来正常显示负号 plt.rcParams['axes.unicode_minus'] = False #设定x轴坐标 x = data.columns.values.tolist()[1:] numbers_list = data[data['省份'] == '新疆'].values.tolist[0][1:] #设定Y轴坐标 y = list(map(int,numbers_list)) sns.barplot(x,y) plt.title('新疆历年棉花产量(万吨)') plt.show()
看下运行结果:
小潘:唉我去~ 可以啊。
小鱼:一般般啦~~
小潘:鱼哥,那我再问你一下,Pyforest有没有提供一些辅助的Python库啊,如:os,re,tqdm…
小鱼:看样子,你还是不知道Pyforest的厉害~ ~
执行代码:
查看内置库列表数量
import pyforest print(len(dir(pyforest))) for i in dir(pyforest): print(i)
执行结果
-------------------------
68
GradientBoostingClassifier
GradientBoostingRegressor
LazyImport
OneHotEncoder
Path
RandomForestClassifier
RandomForestRegressor
SparkContext
TSNE
TfidfVectorizer
...
小鱼:小潘浚怎么样,内置库有68个,这会知道Pyforest的厉害了吧~
小潘:Nice,Nice,Nice啊 ~
小鱼:一般般啦~
小潘:别装X,那Pyforest还有什么技能,继续展示。
小鱼:… 巴拉巴拉说一堆(省略十万字)… 等着!!
Pyforest还提供了一些函数来了解库的使用情况:
①返回已导入并且正在使用的库列表
执行代码
print(pyforest.active_imports())
执行结果
['import pandas as pd', 'import requests as req', 'import pyg2plot']
②返回pyforest中所有Python库的列表
执行代码
print(pyforest.lazy_imports())
执行结果
['import glob', 'import numpy as np', 'import matplotlib.pyplot as plt'...]
小鱼:小潘浚这回该满足了吧~
小潘:满足??不知道我的饭量吗??
小鱼:…你走吧~ 以后不联系的那种!
小潘:…
总结
本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注服务器之家的更多内容!
原文链接:https://blog.csdn.net/wuyoudeyuer/article/details/119147839