国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
Python的利器Pandas庫(kù):超級(jí)簡(jiǎn)單的數(shù)據(jù)可視化作圖,你知道嗎?

1 說(shuō)明:

=====

1.1 Pandas

1.1.1 已經(jīng)成為最受歡迎的數(shù)據(jù)科學(xué)庫(kù)之一。

1.1.2 它易于使用,文檔非常棒,而且功能強(qiáng)大。

1.1.3 是python的一個(gè)利器,一個(gè)非常強(qiáng)大的數(shù)據(jù)分析工具包。

1.1.4 pandas也集成了數(shù)據(jù)可視化的功能,其數(shù)據(jù)可視化已經(jīng)可以滿(mǎn)足我們大部分的要求了,也就省下了我們很多自己使用 如 matplotlib 來(lái)數(shù)據(jù)可視化的工作。

======

1.2 我最近一直介紹各種各樣的python的數(shù)據(jù)可視化作圖,有靜態(tài)的,也有動(dòng)態(tài)交互式的,有個(gè)條友說(shuō)他曾經(jīng)折騰來(lái)折騰去還是回到matplotlib,我的介紹技術(shù)文章,盡量通俗易懂,我的代碼拿來(lái)就可以使用,省去大家很多時(shí)間。

1.3 今天,就來(lái)介紹一個(gè)更簡(jiǎn)單的python的數(shù)據(jù)可視化靜態(tài)作圖,就是pandas的內(nèi)置plot法(其實(shí)就是內(nèi)置了matplotlib)。

1.4 順帶復(fù)習(xí)python和pandas等的基礎(chǔ)知識(shí),代碼注釋里有詳細(xì)講解,注意這是講解學(xué)習(xí)版。

python數(shù)據(jù)可視化:由繁入簡(jiǎn)

2 準(zhǔn)備:

=====

2.1 官網(wǎng):

https://pandas.pydata.org/https://www.yiibai.com/pandas/python_pandas_visualization.html

2.2 安裝:

pip install pandas#推薦國(guó)內(nèi)源安裝,本機(jī)如下sudo pip3.8 install -i https://mirrors.aliyun.com/pypi/simple pandas

2.3 查看版本:

import pandaspandas.__version__

2.4 環(huán)境:

華為筆記本電腦、深度deepin-linux操作系統(tǒng)、python3.8和微軟vscode編輯器。

2.5 資料來(lái)源:

2.5.1 代碼:

import pandas as pdhelp(pd.DataFrame.plot)

2.5.2 圖:

2.5.3 對(duì)英文的文檔進(jìn)行代碼提煉、修改、注釋?zhuān)阌诖蠹夷脕?lái)就能使用。

3 pandas內(nèi)置plot作圖:

================

3.1 通常使用 pandas 進(jìn)行下列的圖形的快速繪圖:

=======================

'line’

'bar’ or 'barh’ for bar plots

'hist’ for histogram

'box’ for boxplot

'area’ for area plots

'scatter’ for scatter plots

'pie’ for pie plots

=====================

3.2 line折線圖:

3.2.1 代碼:

#導(dǎo)出模塊import pandas as pd#數(shù)據(jù)源,2組數(shù)據(jù)d = {'col1': [2,1,3,5,3], 'col2': [3,4,1,5,2] }#df = pd.DataFrame(data=d) #默認(rèn)x軸坐標(biāo)軸的標(biāo)簽#指定x坐標(biāo)軸的標(biāo)簽:index定義df = pd.DataFrame(data=d,index=['a', 'b', 'c', 'd','e']) #只顯示col1的這條折線line#df = pd.DataFrame(data=d,index=['a', 'b', 'c', 'd','e'],columns=['col1'])#df.plot() #默認(rèn)是plot.linedf.plot.line() #下面這么放,是區(qū)別平時(shí)我們看到以matplotlib作圖為主的代碼不同#雖然pandas的內(nèi)置plot是matplotlib,但是仍需要下面2種方法使其圖片顯示出來(lái)#方法一#import matplotlib.pyplot as plt#plt.show()#方法二import matplotlib.pylab as plpl.show()

3.2.2 圖:

3.3 bar柱狀圖:垂直柱狀圖

3.3.1 代碼:

#導(dǎo)出模塊import pandas as pd#數(shù)據(jù)源,2組數(shù)據(jù)d = {'col1': [2,1,3,5,3],      'col2': [3,4,1,5,2]    }#指定x坐標(biāo)軸的標(biāo)簽:index定義df = pd.DataFrame(data=d,index=['dog', 'pig', 'cow', 'sheep','horse'],) #默認(rèn)顯示2組#df = pd.DataFrame(data=d,columns=['col1', 'col2']) #df = pd.DataFrame(data=d,) #等同上面#subplots=True,分子圖顯示,2組就分2個(gè)子圖#df.plot.bar(subplots=True) #比matplotlib超級(jí)簡(jiǎn)單df.plot.bar() #默認(rèn)是一張圖顯示2組#在這樣放一次import matplotlib.pyplot as pltplt.show()

3.3.2 圖:

bar==默認(rèn)是vertical bar plot==垂直柱狀圖

3.4 barh水平柱狀圖:

3.4.1 代碼:

#導(dǎo)出模塊import pandas as pdimport matplotlib.pyplot as plt'''#數(shù)據(jù)源:方法一d = {'a': [2,1,3,5,3], 'b': [3,4,1,5,2], 'c': [1,2,4,2,2] }#指定x坐標(biāo)軸的標(biāo)簽:index定義df = pd.DataFrame(data=d,index=['dog', 'pig', 'cow', 'sheep','horse']) '''#方法二:df = pd.DataFrame( {'a': [2,1,3,5,3], 'b': [3,4,1,5,2], 'c': [1,2,4,2,2], }, index=['dog', 'pig', 'cow', 'sheep','horse'])#啟動(dòng)pandas的df的plot的barh圖df.plot.barh() #barh==horizontal bar plot==水平柱狀圖#圖片展示plt.show()

3.4.2 圖:

3.5 box箱式圖:

3.5.1 代碼:

#導(dǎo)出模塊import pandas as pdimport matplotlib.pyplot as plt#方法一d= {'a': [2,1,3,5,3,3,4,1,5,2],      'b': [3,4,1,5,2,1,2,4,2,2],     'c': [1,2,4,2,2,3,1,5,3,4],     'd': [3,1,5,3,4,2,1,3,5,3],}df=pd.DataFrame(data=d,)'''#建議數(shù)據(jù)大于4組10列df = pd.DataFrame(   {'a': [2,1,3,5,3,3,4,1,5,2],      'b': [3,4,1,5,2,1,2,4,2,2],     'c': [1,2,4,2,2,3,1,5,3,4],     'd': [3,1,5,3,4,2,1,3,5,3],   #},columns=list('abcd'))  #注意已經(jīng)有abcd了,所以columns=list('abcd')不需要   }) #等同于上面'''#ax = df.plot.box()df.plot.box() #等于上面,box=箱式圖#圖片展示plt.show()

3.5.2 圖:

3.6 stackedbar垂直堆砌柱狀圖:

3.6.1 代碼:

#導(dǎo)出模塊import pandas as pdimport matplotlib.pyplot as plt#數(shù)據(jù)d= {'a': [2,1,3,5,3,3,4,1,5,2], 'b': [3,4,1,5,2,1,2,4,2,2], 'c': [1,2,4,2,2,3,1,5,3,4], 'd': [3,1,5,3,4,2,1,3,5,3],}#注意:index是x坐標(biāo)軸的標(biāo)簽,注意list('ABCDEFGHIJ')=['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']'''#插入知識(shí)點(diǎn):復(fù)習(xí)一下aaa=list('ABCDEFGHIJ')df=pd.DataFrame(data=d,index=aaa)#print(aaa)#['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J']'''df=pd.DataFrame(data=d,index=list('ABCDEFGHIJ')) #等同于上面#注意bar是柱狀圖,括號(hào)里定義stacked=True就是垂直堆砌柱狀圖#默認(rèn)stacked=False,不是堆砌柱狀圖,圖標(biāo)的標(biāo)題名df.plot.bar(stacked=True,title='pd_plot_stacked_bar') #圖片展示plt.show()

3.6.2 圖:

===高級(jí)一點(diǎn)===

4 area面積圖:

==========

4.1 代碼:

#導(dǎo)出模塊import pandas as pdimport matplotlib.pyplot as plt#數(shù)據(jù)df = pd.DataFrame({   'sales': [3, 2, 3, 9, 10, 6],   'signups': [5, 5, 6, 12, 14, 13],   'visits': [20, 42, 28, 62, 81, 50], }, #index=pd.date_range(start='2018/01/01', end='2018/07/01',freq='M',) ,#這樣報(bào)錯(cuò),報(bào)中文設(shè)置錯(cuò)誤#index=pd.date_range(start='1M', end='7M',freq='M',) ,#這樣報(bào)錯(cuò)index=['1M','2M','3M','4M','5M','6M'],  #本機(jī)這樣沒(méi)有報(bào)錯(cuò)#index=['1月','2M','3M','4M','5M','6M'],  #本機(jī)這樣沒(méi)有報(bào)錯(cuò))#ax = df.plot.area()#df.plot.area()df.plot.area(stacked=True,) #默認(rèn)是True#df.plot.area(stacked=False) #如果數(shù)據(jù)差別比較大,建議不要堆砌plt.show()

4.2 圖:

4.3 解決中文辦法,代碼,推薦這種辦法,自己解決中文字體問(wèn)題:

#導(dǎo)出模塊import pandas as pdimport matplotlib.pyplot as plt#導(dǎo)出通用字體設(shè)置from matplotlib import font_manager #定義引出字體模塊、位置、大小,字體在根目錄下,華文仿宋.ttf自己下載的中文字體my_font = font_manager.FontProperties(fname='hwfs.ttf',size=10)#定義x坐標(biāo)軸的文字列表,python3中不要求加u,加u也沒(méi)事xtick_labels=[u'1月','2月','3月','4月','5月','6月']df = pd.DataFrame({ 'sales': [3, 2, 3, 9, 10, 6], 'signups': [5, 5, 6, 12, 14, 13], 'visits': [20, 42, 28, 62, 81, 50], }, #index=pd.date_range(start='2018/01/01', end='2018/07/01',freq='M',) ,#這樣報(bào)錯(cuò),報(bào)中文設(shè)置錯(cuò)誤index=xtick_labels,)df.plot.area()#默認(rèn)的x坐標(biāo)刻度位置列表x=[1,2,3,4,5,6]plt.xticks(x,xtick_labels,fontproperties=my_font)plt.show()

4.4 圖:解決中文字體,則需要調(diào)用matplotlib的作圖法,調(diào)動(dòng)函數(shù)

4.5 官方代碼、效果圖和問(wèn)題分析:

#index=pd.date_range(start='2018/01/01', end='2018/07/01',freq='M',)#print(index)'''DatetimeIndex(['2018-01-31', '2018-02-28', '2018-03-31', '2018-04-30',               '2018-05-31', '2018-06-30'],              dtype='datetime64[ns]', freq='M')'''#報(bào)錯(cuò)原因,我暫時(shí)無(wú)法解決'''/usr/local/python3.8/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:214: RuntimeWarning: Glyph 26376 missing from current font.  font.set_text(s, 0.0, flags=flags)/usr/local/python3.8/lib/python3.8/site-packages/matplotlib/backends/backend_agg.py:183: RuntimeWarning: Glyph 26376 missing from current font.  font.set_text(s, 0, flags=flags)'''

5 餅狀圖pie:

========

5.1 代碼:

#導(dǎo)出模塊import pandas as pdimport matplotlib.pyplot as pltdf = pd.DataFrame( {'mass': [0.330, 4.87 , 5.97], 'radius': [2439.7, 6051.8, 6378.1] }, index=['Mercury', 'Venus', 'Earth'] )#y='mass',相當(dāng)于餅圖的標(biāo)題名,位于y軸#plot = df.plot.pie(y='mass', figsize=(5, 5))#df.plot.pie(y='mass', figsize=(5, 5)) #只顯示mass的餅狀圖df.plot.pie(subplots=True, figsize=(5, 5)) #顯示mass和radius的兩個(gè)子圖的餅狀圖#subplots=True,默認(rèn)是Falseplt.show()

5.2 圖:

6 散點(diǎn)圖Scatter:

============

6.1 代碼:

#導(dǎo)出模塊import pandas as pdimport matplotlib.pyplot as pltdf = pd.DataFrame(    [[5.1, 3.5, 0], [4.9, 3.0, 0], [7.0, 3.2, 1],[6.4, 3.2, 1], [5.9, 3.0, 2]],    columns=['length', 'width', 'species']    )#經(jīng)典Scatter散點(diǎn)圖#只能顯示2組數(shù)據(jù),將x和y軸的25份數(shù)據(jù)進(jìn)行類(lèi)似x和y的作圖ax1 = df.plot.scatter(x='length',y='width',c='red')   '''#高級(jí)散點(diǎn)圖,省略,僅僅給代碼ax2 = df.plot.scatter(x='length',                      y='width',                      c='species',                      colormap='viridis')'''plt.show()

6.2 圖:

7 小結(jié):

靜態(tài)圖其實(shí)也很重要,在平時(shí)的絕大多數(shù)人的多數(shù)工作中,基本上都是用到靜態(tài)圖,適合學(xué)生、老師、工作人員,所以今天重點(diǎn)將pandas的基本繪圖法,超級(jí)簡(jiǎn)單,比matplotlib還簡(jiǎn)單。

其實(shí)就是pandas內(nèi)置matplotlib,調(diào)出作圖。

===自己整理并分享出來(lái)===

喜歡的就點(diǎn)贊、評(píng)論、關(guān)注、轉(zhuǎn)發(fā)和收藏。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
pandas可視化(2)【官方文檔解讀】-- 條形圖、直方圖
用Python語(yǔ)言對(duì)股票進(jìn)行技術(shù)分析
使用Python的pandas模塊、mplfinance模塊、matplotlib模塊繪制K線圖
使用Pandas也可以進(jìn)行數(shù)據(jù)可視化
python數(shù)據(jù)分析之:繪圖和可視化
數(shù)據(jù)可視化干貨:使用pandas和seaborn制作炫酷圖表(附代碼)
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服