Python:一行代碼,導(dǎo)入Python所有庫(kù)
1、引言
今天我們來(lái)分享一個(gè)懶人庫(kù):Pyforest。
小屌絲:魚(yú)哥,今天啥情況,你突然分享這個(gè)庫(kù)?
小魚(yú):這不是因?yàn)槲覝?zhǔn)備換吃飯的家伙電腦,為了能省事,少敲幾次pip install xxx 的動(dòng)作…
小屌絲:嗯??你的意思,安裝這個(gè)庫(kù),就不需要安裝別的庫(kù)了?
小魚(yú):必須的~像我這種節(jié)約時(shí)間的男人…
小屌絲:你能不能好好說(shuō)話?。?!
小魚(yú):…好吧…
通過(guò)小屌絲跟小魚(yú)的對(duì)話,我們可以大概了解到,Pyforest庫(kù)是一個(gè)萬(wàn)能庫(kù),幾乎可以說(shuō)不需要再單獨(dú)安裝別的庫(kù)。
這不就可以把省下的時(shí)間來(lái)聊妹子了聊工作了…

Pyforest到底有沒(méi)有小魚(yú)說(shuō)的這么牛叉,
我們繼續(xù)往下瞅!
2、Pyforest
2.1 Pyforest 介紹
Pyforest是一個(gè)開(kāi)源的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ù)沒(méi)有被使用或調(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ò),就說(shuō)明安裝OK了。
2.2.2 使用
安裝完成后,我們就要開(kāi)車開(kāi)擼代碼!
睡眠質(zhì)量不好,就容易打錯(cuò)字
我們不導(dǎo)入pandas、seaborn和matplotlib庫(kù),直接導(dǎo)入Pyforest庫(kù)來(lái)使用。
# -*- coding:utf-8 -*-
# @Time: 2021-07-26
# @Author : carl_DJ
import pyforest
#teston.csv是我本地的測(cè)試文件
data = pd.read_csv('testone.csv')
print(data)
我們來(lái)看下執(zhí)行結(jié)果:

小屌絲:嘿,魚(yú)哥,別說(shuō),還真能執(zhí)行出來(lái)了哈,牛叉了~
小魚(yú):這才哪到哪,接著看,繼續(xù)看它的牛叉厲害之處…
別的不說(shuō),就為了支持新疆棉,我們就來(lái)看看國(guó)內(nèi)棉花產(chǎn)量排名,代碼如下
# -*- coding:utf-8 -*-
# @Time: 2021-07-26
# @Author : carl_DJ
import pyforest
plt.rcParams['font.flamily'] = 'sans-serif'
#用來(lái)顯示中文標(biāo)簽
plt.rcParams['font.sans-serif'] = ['Hiragino Sans GB']
#用來(lái)正常顯示負(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)量(萬(wàn)噸)')
plt.show()
看下運(yùn)行結(jié)果:

小屌絲:唉我去~ 可以啊。
小魚(yú):一般般啦~~
小屌絲:魚(yú)哥,那我再問(wèn)你一下,Pyforest有沒(méi)有提供一些輔助的Python庫(kù)啊,如:os,re,tqdm…
小魚(yú):看樣子,你還是不知道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
...
小魚(yú):小屌絲,怎么樣,內(nèi)置庫(kù)有68個(gè),這會(huì)知道Pyforest的厲害了吧~
小屌絲:Nice,Nice,Nice啊 ~
小魚(yú):一般般啦~
小屌絲:別裝X,那Pyforest還有什么技能,繼續(xù)展示。
小魚(yú):… 巴拉巴拉說(shuō)一堆(省略十萬(wàn)字)… 等著!!

Pyforest還提供了一些函數(shù)來(lái)了解庫(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'...]

小魚(yú):小屌絲,這回該滿足了吧~
小屌絲:滿足??不知道我的飯量嗎??
小魚(yú):…你走吧~ 以后不聯(lián)系的那種!
小屌絲:…
總結(jié)
本篇文章就到這里了,希望能夠給你帶來(lái)幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信