Pandas 是一個(gè)開(kāi)源的第三方 Python 庫(kù),從 Numpy 和 Matplotlib 的基礎(chǔ)上構(gòu)建而來(lái),享有數(shù)據(jù)分析“三劍客之一”的盛名(NumPy、Matplotlib、Pandas)。Pandas 已經(jīng)成為 Python 數(shù)據(jù)分析的必備高級(jí)工具,它的目標(biāo)是成為強(qiáng)大、靈活、可以支持任何編程語(yǔ)言的數(shù)據(jù)分析工具。
Pandas 這個(gè)名字來(lái)源于面板數(shù)據(jù)(Panel Data)與數(shù)據(jù)分析(data analysis)這兩個(gè)名詞的組合。在經(jīng)濟(jì)學(xué)中,Panel Data 是一個(gè)關(guān)于多維數(shù)據(jù)集的術(shù)語(yǔ)。Pandas 最初被應(yīng)用于金融量化交易領(lǐng)域,現(xiàn)在它的應(yīng)用領(lǐng)域更加廣泛,涵蓋了農(nóng)業(yè)、工業(yè)、交通等許多行業(yè)。
Pandas 最初由 Wes McKinney(韋斯·麥金尼)于 2008 年開(kāi)發(fā),并于 2009 年實(shí)現(xiàn)開(kāi)源。目前,Pandas 由 PyData 團(tuán)隊(duì)進(jìn)行日常的開(kāi)發(fā)和維護(hù)工作。在 2020 年 12 月,PyData 團(tuán)隊(duì)公布了最新的 Pandas 1.20 版本 。
在 Pandas 沒(méi)有出現(xiàn)之前,Python 在數(shù)據(jù)分析任務(wù)中主要承擔(dān)著數(shù)據(jù)采集和數(shù)據(jù)預(yù)處理的工作,但是這對(duì)數(shù)據(jù)分析的支持十分有限,并不能突出 Python 簡(jiǎn)單、易上手的特點(diǎn)。Pandas 的出現(xiàn)使得 Python 做數(shù)據(jù)分析的能力得到了大幅度提升,它主要實(shí)現(xiàn)了數(shù)據(jù)分析的五個(gè)重要環(huán)節(jié):
Pandas 主要包括以下幾個(gè)特點(diǎn):
上述知識(shí)點(diǎn)將在后續(xù)學(xué)習(xí)中為大家一一講解。
與其它語(yǔ)言的數(shù)據(jù)分析包相比,Pandas 具有以下優(yōu)勢(shì):
我們知道,構(gòu)建和處理二維、多維數(shù)組是一項(xiàng)繁瑣的任務(wù)。Pandas 為解決這一問(wèn)題, 在 ndarray 數(shù)組(NumPy 中的數(shù)組)的基礎(chǔ)上構(gòu)建出了兩種不同的數(shù)據(jù)結(jié)構(gòu),分別是 Series(一維數(shù)據(jù)結(jié)構(gòu))DataFrame(二維數(shù)據(jù)結(jié)構(gòu)):
下面對(duì)上述數(shù)據(jù)結(jié)構(gòu)做簡(jiǎn)單地的說(shuō)明:
數(shù)據(jù)結(jié)構(gòu) | 維度 | 說(shuō)明 |
---|---|---|
Series | 1 | 該結(jié)構(gòu)能夠存儲(chǔ)各種數(shù)據(jù)類型,比如字符數(shù)、整數(shù)、浮點(diǎn)數(shù)、Python 對(duì)象等,Series 用 name 和 index 屬性來(lái)描述
數(shù)據(jù)值。Series 是一維數(shù)據(jù)結(jié)構(gòu),因此其維數(shù)不可以改變。 |
DataFrame | 2 | DataFrame 是一種二維表格型數(shù)據(jù)的結(jié)構(gòu),既有行索引,也有列索引。行索引是 index,列索引是 columns。
在創(chuàng)建該結(jié)構(gòu)時(shí),可以指定相應(yīng)的索引值。 |
由于上述數(shù)據(jù)結(jié)構(gòu)的存在,使得處理多維數(shù)組數(shù)任務(wù)變的簡(jiǎn)單。在《Pandas Series入門(mén)教程》和《Pandas DataFrame入門(mén)教程(圖解)》兩節(jié)中,我們會(huì)對(duì)上述數(shù)據(jù)結(jié)構(gòu)做詳細(xì)講解。
注意,在 Pandas 0.25 版本后,Pamdas 廢棄了 Panel 數(shù)據(jù)結(jié)構(gòu),如果感興趣可閱讀《Pandas Panel三維數(shù)據(jù)結(jié)構(gòu)》一節(jié)。
更多建議: