溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎么用Python中的Pandas庫(kù)繪制數(shù)據(jù)

發(fā)布時(shí)間:2022-01-24 16:03:14 來(lái)源:億速云 閱讀:155 作者:zzz 欄目:開發(fā)技術(shù)

本篇內(nèi)容主要講解“怎么用Python中的Pandas庫(kù)繪制數(shù)據(jù)”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“怎么用Python中的Pandas庫(kù)繪制數(shù)據(jù)”吧!

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)域。

怎么用Python中的Pandas庫(kù)繪制數(shù)據(jù)

在本系列中,我們將在每個(gè)庫(kù)中制作相同的多條形柱狀圖,以便我們可以比較它們的工作方式。我們使用的數(shù)據(jù)是 1966 年至 2020 年的英國(guó)大選結(jié)果:

怎么用Python中的Pandas庫(kù)繪制數(shù)據(jù)

在繼續(xù)之前,請(qǐng)注意你可能需要調(diào)整 Python 環(huán)境來(lái)運(yùn)行此代碼,包括:

  1. 運(yùn)行最新版本的 Python(用于 Linux、Mac 和 Windows 的說明)
  2. 確認(rèn)你運(yùn)行的是與這些庫(kù)兼容的 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ù)來(lái)實(shí)際生成繪圖的原因。

看起來(lái)是這樣的:

怎么用Python中的Pandas庫(kù)繪制數(shù)據(jù)

調(diào)整樣式

我們可以通過訪問底層的 Matplotlib 方法輕松地調(diào)整樣式。

首先,我們可以通過將 Matplotlib 顏色表傳遞到繪圖函數(shù)來(lái)為柱狀圖著色:

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)在的樣子:

怎么用Python中的Pandas庫(kù)繪制數(shù)據(jù)

這與上面的 Matplotlib 版本幾乎相同,但是只用了 8 行代碼而不是 16 行!我內(nèi)心的代碼高手非常高興。

抽象必須是可轉(zhuǎn)義的

與 Seaborn 一樣,向下訪問 Matplotlib API 進(jìn)行細(xì)節(jié)調(diào)整的能力確實(shí)很有幫助。這是給出抽象緊急出口使其既強(qiáng)大又簡(jiǎn)單的一個(gè)很好的例子。

到此,相信大家對(duì)“怎么用Python中的Pandas庫(kù)繪制數(shù)據(jù)”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI