Python科學(xué)計算與數(shù)據(jù)處理pandas的數(shù)據(jù)結(jié)構(gòu)入門_第1頁
Python科學(xué)計算與數(shù)據(jù)處理pandas的數(shù)據(jù)結(jié)構(gòu)入門_第2頁
Python科學(xué)計算與數(shù)據(jù)處理pandas的數(shù)據(jù)結(jié)構(gòu)入門_第3頁
Python科學(xué)計算與數(shù)據(jù)處理pandas的數(shù)據(jù)結(jié)構(gòu)入門_第4頁
Python科學(xué)計算與數(shù)據(jù)處理pandas的數(shù)據(jù)結(jié)構(gòu)入門_第5頁
已閱讀5頁,還剩12頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、Python科學(xué)計算與數(shù)據(jù)處理pandas的數(shù)據(jù)結(jié)構(gòu)入門熊貓條目目錄熊貓的數(shù)據(jù)結(jié)構(gòu)介紹了系列數(shù)據(jù)框架索引對象的基本功能,重新索引指定軸上的丟棄項索引、選擇和過濾算術(shù)運算和數(shù)據(jù)對齊功能應(yīng)用和映射排序和排序具有重復(fù)值的軸索引目錄摘要和計算描述統(tǒng)計相關(guān)系數(shù)和協(xié)方差唯一值、值計數(shù)和成員處理缺失數(shù)據(jù)過濾缺失數(shù)據(jù)填充缺失數(shù)據(jù)層二級索引根據(jù)排序摘要統(tǒng)計重新排列排序順序。使用數(shù)據(jù)框架的列。其他與熊貓相關(guān)的話題。熊貓包含先進(jìn)的數(shù)據(jù)結(jié)構(gòu)和操作工具,使數(shù)據(jù)分析更快更簡單。它建立在NumPy之上,使以NumPy為中心的應(yīng)用程序更加容易。因為Series和DataFrame經(jīng)常使用,所以將它們引入本地命名空間更方便。從

2、Frompandasimportseries開始,dataframemportpandassappanda數(shù)據(jù)結(jié)構(gòu)介紹系歹!創(chuàng)建一個類似于一維數(shù)組的對象,它由一組數(shù)據(jù)(各種NumPy數(shù)據(jù)類型)和一組與之相關(guān)的數(shù)據(jù)標(biāo)記(即索引)組成。最簡單的系列只能從一組數(shù)據(jù)中生成:obj=系列(,)objdtype:int熊貓。序列的字符串表示如下:左邊是索引,右邊是值。由于沒有為數(shù)據(jù)指定索引,因此會自動創(chuàng)建一個到N的整數(shù)索引(N是數(shù)據(jù)的長度)。序列的數(shù)組表示和索引對象可以通過序列的值和索引屬性獲得:objvaluesray(,dttype=INT)objindexindindex(,DTYPE=#INT#)

3、熊貓的數(shù)據(jù)結(jié)構(gòu)介紹,通常希望創(chuàng)建的序列將有一個可以標(biāo)記每個數(shù)據(jù)點的索引:OBJ=序列(,Index=#D#,B#,A#,C#)OBJDBACDTYPE:intobINDEX(U#D#,與普通的NumPy數(shù)組相比,熊貓的數(shù)據(jù)結(jié)構(gòu)可以通過索引在序列中選擇一個或一組值:obj#A#obj#d#=obj#C#A#d#caddtype:int熊貓數(shù)據(jù)結(jié)構(gòu)簡介NumPy數(shù)組操作(例如,基于布爾數(shù)組的過濾、標(biāo)量乘法、數(shù)學(xué)函數(shù)的應(yīng)用等。)將保留索引和值之間的鏈接:objobjobj*npexp(obj)dbacdtype:floatpandas數(shù)據(jù)結(jié)構(gòu)簡介還可以將序列視為固定長度的有序字典,因為它是索引值到數(shù)

4、據(jù)值的映射。它可以用于許多最初需要字典參數(shù)的函數(shù):#b#inobjtrue#e#inobjfalsepanda的數(shù)據(jù)結(jié)構(gòu)介紹,如果數(shù)據(jù)存儲在Python字典中,也可以直接從該字典創(chuàng)建系列:sdata=#ohio#:,#Texas#,:#Oregon#:,#Utah#:obj=Series(sdata)objoiooregontexutahdtype:in熊貓介紹,如果只傳入一個字典,結(jié)果系列中的索引就是原始字典的鍵(有序排列)。在該示例中,將找到與各州索引匹配的sdata值,并將其放在相應(yīng)的位置,但是由于找不到對應(yīng)于加利福尼亞州的sdata值,因此結(jié)果是NaN(即非數(shù)字)州=#Californ

5、ia#、俄亥俄#、俄勒岡#、德克薩斯#OBJ=系列(SDATA,索引=州)OBJCALIFORNIANanoHioOregonTexastype:FLOATAMANS數(shù)據(jù)結(jié)構(gòu)簡介NAN用于表示缺失值或NA值。熊貓的是和不是函數(shù)可用于檢測丟失的數(shù)據(jù):pdis(obj)#Series有一個類似的示例方法:加利福尼亞真#objs()ohiofalsoregonfalsfalsfalsfalsdttype:boolpdnot(obj)力口禾1J福尼亞假脫機(jī)工作的數(shù)據(jù)結(jié)構(gòu)對于許多應(yīng)用程序來說,Series域的一個重要功能是在算術(shù)運算中自動對齊不同索引的數(shù)據(jù)。objobjobjcaliforianhior

6、egontextasuthandtype:FLOAT熊貓的數(shù)據(jù)結(jié)構(gòu)介紹了系列對象本身及其索引具有名稱屬性,該屬性與熊貓的其他關(guān)鍵功能密切相關(guān):objname=#POPULATION#OBJINDEXNAME=#STATE#OBJSTATECALIENANIONOHIOREGONTEXANAME:POPULATION,DTYPE:FLOAT熊貓系列的索引可以通過賦值就地修改:objobjindex=#Bob#Steve#Jeff#Ryan#OBJBOBBSTEVEJEFERANDTYPE:INTPANDAS數(shù)據(jù)結(jié)構(gòu)介紹數(shù)據(jù)結(jié)構(gòu))。數(shù)據(jù)框架既有行索引又有列索引,可以看作是由系列組成的字典(共享相同

7、的索引)。與其他類似的數(shù)據(jù)結(jié)構(gòu)(如r的數(shù)據(jù)框架)相比,數(shù)據(jù)框架中面向行和面向列的操作基本平衡。事實上,數(shù)據(jù)框架中的數(shù)據(jù)存儲在一個或多個二維塊中(而不是list、字典或其他一維數(shù)據(jù)結(jié)構(gòu))。熊貓的數(shù)據(jù)結(jié)構(gòu)引入了許多構(gòu)建數(shù)據(jù)框架的方法。最常用的方法之一是直接傳遞到由等長列表或NumPy數(shù)組組成的字典中:結(jié)果數(shù)據(jù)框?qū)⒈蛔詣泳幦胨饕ň拖裥蛄幸粯樱?,所有列將按順序列出DATA=#STATE#:#OHIO#,#OHIO#,#Nevada#,數(shù)據(jù)結(jié)構(gòu)#NEVADA#,#year#:,#pop#:,frame=數(shù)據(jù)框(數(shù)據(jù))框架引入了如果指定列序列,數(shù)據(jù)幀的列將按指定的順序排列:像序列一樣,如果在數(shù)據(jù)中找不到

8、傳入的列,將生成NA值:數(shù)據(jù)幀(數(shù)據(jù))。columns=#year#STATE#pop#)FRAME=DataFrame數(shù)據(jù),歹U=#year#STATE#pop#debt#,index=#one#two#three#four#five#)FrameFrameColumnIndex(u#year#,u#state#,u#pop#,u#debt#,DTYPE=#OBJECT#)PANDAS的數(shù)據(jù)結(jié)構(gòu)介紹了數(shù)據(jù)幀的列可以通過類似于字典標(biāo)記或?qū)傩缘姆绞阶鳛橐粋€序列來獲得:FRAME#STATE#介紹了數(shù)據(jù)類型:objectframeeyearonetwootherfreefourvename:yea

9、r數(shù)據(jù)類型:int熊貓的數(shù)據(jù)結(jié)構(gòu)。請注意,返回的序列與原始數(shù)據(jù)幀具有相同的索引,并且其名稱屬性也相應(yīng)地設(shè)置了。行也可以通過位置或名稱獲得。例如,索引字段IX:Frameix# 三#yearstatetopdebtnanname:ThrqeDType:object熊貓的數(shù)據(jù)結(jié)構(gòu)介紹列可以通過賦值來修改。例如,可以為空的債務(wù)列分配一個標(biāo)量值或一組值:FRAME# DOUGH#=FRAMEFRAME#DOUGH#=NParange()FRAME熊貓。數(shù)據(jù)結(jié)構(gòu)引入了當(dāng)一個列表或數(shù)組被分配給一列時,它的長度必須與數(shù)據(jù)幀的長度相匹配。如果分配了序列,它將與數(shù)據(jù)幀的索引完全匹配。所有空格都將被缺少的值填充:

10、val=series(,index=#two#,#four#,#five#)frame#debit#=valframepadas。當(dāng)數(shù)據(jù)結(jié)構(gòu)作為不存在的列賦值引入時,將創(chuàng)建一個新列。關(guān)鍵字del用于刪除列:frame#eastern#=framestate=#Ohio#framedefframe#eastern#frameeconsteinex(u#year,#u#state# ,u#pop#,u#debt#,DTYPE=#ObjectLSQUO)熊貓的數(shù)據(jù)結(jié)構(gòu)引入了另一種常見的數(shù)據(jù)形式:嵌套字典(即字典字典):如果它被傳遞到數(shù)據(jù)框架,它將被解釋為:外部字典的鍵充當(dāng)列的鍵,內(nèi)層的鍵充當(dāng)行索引:

11、pop=#Nevada#:,:,#Ohio#:,:,:幀=數(shù)據(jù)幀(pop)幀T#也可以轉(zhuǎn)置結(jié)果。熊貓的數(shù)據(jù)結(jié)構(gòu)引入了內(nèi)部字典的關(guān)鍵字將被合并、排序以形成最終的索引。如果明確指定了索引,情況就不同了:由序列組成的字典幾乎使用相同的用法:dataframe(pop,index=,)framepdata=#ohio#:frame#ohio#:,#Nevada#:frame#Nevada#:dataframe(pdataiifi的數(shù)據(jù)結(jié)構(gòu)介紹,如果設(shè)置了數(shù)據(jù)幀的索引和列的名稱屬性,也將顯示此信息:如序列,values屬性還將以二維數(shù)組的形式返回數(shù)據(jù)框架中的數(shù)據(jù):frameindexname=#year

12、#frameeconsumname=#state#frameframeframeindexname=#year#framecolumnsname=#state#framevaluesarray(nan、)熊貓的數(shù)據(jù)結(jié)構(gòu)介紹了如果數(shù)據(jù)框架的每一列的數(shù)據(jù)類型不同,則值數(shù)組的數(shù)據(jù)類型將被選擇為與所有列兼容:FrameFramEvalueSarray(L#Ohio#、Nan、L、#Ohio#、L、#等熊貓的索引對象負(fù)責(zé)管理軸標(biāo)簽和其他元數(shù)據(jù)(如軸名等)。)。用于構(gòu)造序列或數(shù)據(jù)幀的任何數(shù)組或其他序列的標(biāo)簽被轉(zhuǎn)換成索引:obj=series(range(),index=#a#,b#,c#)Index=ob

13、jindexindex(u#a#,u#b#,u#c#,dttype=#object#)Index:Index(u# b#,u#c#,DTYPE=#ObjectLSQUO)熊貓的數(shù)據(jù)結(jié)構(gòu)引入了索引對象是不可變的,因此,用戶不能修改它:不可修改性非常重要,因為它使索引對象能夠在多個數(shù)據(jù)結(jié)構(gòu)之間安全地共享:Index=#d#TypeError:indexesdoesnotsupportmutableoperationindex=pdIndex(nparange()obj=Series(,Index=Index)Objindexinsinriguepanals的數(shù)據(jù)結(jié)構(gòu)介紹了除了它看起來像數(shù)組索引的功

14、能之外,它還類似于一組固定大小的索引:每個索引都有一些方法和屬性,可用于設(shè)置邏輯并回答關(guān)于索引中包含的數(shù)據(jù)的常見問題。框架#Ohio#ImporeColumnStruenindexFairpanals的數(shù)據(jù)結(jié)構(gòu)引入方法顯示,在指示每個值是否包括在參數(shù)集中的布爾類型計算中,append連接另一個索引對象以生成新的Indexdiff計算差集并獲得Index交集計算交集聯(lián)合計算并集。數(shù)組刪除刪除索引I處的元素,并獲取新的索引刪除來刪除傳入的值,并獲取新的索引插入來插入索引I處的元素,并獲取新的索引當(dāng)每個元素大于或等于前一個元素時返回Trueunique,當(dāng)索引中沒有重復(fù)值時返回trueunique來

15、計算索引中唯一值的數(shù)組索引的方法和屬性的基本函數(shù)重新索引熊貓對象的一個重要方法是重新索引,它用于創(chuàng)建適合新索引的新對象。作為一個簡單的例子,OBJ=系列(,索引=#D#,B#,A# ,C#)OBJDBACDTYPE:FLOAT基本函數(shù)調(diào)用系列的重新索引將根據(jù)新的索引重新排列。如果某個索引值目前不存在,則引入缺失值:Obj=ObjReIndex(#A#B#C#D#E#)ObjabCDENanobReIndex(#A#B#C#D#E#,F(xiàn)illValue=)輸出:ABCDE的基本功能可能需要在重新索引有序數(shù)據(jù)(例如時間序列)時進(jìn)行一些插值處理。方法選項可以實現(xiàn)此目標(biāo)。例如,ffill可用于填充前向

16、值:obj=系列(#blue#紫色#黃色#,index=,)objreindex(range(),Method=#ffill#)bluebluezelpurpleyelloweviewtype:對象基本函數(shù)reindex的(插值)方法選項可針對DataFramereindex(row)index、列或兩者進(jìn)行修改。如果只傳入一個序列,將對行進(jìn)行重新索引:參數(shù)描述ffill或padforwardfill(或move)值bfill或backbackfill(或move)值frame=dataframe(nparange()reform(),index=#a#c#d#,columns=#Ohio#T

17、exas#California#)frame=framereindex(#a#b#c#,#d#)框架的基本功能可以通過使用columns關(guān)鍵字來重新索引列:行和列也可以同時重新索引,而插值只能通過行(即軸)來應(yīng)用:通過使用ix的標(biāo)簽索引功能,可以使重新索引任務(wù)變得更簡單:states=#Texas#、#Utah#、#California#framereindex(columns=States)framereindex(index=#a#b#、#c#d#、method=#ffill#,columns=states)frameix#a#、#b#、#c#、#d#Statesreindex函數(shù)的基本函

18、數(shù)參數(shù)描述新的序列索引被用作索引。它可以是索引實例,也可以是其他順序的Python數(shù)據(jù)結(jié)構(gòu)。索引將被完全使用,就像沒有副本一樣。方法插值(填充)方法。填充值在重新索引過程中需要引入缺失值時使用的替換值限制。正向或反向填充的最大填充級別與指定級別的多重索引的簡單索引相匹配。否則,選擇其子集副本。默認(rèn)值為“真”。不管怎樣,收到。如果錯誤,新的和舊的是平等的?;竟δ懿粫粡?fù)制。丟棄指定軸上的項目。丟棄某個軸上的一個或多個項目。只要有索引數(shù)組或列表,就很簡單。由于需要執(zhí)行一些數(shù)據(jù)整理和收集邏輯,drop方法返回一個新對象,該對象具有在指定軸上刪除的指定值:obj=series(,index=#a#b

19、#c#d#e#)newobj=objdrop(#c#)newobjbdeobjectdrop(#d#c#)數(shù)據(jù)框的基本函數(shù),可以刪除任何軸上的索引值:data=dataframe(nparange)(,)index=#ohio#、colorado#、utah#、newYork#、columns=#one#、two#、three#、four#)datadrop(#colorado#、ohio#)datadrop(#two#、axis=)datadrop(#two#、four#、axis=)基本函數(shù)index、選擇和過濾序列索引(obj)的操作類似于NumPy數(shù)組的索引,只是序列的索引值不只是一個

20、整數(shù)。Obj=series(,index=#a#B#C#d#)obj#B#objobj:cddtype:intBasicfunctionsobj#B#a#d#baddtype:INTOBJ,BDDtype:intobjobjabdtype:intBasicFunction與普通的Python切片操作不同,當(dāng)使用非整數(shù)作為切片索引時,將其結(jié)尾設(shè)置為inclusive的方法也非常簡單:OBJ#B#:#C#Bcdtype:INTOBJ#B#:#C#=OBJACDBasic首先,通過切片或布爾數(shù)組來選擇行:data#two#ohiocoloradoutnewyorkdata#three#one#dat

21、a:datadatadata#three#另一種用法是通過布爾數(shù)據(jù)幀(如下面通過標(biāo)量比較操作獲得的數(shù)據(jù)幀)進(jìn)行索引:此代碼的目的是使數(shù)據(jù)幀在語法上更像ndarray。datadata=data=data的基本功能引入了一個特殊的索引字段ix,用于在數(shù)據(jù)幀的行上進(jìn)行標(biāo)簽索引。它可以通過數(shù)軸符號和軸標(biāo)簽從數(shù)據(jù)框架中選擇行和列的子集。這也是一種簡單的重新索引方法:dataIX#COLORADO#TWO#TWOothername:COLORADO,dtType:intdataIX#COLORADO#Utah#,BasicFunctionDataIXonetwo3fourname:Utah,dtType

22、:INTDATAIX:#UTAH#Two#OHOIOCOLORADOUTAHname:Two,DTYPE:INTDataIX#COLORADIXdathree,:DATAIX#COLORADORA#TWORTHERENAME:COLORADORA,DTYPE:INT基本函數(shù)索引選項用于數(shù)據(jù)幀:類型描述對象選擇單列在一些特殊情況下很方便:布爾數(shù)組(過濾行)、切片(行切片)、布爾數(shù)據(jù)幀(根據(jù)條件設(shè)置值)。Objixval選擇一行或一組數(shù)據(jù)框行。對象:,val選擇單個列或列的子集。值,同時選擇行和列。reindex方法將一個或多個軸與新索引匹配。xs方法根據(jù)標(biāo)簽選擇一行或一列,并返回一個序列。ico

23、l、irow方法根據(jù)整數(shù)位置選擇單行或單行,并返回一個序列。getvalue,setvalue方法根據(jù)行標(biāo)簽和列標(biāo)簽選擇單個值?;竟δ芩阈g(shù)運算和數(shù)據(jù)對齊熊貓最重要的功能之一是它可以對具有不同索引的對象執(zhí)行算術(shù)運算。如果在添加對象時有不同的索引對,則結(jié)果的索引是索引對的并集。S=系列(,index=#a#,c#,d#,e#)s=系列(,index=#a#,c#,e#,f#,g#)ss添加它們的基本能力將產(chǎn)生:自動數(shù)據(jù)對齊操作在非重疊索引處引入na值。缺失值在算術(shù)運算期間傳播。輸出:acdnanefnangnandtype:floatDataFrame勺基本函數(shù),將在行和列上都進(jìn)行對齊:df=數(shù)

24、據(jù)框架(n參數(shù)(,),整形(一歹k列表(#BCD#),索引=#ohio#,德克薩斯#,科羅拉多#)df=數(shù)據(jù)框架(n參數(shù)(,),整形(,),歹U=列表(#bde#),索弓|=#Utah#,俄亥俄#,德克薩斯#,俄勒岡#)dfdfdfdf#添加它們之后,將返回一個新的數(shù)據(jù)框架。它的索引和列是原始兩個數(shù)據(jù)幀的并集?;竟δ苁怯盟阈g(shù)方法填充值。當(dāng)對具有不同索引的對象執(zhí)行算術(shù)運算時,當(dāng)在一個對象中的軸標(biāo)簽在另一個對象中找不到時,可能需要填充一個特殊值(例如:df=數(shù)據(jù)框架(nparange(整形(,),Columns=List(#ABCD#)df=數(shù)據(jù)框架(nparange()形(,),Columns

25、=List(#ABCDE#)DFdf#添加它們時,將沒有重疊位置來生成NA值?;竞瘮?shù):使用DF的add方法和fillvalue參數(shù)傳遞DF:類似地,當(dāng)重新索引Series或DataFrame時,填充值:dfadd(df,F(xiàn)illvalue=)dfreindex(columns=dfcolumns,fillvalue二)靈活的算術(shù)方法add方法foraddition。方法sub方法for減法()方法div方法fordivision()方法mul方法for乘法(*)基本函數(shù)(如NumPy數(shù)組)數(shù)據(jù)框和Series之間的算術(shù)運算也是明確定義的。讓我們看一個有啟發(fā)性的例子來計算一個二維數(shù)組和它的一行

26、之間的差異:ARR=NPARange()RESHAPE()array(,)ARRAY(,)基本函數(shù)這叫做廣播。數(shù)據(jù)幀和序列之間的運算也是如此:默認(rèn)情況下,數(shù)據(jù)幀和序列之間的算術(shù)運算將序列的索引匹配到數(shù)據(jù)幀的列,然后在行下廣播frame=數(shù)據(jù)幀(NPA范圍()整形()。Columns=list(#bde#),index=#Utah#Ohio#Texas#Oregon#)Series=framesetframesetS本函數(shù)如果在數(shù)據(jù)框架的列或系列的索引中找不到索引值,則操作中涉及的兩個對象將被重新索引以形成聯(lián)合:如果要匹配行并在列上廣播,則必須使用算術(shù)運算方法。例如,傳入的軸號是您想要匹配的軸。

27、本例中的目的是匹配DauFrame和廣播的行索引。series=Series(range(,)index=#b#,e#,f#)frameseries=Frame#d#Seriesframesub(SeriesAxis=)基本函數(shù)應(yīng)用程序和映射NumPy的ufuncs(元素級數(shù)組方法)也可用于操作熊貓對象:Frame=數(shù)據(jù)框(NPRANDOM,Columns=列表(#BDE#),Index=#utah#,俄亥俄#,德克薩斯#,俄勒岡#)Frame基本函數(shù)另一個常見的操作是將函數(shù)應(yīng)用于由列或行構(gòu)成的一維數(shù)組。數(shù)據(jù)框架的應(yīng)用方法可以實現(xiàn)這個功能:許多最常見的數(shù)組統(tǒng)計函數(shù)都是作為數(shù)據(jù)框架方法(如求和和

28、均值)來實現(xiàn)的,因此不需要應(yīng)用方法。f=lambdax:xmax()xmin()frameapply(f)frameapply(f,axis=)基本函數(shù)除了標(biāo)量值之外,傳遞給apply的函數(shù)還可以返回由多個值組成的序列:deff(x):returnseries(xmin(),xmax(),index=#min#max#)frameapply基本函數(shù)此外,元素級別的Python函數(shù)也可用。如果要獲取框架中每個浮點值的格式化字符串,可以使用applymap:它被稱為applymap,因為序列有一個應(yīng)用元素級函數(shù)的映射方法:FORMAT=LAMBDAX:#F#XFRAMEAPPLYMAP(FORMA

29、T)FRAME#E#MAP(FORMAT)基本函數(shù)排序和基于條件對數(shù)據(jù)集進(jìn)行排序也是一個重要的內(nèi)置操作。要對行或列索引進(jìn)行排序(按字典順序),請使用sortindex方法,該方法返回一個新的排序?qū)ο?obj=series(range(),index=#d#,a#,b#,C#)OBJSORTINDEX()ABCDDTYPE:INT基本函數(shù),而對于數(shù)據(jù)框,它可以根據(jù)任何軸上的索引進(jìn)行排序:默認(rèn)情況下,數(shù)據(jù)按升序排序,但也可以按降序排序:FRAME=數(shù)據(jù)框架(NPARange()整形(),INDEX=#THREE#ONE#,Columns=#D#A#B# C#)FRAMEportIndex()FRA

30、MEportIndex(Axis=)FRAMEportIndex(Axis=,升序=False)本函數(shù)要按值對序列進(jìn)行排序,請使用其排序方法:obj=序列(,)objorder()obj=Series(,npnan,npnan,)默認(rèn)情況下,objorder()的缺失值將放在該系列的末尾。NaNNaNbasic函數(shù)可能希望根據(jù)一列或多列中的值對數(shù)據(jù)框進(jìn)行排序。這可以通過將一個或多個列的名稱傳遞給by選項來實現(xiàn):根據(jù)多個列對傳入名稱列表進(jìn)行排序:frame=dataframe(#b#:,#a# :,)frameframeindex(by=#b#)frameframeindex(by=#a#b#)

31、基本函數(shù)排序與排序密切相關(guān),它將添加一個排序值(從數(shù)組中有效數(shù)據(jù)的開頭到末尾)。它類似于numpyargsort生成的間接排序索引,只是它會根據(jù)某些規(guī)則破壞級別關(guān)系。序列和數(shù)據(jù)框架的等級方法:等級通過默認(rèn)為每個組分配一個平均等級來破壞等級關(guān)系:obj=序列(,)objprintobjrank()基本函數(shù)objrank(方法=#第一#)#等級根據(jù)值在原始數(shù)據(jù)中出現(xiàn)的順序給出:objrank(升序=False。method=#max#)#降序排列:基本函數(shù)DataFrame可以計算行或列的排列:用于在排列期間破壞水平關(guān)系的方法選項:lsquofaveragersquo默認(rèn):分配平均排名。相等分組中

32、的每個值。使用整個分組的最小排名使用最大等級lsquo在整個分組中,Irst按照值在原始數(shù)據(jù)中出現(xiàn)的順序分配排名幀=數(shù)據(jù)幀(#b#:,#a# :,#c#:,。)frameframerank(axis=)基本函數(shù)AxiswithrepeatableValuesIndexSerieswithrepeatableIndexValuest弓I的isunique屬性驗證其是否唯一:OBJ=Series(Range(,)Index=#A#A#B#C#)OBJAABBJINDEXUNiqueFALSE的基本函數(shù)在選擇具有重復(fù)值的索引數(shù)據(jù)時將具有不同的行為。如果一個索引對應(yīng)于多個值,它將返回一個序列,而如果它

33、對應(yīng)于單個值,它將返回一個標(biāo)量值。當(dāng)索引數(shù)據(jù)框架的行時也是如此:obj#a#aaobj#c#df=dataframe(nprandomrand,(,index=#a#a#b#b#)DFDfix#b# summary和計算描述statistics熊貓對象具有一組常用的數(shù)學(xué)和統(tǒng)計方法。其中大多數(shù)屬于歸約和匯總統(tǒng)計,用于從序列中提取值(如總和或平均值),或從數(shù)據(jù)框的行或列中提取序列。與相應(yīng)的NumPy數(shù)組方法相比,它們都是基于沒有丟失數(shù)據(jù)的假設(shè)而構(gòu)建的。讓我們來看一個簡單的數(shù)據(jù)框:df=數(shù)據(jù)框(,npnan,npnan,npnan,index=#a#,b#,c#,d#,columns=#one#,two#)df匯總和計算描述統(tǒng)計信息調(diào)用數(shù)據(jù)框的sum方法將返回一個帶有列小計的序列:dfsum()一個兩個數(shù)據(jù)類型:float#傳入軸=將按行進(jìn)行匯總:dfsum(axis=)AbcAndTtype:float匯總和計算描述統(tǒng)計信息na值將被自動

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論