版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
Python數(shù)據(jù)分析基礎(chǔ)與應(yīng)用模塊4Pandas數(shù)據(jù)結(jié)構(gòu)應(yīng)用與數(shù)據(jù)讀寫操作4.3熟悉Pandas的DataFrame結(jié)構(gòu)對DataFrame數(shù)據(jù)結(jié)構(gòu)的特點(diǎn)總結(jié)如下:?DataFrame結(jié)構(gòu)每一列的標(biāo)簽值允許使用不同的數(shù)據(jù)類型;?DataFrame結(jié)構(gòu)是表格型的數(shù)據(jù)結(jié)構(gòu),具有行和列;?DataFrame結(jié)構(gòu)中的每個數(shù)據(jù)值都可以被修改。?DataFrame結(jié)構(gòu)的行數(shù)、列數(shù)允許增加或者刪除;?DataFrame結(jié)構(gòu)有兩個方向的標(biāo)簽軸,分別是行索引和列索引;?DataFrame結(jié)構(gòu)可以對行和列執(zhí)行算術(shù)運(yùn)算。4.3.1創(chuàng)建DataFrame對象創(chuàng)建DataFrame對象的語法格式如下:importpandasaspdpd.DataFrame(data,index,columns,dtype,copy)其函數(shù)參數(shù)說明如下:?data:一組數(shù)據(jù),可以是ndarray、series、list(列表)、dictionary(字典)、標(biāo)量以及另一個DataFrame。?index:行索引,也可以稱為行標(biāo)簽,如果沒有傳遞index值,則默認(rèn)行索引是np.arange(n),n代表data的元素個數(shù)。?columns:列索引,如果沒有傳遞columns值,則默認(rèn)列索引是np.arange(n)。?dtype:表示每一列的數(shù)據(jù)類型。?copy:默認(rèn)為False,表示復(fù)制數(shù)據(jù)data。4.3.2使用列索引操作DataFrameDataFrame可以使用列索引(columnsindex)來完成數(shù)據(jù)的選取、添加和刪除操作,列索引通過columns屬性獲取的。1.使用列索引選取DataFrame的數(shù)據(jù)列(1)選擇單列數(shù)據(jù)可以使用列索引標(biāo)簽輕松實(shí)現(xiàn)數(shù)據(jù)選取,如果想選擇一列的內(nèi)容,可把這一列的名稱作為索引。(2)選擇多列數(shù)據(jù)如果要選擇多列的內(nèi)容,可把這多列的名稱構(gòu)成一個列表形式。4.3.2使用列索引操作DataFrame(3)選取DataFrame中的1個數(shù)據(jù)如果想獲取存儲在DataFrame對象中的一個元素,需要依次指定元素所在的列名稱、行的索引值或標(biāo)簽。例如,使用df1['name'][2]可以選擇DataFrame數(shù)據(jù)結(jié)構(gòu)中姓名為“溫暖”的元素。(4)選取DataFrame中的某個范圍內(nèi)的數(shù)據(jù)如果想獲取存儲在DataFrame對象中某個范圍內(nèi)的元素,可用切片方式指定元素所在的列名稱的范圍和行的索引值或標(biāo)簽的范圍。例如,使用df1['name'][1:3]可以選擇姓名為“路遠(yuǎn)”和“溫暖”的元素。4.3.2使用列索引操作DataFrame2.使用列索引添加DataFrame的數(shù)據(jù)列使用columns列索引標(biāo)簽可以實(shí)現(xiàn)添加新的DataFrame數(shù)據(jù)列,通過指定DataFrame對象新列的名稱,并為其賦值即可。4.3.2使用列索引操作DataFrame3.使用列索引刪除DataFrame中的數(shù)據(jù)列使用del()和pop()方法都能夠刪除DataFrame中的數(shù)據(jù)列。(1)使用del()方法刪除DataFrame中的數(shù)據(jù)列如果要刪除DataFrame中一整列的所有數(shù)據(jù),可以使用del命令。(2)使用pop()方法刪除DataFrame中的數(shù)據(jù)列pop()函數(shù)可以將所選列從原數(shù)據(jù)塊中刪除,原數(shù)據(jù)塊不再保留該列。4.3.2使用列索引操作DataFrame(3)使用drop()函數(shù)刪除DataFrame中的數(shù)據(jù)列在drop()函數(shù)中有兩個參數(shù),一個參數(shù)是axis,當(dāng)參數(shù)axis=1時,則刪除列元素;當(dāng)axis=0時,則刪除行元素。還有一個參數(shù)是inplace,當(dāng)inplace設(shè)置為True時,drop()函數(shù)執(zhí)行內(nèi)部刪除,不返回任何值,原數(shù)據(jù)發(fā)生改變;當(dāng)inplace設(shè)置為False時,原數(shù)據(jù)不會發(fā)生改變,只是輸出被刪除的部分?jǐn)?shù)據(jù)。4.3.3使用行索引操作DataFrame1.使用loc[]屬性基于標(biāo)簽索引選取DataFrame中的數(shù)據(jù)loc[]屬性的功能是基于標(biāo)簽索引選取數(shù)據(jù),df.loc[]只能使用標(biāo)簽索引,不能使用整數(shù)索引。當(dāng)通過標(biāo)簽索引的切片方式來篩選數(shù)據(jù)時,它的取值前閉后閉,也就是包括邊界值標(biāo)簽(開始和結(jié)束)。loc[]屬性具有多種訪問方法,如下所示:?一個標(biāo)量標(biāo)簽?標(biāo)簽列表?切片對象?布爾數(shù)組4.3.3使用行索引操作DataFrame2.使用iloc[]屬性基于整數(shù)索引選取DataFrame中的數(shù)據(jù)df.iloc[]屬性只能使用整數(shù)索引,不能使用標(biāo)簽索引,通過整數(shù)索引切片選擇數(shù)據(jù)時,前閉后開(不包含邊界結(jié)束值)。同Python和NumP一樣,它們的索引都是從0開始。iloc[]屬性提供了以下多種方式來選擇數(shù)據(jù):?整數(shù)索引?整數(shù)列表?數(shù)值范圍4.3.3使用行索引操作DataFrame2.使用iloc[]屬性基于整數(shù)索引選取DataFrame中的數(shù)據(jù)df.iloc[]屬性只能使用整數(shù)索引,不能使用標(biāo)簽索引,通過整數(shù)索引切片選擇數(shù)據(jù)時,前閉后開(不包含邊界結(jié)束值)。同Python和NumP一樣,它們的索引都是從0開始。iloc[]屬性提供了以下多種方式來選擇數(shù)據(jù):?整數(shù)索引?整數(shù)列表?數(shù)值范圍4.3.3使用行索引操作DataFrame(1)選取DataFrame中的單行數(shù)據(jù)通過將數(shù)據(jù)行所在的索引位置傳遞給iloc[]屬性,可以實(shí)現(xiàn)數(shù)據(jù)行選取。其返回值是一個Series對象,其中列的名稱已經(jīng)變?yōu)樗饕龜?shù)組的標(biāo)簽,而列中的元素變?yōu)镾eries數(shù)據(jù)部分。(2)選取DataFrame中的多行數(shù)據(jù)利用iloc屬性和一個數(shù)組的切片來指定DataFrame對象的索引列表的取值范圍,從而可選取多行元素。4.3.3使用行索引操作DataFrame3.通過切片操作選取DataFrame中的多行數(shù)據(jù)也可以使用切片的方式同時選取DataFrame中的多行數(shù)據(jù)。4.3.3使用行索引操作DataFrame4.DataFrame對象添加數(shù)據(jù)行(1)使用loc屬性結(jié)合標(biāo)簽索引添加數(shù)據(jù)行可以使用loc屬性結(jié)合標(biāo)簽索引為DataFrame對象新添加一行,并為此行賦值即可。(2)使用iloc屬性結(jié)合整數(shù)索引添加數(shù)據(jù)行可以使用iloc屬性結(jié)合整數(shù)索引為DataFrame對象新添加一行,并為此行賦值即可。(3)使用append()函數(shù)將新的數(shù)據(jù)行添加到DataFrame中可以使用append()函數(shù)可以將新的數(shù)據(jù)行添加到DataFrame中,該函數(shù)會在行末追加數(shù)據(jù)行。4.3.3使用行索引操作DataFrame5.刪除數(shù)據(jù)行可以使用drop()函數(shù)結(jié)合行索引或行索引標(biāo)簽,從DataFrame中刪除某一行或者多行數(shù)據(jù)。如果存在重復(fù)的行索引,那么它們將被一起刪除。4.3.4使用DataFrame的常用屬性和方法1.使用index屬性獲取DataFrame的行索引列表要獲取DataFrame的行索引列表,調(diào)用DataFrame的index屬性即可。2.使用columns屬性獲取DataFrame對象所有列的名稱調(diào)用DataFrame的columns屬性即可獲取DataFrame對象所有列的名稱。4.3.4使用DataFrame的常用屬性和方法3.設(shè)置行索引和列索引標(biāo)簽使用index屬性可以指定DataFrame結(jié)構(gòu)中的索引數(shù)組,使用columns屬性可以指定包含列名稱的行。通過對一個DataFrame對象的index屬性進(jìn)行name設(shè)置()就可以為DataFrame結(jié)構(gòu)設(shè)置行索引標(biāo)簽名稱。通過對一個DataFrame對象的columns屬性進(jìn)行name設(shè)置()就可以為DataFrame結(jié)構(gòu)設(shè)置列索引標(biāo)簽名稱。4.使用T(Transpose)屬性對DataFrame進(jìn)行轉(zhuǎn)置DataFrame的T屬性返回DataFrame的轉(zhuǎn)置,也就是把行和列進(jìn)行交換。4.3.4使用DataFrame的常用屬性和方法5.使用empty屬性判斷數(shù)據(jù)對象是否為空empty屬性返回一個布爾值,判斷數(shù)據(jù)對象是否為空,若為True表示對象為空。6.使用ndim屬性獲取數(shù)據(jù)對象的維數(shù)ndim屬性返回數(shù)據(jù)對象的維數(shù),DataFrame是一個二維數(shù)據(jù)結(jié)構(gòu)。7.使用shape屬性獲取DataFrame的形狀shape屬性返回一個代表DataFrame維度的元組,返回值元組(m,n),其中m表示行數(shù),n表示列數(shù)。4.3.4使用DataFrame的常用屬性和方法8.使用values屬性返回DataFrame中的所有數(shù)據(jù)values屬性以ndarray數(shù)組的形式返回DataFrame中的所有數(shù)據(jù)。9.使用head()和tail()方法查看數(shù)據(jù)使用head()或者tail()方法可以查看DataFrame的部分?jǐn)?shù)據(jù),其中head()方法返回前n行數(shù)據(jù),默認(rèn)顯示前5行數(shù)據(jù)。tail()方法返回后n行數(shù)據(jù)。4.3.4使用DataFrame的常用屬性和方法10.使用shift()方法移動行或列如果想要移動DataFrame中的某一行/列,可以使用shift()方法實(shí)現(xiàn),它提供了一個periods參數(shù),該參數(shù)表示在特定的軸上移動指定的步幅。shift()方法的返回值是移動后的DataFrame副本。shift()方法的語法格式如下:DataFrame.shift(periods=1,freq=None,axis=0)4.3.4使用Dat
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2026北京機(jī)械科學(xué)研究總院博士研究生招生47人模擬筆試試題及答案解析
- 地下室負(fù)二層底板補(bǔ)漏堵漏施工方案范例
- 深度解析(2026)《GBT 26110-2010鋅鋁涂層 技術(shù)條件》(2026年)深度解析
- 深度解析(2026)《GBT 26044-2010信號傳輸用單晶圓銅線及其線坯》(2026年)深度解析
- 深度解析(2026)《GBT 25930-2010紅外線氣體分析器 試驗方法》
- 深度解析(2026)《GBT 25896.3-2010設(shè)備用圖形符號 起重機(jī) 第3部分:塔式起重機(jī)符號》
- 2025重慶云陽縣平安鎮(zhèn)中心衛(wèi)生院招聘1人備考筆試題庫及答案解析
- 深度解析(2026)《GBT 25830-2010高溫合金盤(環(huán))件通 用技術(shù)條件》(2026年)深度解析
- 2025年銅陵市義安區(qū)檢察院公開招聘編外聘用人員4名考試筆試備考題庫及答案解析
- 功利主義與權(quán)利論視角下人臉識別門禁的倫理邊界
- 2025大理州強(qiáng)制隔離戒毒所招聘輔警(5人)筆試考試備考題庫及答案解析
- 2025年安全培訓(xùn)計劃表
- 2025年沈陽華晨專用車有限公司公開招聘筆試歷年參考題庫附帶答案詳解
- 2026(蘇教版)數(shù)學(xué)五上期末復(fù)習(xí)大全(知識梳理+易錯題+壓軸題+模擬卷)
- 2024廣東廣州市海珠區(qū)琶洲街道招聘雇員(協(xié)管員)5人 備考題庫帶答案解析
- 垃圾中轉(zhuǎn)站機(jī)械設(shè)備日常維護(hù)操作指南
- 蓄電池安全管理課件
- 建筑業(yè)項目經(jīng)理目標(biāo)達(dá)成度考核表
- 2025廣東肇慶四會市建筑安裝工程有限公司招聘工作人員考試參考題庫帶答案解析
- 第五單元國樂飄香(一)《二泉映月》課件人音版(簡譜)初中音樂八年級上冊
- 【MOOC】理解馬克思-南京大學(xué) 中國大學(xué)慕課MOOC答案
評論
0/150
提交評論