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