新聞中心
pandas是一個(gè)強(qiáng)大的分析結(jié)構(gòu)化數(shù)據(jù)的工具集;它的使用基礎(chǔ)是Numpy(提供高性能的矩陣運(yùn)算);用于數(shù)據(jù)挖掘和數(shù)據(jù)分析,同時(shí)也提供數(shù)據(jù)清洗功能,Pandas 廣泛應(yīng)用在學(xué)術(shù)、金融、統(tǒng)計(jì)學(xué)等各個(gè)數(shù)據(jù)分析領(lǐng)域,本篇文章重點(diǎn)為大家講解一下Python中Pandas庫繪制數(shù)據(jù)具體方法。

創(chuàng)新互聯(lián)主營(yíng)衛(wèi)東網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,成都app軟件開發(fā)公司,衛(wèi)東h5小程序設(shè)計(jì)搭建,衛(wèi)東網(wǎng)站營(yíng)銷推廣歡迎衛(wèi)東等地區(qū)企業(yè)咨詢
在本系列中,我們將在每個(gè)庫中制作相同的多條形柱狀圖,以便我們可以比較它們的工作方式。我們使用的數(shù)據(jù)是 1966 年至 2020 年的英國(guó)大選結(jié)果:
在繼續(xù)之前,請(qǐng)注意你可能需要調(diào)整 Python 環(huán)境來運(yùn)行此代碼,包括:
-
運(yùn)行最新版本的 Python(用于 Linux、Mac 和 Windows 的說明)
-
確認(rèn)你運(yùn)行的是與這些庫兼容的 Python 版本
數(shù)據(jù)可在線獲得,并可使用 Pandas 導(dǎo)入:
import pandas as pd
df = pd.read_csv('https://anvil.works/blog/img/plotting-in-python/uk-election-results.csv')
現(xiàn)在我們已經(jīng)準(zhǔn)備好了。在本系列文章中,我們已經(jīng)看到了一些令人印象深刻的簡(jiǎn)單 API,但是 Pandas 一定能奪冠。
要在 x 軸上繪制按年份和每個(gè)黨派分組的柱狀圖,我只需要這樣做:
import matplotlib.pyplot as plt
ax = df.plot.bar(x='year')
plt.show()
只有四行,這絕對(duì)是我們?cè)诒鞠盗兄袆?chuàng)建的最棒的多條形柱狀圖。
我以寬格式使用數(shù)據(jù),這意味著每個(gè)黨派都有一列:
year conservative labour liberal others
0 1966 253 364 12 1
1 1970 330 287 6 7
2 Feb 1974 297 301 14 18
.. ... ... ... ... ...
12 2015 330 232 8 80
13 2017 317 262 12 59
14 2019 365 202 11 72
這意味著 Pandas 會(huì)自動(dòng)知道我希望如何分組,如果我希望進(jìn)行不同的分組,Pandas 可以很容易地重組 DataFrame。
與 Seaborn 一樣,Pandas 的繪圖功能是 Matplotlib 之上的抽象,這就是為什么要調(diào)用 Matplotlib 的 plt.show() 函數(shù)來實(shí)際生成繪圖的原因。
看起來是這樣的:
調(diào)整樣式
我們可以通過訪問底層的 Matplotlib 方法輕松地調(diào)整樣式。
首先,我們可以通過將 Matplotlib 顏色表傳遞到繪圖函數(shù)來為柱狀圖著色:
from matplotlib.colors import ListedColormap
cmap = ListedColormap(['#0343df', '#e50000', '#ffff14', '#929591'])
ax = df.plot.bar(x='year', colormap=cmap)
我們可以使用繪圖函數(shù)的返回值設(shè)置坐標(biāo)軸標(biāo)簽和標(biāo)題,它只是一個(gè) Matplotlib 的 Axis 對(duì)象。
ax.set_xlabel(None)
ax.set_ylabel('Seats')
ax.set_title('UK election results')
這是現(xiàn)在的樣子:
這與上面的 Matplotlib 版本幾乎相同,但是只用了 8 行代碼而不是 16 行!我內(nèi)心的代碼高手非常高興。
抽象必須是可轉(zhuǎn)義的
與 Seaborn 一樣,向下訪問 Matplotlib API 進(jìn)行細(xì)節(jié)調(diào)整的能力確實(shí)很有幫助。這是給出抽象緊急出口使其既強(qiáng)大又簡(jiǎn)單的一個(gè)很好的例子。
當(dāng)前題目:Python中Pandas庫繪制數(shù)據(jù)具體方法
網(wǎng)址分享:http://www.5511xx.com/article/cogpiee.html


咨詢
建站咨詢
