Python:一行代碼,導(dǎo)入Python所有庫
1、引言
今天我們來分享一個懶人庫:Pyforest。
小屌絲:魚哥,今天啥情況,你突然分享這個庫?
小魚:這不是因為我準(zhǔn)備換吃飯的家伙電腦,為了能省事,少敲幾次pip install xxx 的動作…
小屌絲:嗯??你的意思,安裝這個庫,就不需要安裝別的庫了?
小魚:必須的~像我這種節(jié)約時間的男人…
小屌絲:你能不能好好說話?。?!
小魚:…好吧…
通過小屌絲跟小魚的對話,我們可以大概了解到,Pyforest庫是一個萬能庫,幾乎可以說不需要再單獨安裝別的庫。
這不就可以把省下的時間來聊妹子了聊工作了…
Pyforest到底有沒有小魚說的這么牛叉,
我們繼續(xù)往下瞅!
2、Pyforest
2.1 Pyforest 介紹
Pyforest是一個開源的Python庫,可以自動導(dǎo)入代碼中使用到的Python庫。
例如:我們在做數(shù)據(jù)分析時,需要導(dǎo)入多個庫,Pandas、Numpy、Matplotlib
等,這很不方便,
所以,這就有了Pyforest的誕生,使用Pyforest,每個程序文件中就不需要導(dǎo)入相同的Python庫,而且也不必使用確切的導(dǎo)入語句。
這是多么省事
騷操作~
直接代碼展示一下:
# -*- 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個點,需要了解:
- 使用的任何庫都不需要使用import語句導(dǎo)入,Pyforest會為你自動導(dǎo)入;
- 只有在代碼中調(diào)用庫或創(chuàng)建庫的對象后,才會導(dǎo)入庫;
- 如果一個庫沒有被使用或調(diào)用,Pyforest將不會導(dǎo)入它。
如果想看Pyforest的源碼,直接點擊GitHub傳送門。
在GitHub還是有不錯的標(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)入不報錯,就說明安裝OK了。
2.2.2 使用
安裝完成后,我們就要開車開擼代碼!
睡眠質(zhì)量不好,就容易打錯字
我們不導(dǎo)入pandas、seaborn
和matplotlib
庫,直接導(dǎo)入Pyforest庫來使用。
# -*- coding:utf-8 -*- # @Time: 2021-07-26 # @Author : carl_DJ import pyforest #teston.csv是我本地的測試文件 data = pd.read_csv('testone.csv') print(data)
我們來看下執(zhí)行結(jié)果:
小屌絲:嘿,魚哥,別說,還真能執(zhí)行出來了哈,牛叉了~
小魚:這才哪到哪,接著看,繼續(xù)看它的牛叉厲害之處…
別的不說,就為了支持新疆棉,我們就來看看國內(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ù)號 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()
看下運行結(jié)果:
小屌絲:唉我去~ 可以啊。
小魚:一般般啦~~
小屌絲:魚哥,那我再問你一下,Pyforest有沒有提供一些輔助的Python庫啊,如:os,re,tqdm…
小魚:看樣子,你還是不知道Pyforest的厲害~ ~
執(zhí)行代碼:
查看內(nèi)置庫列表數(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)置庫有68個,這會知道Pyforest的厲害了吧~
小屌絲:Nice,Nice,Nice啊 ~
小魚:一般般啦~
小屌絲:別裝X,那Pyforest還有什么技能,繼續(xù)展示。
小魚:… 巴拉巴拉說一堆(省略十萬字)… 等著??!
Pyforest還提供了一些函數(shù)來了解庫的使用情況:
①返回已導(dǎo)入并且正在使用的庫列表
執(zhí)行代碼
print(pyforest.active_imports())
執(zhí)行結(jié)果
['import pandas as pd', 'import requests as req', 'import pyg2plot']
②返回pyforest中所有Python庫的列表
執(zhí)行代碼
print(pyforest.lazy_imports())
執(zhí)行結(jié)果
['import glob', 'import numpy as np', 'import matplotlib.pyplot as plt'...]
小魚:小屌絲,這回該滿足了吧~
小屌絲:滿足??不知道我的飯量嗎??
小魚:…你走吧~ 以后不聯(lián)系的那種!
小屌絲:…
總結(jié)
本篇文章就到這里了,希望能夠給你帶來幫助,也希望您能夠多多關(guān)注本站的更多內(nèi)容!
版權(quán)聲明:本站文章來源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學(xué)習(xí)參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。