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

Pyforest到底有沒有小魚說的這么牛叉,
我們繼續(xù)往下瞅!
2、Pyforest
2.1 Pyforest 介紹
Pyforest是一個(gè)開源的Python庫,可以自動(dòng)導(dǎo)入代碼中使用到的Python庫。
例如:我們?cè)谧鰯?shù)據(jù)分析時(shí),需要導(dǎo)入多個(gè)庫,Pandas、Numpy、Matplotlib等,這很不方便,
所以,這就有了Pyforest的誕生,使用Pyforest,每個(gè)程序文件中就不需要導(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個(gè)點(diǎn),需要了解:
- 使用的任何庫都不需要使用import語句導(dǎo)入,Pyforest會(huì)為你自動(dòng)導(dǎo)入;
- 只有在代碼中調(diào)用庫或創(chuàng)建庫的對(duì)象后,才會(huì)導(dǎo)入庫;
- 如果一個(gè)庫沒有被使用或調(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庫,直接導(dǎo)入Pyforest庫來使用。
# -*- 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庫啊,如: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個(gè),這會(huì)知道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)容!
相關(guān)文章
淺談pandas關(guān)于查看庫或依賴庫版本的API原理
本文主要介紹了淺談pandas關(guān)于查看庫或依賴庫版本的API原理,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2022-06-06
解析python調(diào)用函數(shù)加括號(hào)和不加括號(hào)的區(qū)別
這篇文章主要介紹了python調(diào)用函數(shù)加括號(hào)和不加括號(hào)的區(qū)別,不帶括號(hào)時(shí),調(diào)用的是這個(gè)函數(shù)本身 ,是整個(gè)函數(shù)體,是一個(gè)函數(shù)對(duì)象,不須等該函數(shù)執(zhí)行完成,具體實(shí)例代碼跟隨小編一起看看吧2021-10-10
python pandas利用fillna方法實(shí)現(xiàn)部分自動(dòng)填充功能
這篇文章主要介紹了python pandas通過fillna方法實(shí)現(xiàn)部分自動(dòng)填充功能,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-03-03
python實(shí)現(xiàn)指定字符串補(bǔ)全空格、前面填充0的方法
這篇文章主要介紹了python實(shí)現(xiàn)指定字符串補(bǔ)全空格、前面填充0的方法 ,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-11-11
Python利用PyQt5制作一個(gè)獲取網(wǎng)絡(luò)實(shí)時(shí)NBA數(shù)據(jù)并播報(bào)的GUI程序
現(xiàn)在NBA聯(lián)賽也進(jìn)行到半決賽了,我們?cè)趺礃硬拍芤愿斓姆椒ǐ@取NBA的數(shù)據(jù)呢?這里我們就自己來做一個(gè)數(shù)據(jù)播報(bào)的程序,需要的朋友可以參考下2021-06-06

