溫馨提示×

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

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

Python中pandas是什么

發(fā)布時(shí)間:2020-06-24 13:42:43 來源:億速云 閱讀:1333 作者:清晨 欄目:編程語言

不懂Python中pandas是什么?其實(shí)想解決這個(gè)問題也不難,下面讓小編帶著大家一起學(xué)習(xí)怎么去解決,希望大家閱讀完這篇文章后大所收獲。

了解 Pandas

Pandas 是 Python 的一個(gè)數(shù)據(jù)分析包,是基于 NumPy 構(gòu)建的,最初由 AQR Capital Management 于 2008 年 4 月開發(fā),并于 2009 年底開源出來,目前由專注于 Python 數(shù)據(jù)包開發(fā)的 PyData 開發(fā)團(tuán)隊(duì)繼續(xù)開發(fā)和維護(hù),屬于 PyData 項(xiàng)目的一部分。

Pandas 最初被作為金融數(shù)據(jù)分析工具而開發(fā)出來,因此,Pandas 為時(shí)間序列分析提供了很好的支持。Pandas 的名稱來自于面板數(shù)據(jù)(panel data)和 Python 數(shù)據(jù)分析(data analysis)。

panel data 是經(jīng)濟(jì)學(xué)中關(guān)于多維數(shù)據(jù)集的一個(gè)術(shù)語,在 Pandas 中也提供了 panel 的數(shù)據(jù)類型。

Pandas 經(jīng)常和其它工具一同使用,如數(shù)值計(jì)算工具 NumPy 和 SciPy,分析庫(kù) statsmodels 和 scikit-learn,數(shù)據(jù)可視化庫(kù) Matplotlib 等,雖然 Pandas 采用了大量的 NumPy 編碼風(fēng)格,但二者最大的不同是 Pandas 是專門為處理表格和混雜數(shù)據(jù)設(shè)計(jì)的。

而 NumPy 更適合處理統(tǒng)一的數(shù)值數(shù)組數(shù)據(jù)。

Pandas 是 Python 的核心數(shù)據(jù)分析支持庫(kù),提供了快速、靈活、明確的數(shù)據(jù)結(jié)構(gòu),旨在簡(jiǎn)單、直觀地處理關(guān)系型、標(biāo)記型數(shù)據(jù)。

Pandas 的目標(biāo)是成為 Python 數(shù)據(jù)分析實(shí)踐與實(shí)戰(zhàn)的必備高級(jí)工具,其長(zhǎng)遠(yuǎn)目標(biāo)是成為最強(qiáng)大、最靈活、可以支持任何語言的開源數(shù)據(jù)分析工具。經(jīng)過多年不懈的努力,Pandas 離這個(gè)目標(biāo)已經(jīng)越來越近了。

Pandas 適用于處理以下類型的數(shù)據(jù):

1、與 SQL 或 Excel 表類似的,含異構(gòu)列的表格數(shù)據(jù);

2、有序和無序(非固定頻率)的時(shí)間序列數(shù)據(jù);

3、帶行列標(biāo)簽的矩陣數(shù)據(jù),包括同構(gòu)或異構(gòu)型數(shù)據(jù);

4、任意其它形式的觀測(cè)、統(tǒng)計(jì)數(shù)據(jù)集, 數(shù)據(jù)轉(zhuǎn)入 Pandas 數(shù)據(jù)結(jié)構(gòu)時(shí)不必事先標(biāo)記。

Pandas 的主要數(shù)據(jù)結(jié)構(gòu)是 Series(一維數(shù)據(jù))與 DataFrame(二維數(shù)據(jù)),這兩種數(shù)據(jù)結(jié)構(gòu)足以處理- 金融、統(tǒng)計(jì)、社會(huì)科學(xué)、工程等領(lǐng)域里的大多數(shù)典型用例。

對(duì)于 R 語言用戶,DataFrame 提供了比 R 語言 data.frame 更豐富的功能。Pandas 基于 NumPy 開發(fā),可以與其它第三方科學(xué)計(jì)算支持庫(kù)完美集成。

Pandas 就像一把萬能瑞士軍刀,下面僅列出了它的部分優(yōu)勢(shì) :

1、處理浮點(diǎn)與非浮點(diǎn)數(shù)據(jù)里的缺失數(shù)據(jù),表示為 NaN;

2、大小可變:插入或刪除 DataFrame 等多維對(duì)象的列;

3、自動(dòng)、顯式數(shù)據(jù)對(duì)齊:顯式地將對(duì)象與一組標(biāo)簽對(duì)齊,也可以忽略標(biāo)簽,在 Series、DataFrame 計(jì)算時(shí)自動(dòng)與數(shù)據(jù)對(duì)齊;

4、強(qiáng)大、靈活的分組(group by)功能:拆分-應(yīng)用-組合數(shù)據(jù)集,聚合、轉(zhuǎn)換數(shù)據(jù);

5、把 Python 和 NumPy 數(shù)據(jù)結(jié)構(gòu)里不規(guī)則、不同索引的數(shù)據(jù)輕松地轉(zhuǎn)換為 DataFrame 對(duì)象;

6、基于智能標(biāo)簽,對(duì)大型數(shù)據(jù)集進(jìn)行切片、花式索引、子集分解等操作;

7、直觀地合并和連接數(shù)據(jù)集;

8、靈活地重塑和旋轉(zhuǎn)數(shù)據(jù)集;

9、軸支持分層標(biāo)簽(每個(gè)刻度可能有多個(gè)標(biāo)簽);

10、強(qiáng)大的 IO 工具,讀取平面文件(CSV 等支持分隔符的文件)、Excel 文件、數(shù)據(jù)庫(kù)等來源的數(shù)據(jù),以及從超快 HDF5 格式保存 / 加載數(shù)據(jù);

時(shí)間序列:支持日期范圍生成、頻率轉(zhuǎn)換、移動(dòng)窗口統(tǒng)計(jì)、移動(dòng)窗口線性回歸、日期位移等時(shí)間序列功能。

這些功能主要是為了解決其它編程語言、科研環(huán)境的痛點(diǎn)。處理數(shù)據(jù)一般分為幾個(gè)階段:數(shù)據(jù)整理與清洗、數(shù)據(jù)分析與建模、數(shù)據(jù)可視化與制表,Pandas 是處理數(shù)據(jù)的理想工具。

其它說明:

Pandas 速度很快。Pandas 的很多底層算法都用 Cython 優(yōu)化過。然而,為了保持通用性,必然要犧牲一些性能,如果專注某一功能,完全可以開發(fā)出比 Pandas 更快的專用工具。

Pandas 是 statsmodels 的依賴項(xiàng),因此,Pandas 也是 Python 中統(tǒng)計(jì)計(jì)算生態(tài)系統(tǒng)的重要組成部分。

Pandas 已廣泛應(yīng)用于金融領(lǐng)域。

Pandas 數(shù)據(jù)結(jié)構(gòu)

Pandas 的主要數(shù)據(jù)結(jié)構(gòu)是 Series(帶標(biāo)簽的一維同構(gòu)數(shù)組)與 DataFrame(帶標(biāo)簽的,大小可變的二維異構(gòu)表格)。

Pandas 數(shù)據(jù)結(jié)構(gòu)就像是低維數(shù)據(jù)的容器。比如,DataFrame 是 Series 的容器,Series 則是標(biāo)量的容器。使用這種方式,可以在容器中以字典的形式插入或刪除對(duì)象。

此外,通用 API 函數(shù)的默認(rèn)操作要顧及時(shí)間序列與截面數(shù)據(jù)集的方向。

當(dāng)使用 Ndarray 存儲(chǔ)二維或三維數(shù)據(jù)時(shí),編寫函數(shù)要注意數(shù)據(jù)集的方向,這對(duì)用戶來說是一種負(fù)擔(dān);如果不考慮 C 或 Fortran 中連續(xù)性對(duì)性能的影響,一般情況下,不同的軸在程序里其實(shí)沒有什么區(qū)別。

Pandas 里,軸的概念主要是為了給數(shù)據(jù)賦予更直觀的語義,即用更恰當(dāng)?shù)姆绞奖硎緮?shù)據(jù)集的方向。這樣做可以讓用戶編寫數(shù)據(jù)轉(zhuǎn)換函數(shù)時(shí),少費(fèi)點(diǎn)腦子。

處理 DataFrame 等表格數(shù)據(jù)時(shí),對(duì)比 Numpy,index(行)或 columns(列)比 axis 0 和 axis 1 更直觀。用這種方式迭代 DataFrame 的列,代碼更易讀易懂:

for col in df.columns:
    series = df[col]
    # do something with series

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享Python中pandas是什么內(nèi)容對(duì)大家有幫助,同時(shí)也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(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