pandas學(xué)習(xí)筆記1

一、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ì)象


index方法


二、基本功能

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

五、層次化索引

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容