




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
數(shù)據(jù)分析理論與Python實(shí)戰(zhàn)第五章Pandas——處理結(jié)構(gòu)化數(shù)據(jù)目錄Pandas介紹基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)基于Pandas地Index對(duì)象地訪問操作數(shù)學(xué)統(tǒng)計(jì)與計(jì)算工具數(shù)學(xué)聚合與分組運(yùn)算Pandas介紹Pandas是Python地一個(gè)開源工具包,為Python提供了高能,簡(jiǎn)單易用地?cái)?shù)據(jù)結(jié)構(gòu)與數(shù)據(jù)分析工具。Pandas提供了方便地類表格地統(tǒng)計(jì)操作與類SQL操作,使之可以方便地做一些數(shù)據(jù)預(yù)處理工作。同時(shí)提供了強(qiáng)大地缺失值處理等,使預(yù)處理工作更加便捷。了解Pandas可以完成什么事情:索引對(duì)象:包括簡(jiǎn)單地索引與多層次地索引引擎集成組合:用于匯總與轉(zhuǎn)換數(shù)據(jù)集合日期范圍生成器以及自定義日期偏移(實(shí)現(xiàn)自定義頻率)輸入工具與輸出工具:從各種格式地文件(CSV,delimited,Excel二零零三)加載表格數(shù)據(jù),以及從快速高效地PyTables/HDF五格式保存與加載Pandas對(duì)象。標(biāo)準(zhǔn)數(shù)據(jù)結(jié)構(gòu)地"稀疏"形式:可以用于存儲(chǔ)大量缺失或者大量一致地?cái)?shù)據(jù)。移動(dòng)窗口統(tǒng)計(jì)(滾動(dòng)均值,滾動(dòng)標(biāo)準(zhǔn)偏差等)。基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)——SeriesSeries是Pandas重要地?cái)?shù)據(jù)結(jié)構(gòu),類似于一維數(shù)組與字典地結(jié)合。Series可以理解為一個(gè)定長,有序地"字典"結(jié)構(gòu),一些需要"字典"結(jié)構(gòu)地地方也可以使用Series。是一個(gè)有標(biāo)簽地一維數(shù)組,同時(shí)標(biāo)簽在Pandas有對(duì)應(yīng)地?cái)?shù)據(jù)類型"index"。Series地創(chuàng)建通過list創(chuàng)建通過NumPy地ndarray創(chuàng)建通過dict創(chuàng)建通過標(biāo)量創(chuàng)建基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)——SeriesSeries地訪問可以iloc函數(shù)與loc函數(shù)對(duì)Series行訪問可以直接通過類似數(shù)組與類似屬地方式對(duì)其行訪問Series地操作在行數(shù)據(jù)分析工作時(shí),通常像數(shù)組一樣對(duì)Series行循環(huán)地每個(gè)值地操作是沒有必要地。NumPy對(duì)ndarray可以行地操作對(duì)Series同樣可以行。同時(shí)由于索引地存在,在操作時(shí)存在數(shù)組對(duì)齊地問題基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)——DataframeDataFrame是有標(biāo)簽地二維數(shù)組,類似于一個(gè)表格或者SQL地table,或者是一個(gè)Series對(duì)象地dict,是Pandas最常用地?cái)?shù)據(jù)結(jié)構(gòu)。DataFrame分為行索引(index)與列索引(columns)。DataFrame地創(chuàng)建輸入:包括值為一維ndarray,list,dict或者Series地dict;二維地ndarray;一個(gè)Series;其它地DataFrame等。索引:在創(chuàng)建DataFrame時(shí),行索引與列索引可以通過index與columns參數(shù)指定,若沒有明確給出,則會(huì)有默認(rèn)值,默認(rèn)值為從零開始地連續(xù)數(shù)字。對(duì)于通過Series地dict創(chuàng)建DataFrame地情況,若指定index,則會(huì)丟棄所有未與指定index匹配地?cái)?shù)據(jù)基礎(chǔ)數(shù)據(jù)結(jié)構(gòu)——DataframeDataFrame地訪問作為一個(gè)類似表格地?cái)?shù)據(jù)類型,DataFrame地訪問方式有多種,可以通過列索引,也可以通過行索引,具體說明在訪問操作給出通過loc對(duì)DataFrame行基于行索引標(biāo)簽地訪問直接通過列索引地標(biāo)簽對(duì)DataFrame行訪問通過iloc函數(shù)基于行索引地位置行訪問DataFrame地操作DataFrame本身可以行很多算術(shù)操作,包括加減乘除,轉(zhuǎn)置,NumPy對(duì)矩陣可以行地一系列操作地函數(shù)都可以運(yùn)用于DataFrame,但是要注意數(shù)據(jù)對(duì)齊問題可以行增刪改查地操作基于Pandas地Index對(duì)象地訪問操作Pandas地Index對(duì)象Series地index屬DataFrame地index屬與columns屬Index對(duì)象地特征不可修改,有序及可切片地Index對(duì)象地類型Index:最泛化地Index類型,可以理解為其它類型地父類,將軸標(biāo)簽表示為一個(gè)由Python對(duì)象組成地NumPy數(shù)組;Int六四Index則是針對(duì)整數(shù)地;MultiIndex針對(duì)多層索引;DatetimeIndex則存儲(chǔ)時(shí)間戳;PeriodIndex針對(duì)時(shí)間間隔數(shù)據(jù)?;赑andas地Index對(duì)象地訪問操作Index對(duì)象地基本操作函數(shù)說明delete刪除索引i處地元素,返回新地Index對(duì)象(可以傳入索引地?cái)?shù)組)drop刪除傳入地元素e,返回新地Index對(duì)象(可以傳入元素地?cái)?shù)組)insert將元素插入索引i處,返回新地Index對(duì)象append連接另一個(gè)Index對(duì)象,返回新地Index對(duì)象union與另一個(gè)Index對(duì)象行并操作,返回兩者地并集difference與另一個(gè)Index對(duì)象行差操作,返回兩者地差集Intersection與另一個(gè)Index對(duì)象行操作,返回兩者地集isin判斷Index對(duì)象每個(gè)元素是否在參數(shù)所給地?cái)?shù)組類型對(duì)象,返回一個(gè)與Index對(duì)象長度相同地Bool數(shù)組is_monotonic當(dāng)每個(gè)元素都大于前一個(gè)元素時(shí),返回Trueis_unique當(dāng)Index對(duì)象沒有重復(fù)值時(shí),返回Trueunique返回沒有重復(fù)數(shù)據(jù)地Index對(duì)象基于Pandas地Index對(duì)象地訪問操作索引地不同訪問方式loc方式Pandas地loc函數(shù)地輸入主要關(guān)注index地label,篩選條件與label有關(guān),接收index地label作為參數(shù)輸入。包括單個(gè)地label,label地?cái)?shù)組或者label地分片(slice)表達(dá)形式;可以接收一個(gè)布爾數(shù)組作為參數(shù)輸入;可以接收參數(shù)為調(diào)用loc函數(shù)地對(duì)象(Series或者DataFrame類型)地回調(diào)函數(shù)作為參數(shù)輸入。iloc方式而iloc函數(shù)與loc函數(shù)不同,關(guān)注地則是index地position。index地position作為參數(shù)輸入,包括表示position地單個(gè)整數(shù),position地?cái)?shù)組或者position地分片(slice)表達(dá)形式;可以接收一個(gè)布爾數(shù)組作為參數(shù)輸入;可以接收參數(shù)為調(diào)用loc函數(shù)地對(duì)象(Series或者DataFrame類型)地回調(diào)函數(shù)作為參數(shù)輸入?;赑andas地Index對(duì)象地訪問操作索引地不同訪問方式類似dict方式地訪問可以將Seires與DataFrame看作一個(gè)dict,而DataFrame相當(dāng)于每一個(gè)元素是Series地dict,所以可以用類似dict訪問地方式來訪問Series與DataFrame。類似屬方式地訪問接受參數(shù)類型包括單個(gè)變量,數(shù)組形式(list或者NumPy地ndarray),布爾數(shù)組或者回調(diào)函數(shù)?;赑andas地Index對(duì)象地訪問操作調(diào)用方式間地區(qū)別loc函數(shù)與iloc函數(shù)地區(qū)別loc函數(shù)與iloc函數(shù)都是對(duì)index地訪問(Series地index與DataFrame地index),對(duì)于DataFrame也可以實(shí)現(xiàn)對(duì)于某個(gè)index下地某個(gè)column地訪問。接收地?cái)?shù)據(jù)類型相同但是意義不同,loc函數(shù)接收Index對(duì)象(index與columns)地label,而iloc函數(shù)接收Index對(duì)象(index與columns)地position。通過loc訪問與通過[]訪問地區(qū)別loc函數(shù)與[]都是接收Index對(duì)象(index與columns)地label作為參數(shù),但是loc函數(shù)是對(duì)index地訪問(Series地index與DataFrame地index),[]在DataFrame則是對(duì)columns地訪問,在Series無差別?;赑andas地Index對(duì)象地訪問操作特殊地輸入類型輸入為布爾類型數(shù)組使用布爾類型數(shù)組作為輸入?yún)?shù)也是常見地操作之一,可用地運(yùn)算符包括:|(表示或運(yùn)算),&(表示與運(yùn)算)以及~(表示非運(yùn)算),但注意要使用圓括號(hào)來組合。輸入為回調(diào)函數(shù)loc,iloc與[]都接收回調(diào)函數(shù)作為輸入來行訪問,這個(gè)回調(diào)函數(shù)需要是以被訪問地Series或者DataFrame作為參數(shù)數(shù)學(xué)統(tǒng)計(jì)與計(jì)算工具統(tǒng)計(jì)函數(shù):協(xié)方差,有關(guān)系數(shù),排序。Pandas提供了一系列統(tǒng)計(jì)函數(shù)接口,方便用戶直接行統(tǒng)計(jì)運(yùn)算。包括協(xié)方差,有關(guān)系數(shù),排序等。Pandas提供了兩個(gè)Series對(duì)象之間地協(xié)方差,以及一個(gè)DataFrame地協(xié)方差矩陣地計(jì)算接口數(shù)學(xué)統(tǒng)計(jì)與計(jì)算工具窗口函數(shù)在移動(dòng)窗口上計(jì)算統(tǒng)計(jì)函數(shù)對(duì)于處理時(shí)序數(shù)據(jù)也是十分常見地,為此,Pandas提供了一系列窗口函數(shù),其包括計(jì)數(shù),求與,求均,位數(shù),有關(guān)系數(shù),方差,協(xié)方差,標(biāo)準(zhǔn)差,偏斜度與峰度窗口本身Pandas提供了三種對(duì)象:Rolling,Expanding與EWM數(shù)學(xué)統(tǒng)計(jì)與計(jì)算工具窗口函數(shù)Rolling對(duì)象定長地窗口,需要通過參數(shù)window指定窗口大小Expanding對(duì)象擴(kuò)展窗口,第i個(gè)窗口地大小為i,可以將其看作特殊地windows為數(shù)據(jù)長度,min_periods為一地Rolling對(duì)象EWM對(duì)象指數(shù)加權(quán)窗口,其需要定義衰減因子,定義有很多種方式,包括時(shí)間間隔Span,質(zhì)心Centerofmass,Half-life(指數(shù)權(quán)重減少到一半需要地時(shí)間)或者直接定義Alpha。數(shù)學(xué)統(tǒng)計(jì)與計(jì)算工具窗口對(duì)象地統(tǒng)計(jì)函數(shù)函數(shù)說明count()移動(dòng)窗口內(nèi)非NaN值地計(jì)數(shù)sum()移動(dòng)窗口內(nèi)地與mean()移動(dòng)窗口內(nèi)地均值median()移動(dòng)窗口內(nèi)地位數(shù)min()移動(dòng)窗口內(nèi)地最小值max()移動(dòng)窗口內(nèi)地最大值std()移動(dòng)窗口內(nèi)地?zé)o偏估計(jì)標(biāo)準(zhǔn)差(分母為n-一)var()移動(dòng)窗口內(nèi)地?zé)o偏估計(jì)方差(分母為n-一)skew()移動(dòng)窗口內(nèi)地偏度kurt()移動(dòng)窗口內(nèi)地峰度quantile()移動(dòng)窗口內(nèi)地指定分位數(shù)位置地值(傳入地應(yīng)該是[零,一]地值)apply()在移動(dòng)窗口內(nèi)使用普通地(可以自定義地)數(shù)組函數(shù)cov()移動(dòng)窗口內(nèi)地協(xié)方差corr()移動(dòng)窗口內(nèi)地有關(guān)系數(shù)數(shù)學(xué)聚合與分組運(yùn)算如SQL操作地分組與聚合等操作,Pandas同樣提供了類似地接口實(shí)現(xiàn)對(duì)數(shù)據(jù)集行分組,并對(duì)每個(gè)組執(zhí)行一定地操作,這就是Pandas地"groupby"功能。"groupby"包括split-apply-bine三個(gè)階段"split"階段通過一些原則將數(shù)據(jù)分組;"apply"階段,每個(gè)組分別執(zhí)行一個(gè)函數(shù),產(chǎn)生一個(gè)新值;""bine"階段將各組地結(jié)果合并到最終對(duì)象。對(duì)于拆分操作,Pandas對(duì)象(Series或者DataFrame)根據(jù)提供地鍵在特定地軸上行拆分。DataFrame可以指定是在index軸或者columns軸。數(shù)學(xué)聚合與分組運(yùn)算拆分鍵地形式拆分地鍵地形式說明示例
與所選軸長度相同地?cái)?shù)組(list或者NumPy地array,甚至是一個(gè)Series對(duì)象)Demo一group_list=['one','two','one','two','two']df.groupby(group_list).count()group_series=pd.Series(group_list)DataFrame某個(gè)列名地值或者列名地listDome二df.groupby('a')Demo三df.groupby(df['a'])#上述兩個(gè)表述等價(jià),df.groupby('a')是df.groupby(df['a'])地簡(jiǎn)便形式Demo四df.groupby(df.loc['one'],axis=一)參數(shù)為axis地標(biāo)簽地函數(shù)Demo五defget_index_number(index):ifindexin['one','two']:return'small'else:return'big'df.groupby(get_index_number)Demo六defget_column_letter_group(column):ifcolumnis'a':return'group_a'else:return'group_others'df.groupby(get_column_letter_group,axis=一)字典或者Series,給出axis上地值與分組名之間地對(duì)應(yīng)關(guān)系Demo七#該示例與Demo一地效果相同group_list=['one','two','one','two','two']group_series=pd.Series(group_list,index=df.index)df.groupby
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 文具企業(yè)競(jìng)爭(zhēng)力分析與提升策略考核試卷
- 搬家行業(yè)節(jié)能減排與綠色物流考核試卷
- 期貨市場(chǎng)交易風(fēng)險(xiǎn)監(jiān)測(cè)與預(yù)警考核試卷
- 小學(xué)生抗旱主題班會(huì)課件
- 客廳家具批發(fā)考核試卷
- 工業(yè)氣體批發(fā)考核試卷
- 2023視頻監(jiān)控及火災(zāi)報(bào)警系統(tǒng)施工作業(yè)指導(dǎo)書
- 上海建房合同范本
- 空調(diào)技術(shù)入股合同范本
- 汽修門頭合作合同范本
- 2025年山東青島自貿(mào)發(fā)展有限公司招聘筆試參考題庫含答案解析
- 液化氣罐的使用和安全防范
- 2025年中考物理總復(fù)習(xí)《內(nèi)能》專項(xiàng)測(cè)試卷含有答案
- 會(huì)計(jì)法律法規(guī)答題答案
- 2024年無錫工藝職業(yè)技術(shù)學(xué)院高職單招語文歷年參考題庫含答案解析
- 劇本殺范本完整版
- 北師大版一年級(jí)語文下冊(cè)第一單元元宵節(jié)《1元宵節(jié)》
- 2024年全球協(xié)作機(jī)器人產(chǎn)業(yè)發(fā)展白皮書
- 消防設(shè)施維保過程風(fēng)險(xiǎn)及保障措施
- 智能交通系統(tǒng)概論 課件全套 朱文興 第1-10章 緒論 - 城市交通子區(qū)控制系統(tǒng)
- 一鍵自動(dòng)生成spccpkmsappk數(shù)據(jù)工具
評(píng)論
0/150
提交評(píng)論