乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      pandas可視化(3)【官方文檔解讀】-- 箱線圖

       大哥快走 2017-08-09

      作者:王大偉

      Python愛好者社區(qū)唯一小編

      博客:https://ask./blog/wangdawei


      點(diǎn)擊上圖即可限時(shí)半價(jià)購(gòu)買課程


      前言

      前文傳送門:

      pandas可視化(1)【官方文檔解讀】--基礎(chǔ)繪圖

      pandas可視化(2)【官方文檔解讀】-- 條形圖、直方圖


      如繪圖過程中,中文字體和負(fù)號(hào)顯示有問題,可以參照如下鏈接修改配置參數(shù)設(shè)置正常顯示:

      https://www./post/441


      環(huán)境

      IDE : jupyter notebook

      Anaconda 3.X


      箱線圖
      import matplotlib
      import matplotlib.pyplot as plt
      import pandas as pd
      import numpy as np
      matplotlib.style.use('ggplot')#使用ggplot樣式
      %matplotlib inline

      注:如前一章,先導(dǎo)入必要的模塊和繪圖的數(shù)據(jù)準(zhǔn)備


      df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E'])
      df.head()

      注:使用numpy產(chǎn)生一個(gè)10行5列的矩陣,矩陣內(nèi)的元素是隨機(jī)產(chǎn)生的標(biāo)準(zhǔn)正態(tài)分布數(shù)字

      然后將矩陣轉(zhuǎn)為df,給這五列數(shù)據(jù)欄位命名為A、B、C、D、E,并顯示其前五行觀察



      df.plot.box()

      注:繪制箱線圖


      注:這里有A~E五個(gè)箱線圖放在一張圖,理解為5次試驗(yàn),每次的即為其對(duì)應(yīng)列中的十行(10個(gè)數(shù)字)的箱線圖

      箱線圖解釋如下圖:



      color = dict(boxes='DarkGreen', whiskers='DarkOrange',
                  medians='DarkBlue', caps='Gray')
      df.plot.box(color=color, sym='r+')

      注:繪制箱線圖,這里增加了箱線圖每部分線條顏色的設(shè)置,至于sym官方解釋是:specify fliers style

      直譯為:指定傳單風(fēng)格,我們暫且可以認(rèn)為是繪圖的某種風(fēng)格,我把這個(gè)參數(shù)去掉繪圖發(fā)現(xiàn)沒什么區(qū)別

      如果有朋友理解,請(qǐng)留言評(píng)論賜教



      df.plot.box(vert=False, positions=[1, 4, 5, 6, 8])


      注:這里vert = False繪制水平箱線圖,并且將幕布豎直方向分為8塊等大小區(qū)域

      將5個(gè)箱線圖從下到上依次畫在1、4、5、6、8五個(gè)位置


      可以使用DataFrame.boxplot來繪制boxplot的界面

      df = pd.DataFrame(np.random.rand(10,5))
      plt.figure()
      bp = df.boxplot()


      注:使用和之前產(chǎn)生df一樣的方法產(chǎn)生df,然后用df的boxplot方法畫箱線圖


      df = pd.DataFrame(np.random.rand(10,2), columns=['Col1', 'Col2'] )
      df['X'] = pd.Series(['A','A','A','A','A','B','B','B','B','B'])
      plt.figure()
      bp = df.boxplot(by='X')


      注:在原有的df上增加一欄X,其中包含A,B兩種分類,最后根據(jù)這種分類分別對(duì)col1和col2畫箱線圖


      df = pd.DataFrame(np.random.rand(10,3), columns=['Col1', 'Col2', 'Col3'])
      df['X'] = pd.Series(['A','A','A','A','A','B','B','B','B','B'])
      df['Y'] = pd.Series(['A','B','A','B','A','B','A','B','A','B'])
      plt.figure();
      bp = df.boxplot(column=['Col1','Col2'], by=['X','Y'])


      注:這里傳入兩個(gè)分類依據(jù),所以2X2有四種分類組合


      np.random.seed(1234)
      df_box = pd.DataFrame(np.random.randn(50, 2))
      df_box['g'] = np.random.choice(['A', 'B'], size=50)
      df_box.loc[df_box['g'] == 'B', 1] += 3
      bp = df_box.boxplot(by='g')

      注:這段比較難理解,我們分步理解:

      np.random.seed(1234)
      df_box = pd.DataFrame(np.random.randn(50, 2))
      df_box.head()


      注:這里使用某種隨機(jī)數(shù)種子產(chǎn)生器,隨機(jī)產(chǎn)生一個(gè)50行2列的df

      df_box['g'] = np.random.choice(['A', 'B'], size=50)
      df_box.head()


      注:然后加一欄g,隨機(jī)分為A,B兩類

      df_box.loc[df_box['g'] == 'B', 1] += 3
      df_box.head()

      注:定位到所有g(shù)欄屬于B的行和第二列(索引是1),將其加3


      bp = df_box.boxplot(by='g')


      注:最后按照g欄分類畫圖,像之前兩張圖一樣


      和以下繪圖代碼注意對(duì)比:

      bp = df_box.groupby('g').boxplot()


      注:by有分開的意思,groupby有整合的意思


      pandas繪制箱線圖到此結(jié)束

      文中所寫如有謬誤請(qǐng)指出,感謝!


      參考文獻(xiàn)

      http://pandas./pandas-docs/stable/visualization.html#

      微課福利:Hellobi live |8月22日,利用 Python 建構(gòu)金融數(shù)據(jù)分析平臺(tái)

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多