大數(shù)據(jù)處理:pandas處理數(shù)據(jù)課件-2024-2025學(xué)年浙教版(2019)高中信息技術(shù)必修一_第1頁(yè)
大數(shù)據(jù)處理:pandas處理數(shù)據(jù)課件-2024-2025學(xué)年浙教版(2019)高中信息技術(shù)必修一_第2頁(yè)
大數(shù)據(jù)處理:pandas處理數(shù)據(jù)課件-2024-2025學(xué)年浙教版(2019)高中信息技術(shù)必修一_第3頁(yè)
大數(shù)據(jù)處理:pandas處理數(shù)據(jù)課件-2024-2025學(xué)年浙教版(2019)高中信息技術(shù)必修一_第4頁(yè)
大數(shù)據(jù)處理:pandas處理數(shù)據(jù)課件-2024-2025學(xué)年浙教版(2019)高中信息技術(shù)必修一_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

4.2

pandas處理數(shù)據(jù)編程處理數(shù)據(jù)數(shù)據(jù)處理可以使用現(xiàn)成的軟件或平臺(tái),也可以通過(guò)編寫(xiě)程序?qū)崿F(xiàn)。Python語(yǔ)言豐富的標(biāo)準(zhǔn)模塊和擴(kuò)展庫(kù)提供了許多高效靈活的函數(shù),可以幫助我們較好地進(jìn)行數(shù)據(jù)整理。pandas處理數(shù)據(jù)numpy模塊是Python中做科學(xué)計(jì)算的基礎(chǔ)庫(kù),主要提供科學(xué)計(jì)算中常用的隨機(jī)數(shù)、數(shù)組運(yùn)算等基礎(chǔ)函數(shù)。

scipy模塊是基于numpy構(gòu)建的一個(gè)模塊,增強(qiáng)了在高等數(shù)學(xué)、信號(hào)處理、圖像處理、統(tǒng)計(jì)等方面的處理能力。

pandas模塊基于numpy實(shí)現(xiàn),主要用于數(shù)據(jù)的處理和分析。它提供了大量處理數(shù)據(jù)的函數(shù)和方法,能方便地操作大型數(shù)據(jù)集。python模塊的導(dǎo)入——import

一個(gè)程序中已出現(xiàn)的一個(gè)或多個(gè)函數(shù)或模塊,引入到另一個(gè)python代碼中,從而實(shí)現(xiàn)代碼的復(fù)用。語(yǔ)法如下:import模塊名模塊名.函數(shù)名from模塊名import函數(shù)名python模塊的小名兒import還有更多詳細(xì)的用法,導(dǎo)入整個(gè)模塊時(shí),也可以為模塊指定別名。

import模塊名1[as別名1]例如:importmathassprint(s.sqrt(9))

from模塊名import成員名1[as別名1]例如:frommathimportsqrtasvprint(v(9))Series是一種一維的數(shù)據(jù)結(jié)構(gòu),包含一個(gè)數(shù)組的數(shù)據(jù)(values)和一個(gè)與數(shù)據(jù)關(guān)聯(lián)的索引(index)。1、導(dǎo)入pandas模塊importpandasaspd2、創(chuàng)建一個(gè)Series對(duì)象S=pd.Series(x[,index=idx])X可以是:1、列表(list)2、字典(dict)3、numpy數(shù)組(ndarray)1.創(chuàng)建Series(序列)Series類(lèi)似于一維數(shù)組,由一個(gè)數(shù)組的數(shù)據(jù)和一個(gè)與數(shù)據(jù)關(guān)聯(lián)的索引(index)組成,索引值默認(rèn)是從0起遞增的整數(shù)。importpandasaspd#導(dǎo)入pandas模塊并取別名為pds1=pd.Series([1,2,3,4])print(s1)01122334左列:index(索引)右列:values(值)

Series

Seriess2=pd.Series([1,2,3,4],index=['a','b','c','d'])print(s2)a

1b

2c

3d

4

Series結(jié)構(gòu)與列表最大的區(qū)別是可以指定索引,類(lèi)型可以是字符串型indexvalues

創(chuàng)建一個(gè)別名為pd1的Series結(jié)構(gòu)對(duì)象w,用于存儲(chǔ)中餐站臺(tái)當(dāng)中的“滑蛋蝦仁”,“荔枝雞片”,“XO醬炒牛肉”,并輸出。通過(guò)字典方式創(chuàng)建data={"i1":1,"i2":2,"i3":3,"i4":4}s3=pd.Series(data)print(s3)i11i22i33i44

Series通過(guò)字典方式創(chuàng)建data={"i1":1,"i2":2,"i3":3,"i4":4}s3=pd.Series(data,index=['i1','i3','i2','i4'])print(s3)i11i33i22i44

Series修改series對(duì)象中的值

先通過(guò)索引值選取值,再通過(guò)賦值語(yǔ)句修改值指定索引以后,原來(lái)默認(rèn)的索引值還能用嗎?

Series對(duì)象常用屬性屬性說(shuō)明indexSeries的下標(biāo)索引,其值默認(rèn)是從0起遞增的整數(shù)values存放Series值的一個(gè)數(shù)組3.查看Series對(duì)象的index、values屬性值s2=pd.Series(['你','好','聰','明'],index=['a','b','c','d'])foriins2.index:print(i)a

b

c

d

Series對(duì)象常用屬性3.查看Series對(duì)象的index、values屬性值s2=pd.Series(['你','好','聰','明'],index=['a','b','c','d'])foriins2.values:print(i)你好聰明

Series對(duì)象常用屬性3.查看Series對(duì)象的index、values屬性值s2=pd.Series(['你','好','聰','明'],index=['a','b','c','d'])foriins2:print(i)你好聰明

Series對(duì)象常用屬性課堂練習(xí)1.下列Python的模塊中,主要用于數(shù)據(jù)的處理和分析的是()A.ImageB.pandasC.scipyD.matplotlibB課堂練習(xí)2.有Python程序段如下:importpandasaspdser=pd.Series([1,3,5,7])print(ser.index)該程序段運(yùn)行后輸出結(jié)果為()AA.0B.1C.1D.01123132352534737課堂練習(xí)3.有Python程序段如下:importpandasaspds=pd.Sreies([166,178,180],index=['S1','S2','S3'])s[1]=168print(s)該程序段運(yùn)行后輸出結(jié)果為()A.

[168178180]B.[166168180]C.S1166D.S1168S2168S2178S3180S3180C課堂練習(xí)4.有Python程序段如下:importpandasaspds=pd.Sreies(range(1,10,2))print(s)該程序段運(yùn)行后輸出結(jié)果為()A.

01B.11C.01D.111102101323253537474959Cpandas數(shù)據(jù)結(jié)構(gòu)2.DataFrame(數(shù)據(jù)框)DataFrame是一種類(lèi)似于關(guān)系表的表格型數(shù)據(jù)結(jié)構(gòu),DataFrame對(duì)象是一個(gè)二維表格,由1個(gè)索引列(index)和若干個(gè)數(shù)據(jù)列組成。其中,每列中的元素類(lèi)型必須一致,而不同的列可以擁有不同的元素類(lèi)型。利用字典創(chuàng)建DataFrame使用DataFrame前,需要導(dǎo)入pandas庫(kù)中的DataFrame模塊frompandasimportDataFrame

data={"name":["王曉明","李靜","田海"],"sex":["男","女","男"],"aged":[20,19,21]}#字典是無(wú)序的,因此需要通過(guò)columns指定列索引的排列順序df=DataFrame(data,columns=["name","sex","aged"])print(df)indexcolumnsvalues利用字典創(chuàng)建DataFrameDataFrame數(shù)據(jù)有列索引和行索引,行索引類(lèi)似于關(guān)系表中每行的編號(hào)(未指定行索引的情況下,會(huì)使用0到n-1作為行索引),列索引類(lèi)似于表格的列名(也稱(chēng)為字段)。df1=DataFrame(data,columns=["name","sex","aged"],index=["L1","L2","L3"])print(df1)利用字典創(chuàng)建DataFrame__________________#導(dǎo)入模塊data={"name":["張三","李四","王五","趙六"],"sex":["男","女","女","男"],"aged":[20,19,20,21],"score":[80,60,70,90]}df=pd.DataFrame(data,columns=["aged","name","score","sex"])print(df)importpandasaspd創(chuàng)建DataFrame對(duì)象DataFrame對(duì)象可以自己定義,也可以直接讀取二維數(shù)據(jù)文件創(chuàng)建DataFrame對(duì)象。read_excel()函數(shù)讀取Excel文件創(chuàng)建DataFrame對(duì)象read_csv()函數(shù)讀取CSV文件創(chuàng)建DataFrame對(duì)象to_excel()函數(shù)創(chuàng)建Excel文件保存數(shù)據(jù)to_csv()函數(shù)創(chuàng)建CSV文件保存數(shù)據(jù)創(chuàng)建DataFrame對(duì)象讀入文件

使用read_excel()函數(shù),讀取Excel文件創(chuàng)建DataFrame對(duì)象。importpandasaspddf=pd.read_excel("cp.xlsx")print(df)查看DataFrame對(duì)象

通過(guò)index、columns、values屬性可以查看DataFrame對(duì)象的行索引、列索引及其數(shù)據(jù),如df.index、df.columns、df.values。importpandasaspddf=pd.read_excel("cp.xlsx")foriindf.index:print(i)查看DataFrame對(duì)象

通過(guò)index、columns、values屬性可以查看DataFrame對(duì)象的行索引、列索引及其數(shù)據(jù),如df.index、df.columns、df.values。importpandasaspddf=pd.read_excel("cp.xlsx")print(df.T)#行列轉(zhuǎn)置,df數(shù)據(jù)本身不變print(df)查看DataFrame對(duì)象查看數(shù)據(jù)列

使用字典記法或?qū)傩詸z索DataFrame對(duì)象中的一列數(shù)據(jù),如df['id']或df.id。importpandasaspddf=pd.read_excel("cp.xlsx")print(df.影視劇)importpandasaspddf=pd.read_excel("cp.xlsx")print(df____________)[“影視劇”]pandas數(shù)據(jù)結(jié)構(gòu)DataFrame模塊提供了豐富的函數(shù),這些函數(shù)可以用來(lái)進(jìn)行行、列編輯等。DataFrame中,新增列、刪除列、重命名列可以通過(guò)insert()、drop()、rename()等函數(shù)完成;追加數(shù)據(jù)行可以通過(guò)append()函數(shù)完成;使用set_value()函數(shù)可以根據(jù)行標(biāo)簽和列標(biāo)簽設(shè)置單個(gè)值。pandas數(shù)據(jù)結(jié)構(gòu)1.增加行增加行數(shù)據(jù)可以通過(guò)append()函數(shù)傳入字典數(shù)據(jù)即可。importpandasaspddf=pd.read_excel("cp.xlsx")append_data={"影視劇":"鳳囚凰","cp名":"初融夫婦","男角色":"容止","女角色":"劉楚玉"}new_df=df.append(append_data,ignore_index=True)print(new_df)pandas數(shù)據(jù)結(jié)構(gòu)2.增加列增加列可以直接通過(guò)標(biāo)簽索引方式進(jìn)行,當(dāng)新增的列中的數(shù)值不一樣時(shí),可以傳入列表或者數(shù)組結(jié)構(gòu)進(jìn)行賦值。importpandasaspddf=pd.read_excel("cp.xlsx")df["結(jié)局"]=["HE","HE","BE","HE"]print(df)pandas數(shù)據(jù)結(jié)構(gòu)3.刪除

使用drop()函數(shù)可以刪除指定軸上的信息,axis=0刪除行,axis=1刪除列,默認(rèn)axis=0,原來(lái)的DataFrame數(shù)據(jù)不會(huì)刪除。importpandasaspddf=pd.read_excel("cp.xlsx")df["結(jié)局"]=["HE","HE","BE","HE"]df1=df.drop(2)print(df1)pandas數(shù)據(jù)結(jié)構(gòu)3.刪除

請(qǐng)補(bǔ)充代碼,實(shí)現(xiàn)刪除”影視劇”一列。

如何使原來(lái)的df對(duì)象中的”影視劇”一列也被刪除?importpandasaspddf=pd.read_excel("cp.xlsx")df["結(jié)局"]=["HE","HE","BE","HE"]__________________________print(df)deldf.影視劇pandas數(shù)據(jù)結(jié)構(gòu)4.修改標(biāo)簽

通過(guò)rename()函數(shù)完成行和列索引標(biāo)簽的修改,index參數(shù)指定要修改的行標(biāo)簽,columns參數(shù)指定要修改的列標(biāo)簽。importpandasaspddf=pd.read_excel("cp.xlsx")df["結(jié)局"]=["HE","HE","BE","HE"]df1=df.rename(index={3:9},columns={"結(jié)局":"ending"})print(df1)課堂練習(xí)1.有Python程序段如下:importpandasaspddf1=pd.DataFrame([[10,20],[30,40]],columns=['A','B'])df2=pd.DataFrame([[50,60],[70,80]],columns=['A','B'])df=df1.append(df2,ignore_index=True)print(df)該程序段運(yùn)行后輸出結(jié)果為()A.ABB.ABC.ABD.AB103010200102001020204030401304013040507050600506025060608070801708037080D查看DataFrame對(duì)象修改數(shù)據(jù)列

使用字典記法或?qū)傩詸z索DataFrame對(duì)象中的一列數(shù)據(jù),如df['id']或df.id。importpandasaspddf=pd.read_excel("cp.xlsx")df.男角色=['成毅','白敬亭','張若昀','任國(guó)超']print(df)查看DataFrame對(duì)象查看數(shù)據(jù)行

通過(guò)head()、tail()返回DataFrame對(duì)象中前n行、后n行的數(shù)據(jù)。importpandasaspddf=pd.read_excel("cp.xlsx")df.男角色=['成毅','白敬亭','張若昀','任國(guó)超']print(df.head(2))print(df.tail(1))查看DataFrame對(duì)象查看數(shù)據(jù)行

通過(guò)索引查看指定的行數(shù)據(jù),如df[2:5]返回df對(duì)象中索引值為2,3,4的行數(shù)據(jù)。importpandasaspddf=pd.read_excel("cp.xlsx")df.男角色=['成毅','白敬亭','張若昀','任國(guó)超']print(df[1:3])統(tǒng)計(jì)、計(jì)算

在DataFrame中,可以使用count()、sum()、mean()、max()、min()、describe()、groupby()等函數(shù)對(duì)DataFrame對(duì)象中的數(shù)據(jù)統(tǒng)計(jì)與計(jì)算。統(tǒng)計(jì)、計(jì)算1.分組

使用groupby()函數(shù),可以對(duì)DataFrame對(duì)象各列或各行中的數(shù)據(jù)進(jìn)行分組,然后對(duì)其中每一組數(shù)據(jù)進(jìn)行不同的操作。importpandasaspddf=pd.read_excel("grade.xlsx")df1=df.groupby('sex')print(df1.mean())排序

在DataFrame中,按索引排序可以使用sort_index()函數(shù),按值排序可以使用sort_values()函數(shù)。通過(guò)axis確定軸向,通過(guò)ascending確定順序,排序結(jié)果返回一個(gè)新的DataFrame對(duì)象。排序2.排序

axis默認(rèn)為0,對(duì)行排序,=1時(shí),對(duì)列排序。

ascending默認(rèn)為T(mén)rue,升序排序,=False時(shí),降序排序。importpandasaspddf=pd.read_excel("grade.xlsx")df1=df.sort_values('math',ascending=False)print(df1)排序2.排序

axis默認(rèn)為0,對(duì)行排序,=1時(shí),對(duì)列排序。

ascending默認(rèn)為T(mén)rue,升序排序,=False時(shí),降序排序。importpandasaspddf=pd.read_excel("grade.xlsx")df1=df.sort_index(ascending=False)print(df1)排序2.排序

axis默認(rèn)為0,對(duì)行排序,=1時(shí),對(duì)列排序。

ascending默認(rèn)為T(mén)rue,升序

溫馨提示

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

評(píng)論

0/150

提交評(píng)論