版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
第四章使用pandas進(jìn)行數(shù)據(jù)對象構(gòu)建和數(shù)據(jù)運(yùn)算
任務(wù)4.2索引操作Pandas索引操作概述使用位置索引和標(biāo)簽索引操作Series使用位置索引和標(biāo)簽索引操作DataFrame使用函數(shù)式索引操作Series和DataFrame使用常見查詢方法查詢數(shù)據(jù)索引用途索引變換Pandas索引操作概述Pandas有關(guān)索引的用法類似于NumPy數(shù)組的索引,只不過Pandas的索引既可以使用位置索引(下標(biāo)),也可以使用標(biāo)簽索引(索引名)。另外,針對位置索引和標(biāo)簽索引專門提供了iloc和loc屬性訪問方法。無論是位置索引,還是標(biāo)簽索引,表達(dá)上都有4種索引方式,即基本索引、切片索引、花式索引和布爾索引。Pandas索引操作概述NumPy多維數(shù)組Ndarray訪問索引的類別:位置(下標(biāo))索引索引的表達(dá)方式:四種,基本索引、切片索引、花式索引和布爾索引
索引的操作方式:索引運(yùn)算符[]Pandas數(shù)據(jù)結(jié)構(gòu)Series和DataFrame訪問索引的類別:位置(下標(biāo))索引
、標(biāo)簽(名稱)索引索引的表達(dá)方式:四種,基本索引、切片索引、花式索引和布爾索引索引的操作方式:索引運(yùn)算符[]和屬性運(yùn)算符.,有一定局限性
數(shù)據(jù)結(jié)構(gòu)對象的iloc和loc屬性,靈活方便Pandas索引操作概述iloc:基于位置索引或布爾數(shù)組索引訪問數(shù)據(jù)結(jié)構(gòu),也就是同樣可以使用四種索引來訪問數(shù)據(jù)結(jié)構(gòu)。切片索引只包含起始位置索引,不包含結(jié)束位置索引。
loc:基于標(biāo)簽索引或布爾數(shù)組(或帶標(biāo)簽的布爾數(shù)組)索引訪問數(shù)據(jù)結(jié)構(gòu),也就是同樣可以使用四種索引來訪問數(shù)據(jù)結(jié)構(gòu)。切片既包含起始標(biāo)簽索引,也包含結(jié)束標(biāo)簽索引。
使用位置索引和標(biāo)簽索引操作Series-概述
使用索引運(yùn)算符[]和屬性.運(yùn)算符操作Series使用iloc或loc屬性操作Seriess.iloc[行位置索引]、s.iloc[布爾數(shù)組索引]s.loc[行標(biāo)簽索引]、s.loc[帶標(biāo)簽布爾數(shù)組索引或布爾數(shù)組索引]索引運(yùn)算符、iloc或loc屬性中使用四種索引使用位置索引和標(biāo)簽索引操作Series-基本索引使用基本索引,s表示Series對象。形如:s[下標(biāo)]、s[標(biāo)簽]、s.標(biāo)簽、s.iloc[下標(biāo)]、s.loc[標(biāo)簽]使用位置索引和標(biāo)簽索引操作Series-切片索引使用切片索引形如:s[下標(biāo)i:下標(biāo)j]、s[標(biāo)簽i:標(biāo)簽j]、s.iloc[下標(biāo)i:下標(biāo)j]、s.loc[標(biāo)簽i:標(biāo)簽j]使用位置索引和標(biāo)簽索引操作Series-花式索引使用花式索引形如:s[下標(biāo)列表]、s[標(biāo)簽列表]、s.iloc[下標(biāo)列表]、s.loc[標(biāo)簽列表]使用位置索引和標(biāo)簽索引操作Series-布爾索引使用布爾索引形如:s[帶標(biāo)簽的布爾數(shù)組或布爾數(shù)組]、s.loc[帶標(biāo)簽的布爾數(shù)組或布爾數(shù)組]、s.iloc[布爾數(shù)組]使用位置索引和標(biāo)簽索引操作DataFrame-概述使用索引運(yùn)算符[]和.操作DataFrame使用iloc或loc屬性操作DataFramedf.iloc[行位置索引]、df.iloc[布爾數(shù)組索引]df.loc[行標(biāo)簽索引]、df.loc[帶標(biāo)簽布爾數(shù)組索引或布爾數(shù)組索引]df.iloc[行位置索引,列位置索引]df.loc[行標(biāo)簽索引,列標(biāo)簽索引]df[,]不支持索引運(yùn)算符、iloc或loc屬性中使用四種索引使用位置索引和標(biāo)簽索引操作DataFrame-基本索引通過[]和.直接使用基本索引,df表示DataFrame對象。注意:df的索引運(yùn)算符操作是先列后行,先列必須得到是一個(gè)Series才能后行形如:df[列標(biāo)簽]或df.列標(biāo)簽,得到一個(gè)Series,后續(xù)按Series索引操作。使用位置索引和標(biāo)簽索引操作DataFrame-基本索引通過loc和iloc使用基本索引,注意,是始終是先行后列取數(shù)據(jù)df.loc方法,始終先行后列的標(biāo)簽索引查詢df.iloc方法,始終先行后列的位置索引查詢使用位置索引和標(biāo)簽索引操作DataFrame-切片索引直接使用切片索引,注意,切片索引只能使用行位置索引和行標(biāo)簽索引表達(dá),不支持列索引表達(dá)形如:df[行下標(biāo)i:行下標(biāo)j]、df[行標(biāo)簽i:行標(biāo)簽j],即使i==j,結(jié)果也是DataFrame使用位置索引和標(biāo)簽索引操作DataFrame-切片索引iloc和loc使用切片索引,始終是先行獲取數(shù)據(jù)形如:df.iloc[行下標(biāo)i:行下標(biāo)j]、df.loc[行標(biāo)簽i:行標(biāo)簽j]使用位置索引和標(biāo)簽索引操作DataFrame-花式索引直接使用花式索引,注意,也是先列方向,花式索引只能使用列標(biāo)簽索引表達(dá)形如:df[[列標(biāo)簽列表]]使用位置索引和標(biāo)簽索引操作DataFrame-花式索引iloc和loc使用花式索引,始終是先行獲取數(shù)據(jù)形如:df.iloc[[下標(biāo)列表]]、df.loc[[標(biāo)簽列表]]使用位置索引和標(biāo)簽索引操作DataFrame-布爾索引直接使用布爾數(shù)組索引形如:df[帶標(biāo)簽的布爾數(shù)組]、df[布爾數(shù)組]使用位置索引和標(biāo)簽索引操作DataFrame-布爾索引df.iloc和df.loc使用布爾數(shù)組形如:df.iloc[布爾數(shù)組]、df.loc[帶標(biāo)簽的布爾數(shù)組]、df.loc[布爾數(shù)組]使用位置索引和標(biāo)簽索引操作DataFrame-綜合df.iloc和df.loc使用行列查詢數(shù)據(jù),行列位置索引和標(biāo)簽索引均可使用基本索引、切片索引、花式索引和布爾索引。df.iloc的布爾數(shù)組作為索引,不能直接使用Series或DataFrame類型的布爾數(shù)組(即帶標(biāo)簽的布爾數(shù)組),需要將帶標(biāo)簽的布爾數(shù)組取values轉(zhuǎn)換成不帶標(biāo)簽的布爾數(shù)組。形如:df.iloc[行位置索引,列位置索引]、df.loc[行標(biāo)簽索引,列標(biāo)簽索引]
df由行、列同時(shí)定位數(shù)據(jù),必須使用iloc或loc方式,不能使用df[,]df可以取值得到二維數(shù)組來使用索引運(yùn)算符[,]索引操作數(shù)據(jù)小結(jié)以四種索引,基本索引、切片索引、花式索引、布爾索引為主線,每種索引可以用位置索引或標(biāo)簽索引來表達(dá),同時(shí)以索引運(yùn)算符[]和屬性運(yùn)算符.、iloc和loc屬性兩種訪問方式來使用索引。在二種訪問方式里面,都可以使用四種索引。操作索引的基本結(jié)構(gòu)有[]、[,]、[][]、.和iloc[]、iloc[,]、loc[]、loc[,]注意點(diǎn):df[]:df[]先列結(jié)果是Series才能后行df[0:4]:直接切片索引僅僅支持行索引方向,不支持列索引方向iloc和loc總是先行索引方向,iloc[,]和loc[,]中逗號(hào)左邊是行索引,右邊是列索引第四章使用pandas進(jìn)行數(shù)據(jù)對象構(gòu)建和數(shù)據(jù)運(yùn)算
任務(wù)4.2索引操作Pandas索引操作概述使用位置索引和標(biāo)簽索引操作Series使用位置索引和標(biāo)簽索引操作DataFrame使用函數(shù)式索引操作Series和DataFrame使用常見查詢方法查詢數(shù)據(jù)索引用途索引變換使用函數(shù)式索引操作Series和DataFrame函數(shù)式索引:指帶有一個(gè)Series或DataFrame參數(shù)的函數(shù),并返回有效的索引輸出,有效索引就是四種索引之一。df(或s).iloc屬性有效索引包括:一個(gè)整數(shù),例如5整數(shù)列表或數(shù)組,例如[4,3,0]帶有整數(shù)的切片對象,例如1:7布爾數(shù)組df(或s).loc有效索引包括:單個(gè)標(biāo)簽,例如5或'a'(注意,它5被解釋為索引的標(biāo)簽,此用法不是索引的整數(shù)位置)列表或標(biāo)簽數(shù)組,例如['a','b','c']帶標(biāo)簽的切片對象'a':'f'(注意,標(biāo)簽切片的端點(diǎn)包括在內(nèi))布爾數(shù)組df[]、s[]有效索引有位置有效索引,也有標(biāo)簽有效索引,遵循df和s索引運(yùn)算符[]操作要求函數(shù)返回位置索引函數(shù)返回標(biāo)簽索引使用常見查詢方法查詢數(shù)據(jù)—df.querydf.query方法:DataFrame對象的query()方法允許使用表達(dá)式查詢DataFrame的數(shù)據(jù),query也是類似于SQL中where關(guān)鍵字的語法邏輯。query有兩個(gè)SQL中標(biāo)志性的設(shè)計(jì):其一是@引用自定義外部變量,其二是對于特殊的列名(例如包含空格的字符)可以用反引號(hào)``加以修飾引用。query特點(diǎn):節(jié)省內(nèi)存以及有時(shí)他們具有更簡潔的語法形式,但只能查詢數(shù)據(jù),不能修改數(shù)據(jù)。
使用常見查詢方法查詢數(shù)據(jù)—df.query使用常見查詢方法查詢數(shù)據(jù)—wherewhere方法:從具有布爾向量的Series中選擇值通常會(huì)返回?cái)?shù)據(jù)的子集。為了保證選擇輸出與原始數(shù)據(jù)具有相同的形狀,您可以在Series和DataFrame中使用where方法。where接受的條件需要是布爾類型的,如果條件為真,保持原來的值,否則,就被賦值為默認(rèn)的NaN或其他指定值。使用常見查詢方法查詢數(shù)據(jù)—wheredf1.where(m,df2)大致相當(dāng)于np.where(m,df1,df2),比如:df.where(df<0,-df)==np.where(df<0,df,-df)。where對齊輸入布爾條件,以便可以使用設(shè)置進(jìn)行部分選擇。小結(jié)函數(shù)式索引:函數(shù)帶有一個(gè)Series或DataFrame參數(shù),返回有效索引query方法:使用表達(dá)式優(yōu)雅查詢數(shù)據(jù)where方法:使用布爾數(shù)組作為條件查詢,結(jié)果的shape和原數(shù)據(jù)結(jié)構(gòu)shape一致,不滿足條件的數(shù)據(jù)項(xiàng),也可以按指定的axis方向廣播修改數(shù)據(jù)。第四章使用pandas進(jìn)行數(shù)據(jù)對象構(gòu)建和數(shù)據(jù)運(yùn)算
任務(wù)4.2索引操作Pandas索引操作概述使用位置索引和標(biāo)簽索引操作Series使用位置索引和標(biāo)簽索引操作DataFrame使用函數(shù)式索引操作Series和DataFrame使用常見查詢方法查詢數(shù)據(jù)索引用途索引變換索引用途把數(shù)據(jù)存儲(chǔ)于普通的column列也能用于數(shù)據(jù)查詢,那使用index的用途是什么呢?更方便的數(shù)據(jù)查詢;使用index可以獲得性能提升;自動(dòng)的數(shù)據(jù)對齊功能;更多更強(qiáng)大的數(shù)據(jù)結(jié)構(gòu)支持索引用途使用index查詢數(shù)據(jù)索引用途使用index會(huì)提升查詢性能如果index是唯一的,Pandas會(huì)使用哈希表優(yōu)化,查詢性能為O(1)如果index不是唯一的,但是有序,Pandas會(huì)使用二分查找算法,查詢性能為O(logN)如果index是完全隨機(jī)的,那么每次查詢都要掃描全表,查詢性能為O(N)完全隨機(jī)的順序查詢將index排序后的查詢將數(shù)據(jù)隨機(jī)打散
索引用途
使用index能自動(dòng)對齊數(shù)據(jù)(參考4.3)Series、DataFrame和多維數(shù)組的主要區(qū)別在于,Pandas數(shù)據(jù)結(jié)構(gòu)之間的操作會(huì)自動(dòng)基于標(biāo)簽對齊數(shù)據(jù)。因此,不用顧及執(zhí)行計(jì)算操作的數(shù)據(jù)結(jié)構(gòu)是否有相同的標(biāo)簽。Pandas數(shù)據(jù)結(jié)構(gòu)集成的數(shù)據(jù)對齊功能,是Pandas區(qū)別于大多數(shù)標(biāo)簽型數(shù)據(jù)處理工具的重要特性性。index提供更多更強(qiáng)大的索引數(shù)據(jù)結(jié)構(gòu)支持(參考4.4)CategoricalIndex,基于分類數(shù)據(jù)的Index,提升性能;MultiIndex,多維索引,用于groupby多維聚合后結(jié)果等;DatetimeIndex,時(shí)間類型索引,強(qiáng)大的日期和時(shí)間的方法支持;索引變換—reindex和renamereindex執(zhí)行的是索引重組操作,接收一組標(biāo)簽序列作為新索引,既適用于行索引也適用于列標(biāo)簽名,重組之后索引數(shù)量可能發(fā)生變化,索引名為傳入標(biāo)簽序列。當(dāng)原DataFrame中存在新指定的索引時(shí)則提取相應(yīng)行或列,不存在則舍棄。若新指定的索引在原來索引中不存在,則默認(rèn)賦值為空或填充新值。索
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年度企業(yè)內(nèi)部項(xiàng)目承包協(xié)議書2篇
- 《合成氣制低碳烯烴鐵基催化劑的合成及催化性能研究》
- 《21世紀(jì)亞太多邊安全合作及前景展望》
- 2024年度房產(chǎn)分割公證服務(wù)合同3篇
- 2024版內(nèi)河船舶資產(chǎn)置換與運(yùn)輸業(yè)務(wù)合作協(xié)議3篇
- 2024年度城市戶外廣告牌租賃合同3篇
- 2024年版:網(wǎng)絡(luò)店鋪經(jīng)營權(quán)轉(zhuǎn)讓合同書
- 2024年度化學(xué)原料藥生產(chǎn)項(xiàng)目融資與投資合同3篇
- 2024年度幼兒教育服務(wù)與師資培訓(xùn)合同3篇
- 2024全新電商運(yùn)營授權(quán)委托管理服務(wù)合同3篇
- 中心靜脈壓CVP監(jiān)測專家講座
- 大豆購貨合同范本(2024版)
- 裝修出租合同范本
- 任命基金管理人協(xié)議
- 研學(xué)旅游基地設(shè)計(jì)方案
- 張成?!豆补芾韺W(xué)》(修訂版)課后習(xí)題詳解
- 托育、早教中心崗位績效考核標(biāo)準(zhǔn)
- 小罐茶行業(yè)分析報(bào)告
- 福建省國土空間規(guī)劃(2021-2035年)公眾版
- 西方社會(huì)思想兩千年智慧樹知到期末考試答案章節(jié)答案2024年復(fù)旦大學(xué)
- 新時(shí)代大學(xué)生勞動(dòng)教育智慧樹知到期末考試答案章節(jié)答案2024年黑龍江農(nóng)業(yè)經(jīng)濟(jì)職業(yè)學(xué)院
評(píng)論
0/150
提交評(píng)論