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>

        這個可視化分析庫,讓你輕松玩轉數(shù)據(jù)科學!

        共 3008字,需瀏覽 7分鐘

         ·

        2021-02-17 12:33

        本期就來給大家講講,有數(shù)據(jù)之后,我們該怎么去做可視化分析。


        同樣是大佬造的輪子「Lux」,只需4行代碼就能可視化數(shù)據(jù)集。


        A Python API for Intelligent Visual Discovery.


        GitHub:https://github.com/lux-org/lux/


        文檔地址:https://lux-api.readthedocs.io/


        在PyCharm上是無法使用的,只能是在jupyter notebook中用。


        jupyter notebook的安裝就不講了,沒有裝的同學,可以自行百度~


        首先要在conda默認的環(huán)境「base」中安裝擴展包jupyter_contrib_nbextensions。


        #?在conda中安裝
        pip?install?-i?https://pypi.tuna.tsinghua.edu.cn/simple?jupyter_contrib_nbextensions
        jupyter?contrib?nbextension?install?--user
        #?啟動jupyter?notebook


        安裝成功后啟動jupyter notebook,會發(fā)現(xiàn)多了一個Tab頁,即Nbextensions(擴展插件)。



        然后在conda的base環(huán)境中安裝如下兩個插件。


        #?在conda中安裝插件
        jupyter?nbextension?install?--py?luxwidget
        jupyter?nbextension?enable?--py?luxwidget


        上圖的左下角處就會有高亮出現(xiàn),即插件安裝成功。


        如此我們就可以導入這個第三方庫了。


        用作者提供的數(shù)據(jù)來看一下。


        import?pandas?as?pd
        import?lux

        #?使用作者提供的數(shù)據(jù)
        df?=?pd.read_csv("college.csv")
        df


        在jupyter notebook中無需使用print()來顯示信息,直接在最后一行加上變量名,就會打印結果,而且還是表格形式。



        可以看到,左上角多了個按鈕,可以切換Pandas結果展示和Lux結果展示。


        點擊按鈕,得到下圖。



        Correlation、Distribution、Occurrence,一共是有3個Tab頁。


        Correlation意思是兩個變量的相關性,從左到右12個圖表,相關性逐漸減弱。



        Distribution意思是單個變量(數(shù)值屬性)的分布情況(直方圖),從左到右7個圖表,偏斜由大變小。



        Occurrence意思是單個變量(類別屬性)的分布情況(條形圖),從左到右3個圖表,不均勻度由高到小。


        由于作者提供的數(shù)據(jù)都是英文的,不太方便看。


        所以小F使用之前一篇文章的數(shù)據(jù),5000個抖音大V數(shù)據(jù)。



        4行Python代碼讀取數(shù)據(jù),并對其進行可視化分析。


        import?pandas?as?pd
        import?lux

        #?使用抖音數(shù)據(jù)
        df?=?pd.read_csv("douyin.csv")
        df


        得到結果如下。



        這里無需其他設置,中文自己就能顯示出來。


        其中喜歡數(shù)與粉絲數(shù)有著較強的相關性。這也不難理解,粉絲多,看視頻的人也就多了。



        這里由于是對數(shù)據(jù)進行均分(bins)劃分,所以看不太出來分布情況。




        至于是否可以自定義設置bins,小F目前也還不清楚~



        分類數(shù)據(jù)的情況,這個功能很實用,自動就給你分組匯總計數(shù),省去不少代碼。


        以上就是對數(shù)據(jù)的總覽,下面我們可以對你所感興趣的數(shù)據(jù)進行可視化分析。


        import?pandas?as?pd
        import?lux

        #?使用抖音數(shù)據(jù)
        df?=?pd.read_csv("douyin.csv")
        #?對你感興趣的數(shù)據(jù)進行可視化分析,這里以視頻數(shù)為例
        df.intent?=?["視頻數(shù)"]
        df


        以視頻數(shù)數(shù)據(jù)為例,得到結果如下。



        左側圖表是視頻數(shù)的分布情況,右側是視頻數(shù)與其他變量的情況。


        畢業(yè)院校與平均視頻數(shù)的關系,應該是對畢業(yè)院校進行分組計數(shù)后,得出平均視頻數(shù)。


        同理,昵稱也是一樣的,只不過頭部賬號的昵稱基本不會出現(xiàn)相同的,和畢業(yè)院校數(shù)據(jù)還是有所不同。


        當然,我們還可以使用多個變量數(shù)據(jù)。


        import?pandas?as?pd
        import?lux

        #?使用抖音數(shù)據(jù)
        df?=?pd.read_csv("douyin.csv")
        #?可以使用多個變量數(shù)據(jù)
        df.intent?=?["喜歡數(shù)",?"分類"]
        df


        選擇喜歡數(shù)、分類變量數(shù)據(jù),得到結果如下。



        左側圖表是分類和平均喜歡數(shù)的情況,右側圖表則是省市、昵稱與平均喜歡數(shù)的關系。



        可以看出,最后一張圖和小F之前分析的圖基本差不多,而且還多了一個維度(分類)。


        對變量中的特定值再進一步分析。


        import?pandas?as?pd
        import?lux

        #?使用抖音數(shù)據(jù)
        df?=?pd.read_csv("douyin.csv")
        #?對數(shù)據(jù)的子集再進行分析
        df.intent?=?["分類=美女"]
        df


        上面的代碼會報錯,小F也不知道是什么原因,猜測是中文的問題。


        使用作者的例子就沒啥問題~



        以上是基于字符串的基本描述,作者還提供了一個高級的方法,可以自定義設置參數(shù)。


        lux.Clause,可以設置感興趣的變量值(attribute)、數(shù)據(jù)類型(data_type)、數(shù)據(jù)模型(data_model)、聚合方式(aggregation)等等。



        下面就來舉個 ???


        import?pandas?as?pd
        import?lux

        #?使用抖音數(shù)據(jù)
        df?=?pd.read_csv("douyin.csv")
        #?分析分類數(shù)據(jù)與喜歡數(shù)總和之間的關系
        df.intent?=?["分類",lux.Clause("喜歡數(shù)",aggregation="sum")]
        df


        分類數(shù)據(jù)與喜歡數(shù)總和之間的關系,得到結果如下。



        這里通過設置lux.Clause中的aggregation參數(shù),使得將橫坐標改變?yōu)榭倲?shù),而不是之前的平均數(shù)。


        側圖表與小F之前做的樹形圖類似,使用的數(shù)據(jù)一摸一樣。



        最后,再講一下使用Vis和VisList創(chuàng)建可視化對象及集合。


        from?lux.vis.Vis?import?Vis
        import?pandas?as?pd
        import?lux

        #?使用抖音數(shù)據(jù)
        df?=?pd.read_csv("douyin.csv")
        #?使用Vis進行分析
        intent?=?["喜歡數(shù)"]
        vis?=?Vis(intent,?df)
        vis


        得到結果如下。



        不能自定義bins,確實是有點難受,Vis可設置參數(shù)如下。



        上面是單個變量的分析,使用VisList可設置多個變量。


        from?lux.vis.Vis?import?Vis
        import?pandas?as?pd
        import?lux

        #?使用抖音數(shù)據(jù)
        df?=?pd.read_csv("douyin.csv")
        #?使用VisList進行分析
        vc?=?VisList(["分類",lux.Clause(['粉絲數(shù)','喜歡數(shù)','評論數(shù)','分享數(shù)'],aggregation="sum")],df)
        vc


        結合lux.Clause一起使用,得到結果如下。



        VisList可設置參數(shù)如下圖。


        瀏覽 57
        點贊
        評論
        收藏
        分享

        手機掃一掃分享

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

        手機掃一掃分享

        分享
        舉報
        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>
            国产日韩在线播放 | 五月天激情乱伦 | 男人捅女人网站 | 把老女人弄高潮了七次 | 看性爱视频 | 日韩精品一区二区三 | 久久午夜激情电影 | 91久久免费视频 | 久久无码一区二区三区 | 看操逼的网站 |