一、pandas數(shù)據(jù)結(jié)構(gòu)
1、Series
Series有兩個(gè)屬性,values和index,values表示Series對(duì)象中的數(shù)據(jù),是只讀的屬性,不可通過屬性賦值。index表示Series中的索引,可以通過直接賦值的方式改變,但賦值的列表長度應(yīng)該與index長度相同。改變index的方式還可以通過reindex方法,調(diào)用該方法,返回一個(gè)新的Series對(duì)象,原對(duì)象不做修改。新對(duì)象中,如果索引在原對(duì)象不存在,則值為NAN,否則值為原對(duì)象中的對(duì)應(yīng)值
1.1、Series大約可以通過以下三種方式創(chuàng)建:
i、s = Series([1,2,3,4])
ii、s = Series([1,2,3,4],index=['a','b','c','d'])
iii、s = Series({'a':1,'b':2,'c':3,'d':4})
1.2、Series還有計(jì)算中自動(dòng)對(duì)齊操作,判斷空值,以及數(shù)值計(jì)算中與numpy類似的用法等常見功能.
2、DataFrame
DataFrame中有index與columns兩個(gè)屬性,分別表示行與列的名字。index的操作方法Series類似。

創(chuàng)建有如上構(gòu)建方式。
3、index對(duì)象
index是一個(gè)不可變對(duì)象

二、基本功能
1、重新索引
reindex函數(shù),可以重新索引index與columns,其行為與上述所說一致。對(duì)于重新索引后出現(xiàn)的NaN值,可以通過method和fill_value等字段進(jìn)行填充。
2、丟棄指定軸的項(xiàng)
drop函數(shù),可以向其中傳遞單值或者列表,默認(rèn)情況下其選擇的是行,可以設(shè)定axis=1指定列.傳遞進(jìn)入不存在的值會(huì)報(bào)異常.
3、索引與選取
3.1、對(duì)于series
s = Series([1,2,3,4],index=list("abcd"))
i、s['a']、s[[‘a(chǎn)’,'b','c']]、s['a':'c']、s[1:3]
s['a':'c']包含端點(diǎn),s[1:3]不包含端點(diǎn)
當(dāng)Series是數(shù)字索引時(shí),s[1:3]進(jìn)行的是按照索引值選取.
ii、loc、iloc、at、iat、ix等函數(shù)可用
3.2、對(duì)于DataFrame
df = DataFrame(np.arange(12).reshape((3,4)),columns=list("abcd"))
i、df['a'],d[[‘a(chǎn)’,'b','c']]選取列
當(dāng)傳入標(biāo)簽切片時(shí)或者布爾數(shù)組時(shí),選取行
ii、loc、iloc、at、iat、ix方法
4、算數(shù)運(yùn)算與對(duì)齊操作
當(dāng)Series之間或者DataFrame之間進(jìn)行算數(shù)運(yùn)算的時(shí)候,index與columns與形成一個(gè)并集,它們是新的Series或者DataFrame的屬性,自動(dòng)的數(shù)據(jù)對(duì)齊操作在不重疊的索引上引入NaN。對(duì)于缺失值的處理可以利用add、sub、mul、div方法并且設(shè)置fill_value。Series與DataFrame進(jìn)行計(jì)算,計(jì)算過程類似numpy中傳播的概念。默認(rèn)情況下,二者間列之間進(jìn)行匹配,對(duì)于沒有匹配上的計(jì)算結(jié)果為NaN,要改變成匹配行,可將axis設(shè)置為0,Series與DataFrame之間的計(jì)算無法設(shè)置fill-value填充值.
5、函數(shù)應(yīng)用
5.1、numpy的元素級(jí)函數(shù)可以應(yīng)用到pandas對(duì)象
5.2、可以用apply方法傳遞函數(shù),來對(duì)行或者列來進(jìn)行操作,通過axis來控制,返回一個(gè)值或者一個(gè)Series。
5.3、可以對(duì)applymap傳入函數(shù)進(jìn)行元素級(jí)操作。
6、排序與排名
6.1、sort_index,對(duì)index進(jìn)行排序,對(duì)于DataFrame,利用axis來指定對(duì)行操作還是對(duì)列操作。
6.2、希望按值排序時(shí),對(duì)于Series可以用order方法,對(duì)于DataFrame可以用sort_index()并設(shè)置by。
6.3、rank方法返回排名,對(duì)于數(shù)值相同的項(xiàng),它的排名由method方法設(shè)置。對(duì)于DataFrame,可以由axis來指定行還是列。
三、匯總和計(jì)算統(tǒng)計(jì)描述
略
四、處理缺失數(shù)據(jù)
有四個(gè)主要的相關(guān)方法:dropna、fillna、isnull、notnull
五、層次化索引