<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 4845字,需瀏覽 10分鐘

           ·

          2021-03-29 19:42

          ↑↑↑關(guān)注后"星標(biāo)"簡(jiǎn)說(shuō)Python
          人人都可以簡(jiǎn)單入門Python、爬蟲、數(shù)據(jù)分析
           簡(jiǎn)說(shuō)Python推薦 
          來(lái)源:法納斯特
          作者:小F

          今天給大家介紹一個(gè)懶人Python庫(kù)——Pyforest。


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


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



          / 01 / 介紹


          Python因?yàn)橛兄汕先f(wàn)個(gè)功能強(qiáng)大開源庫(kù),備受大家的歡迎。


          目前,通過(guò)PyPl可以導(dǎo)入超過(guò)23.5萬(wàn)個(gè)Python庫(kù),數(shù)量龐大。


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


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


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


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


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


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


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


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


          from sklearn.ensemble import RandomForestClassifier


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


          import pyforest

          df = pd.read_csv('test.csv')
          print(df)


          你使用的任何庫(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)入它。



          / 02 / 使用


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


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


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


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


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



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



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


          目前這個(gè)包包含了大部分流行的Python庫(kù),比如


          pandas as pd
          NumPy as np
          matplotlob.pyplot as plt
          seaborn as sns 


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


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


          import pyforest

          print(len(dir(pyforest)))
          for i in dir(pyforest):
              print(i)

          -------------------------
          68
          GradientBoostingClassifier
          GradientBoostingRegressor
          LazyImport
          OneHotEncoder
          Path
          RandomForestClassifier
          RandomForestRegressor
          SparkContext
          TSNE
          TfidfVectorizer
          ...


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


          示例如下。


          vim ~/.pyforest/user_imports.py


          添加語(yǔ)句,此處便能在代碼中使用requests這個(gè)庫(kù)。


          # Add your imports here, line by line
          # e.g
          # import pandas as pd
          # from pathlib import Path
          # import re

          import requests as req
          ~                                                                               
          ~                                                                                                                                                                                                      
          "~/.pyforest/user_imports.py" 7L129C


          這回我們?cè)赑yCharm中來(lái)實(shí)驗(yàn)一下。



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


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


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



          可視化代碼如下。



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


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


          # 返回已導(dǎo)入并且正在使用的庫(kù)列表
          print(pyforest.active_imports())
          --------------------------------
          ['import pandas as pd''import requests as req''import pyg2plot']


          # 返回pyforest中所有Python庫(kù)的列表
          print(pyforest.lazy_imports())
          --------------------------------
          ['import glob''import numpy as np''import matplotlib.pyplot as plt'...]


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



          / 03 / 總結(jié)


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


          使用到的代碼及文件已上傳,回復(fù)「pyforest」即可獲取。


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


          比如調(diào)試的時(shí)候(大型項(xiàng)目),可能會(huì)很痛苦,不知道是哪里來(lái)的庫(kù)。


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


          萬(wàn)水千山總是情,點(diǎn)個(gè)  ??  行不行。


          【更多福利】

          掃下方二維碼添加我的私人微信,可以在我的朋友圈獲取最新的Python學(xué)習(xí)資料,以及近期推文中的源碼或者其他資源,另外不定期開放學(xué)習(xí)交流群,以及朋友圈福利(送書、紅包、學(xué)習(xí)資源等)。

          掃碼查看我朋友圈

          獲取最新學(xué)習(xí)資源

          學(xué)習(xí)更多:
          整理了我開始分享學(xué)習(xí)筆記到現(xiàn)在超過(guò)250篇優(yōu)質(zhì)文章,涵蓋數(shù)據(jù)分析、爬蟲、機(jī)器學(xué)習(xí)等方面,別再說(shuō)不知道該從哪開始,實(shí)戰(zhàn)哪里找了

          點(diǎn)贊”傳統(tǒng)美德不能丟 

          瀏覽 44
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          評(píng)論
          圖片
          表情
          推薦
          點(diǎn)贊
          評(píng)論
          收藏
          分享

          手機(jī)掃一掃分享

          分享
          舉報(bào)
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  日韩大香焦网 | 男操女视频网站 | 成人亚洲av | 欧美激情亚洲无码 | 国产精品污污网站免费 |