2022年高中信息技術(shù)基礎(chǔ)知識(shí)綜合復(fù)習(xí)第四章課時(shí)2編程處理數(shù)據(jù)課件必修1_第1頁
2022年高中信息技術(shù)基礎(chǔ)知識(shí)綜合復(fù)習(xí)第四章課時(shí)2編程處理數(shù)據(jù)課件必修1_第2頁
2022年高中信息技術(shù)基礎(chǔ)知識(shí)綜合復(fù)習(xí)第四章課時(shí)2編程處理數(shù)據(jù)課件必修1_第3頁
2022年高中信息技術(shù)基礎(chǔ)知識(shí)綜合復(fù)習(xí)第四章課時(shí)2編程處理數(shù)據(jù)課件必修1_第4頁
2022年高中信息技術(shù)基礎(chǔ)知識(shí)綜合復(fù)習(xí)第四章課時(shí)2編程處理數(shù)據(jù)課件必修1_第5頁
已閱讀5頁,還剩65頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

1、課時(shí)2編程處理數(shù)據(jù)考點(diǎn)1Python進(jìn)行數(shù)據(jù)處理時(shí)常用的擴(kuò)展模塊1.numpy:科學(xué)計(jì)算(隨機(jī)數(shù)、數(shù)組運(yùn)算等基礎(chǔ)函數(shù))2.scipy:基于numpy構(gòu)建。增強(qiáng)了高等數(shù)學(xué)、信號(hào)處理、圖像處理、統(tǒng)計(jì)等處理能力。3.matpoltlib:繪圖庫4.pandas:基于numpy實(shí)現(xiàn),主要用于數(shù)據(jù)的處理和分析。(1)Pandas提供了Series和DataFrame兩種數(shù)據(jù)結(jié)構(gòu)完成數(shù)據(jù)的整理、計(jì)算、統(tǒng)計(jì)、分析及簡單可視化。(2)導(dǎo)入pandas模塊:import pandasas pd(導(dǎo)入pandas模塊,一般用pd替代,不替代時(shí)可省略括號(hào)內(nèi)內(nèi)容)典例1下列擴(kuò)展模塊中用于繪圖的是()A.numpyB.

2、scipyC.matpoltlibD.pandas答案 C 考點(diǎn)2Series1.概念:是一種一維的數(shù)據(jù)結(jié)構(gòu),包含一個(gè)數(shù)組的數(shù)據(jù)和一個(gè)與數(shù)據(jù)關(guān)聯(lián)的索引(index),索引值默認(rèn)是從0起遞增的整數(shù)。2.要點(diǎn)(1)列表、字典等可以用來創(chuàng)建Series數(shù)據(jù)結(jié)構(gòu)。(2)與列表不同的是,Series的索引可以指定,類型可以為字符串型。3.主要操作(1)用列表創(chuàng)建Series對(duì)象格式:如下對(duì)象名=pd.Series(values,index)常用屬性屬性說明indexSeries的下標(biāo)索引,其值默認(rèn)是從0起遞增的整數(shù)values存放Series值的一個(gè)數(shù)組范例:創(chuàng)建1個(gè)Series結(jié)構(gòu)類型的對(duì)象s1,存儲(chǔ)

3、6名選手的姓名。 import pandas as pds1=pd.Series(周欣怡,王培新,張佳明,林逢春,朱梁棟,陳清瑞)print(s1)(2)指定索引值格式對(duì)象名=pd.Series(values,index=索引列表)范例import pandas as pdxm=周欣怡,王培新,張佳明,林逢春,朱梁棟,陳清瑞inf=pd.Series(xm,index=x1,x2,x3,x4,x5,x6)print(inf)(3)選取Series對(duì)象中的值格式:Series對(duì)象索引范例import pandas as pdxm=周欣怡,王培新,張佳明,林逢春,朱梁棟,陳清瑞sy=x1,x2,x

4、3,x4,x5,x6inf=pd.Series(xm,index=sy)print(inf)print(-*30) print(infx5)(4)修改Series對(duì)象中的值格式Series對(duì)象索引=新值范例import pandas as pdxm=周欣怡,王培新,張佳明,林逢春,朱梁棟,陳清瑞sy=x1,x2,x3,x4,x5,x6inf=pd.Series(xm,index=sy)print(inf)print(-* 25)infx5=姚曉倩print(inf)(5)用字典創(chuàng)建Series對(duì)象原理:將字典的鍵作為索引index,字典值為values。格式對(duì)象名=pd.Series(字典名)

5、范例import pandas as pddic=x1:周欣怡,x2:王培新,x3:張佳明,x4:林逢春,x5:朱梁棟,x6:陳清瑞inf=pd.Series(dic)print(inf)(6)用字典部分?jǐn)?shù)據(jù)創(chuàng)建Series對(duì)象原理:將字典的鍵作為索引index,字典鍵為values。格式對(duì)象名=pd.Series(字典名,index=字典中的部分鍵)范例import pandas as pddic=x1:周欣怡,x2:王培新,x3:張佳明,x4:林逢春,x5:朱梁棟,x6:陳清瑞inf=pd.Series(dic,index=x3,x5)print(inf)(7)遍歷index格式for i

6、 in Series對(duì)象名.index:范例import pandas as pdxm=周欣怡,王培新,張佳明,林逢春,朱梁棟,陳清瑞sy=x1,x2,x3,x4,x5,x6inf=pd.Series(xm,index=sy)for i in inf.index:print(i)(8)遍歷values格式(對(duì)象名默認(rèn)遍歷值)for i in Series對(duì)象名.values:或者for i in Series對(duì)象名范例import pandas as pdxm=周欣怡,王培新,張佳明,林逢春,朱梁棟,陳清瑞sy=x1,x2,x3,x4,x5,x6inf=pd.Series(xm,index=s

7、y)#下行語句與for i in inf等價(jià)(for i in Series對(duì)象名默認(rèn)為遍歷values)for i in inf.values:print(i)典例2編寫Python小程序建立字典存儲(chǔ)如圖所示Excel中的選手?jǐn)?shù)據(jù);并利用字典生成pandas的Series對(duì)象;輸出Series對(duì)象,并自動(dòng)進(jìn)入修改選手年齡的狀態(tài)(輸入選手的姓名、新的年齡值),當(dāng)輸入為0時(shí),退出修改狀態(tài);然后輸出年齡審核通過(不超過15歲)的選手名單。程序運(yùn)行界面和代碼如下,請(qǐng)?jiān)趧澗€處填上合適的代碼。import pandas as pddic=姚佳云:15,莊怡婷:16,孫雁婷:17,馬能:16,謝震宇:16

8、,傅懌成:17,沈雯雯:15,王婧:16inf=print(inf)while True:xm=input(請(qǐng)輸入需要修改年齡的人名:)if :breaknl=int(input(請(qǐng)輸入需要修改的年齡值:)print(inf)ans=for i in inf.index:if :ans=ans+iprint(通過年齡審核的選手是:,ans)答案 pd.Series(dic)解析 用字典創(chuàng)建一維Series數(shù)據(jù)對(duì)象,參數(shù)為對(duì)象名答案 xm=0解析 當(dāng)輸入的姓名xm為字符0時(shí),結(jié)束修改狀態(tài)答案 infxm=nl解析 修改Series對(duì)象值的格式為:對(duì)象名index=新值答案 infi15)prin

9、t(_ * 25)print(dfdf姓名=張佳明)(15)最后添加一行數(shù)據(jù)格式:對(duì)象名.append(data,ignore_index=True)data為字典形式的需要添加的行數(shù)據(jù)。ignore_index=True添加的數(shù)據(jù)行和原有數(shù)據(jù)合并后,按0、1、2、順序重新設(shè)置索引,忽略舊索引。添加數(shù)據(jù)到新的DataFrame數(shù)據(jù)對(duì)象中。范例:在當(dāng)前數(shù)據(jù)行最后添加一行數(shù)據(jù): 林逢春 嘉興 15。data=姓名:周欣怡,王培新,張佳明,籍貫:杭州,嘉興,湖州,年齡:15,16,15df=pd.DataFrame(data,columns=姓名,籍貫,年齡)print(df)print(_ * 2

10、5)print(df.append(姓名:林逢春,籍貫:嘉興,年齡:15,ignore_index=True)(16)刪除行drop格式:對(duì)象名.drop(刪除行的索引值)范例:刪除第2行(索引為1的行)數(shù)據(jù)import pandas as pddata=姓名:周欣怡,王培新,張佳明,籍貫:杭州,嘉興,湖州,年齡:15,16,15df=pd.DataFrame(data,columns=姓名,籍貫,年齡)print(df)print(_ * 25)print(df.drop(1)(17)刪除列drop刪除1列格式:對(duì)象名.drop(刪除列的列標(biāo)簽,axis=1)axis=1跨列范例:刪除“年齡

11、”列數(shù)據(jù)import pandas as pddata=姓名:周欣怡,王培新,張佳明,籍貫:杭州,嘉興,湖州,年齡:15,16,15df=pd.DataFrame(data,columns=姓名,籍貫,年齡)print(df)print(_ * 25)print(df.drop(年齡,axis=1) #axis=1跨列刪除多列格式:對(duì)象名.drop(刪除列的列標(biāo)簽,axis=1)刪除的多列列標(biāo)簽構(gòu)成一個(gè)列表。范例:刪除“年齡”和“籍貫”列數(shù)據(jù)。import pandas as pddata=姓名:周欣怡,王培新,張佳明,籍貫:杭州,嘉興,湖州,年齡:15,16,15df=pd.DataFram

12、e(data,columns=姓名,籍貫,年齡)print(df)print(_ * 25)print(df.drop(年齡,籍貫,axis=1)(18)刪除列del格式del對(duì)象名刪除列的列標(biāo)簽范例:刪除“年齡”列數(shù)據(jù)import pandas as pddata=姓名:周欣怡,王培新,張佳明,籍貫:杭州,嘉興,湖州,年齡:15,16,15df=pd.DataFrame(data,columns=姓名,籍貫,年齡)print(df)print(_ * 25)del df年齡print(df)pandas中使用 drop 和 del刪除列數(shù)據(jù)的區(qū)別在Python中del 和drop方法都能夠刪

13、除dataframe中的列數(shù)據(jù),但兩者也有著些許區(qū)別。首先del屬于Python的內(nèi)置函數(shù),drop屬于pandas中的內(nèi)置函數(shù)。drop對(duì)列和行都進(jìn)行操作;del僅對(duì)列進(jìn)行操作。drop一次可以處理多個(gè)項(xiàng)目;del一次只能操作一個(gè)。drop可以就地操作或返回副本;del僅是就地操作。兩種函數(shù)在執(zhí)行效率上很接近,但是在較大數(shù)據(jù)上,drop函數(shù)優(yōu)勢更明顯,尤其是在處理多列數(shù)據(jù)時(shí)。(19)指定位置插入列(insert)格式:對(duì)象名.insert(插入位置(int),插入列的列編號(hào),插入列的值列表)注意點(diǎn):插入位置從0開始計(jì)數(shù)第1列前插入1列,則插入位置為0。范例:第1列數(shù)據(jù)前插入“編號(hào)”列數(shù)據(jù)x1

14、,x2,x3。import pandas as pddata=姓名:周欣怡,王培新,張佳明,籍貫:杭州,嘉興,湖州,年齡:15,16,15df=pd.DataFrame(data,columns=姓名,籍貫,年齡)print(df)print(_ * 25)df.insert(0,編號(hào),x1,x2,x3)print(df)(20)重命名列格式對(duì)象名.rename(columns=原列標(biāo)簽1:新列標(biāo)簽1,原列標(biāo)簽2:新列標(biāo)簽2,原列標(biāo)簽n:新列標(biāo)簽n,inplace=True)inplace參數(shù)的理解:inplace=True:修改一個(gè)對(duì)象時(shí),不創(chuàng)建新的對(duì)象,直接對(duì)原始對(duì)象進(jìn)行修改;inplac

15、e=False:對(duì)數(shù)據(jù)進(jìn)行修改,創(chuàng)建并返回新的對(duì)象承載其修改結(jié)果。范例:將“name”列的列標(biāo)簽重命名為“姓名”,“age”列的列標(biāo)簽重命名為“年齡”import pandas as pddata=name:周欣怡,王培新,張佳明,籍貫:杭州,嘉興,湖州,age:15,16,15df=pd.DataFrame(data)print(df)print(_ * 25)df.rename(columns=name:姓名,age:年齡,inplace=True)print(df)(21)重命名行索引格式對(duì)象名.rename(index=原索引:新索引,原索引,2:新索引,原索引n:新索引n,inpla

16、ce=True)范例:將原默認(rèn)行索引,從0、1、2重命名為x1、x2、x3。import pandas as pddata=姓名:周欣怡,王培新,張佳明,籍貫:杭州,嘉興,湖州,年齡:15,16,15df=pd.DataFrame(data)print(df)print(_ * 25)df.rename(index=0:x1,2:x3,inplace=True)print(df)(22)行索引(行標(biāo)簽)、列標(biāo)簽設(shè)置單個(gè)值(set_value)該命令在后繼版本中即將被棄用。格式:對(duì)象名.set_value(行索引/行標(biāo)簽,列標(biāo)簽,設(shè)置的值)范例:將第3行(索引值為2)“年齡”列的值改為16imp

17、ort pandas as pddata=姓名:周欣怡,王培新,張佳明,籍貫:杭州,嘉興,湖州,年齡:15,16,15df=pd.DataFrame(data)print(df)print(_ * 25)df.set_value(2,年齡,16)print(df)(23)行索引(行標(biāo)簽)、列標(biāo)簽設(shè)置單個(gè)值(at)格式:對(duì)象名.at行索引/行標(biāo)簽,列標(biāo)簽=設(shè)置的值范例:將第3行(索引值為2)“年齡”列的值改為16import pandas as pddata=姓名:周欣怡,王培新,張佳明,籍貫:杭州,嘉興,湖州,年齡:15,16,15df=pd.DataFrame(data)print(df)p

18、rint(_ * 20)df.at2,年齡=16print(df)append()、drop()、delappend()、drop()均不改變?cè)蠨ataFrame對(duì)象中的數(shù)據(jù),而是返回新的DataFrame對(duì)象存放改變后的數(shù)據(jù)。del直接刪除原有DataFrame對(duì)象中的數(shù)據(jù),不會(huì)生成新的數(shù)據(jù)對(duì)象。(24)分組統(tǒng)計(jì)groupby格式:對(duì)象名.groupby(分組列標(biāo)簽,as_index=True).統(tǒng)計(jì)方式函數(shù)名as_index:為True時(shí)自動(dòng)把第1列作為了index,為False時(shí)默認(rèn)索引0、1、2、范例:按“地區(qū)”分組對(duì)數(shù)據(jù)類型是數(shù)值的列統(tǒng)計(jì)平均分(mean()函數(shù))。as_index

19、為Trueimport pandas as pdlist=周欣怡,湖州,15,646,王培新,杭州,16,598,張佳明,杭州,16,609,林逢春,嘉興,15,547,朱梁棟,湖州,16,588,陳清瑞,嘉興,15,571inf=pd.DataFrame(list,columns=姓名,地區(qū),年齡,總分)print(inf)print(_ * 20)print(inf.groupby(地區(qū),as_index=True).mean()print(_ * 20)print(inf.groupby(地區(qū),as_index=False).mean()(25)排序格式按值排序?qū)ο竺?sort_valu

20、es(值所在列標(biāo)簽,ascending=True,axis=0)按索引排序?qū)ο竺?sort_index(ascending=True,axis=0)ascending:默認(rèn)為True,升序;False為降序。axis:默認(rèn)為0,跨行縱向;1,跨列橫向。排序結(jié)果返回一個(gè)新的DataFrame對(duì)象。范例import pandas as pdlist=周欣怡,湖州,15,646,王培新,杭州,16,598,張佳明,杭州,16,609,林逢春,嘉興,15,547,朱梁棟,湖州,16,588,陳清瑞,嘉興,15,571inf=pd.DataFrame(list,columns=姓名,地區(qū),年齡,總分)p

21、rint(inf)print(_ * 20)#下行語句為升序按值排序print(inf.sort_values(總分,ascending=True,axis=0)print(_ * 20)#下行語句為降序按索引排序print(inf.sort_index(ascending=False,axis=0)典例3編寫Python小程序,用pandas的DataFrame對(duì)象存儲(chǔ)如圖所示Excel中的選手?jǐn)?shù)據(jù)。 程序界面和代碼如下:import pandas as pddic=編號(hào):1157,1014,1219,1448,1485,1354,1043,1212,姓名:姚佳云,莊怡婷,孫燁,周強(qiáng)盛,謝震宇,陶淑霞,沈雯雯,徐茂宇,班級(jí):1,2,3,4,5,6,7,8,性別:女,女

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論