1、引言
今天我們來分享一個(gè)懶人庫(kù):Pyforest。
小屌絲:魚哥,今天啥情況,你突然分享這個(gè)庫(kù)?
小魚:這不是因?yàn)槲覝?zhǔn)備換吃飯的家伙 電腦,為了能省事,少敲幾次pip install xxx 的動(dòng)作…
小屌絲:嗯??你的意思,安裝這個(gè)庫(kù),就不需要安裝別的庫(kù)了?
小魚:必須的~像我這種節(jié)約時(shí)間的男人…
小屌絲:你能不能好好說話?。?!
小魚:…好吧…
通過小屌絲跟小魚的對(duì)話,我們可以大概了解到,Pyforest庫(kù)是一個(gè)萬能庫(kù),幾乎可以說不需要再單獨(dú)安裝別的庫(kù)。
這不就可以把省下的時(shí)間來聊妹子了 聊工作了…
Pyforest到底有沒有小魚說的這么牛叉,
我們繼續(xù)往下瞅!
2、Pyforest
2.1 Pyforest 介紹
Pyforest是一個(gè)開源的Python庫(kù),可以自動(dòng)導(dǎo)入代碼中使用到的Python庫(kù)。
例如:我們?cè)谧鰯?shù)據(jù)分析時(shí),需要導(dǎo)入多個(gè)庫(kù),Pandas、Numpy、Matplotlib等,這很不方便,
所以,這就有了Pyforest的誕生,使用Pyforest,每個(gè)程序文件中就不需要導(dǎo)入相同的Python庫(kù),而且也不必使用確切的導(dǎo)入語(yǔ)句。
這是多么省事
騷操作~
直接代碼展示一下:
# -*- coding:utf-8 -*-
# @Time : 2021-07-26
# @Author : carl_DJ
#導(dǎo)入pyforest
import pyforest
#直接調(diào)用
df = pd.read_csv('test.csv')
print(df)
這里有3個(gè)點(diǎn),需要了解:
- 使用的任何庫(kù)都不需要使用import語(yǔ)句導(dǎo)入,Pyforest會(huì)為你自動(dòng)導(dǎo)入;
- 只有在代碼中調(diào)用庫(kù)或創(chuàng)建庫(kù)的對(duì)象后,才會(huì)導(dǎo)入庫(kù);
- 如果一個(gè)庫(kù)沒有被使用或調(diào)用,Pyforest將不會(huì)導(dǎo)入它。
如果想看Pyforest的源碼,直接點(diǎn)擊GitHub傳送門。
在GitHub還是有不錯(cuò)的標(biāo)星,關(guān)鍵還是持續(xù)更新的。
如下圖:
2.2 Pyforest 安裝與使用
2.2.1 安裝
老規(guī)矩,在使用前,必須要安裝。
安裝方式逃不了 pip方式:
pip install pyforest
或
pip install pyforest -i https://pypi.tuna.tsinghua.edu.cn/simple
安裝完,如果import 導(dǎo)入不報(bào)錯(cuò),就說明安裝OK了。
2.2.2 使用
安裝完成后,我們就要開車 開擼代碼!
睡眠質(zhì)量不好,就容易打錯(cuò)字
我們不導(dǎo)入pandas、seaborn和matplotlib庫(kù),直接導(dǎo)入Pyforest庫(kù)來使用。
# -*- coding:utf-8 -*-
# @Time : 2021-07-26
# @Author : carl_DJ
import pyforest
#teston.csv是我本地的測(cè)試文件
data = pd.read_csv('testone.csv')
print(data)
我們來看下執(zhí)行結(jié)果:
小屌絲:嘿,魚哥,別說,還真能執(zhí)行出來了哈,牛叉了~
小魚:這才哪到哪,接著看,繼續(xù)看它的牛叉 厲害之處…
別的不說,就為了支持新疆棉,我們就來看看國(guó)內(nèi)棉花產(chǎn)量排名,代碼如下
# -*- coding:utf-8 -*-
# @Time : 2021-07-26
# @Author : carl_DJ
import pyforest
plt.rcParams['font.flamily'] = 'sans-serif'
#用來顯示中文標(biāo)簽
plt.rcParams['font.sans-serif'] = ['Hiragino Sans GB']
#用來正常顯示負(fù)號(hào)
plt.rcParams['axes.unicode_minus'] = False
#設(shè)定x軸坐標(biāo)
x = data.columns.values.tolist()[1:]
numbers_list = data[data['省份'] == '新疆'].values.tolist[0][1:]
#設(shè)定Y軸坐標(biāo)
y = list(map(int,numbers_list))
sns.barplot(x,y)
plt.title('新疆歷年棉花產(chǎn)量(萬噸)')
plt.show()
看下運(yùn)行結(jié)果:
小屌絲:唉我去~ 可以啊。
小魚:一般般啦~~
小屌絲:魚哥,那我再問你一下,Pyforest有沒有提供一些輔助的Python庫(kù)啊,如:os,re,tqdm…
小魚:看樣子,你還是不知道Pyforest的厲害~ ~
執(zhí)行代碼:
查看內(nèi)置庫(kù)列表數(shù)量
import pyforest
print(len(dir(pyforest)))
for i in dir(pyforest):
print(i)
執(zhí)行結(jié)果
-------------------------
68
GradientBoostingClassifier
GradientBoostingRegressor
LazyImport
OneHotEncoder
Path
RandomForestClassifier
RandomForestRegressor
SparkContext
TSNE
TfidfVectorizer
...
小魚:小屌絲,怎么樣,內(nèi)置庫(kù)有68個(gè),這會(huì)知道Pyforest的厲害了吧~
小屌絲:Nice,Nice,Nice啊 ~
小魚:一般般啦~
小屌絲:別裝X,那Pyforest還有什么技能,繼續(xù)展示。
小魚:… 巴拉巴拉說一堆(省略十萬字)… 等著??!
Pyforest還提供了一些函數(shù)來了解庫(kù)的使用情況:
①返回已導(dǎo)入并且正在使用的庫(kù)列表
執(zhí)行代碼
print(pyforest.active_imports())
執(zhí)行結(jié)果
['import pandas as pd', 'import requests as req', 'import pyg2plot']
② 返回pyforest中所有Python庫(kù)的列表
執(zhí)行代碼
print(pyforest.lazy_imports())
執(zhí)行結(jié)果
['import glob', 'import numpy as np', 'import matplotlib.pyplot as plt'...]
小魚:小屌絲,這回該滿足了吧~
小屌絲:滿足??不知道我的飯量嗎??
小魚:…你走吧~ 以后不聯(lián)系的那種!
小屌絲:…
3、總結(jié)
今天分享的Pyforest庫(kù),確實(shí)牛叉,
但是,這么牛叉的庫(kù),也有不方便的時(shí)候,
例如參與大型項(xiàng)目,調(diào)試時(shí),你知道引用的是哪個(gè)庫(kù)嗎?
想想就苦逼,何況經(jīng)歷過。文章來源:http://www.zghlxwxcb.cn/news/detail-428990.html
所以,如果參與大型項(xiàng)目的開發(fā),千萬別給別人挖坑,按規(guī)矩辦事,不然…
但是,在一些獨(dú)立的校驗(yàn)調(diào)試與調(diào)用,Pyforest還是不錯(cuò)的選擇,畢竟省下的時(shí)間,可以…嘛。文章來源地址http://www.zghlxwxcb.cn/news/detail-428990.html
到了這里,關(guān)于Python3:我低調(diào)的只用一行代碼,就導(dǎo)入Python所有庫(kù)!的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!