自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

只需一行代碼,就能導(dǎo)入所有的Python庫?

新聞 前端
使用一行代碼,就能導(dǎo)入所有的Python庫(本地已經(jīng)安裝的)。

今天給大家介紹一個懶人Python庫——Pyforest。

使用一行代碼,就能導(dǎo)入所有的Python庫(本地已經(jīng)安裝的)。

GitHub地址:https://github.com/8080labs/pyforest

01 介紹

Python因為有著成千上萬個功能強(qiáng)大的開源庫,備受大家的歡迎。

目前,通過PyPl可以導(dǎo)入超過23.5萬個Python庫,數(shù)量龐大。

在大家平常的實(shí)踐當(dāng)中,一般都是需要導(dǎo)入多個庫或者框架來執(zhí)行任務(wù)。

而且每當(dāng)新建一個程序文件時,都需要根據(jù)自己的需求導(dǎo)入相關(guān)的庫。

如果是相同類型的任務(wù),比如想做一個數(shù)據(jù)可視化的小項目,可能會一直使用到某個庫。

如此,反復(fù)編寫同一條import語句,就算是復(fù)制粘貼,也會感覺到麻煩,這時Pyforest庫就可以上場了。

Pyforest是一個開源的Python庫,可以自動導(dǎo)入代碼中使用到的Python庫。

在進(jìn)行數(shù)據(jù)可視化的時候,一般都需要導(dǎo)入多個庫,比如pandas、numpy、matplotlib等等。

使用了Pyforest,每個程序文件中就不需要導(dǎo)入相同的Python庫,而且也不必使用確切的導(dǎo)入語句。

比如下面這行代碼,就可以省略掉。

  1. from sklearn.ensemble import RandomForestClassifier 

在你使用import語句導(dǎo)入Pyforest庫后,你就可以直接使用所有的Python庫。

  1. import pyforest 
  2.  
  3. df = pd.read_csv('test.csv'
  4.  
  5. print(df) 

你使用的任何庫都不需要使用import語句導(dǎo)入,Pyforest會為你自動導(dǎo)入。

只有在代碼中調(diào)用庫或創(chuàng)建庫的對象后,才會導(dǎo)入庫。如果一個庫沒有被使用或調(diào)用,Pyforest將不會導(dǎo)入它。

 02 使用

安裝,使用以下命令安裝Pyforest。

  1. pip install pyforest -i https://pypi.tuna.tsinghua.edu.cn/simple 

安裝成功后,使用import語句導(dǎo)入它。

現(xiàn)在,你可以直接使用相關(guān)的Python庫,無需編寫import導(dǎo)入。

先以jupiter notebook為例,我們沒有導(dǎo)入pandas、seaborn和matplotlib庫,但是我們可以通過導(dǎo)入Pyforest庫直接使用它們。

 

讀取數(shù)據(jù),這個是國內(nèi)棉花產(chǎn)量排行前三的省份,新疆全國第一(數(shù)據(jù)來源:國家統(tǒng)計局)。

那么Pyforest可以導(dǎo)入所有庫嗎?

目前這個包包含了大部分流行的Python庫,比如:

  1. pandas as pd 
  2.  
  3. NumPy as np 
  4.  
  5. matplotlob.pyplot as plt 
  6.  
  7. seaborn as sns 

除了這些庫之外,它還提供了一些輔助的Python庫,如os、tqdm、re等。

如果你想查看庫列表,可以使用dir(pyforest)進(jìn)行查看,內(nèi)置的是68個庫。

  1. import pyforest 
  2.  
  3. print(len(dir(pyforest))) 
  4.  
  5. for i in dir(pyforest): 
  6.  
  7. print(i) 
  8.  
  9. ------------------------- 
  10.  
  11. 68 
  12.  
  13. GradientBoostingClassifier 
  14.  
  15. GradientBoostingRegressor 
  16.  
  17. LazyImport 
  18.  
  19. OneHotEncoder 
  20.  
  21. Path 
  22.  
  23. RandomForestClassifier 
  24.  
  25. RandomForestRegressor 
  26.  
  27. SparkContext 
  28.  
  29. TSNE 
  30.  
  31. TfidfVectorizer 
  32.  
  33. ... 

如果沒有的話,可以進(jìn)行自定義添加,在主目錄中的文件寫入import語句。

示例如下。

  1. vim ~/.pyforest/user_imports.py 

添加語句,此處便能在代碼中使用requests這個庫。

  1. # Add your imports here, line by line 
  2.  
  3. # e.g 
  4.  
  5. import pandas as pd 
  6.  
  7. # from pathlib import Path 
  8.  
  9. import re 
  10.  
  11. import requests as req 
  12.  
  13.  
  14.  
  15. "~/.pyforest/user_imports.py" 7L, 129C 

這回我們在PyCharm中來實(shí)驗一下。

發(fā)現(xiàn)PyCharm的自動補(bǔ)全的功能失效了,看來這個庫還是比較適合jupyter notebook(自動補(bǔ)全代碼還可以使用)。

除了上面這個地方可以自定義添加,還可以在庫的_import.py文件中添加。

此處以Pyechars為例,縮寫為chart。

可視化代碼如下:

新疆棉花產(chǎn)量年年上升,其它省份年年下降...

最后Pyforest還提供了一些函數(shù)來了解庫的使用情況。

  1. # 返回已導(dǎo)入并且正在使用的庫列表 
  2.  
  3. print(pyforest.active_imports()) 
  4.  
  5. -------------------------------- 
  6.  
  7. ['import pandas as pd''import requests as req''import pyg2plot'
  8.  
  9.  
  10.  
  11. # 返回pyforest中所有Python庫的列表 
  12.  
  13. print(pyforest.lazy_imports()) 
  14.  
  15. -------------------------------- 
  16.  
  17. ['import glob''import numpy as np''import matplotlib.pyplot as plt'...] 

只有代碼中有使用到的庫,程序才會import進(jìn)去,否則不會導(dǎo)入的哦!

03 總結(jié)

好了,到此本期的分享就結(jié)束了。

使用Pyforest庫有時候確實(shí)是可以節(jié)省一些時間,不過也是有弊端存在的。

比如調(diào)試的時候(大型項目),可能會很痛苦,不知道是哪里來的庫。

所以建議大家,在一些獨(dú)立的腳本程序中使用,效果應(yīng)該還是不錯的。 

 

責(zé)任編輯:張燕妮 來源: 法納斯特
相關(guān)推薦

2016-12-02 08:53:18

Python一行代碼

2022-05-13 09:36:06

Python水印命令

2021-04-22 11:27:24

Python命令水印

2020-02-19 15:02:23

代碼開發(fā)工具

2021-05-11 20:46:17

Python代碼分類

2022-04-09 09:11:33

Python

2020-07-15 09:40:37

代碼Python瀏覽記錄

2021-04-29 22:38:04

Python數(shù)據(jù)庫SQL

2021-04-30 15:34:23

Python 開發(fā)編程語言

2019-11-26 09:47:50

代碼開發(fā)工具

2021-11-02 16:25:41

Python代碼技巧

2020-08-19 10:30:25

代碼Python多線程

2017-04-13 19:20:18

Python代碼并行任務(wù)

2013-11-29 13:14:30

代碼網(wǎng)頁設(shè)計

2020-01-07 11:30:50

圖像識別AI人工智能

2020-09-28 12:34:38

Python代碼開發(fā)

2020-08-12 14:54:00

Python代碼開發(fā)

2022-02-08 22:18:10

Chrome插件服務(wù)器

2021-03-29 15:07:19

AI 數(shù)據(jù)人工智能

2014-02-12 13:43:50

代碼并行任務(wù)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號