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

2022-07-01 14:20 更新

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

維數(shù)名稱描述
1Series帶標簽的一維同構(gòu)數(shù)組
2DataFrame帶標簽的,大小可變的,二維異構(gòu)表格

為什么有多個數(shù)據(jù)結(jié)構(gòu)?

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

此外,通用 API 函數(shù)的默認操作要顧及時間序列與截面數(shù)據(jù)集的方向。多維數(shù)組存儲二維或三維數(shù)據(jù)時,編寫函數(shù)要注意數(shù)據(jù)集的方向,這對用戶來說是一種負擔(dān);如果不考慮 C 或 Fortran 中連續(xù)性對性能的影響,一般情況下,不同的軸在程序里其實沒有什么區(qū)別。Pandas 里,軸的概念主要是為了給數(shù)據(jù)賦予更直觀的語義,即用“更恰當(dāng)”的方式表示數(shù)據(jù)集的方向。這樣做可以讓用戶編寫數(shù)據(jù)轉(zhuǎn)換函數(shù)時,少費點腦子。

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

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

大小可變與數(shù)據(jù)復(fù)制

Pandas 所有數(shù)據(jù)結(jié)構(gòu)的值都是可變的,但數(shù)據(jù)結(jié)構(gòu)的大小并非都是可變的,比如,Series 的長度不可改變,但 DataFrame 里就可以插入列。

Pandas 里,絕大多數(shù)方法都不改變原始的輸入數(shù)據(jù),而是復(fù)制數(shù)據(jù),生成新的對象。 一般來說,原始輸入數(shù)據(jù)不變更穩(wěn)妥。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號