• <tfoot id="ukgsw"><input id="ukgsw"></input></tfoot>
    
    • 久久精品精选,精品九九视频,www久久只有这里有精品,亚洲熟女乱色综合一区
      分享

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

       文明世界拼圖 2019-01-26

      作者——Gilbert Tanner

      如何利用Matplotlib、Pandas和Seborn制作圖形?

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      數據可視化是一門通過將數據放在可視環境中來理解數據的學科,這樣我們就會更加詳細的知道/了解那些隱藏在數據下的模式、趨勢和相關性。

      Python提供了多個很棒的圖形庫,其中包含許多不同的特性。無論你是想創建交互式的、實時的還是高度定制的繪圖,python都為你提供了一個優秀的庫。

      這里有一些流行的庫,以及對它們的相關概述:

      Matplotlib:在眾多庫中相對基礎,'規矩'少(https:///)。

      Pandas Visualization:易于使用的界面,建立在Matplotlib上(https://pandas./pandas-docs/stable/visualization.html)。

      Seaborn:操作難度較高,有很棒的默認樣式(https://seaborn./)。

      ggplot:基于R的ggplot2(http://ggplot./)。

      Plotly:互動性好(https:///python/)。

      在本文中,我們將學習如何使用Matplotlib、Pandas visualization和Seaborn創建基本的圖,以及如何使用每個庫的一些特定特性。本文將側重于語法,而不是解釋圖,我將在另一篇博客文章中介紹這些圖。

      在以后的文章中,我將介紹交互式繪圖工具,如Plotly,它是在D3上構建的,也可以與JavaScript一起使用。

      導入數據集

      在本文中,我們將使用兩個免費的數據集。即,Iris(https://archive.ics./ml/datasets/iris)和Wine Reviews(https://www./zynicide/wine-reviews)數據集,我們可以使用panda read_csv方法加載該數據集。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      Iris數據集

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      Wine Reviews數據集

      Matplotlib

      Matplotlib是最流行的python繪圖庫。它是一個底層庫,帶有類似Matlab的接口,自由程度高,可以編寫更多代碼。

      安裝Matplotlib可以使用pip和conda。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      Matplotlib特別適合創建基本的圖形,如折線圖、條形圖、直方圖等。輸入:

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      散點圖

      要在Matplotlib中創建散點圖,可以使用scatter方法,并且使用plt創建一個圖形和一個軸。所以我們可以給我們的圖像進行標記。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      Matplotlib散點圖

      我們可以通過在每個數據點上按其類著色來賦予圖形更多的意義。這可以通過創建一個從類映射到顏色的字典來實現,然后使用for循環來分散到每個點,并傳遞各自的顏色。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      按類著色的散點圖

      折線圖

      在Matplotlib中,我們可以通過調用plot方法創建一個折線圖。我們還可以在一個圖中繪制多個列,方法是遍歷我們想要的列,并在相同的軸上繪制每個列。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      折線圖

      柱狀圖

      在Matplotlib中,我們可以使用hist方法創建直方圖。如果我們向它傳遞分類數據,比如wine-review數據集中的列,它將自動計算每類發生的頻率。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      柱狀圖

      條形圖

      可以使用bar方法創建條形圖。條形圖不會自動計算類別的頻率,因此我們將使用panda value_counts函數來完成這一操作。條形圖對于沒有很多不同類別(少于30個)的分類數據非常有用,因為如果沒有條形圖,分類數據會變得非常混亂。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      條形圖

      Pandas Visualization

      Panda是一個開源的、高性能、易于使用的庫,提供數據結構(如dataframes)和數據分析工具(如本文中使用的可視化工具)。

      Pandas Visualization使得從dataframe等中創建圖像變得非常容易。它還具有比Matplotlib更高級的API。換句話說,對于相同的結果,我們需要的代碼更少。

      可以使用pip或conda安裝Panda。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      散點圖

      要在panda中創建散點圖,我們可以調用<dataset>.plot.scatter()并將兩個參數傳遞給它,即x列的名稱和y列的名稱。我們也可以選擇給它傳遞一個標題。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      散點圖

      正如你在圖像中看到的,它會自動將x和y標簽設置為列名。

      折線圖

      要在panda中創建一個線形圖,我們可以調用<dataframe>.plot.line()。在Matplotlib中,我們需要循環遍歷要繪制的每一列,而在panda中,我們不需要這樣做,因為它會自動繪制所有可用的數字列。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      折線圖

      如果我們有一個以上的特征,Panda會自動為我們創建一個折線圖,正如上圖所示。

      柱狀圖

      在Panda中,我們可以根據具體內容創建直方圖。沒有任何參數是必需的,但是我們可以選擇性地傳遞一些參數,比如bin大小。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      柱狀圖

      創建多個直方圖也非常容易。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      subplot參數指定我們希望為每個特性使用單獨的plot,布局指定每行和每列的plot數量。

      條形圖

      要繪制柱狀圖,我們可以使用plot.bar()方法,但是在調用它之前,我們需要獲取數據。為此,我們將首先使用value_count()方法計算事件數,然后使用sort_index()方法從最小到最大排序。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      垂直柱狀圖

      使用plot.barh()方法制作水平條形圖也非常簡單。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      水平條形圖

      我們還可以繪制其他數據,比如是出現的次數。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      葡萄酒價格最高的國家(平均)

      在上面的例子中,我們將數據按國家進行分組,然后取葡萄酒價格的平均值,并對其進行排序,繪制出平均葡萄酒價格最高的5個國家。

      Seaborn

      Seaborn是一個基于Matplotlib的Python數據可視化庫。它為創建有吸引力的圖形提供了高級接口。

      Seaborn有很多東西可以提供。在Matplotlib中,你可以在一行中創建需要幾十行代碼的圖形。它的標準設計非常棒,而且它還有一個用于處理panda dataframes的界面。

      輸入:

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      散點圖

      我們可以使用.scatterplot方法創建一個散點圖,就像Panda,我們需要把它的列名x和y數據,但現在我們還需要把數據作為一個額外的參數,因為我們不是直接調用函數的數據。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      散點圖

      我們還可以使用hue參數通過類突出顯示這些點,這比Matplotlib中簡單得多。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      由類著色的散點圖

      折線圖

      創建線形圖,我們可以使用sns. lineplot方法。需要的參數是數據,在我們的示例中是Iris數據集中的四列數字。我們也可以用sns.kdeplot方法對曲線的邊緣進行四舍五入處理,因此如果你的數據集中有很多離群值,這種方法會更清晰。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      柱狀圖

      直方圖

      要在Seaborn中創建直方圖,我們使用sns.distplot方法。我們需要將它傳遞到我們想要繪制的列中,它會自己計算發生的事件。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      圖19:柱狀圖

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      圖20:直方圖

      條形圖

      在Seaborn中,可以使用sns.countplot創建條形圖,并將數據傳遞給它。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      圖21:條形圖

      其他圖

      現在,你已經對Matplotlib、Panda可視化和Seaborn語法有了基本的了解,接下來我將向你展示一些用于提取內部內容的其他圖形類型。

      大多數Seaborn是go to庫,因為它的高級接口允許在幾行代碼中創建漂亮的圖形。

      箱形圖

      箱形圖是顯示五位數摘要的圖形化方法。我們可以使用seaborns sns.boxplot創建box plot,并將數據以及x和y列名傳遞給它(https://en./wiki/Five-number_summary)。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      箱形圖

      箱形圖,就像柱狀圖一樣,只對少數類別的數據非常有用。

      Heatmap

      Heatmap是數據的圖形化表示,其中矩陣中包含的各個值用顏色表示。Heatmap對于探索數據集中特征之間的相關性是非常完美的(https://en./wiki/Matrix_%28mathematics%29)。

      要獲得數據集內特征的相關性,我們可以調用<dataset>.corr(),這是一個來自panda dataframe方法,會用到相關矩陣(https://www./what-is-a-correlation-matrix/)。

      我們現在可以使用Matplotlib或Seaborn來創建Heatmap。

      Matplotlib:

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      圖23:沒有注釋的Heatmap

      要在Heatmap中添加注釋,我們需要添加兩個for循環:

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      圖24:帶有注釋的Heatmap

      Seaborn使得創建Heatmap和添加注釋更加容易:

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      Faceting

      Faceting是將數據變量分解成多個子圖,并將這些子圖組合成單個圖形的操作。

      如果想快速瀏覽數據集,Faceting非常有用。

      要在Seaborn中使用faceting,我們可以使用FacetGrid。首先,我們需要定義FacetGrid,并將數據以及用于拆分數據的行或列傳遞給它。然后我們需要調用FacetGrid對象上的函數,并定義要使用的繪圖類型以及要繪制的列。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      Facet-plot

      你可以讓圖比上面的例子更大更復雜。你可以在這里找到一些例子(https://seaborn./generated/seaborn.FacetGrid.html)。

      Pairplot

      最后,我將向你展示Seaborns pairplot和panda scatter_matrix,它們使你能夠在數據集中繪制成對關系網格。

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      圖27:Pairplot

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

      圖28:散點矩陣

      正如你在上面的圖像中看到的。圖的對角線用直方圖填充,其他的圖是散點圖。

      結論

      數據可視化是一門通過將數據放在可視環境中來理解數據的學科,這樣可能無法檢測到的模式、趨勢和相關性就可以暴露出來。

      Python提供了多個很棒的圖形庫,其中包含許多不同的特性。在本文中,我們研究了Matplotlib、Pandas和Seborn。

      本文中涉及的代碼可以作為Github存儲庫使用:https://github.com/TannerGilbert/Articles/tree/master/Introduction%20to%20Data%20Visualization%20in%C2%A0Python

      學好數據可視化,讓你在眾多應聘者中脫穎而出!

        本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發現有害或侵權內容,請點擊一鍵舉報。
        轉藏 分享 獻花(0

        0條評論

        發表

        請遵守用戶 評論公約

        類似文章 更多

        主站蜘蛛池模板: 久久综合精品国产二区无码| 亚洲欧美成人久久一区| 国产成人午夜福利院| 人成午夜免费大片| gogogo高清在线观看视频中文| 播放灌醉水嫩大学生国内精品| 无翼乌工口肉肉无遮挡无码18| 在线中文字幕有码中文| 免费AV片在线观看网址| 麻豆国产成人AV在线播放| 麻豆果冻传媒2021精品传媒一区| 中文字幕亚洲国产精品| 国产在线观看播放av| 日本高清视频色欧WWW| 国产精品久久久久无码AV| 亚洲另类丝袜综合网| 一区二区中文字幕av| 韩国无码AV片午夜福利| 日韩丝袜欧美人妻制服| 国产亚洲AV无码AV男人的天堂| 国产日产欧产精品精品| 久久人人爽人人爽人人av| 东京热人妻丝袜无码AV一二三区观| 国产精品久久无码不卡黑寡妇| 欧美精品人人做人人爱视频| 老子影院午夜精品无码| 亚洲高清WWW色好看美女| 国产精品欧美一区二区三区不卡| 久久精品国产亚洲夜色AV网站| 人人妻人人添人人爽欧美一区| 一夲道无码人妻精品一区二区| 国产欧美日韩一区二区三区| 99久久婷婷国产综合精品青草漫画| 国产成人无码A区在线观| 伊人热热久久原色播放WWW| 国产V亚洲V天堂A无码| 爱情岛亚洲AV永久入口首页| 亚洲AV无码乱码在线观看牲色| 在线日韩日本国产亚洲| 无码国产偷倩在线播放| 国产高跟黑色丝袜在线|