最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Python數(shù)據(jù)分析:手把手教你用Pandas生成可視化圖表的教程

 更新時間:2018年12月15日 12:21:20   作者:刺客五六柒  
今天小編就為大家分享一篇Python數(shù)據(jù)分析:手把手教你用Pandas生成可視化圖表的教程,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

大家都知道,Matplotlib 是眾多 Python 可視化包的鼻祖,也是Python最常用的標準可視化庫,其功能非常強大,同時也非常復(fù)雜,想要搞明白并非易事。但自從Python進入3.0時代以后,pandas的使用變得更加普及,它的身影經(jīng)常見于市場分析、爬蟲、金融分析以及科學計算中。

作為數(shù)據(jù)分析工具的集大成者,pandas作者曾說,pandas中的可視化功能比plt更加簡便和功能強大。實際上,如果是對圖表細節(jié)有極高要求,那么建議大家使用matplotlib通過底層圖表模塊進行編碼。當然,我們大部分人在工作中是不會有這樣變態(tài)的要求的,所以一句import pandas as pd就足夠應(yīng)付全部的可視化工作了。

下面,我們總結(jié)一下PD庫的一些使用方法和入門技巧。

一、線型圖

對于pandas的內(nèi)置數(shù)據(jù)類型,Series 和 DataFrame 都有一個用于生成各類 圖表 的 plot 方法。 默認情況下, 它們所生成的是線型圖。其實Series和DataFrame上的這個功能只是使用matplotlib庫的plot()方法的簡單包裝實現(xiàn)。參考以下示例代碼 -

import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.randn(10,4),index=pd.date_range('2018/12/18',
 periods=10), columns=list('ABCD'))
 
df.plot()

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Pandas生成可視化圖表

如果索引由日期組成,則調(diào)用gct().autofmt_xdate()來格式化x軸,如上圖所示。

我們可以使用x和y關(guān)鍵字繪制一列與另一列。

s = Series( np. random. randn( 10). cumsum(), index= np. arange( 0, 100, 10))
s. plot()

Pandas生成可視化圖表

pandas 的大部分繪圖方法都有 一個 可選的ax參數(shù), 它可以是一個 matplotlib 的 subplot 對象。 這使你能夠在網(wǎng)格 布局 中 更為靈活地處理 subplot 的位置。 DataFrame的plot 方法會在 一個 subplot 中為各列繪制 一條 線, 并自動創(chuàng)建圖例( 如圖所示):

df = DataFrame( np. random. randn( 10, 4). cumsum( 0), ...: columns=[' A', 'B', 'C', 'D'], index= np. arange( 0, 100, 10)) 
 
df. plot() 

Pandas生成可視化圖表

二、柱狀圖

在生成線型圖的代碼中加上 kind=' bar'( 垂直柱狀圖) 或 kind=' barh'( 水平柱狀圖) 即可生成柱狀圖。 這時,Series 和 DataFrame 的索引將會被用 作 X( bar) 或 (barh)刻度:

In [59]: fig, axes = plt. subplots( 2, 1) 
 
In [60]: data = Series( np. random. rand( 16), index= list(' abcdefghijklmnop')) 
 
In [61]: data. plot( kind=' bar', ax= axes[ 0], color=' k', alpha= 0. 7) 
 
Out[ 61]: < matplotlib. axes. AxesSubplot at 0x4ee7750> 
 
In [62]: data. plot( kind=' barh', ax= axes[ 1], color=' k', alpha= 0.

對于 DataFrame, 柱狀 圖 會 將 每一 行的 值 分為 一組, 如圖 8- 16 所示:

In [63]: df = DataFrame( np. random. rand( 6, 4), ...: index=[' one', 'two', 'three', 'four', 'five', 'six'], ...: columns= pd. Index([' A', 'B', 'C', 'D'], name=' Genus')) 
 
In [64]: df 
 
Out[ 64]: 
 
Genus 
 
   A   B   C   D 
one 0. 301686 0. 156333 0. 371943 0. 270731 
two 0. 750589 0. 525587 0. 689429 0. 358974 
three 0. 381504 0. 667707 0. 473772 0. 632528 
four 0. 942408 0. 180186 0. 708284 0. 641783 
five 0. 840278 0. 909589 0. 010041 0. 653207 
six 0. 062854 0. 589813 0. 811318 0. 060217 
 
In [65]: df. plot( kind=' bar')

Pandas生成可視化圖表

三、條形圖

現(xiàn)在通過創(chuàng)建一個條形圖來看看條形圖是什么。條形圖可以通過以下方式來創(chuàng)建 -

import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])
df.plot.bar()

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Pandas生成可視化圖表

要生成一個堆積條形圖,通過指定:pass stacked=True -

import pandas as pd
df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])
df.plot.bar(stacked=True)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Pandas生成可視化圖表

要獲得水平條形圖,使用barh()方法 -

import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.rand(10,4),columns=['a','b','c','d'])
 
df.plot.barh(stacked=True)

四、直方圖

可以使用plot.hist()方法繪制直方圖。我們可以指定bins的數(shù)量值。

import pandas as pd
import numpy as np
 
df = pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':
np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])
 
df.plot.hist(bins=20)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Pandas生成可視化圖表

要為每列繪制不同的直方圖,請使用以下代碼 -

import pandas as pd
import numpy as np
 
df=pd.DataFrame({'a':np.random.randn(1000)+1,'b':np.random.randn(1000),'c':
np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])
 
df.hist(bins=20)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Pandas生成可視化圖表

五、箱型圖

Boxplot可以繪制調(diào)用Series.box.plot()和DataFrame.box.plot()或DataFrame.boxplot()來可視化每列中值的分布。

例如,這里是一個箱形圖,表示對[0,1)上的統(tǒng)一隨機變量的10次觀察的五次試驗。

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
df.plot.box()

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Pandas生成可視化圖表

六、塊型圖

可以使用Series.plot.area()或DataFrame.plot.area()方法創(chuàng)建區(qū)域圖形。

import pandas as pd
import numpy as np
 
df = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df.plot.area()

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Pandas生成可視化圖表

七、散點圖

可以使用DataFrame.plot.scatter()方法創(chuàng)建散點圖。

import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.rand(50, 4), columns=['a', 'b', 'c', 'd'])
df.plot.scatter(x='a', y='b')

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Pandas生成可視化圖表

八、餅狀圖

餅狀圖可以使用DataFrame.plot.pie()方法創(chuàng)建。

import pandas as pd
import numpy as np
 
df = pd.DataFrame(3 * np.random.rand(4), index=['a', 'b', 'c', 'd'], columns=['x'])
df.plot.pie(subplots=True)

執(zhí)行上面示例代碼,得到以下結(jié)果 -

Pandas生成可視化圖表

以上這篇Python數(shù)據(jù)分析:手把手教你用Pandas生成可視化圖表的教程就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Python 動態(tài)導入對象,importlib.import_module()的使用方法

    Python 動態(tài)導入對象,importlib.import_module()的使用方法

    今天小編就為大家分享一篇Python 動態(tài)導入對象,importlib.import_module()的使用方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-08-08
  • 用Python+OpenCV對比圖像質(zhì)量的幾種方法

    用Python+OpenCV對比圖像質(zhì)量的幾種方法

    這篇文章主要介紹了用Python+OpenCV對比圖像質(zhì)量過程詳解,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2019-07-07
  • Python中順序結(jié)構(gòu)和循環(huán)結(jié)構(gòu)示例代碼

    Python中順序結(jié)構(gòu)和循環(huán)結(jié)構(gòu)示例代碼

    這篇文章主要介紹了Python中的條件語句和循環(huán)語句,條件語句用于根據(jù)條件執(zhí)行不同的代碼塊,循環(huán)語句用于重復(fù)執(zhí)行一段代碼,文章還詳細說明了range函數(shù)的使用和continue與break語句的作用,需要的朋友可以參考下
    2025-02-02
  • Python復(fù)合賦值運算符由淺入深實例探究

    Python復(fù)合賦值運算符由淺入深實例探究

    這篇文章主要為大家介紹了Python復(fù)合賦值運算符由淺入深實例探究,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪
    2024-01-01
  • 使用PyTorch實現(xiàn)MNIST手寫體識別代碼

    使用PyTorch實現(xiàn)MNIST手寫體識別代碼

    今天小編就為大家分享一篇使用PyTorch實現(xiàn)MNIST手寫體識別代碼,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-01-01
  • Python連接Hadoop數(shù)據(jù)中遇到的各種坑(匯總)

    Python連接Hadoop數(shù)據(jù)中遇到的各種坑(匯總)

    這篇文章主要介紹了Python連接Hadoop數(shù)據(jù)中遇到的各種坑,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-04-04
  • pyspark操作MongoDB的方法步驟

    pyspark操作MongoDB的方法步驟

    這篇文章主要介紹了pyspark操作MongoDB的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-01-01
  • python pyinstaller打包exe報錯的解決方法

    python pyinstaller打包exe報錯的解決方法

    這篇文章主要給大家介紹了關(guān)于python pyinstaller打包exe報錯的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者使用python具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-11-11
  • python3實現(xiàn)163郵箱SMTP發(fā)送郵件

    python3實現(xiàn)163郵箱SMTP發(fā)送郵件

    這篇文章主要為大家詳細介紹了Python3實現(xiàn)163郵箱SMTP發(fā)送郵件,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-05-05
  • 實例代碼講解Python 線程池

    實例代碼講解Python 線程池

    這篇文章主要介紹了Python 線程池的相關(guān)資料,幫助大家更好的理解和學習python,感興趣的朋友可以了解下
    2020-08-08

最新評論

平湖市| 青海省| 承德市| 镇沅| 河池市| 大冶市| 神木县| 深圳市| 大厂| 改则县| 江源县| 桦川县| 苏州市| 崇义县| 龙泉市| 汉沽区| 奉节县| 五指山市| 磴口县| 乃东县| 嵩明县| 潼关县| 称多县| 连南| 承德县| 长葛市| 竹山县| 门源| 重庆市| 易门县| 嫩江县| 田林县| 九江县| 年辖:市辖区| 玉环县| 江口县| 葫芦岛市| 额尔古纳市| 金平| 博客| 盘山县|