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

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


咨詢
建站咨詢
