日韩黑丝制服一区视频播放|日韩欧美人妻丝袜视频在线观看|九九影院一级蜜桃|亚洲中文在线导航|青草草视频在线观看|婷婷五月色伊人网站|日本一区二区在线|国产AV一二三四区毛片|正在播放久草视频|亚洲色图精品一区

分享

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

 大哥快走 2017-08-09

作者:王大偉

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

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


點擊上圖即可限時半價購買課程

前言

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

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

https://www./post/441


環(huán)境

IDE : jupyter notebook

Anaconda 3.X


條形圖

對于標(biāo)記的非時間序列數(shù)據(jù),你可能希望生成條形圖:

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

ts = pd.Series(np.random.randn(1000), index=pd.date_range('1/1/2000', periods=1000))
ts = ts.cumsum()
df = pd.DataFrame(np.random.randn(1000, 4), index=ts.index, columns=list('ABCD'))
df = df.cumsum()

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

plt.figure();
df.iloc[5].plot(kind='bar')
plt.axhline(0, color='k')

注:df.iloc[5]意思是取出df第6行(索引為5),然后繪制條形圖

plt.axhline(0, color='k')指的是在y=0的位置畫一條黑色的線


注:因為是隨機(jī)產(chǎn)生的值繪圖,你的圖一般和我不一樣,一樣就厲害了!

這種為圖所存在的內(nèi)存地址位置


df2 = pd.DataFrame(np.random.rand(10, 4), columns=['a', 'b', 'c', 'd'])
df2.plot.bar()

注:如果看了前一章,以上代碼很好理解,這里同一幅圖繪制多個條形圖比較


df2.plot.bar(stacked=True)

注:將a、b、c、d數(shù)據(jù)疊加起來繪制條形圖



df2.plot.barh(stacked=True)

注:繪制水平疊加條形圖


直方圖
df4 = pd.DataFrame({'a': np.random.randn(1000) + 1, 'b': np.random.randn(1000),
                   'c': np.random.randn(1000) - 1}, columns=['a', 'b', 'c'])
df4.head()


注:以標(biāo)準(zhǔn)正態(tài)分布為基礎(chǔ)產(chǎn)生一個df4


plt.figure()
df4.plot.hist(alpha=0.5)

注:繪制直方圖,alpha=0.5意思為透明度為50%


注:明明有三列數(shù)據(jù),畫出有六種顏色,應(yīng)該是是顏色疊加出了新顏色


plt.figure()
df4.plot.hist(stacked=True, bins=20)

注:畫堆積直方圖(不會重疊,直觀)bins=20指的是分為20個區(qū)段

圖中沒有顯示20個因為正態(tài)分布距離中心遠(yuǎn)處取值可能心很小,可能只有個別值,在圖中不明顯



plt.figure();
df4['a'].plot.hist(orientation='horizontal', cumulative=True)

注:取出A列畫橫向累積直方圖,采用默認(rèn)10個區(qū)段



plt.figure()
df['A'].diff().hist()

注:diff為差分,即后一個減去前一個,我們看一下:

df['A'].diff().head()

注:顯示A列中差分結(jié)果的前五個數(shù)


注意,第一個值不存在,因為原來的第一個數(shù)減去前面一個(第一個的前面一個數(shù)不存在),所以為NaN

差分后繪制的直方圖為(默認(rèn)為十個區(qū)段吧):



plt.figure()
df.diff().hist(color='g', alpha=0.5, bins=20)


注:df中四欄(4列)分別繪制一階差分的圖(綠色,半透明,分20區(qū)段),有種2x2子圖的感覺


data = pd.Series(np.random.randn(1000))
data.hist(by=np.random.randint(0, 4, 1000),figsize=(6, 4))

注:這里產(chǎn)生1000個正態(tài)分布的隨機(jī)數(shù),然后使用hist方法中的by參數(shù)隨機(jī)產(chǎn)生0-3中的整數(shù)(即0、1、2、3)

將原來的1000個正態(tài)分布的隨機(jī)數(shù)對應(yīng)上分組繪制四張圖

圖的長寬大小為6x4


pandas的繪圖真美~~~~~~~~

pandas繪制條形圖、正方圖到此結(jié)束

文中所寫如有謬誤請指出,感謝!


參考文獻(xiàn)

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

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

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

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多