1. <strong id="7actg"></strong>
    2. <table id="7actg"></table>

    3. <address id="7actg"></address>
      <address id="7actg"></address>
      1. <object id="7actg"><tt id="7actg"></tt></object>

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

        共 4593字,需瀏覽 10分鐘

         ·

        2021-06-25 02:32


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


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


        GitHub地址:

        https://github.com/8080labs/pyforest



        / 01 / 介紹


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


        目前,通過PyPl可以導(dǎo)入超過23.5萬個Python庫,數(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)入語句。


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


        from sklearn.ensemble import RandomForestClassifier


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


        import pyforest

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


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


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



        / 02 / 使用


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


        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庫,比如


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


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


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


        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語句。


        示例如下。


        vim ~/.pyforest/user_imports.py


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


        # 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


        這回我們在PyCharm中來實驗一下。



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


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


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



        可視化代碼如下。



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


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


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


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


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



        / 03 / 總結(jié)


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


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


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





        加入知識星球【我們談?wù)摂?shù)據(jù)科學(xué)】

        400+小伙伴一起學(xué)習(xí)!








        · 推薦閱讀 ·

        五種Pandas圖表美化樣式匯總

        這款拓展讓你的jupyter lab使用更高效

        聊聊Pandas的前世今生


        瀏覽 38
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        評論
        圖片
        表情
        推薦
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

        分享
        舉報
        1. <strong id="7actg"></strong>
        2. <table id="7actg"></table>

        3. <address id="7actg"></address>
          <address id="7actg"></address>
          1. <object id="7actg"><tt id="7actg"></tt></object>
            freesex性麻豆少妇videos | 中文字幕无码日韩专区免费 | 男女做爰裸体猛烈吻胸摸 | 国产黄色电影在线观看 | 黄网一区 | 日韩亚洲欧美一区 | 亚洲AV无码久久久天堂成人 | 把老师日出水 | 亚洲精品电影网 | 扒下她的小内裤揉弄当众羞辱 |