作者:王大偉 Python愛好者社區(qū)唯一小編 博客:https://ask./blog/wangdawei 點(diǎn)擊上圖即可限時半價購買課程 前文傳送門: pandas可視化(1)【官方文檔解讀】--基礎(chǔ)繪圖 pandas可視化(2)【官方文檔解讀】-- 條形圖、直方圖 如繪圖過程中,中文字體和負(fù)號顯示有問題,可以參照如下鏈接修改配置參數(shù)設(shè)置正常顯示: https://www./post/441 IDE : jupyter notebook Anaconda 3.X import matplotlib 注:如前一章,先導(dǎo)入必要的模塊和繪圖的數(shù)據(jù)準(zhǔn)備 df = pd.DataFrame(np.random.rand(10, 5), columns=['A', 'B', 'C', 'D', 'E']) 注:使用numpy產(chǎn)生一個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五個箱線圖放在一張圖,理解為5次試驗,每次的即為其對應(yīng)列中的十行(10個數(shù)字)的箱線圖 箱線圖解釋如下圖: color = dict(boxes='DarkGreen', whiskers='DarkOrange', df.plot.box(color=color, sym='r+') 注:繪制箱線圖,這里增加了箱線圖每部分線條顏色的設(shè)置,至于sym官方解釋是:specify fliers style 直譯為:指定傳單風(fēng)格,我們暫且可以認(rèn)為是繪圖的某種風(fēng)格,我把這個參數(shù)去掉繪圖發(fā)現(xiàn)沒什么區(qū)別 如果有朋友理解,請留言評論賜教 df.plot.box(vert=False, positions=[1, 4, 5, 6, 8]) 注:這里vert = False繪制水平箱線圖,并且將幕布豎直方向分為8塊等大小區(qū)域 將5個箱線圖從下到上依次畫在1、4、5、6、8五個位置 可以使用DataFrame.boxplot來繪制boxplot的界面 df = pd.DataFrame(np.random.rand(10,5)) 注:使用和之前產(chǎn)生df一樣的方法產(chǎn)生df,然后用df的boxplot方法畫箱線圖 df = pd.DataFrame(np.random.rand(10,2), columns=['Col1', 'Col2'] ) 注:在原有的df上增加一欄X,其中包含A,B兩種分類,最后根據(jù)這種分類分別對col1和col2畫箱線圖 df = pd.DataFrame(np.random.rand(10,3), columns=['Col1', 'Col2', 'Col3']) 注:這里傳入兩個分類依據(jù),所以2X2有四種分類組合 np.random.seed(1234) 注:這段比較難理解,我們分步理解: np.random.seed(1234) 注:這里使用某種隨機(jī)數(shù)種子產(chǎn)生器,隨機(jī)產(chǎn)生一個50行2列的df df_box['g'] = np.random.choice(['A', 'B'], size=50) 注:然后加一欄g,隨機(jī)分為A,B兩類 df_box.loc[df_box['g'] == 'B', 1] += 3 注:定位到所有g(shù)欄屬于B的行和第二列(索引是1),將其加3 bp = df_box.boxplot(by='g') 注:最后按照g欄分類畫圖,像之前兩張圖一樣 和以下繪圖代碼注意對比: bp = df_box.groupby('g').boxplot() 注:by有分開的意思,groupby有整合的意思 pandas繪制箱線圖到此結(jié)束 文中所寫如有謬誤請指出,感謝! http://pandas./pandas-docs/stable/visualization.html# 微課福利:Hellobi live |8月22日,利用 Python 建構(gòu)金融數(shù)據(jù)分析平臺 |
|