Pandas 有三種常用的數(shù)據(jù)結(jié)構(gòu)
Series DataFrame Panel
這些數(shù)據(jù)結(jié)構(gòu)建立在Numpy數(shù)組之上,這意味著它們運(yùn)行速度都非???。
list:Python自帶數(shù)據(jù)類型,主要用一維,功能簡(jiǎn)單,效率低 Dict:Python自帶數(shù)據(jù)類型,多維鍵值對(duì),效率低
ndarray:Numpy基礎(chǔ)數(shù)據(jù)類型,單一數(shù)據(jù)類型 關(guān)注數(shù)據(jù)結(jié)構(gòu)/運(yùn)算/維度(數(shù)據(jù)間關(guān)系)
Series:1維,類似帶索引的1維ndarray DataFrame:2維,表格型數(shù)據(jù)類型,類似帶行/列索引的2維ndarray 關(guān)注數(shù)據(jù)與索引的關(guān)系(數(shù)據(jù)實(shí)際應(yīng)用)
從實(shí)用性、功能強(qiáng)弱和和可操作性比較:list < ndarray < Series/DataFrame
數(shù)據(jù)規(guī)整和分析工作中,ndarry數(shù)組作為必要補(bǔ)充,大部分?jǐn)?shù)據(jù)盡量使用Pandas數(shù)據(jù)類型
考慮這些數(shù)據(jù)結(jié)構(gòu)的最佳方法是高維數(shù)據(jù)結(jié)構(gòu)是其低維數(shù)據(jù)結(jié)構(gòu)的容器。例如,DataFrame是Series的容器,Panel是DataFrame的容器。
數(shù)據(jù)結(jié)構(gòu) | 維度 | 說明 |
Series | 1 | 用于存儲(chǔ)一個(gè)序列的一維數(shù)據(jù) |
Data Frames | 2 | DataFrame作為更復(fù)雜的數(shù)據(jù)結(jié)構(gòu),則用于存儲(chǔ)多維數(shù)據(jù) |
Panel | 3 | 通用的3D標(biāo)簽,大小可變的數(shù)組。 |
建立和處理二維數(shù)組是一項(xiàng)繁瑣的工作,在編寫函數(shù)時(shí),要由用戶來(lái)考慮數(shù)據(jù)集的方向。但是使用Pandas數(shù)據(jù)結(jié)構(gòu)可以減少用戶的精力。
例如,對(duì)于表格數(shù)據(jù)(DataFrame),在語(yǔ)義上考慮索引(行)和列比在軸0和軸1上更有幫助。
所有Pandas數(shù)據(jù)結(jié)構(gòu)都是值可變的(可以更改),除了Series以外,其他大小都是可變的。系列是大小不變的。
注 -DataFrame被廣泛使用,是最重要的數(shù)據(jù)結(jié)構(gòu)之一。面板使用少得多。
Series是具有均勻數(shù)據(jù)的一維數(shù)組狀結(jié)構(gòu)。例如,以下系列是整數(shù)10、23、56的集合...
10 | 23 | 56 | 17 | 52 | 61 | 73 | 90 | 26 | 72 |
Series是具有均勻數(shù)據(jù)的一維數(shù)組狀結(jié)構(gòu)。例如,以下系列是整數(shù)10、23、56的集合...
同類數(shù)據(jù) 大小不變 數(shù)據(jù)可變值
DataFrame是具有異構(gòu)數(shù)據(jù)的二維數(shù)組。例如,
Name | Age | Gender | Rating |
Steve | 32 | Male | 3.45 |
Lia | 28 | Female | 4.6 |
Vin | 45 | Male | 3.9 |
Katie | 38 | Female | 2.78 |
上表代表組織的銷售團(tuán)隊(duì)的數(shù)據(jù)及其總體績(jī)效等級(jí),數(shù)據(jù)以行和列表示,每列代表一個(gè)屬性,每行代表一個(gè)人。
Column | Type |
Name | String |
Age | Integer |
Gender | String |
Rating | Float |
異構(gòu)數(shù)據(jù) 大小不變 數(shù)據(jù)可變
Panel是具有異構(gòu)數(shù)據(jù)的三維數(shù)據(jù)結(jié)構(gòu)。很難用圖形表示面板。但是面板可以說明為DataFrame的容器。
異構(gòu)數(shù)據(jù) 大小可變 數(shù)據(jù)可變