版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
課題第5課NumPy庫(kù)(二)課時(shí)2課時(shí)(90min)教學(xué)目標(biāo)知識(shí)技能目標(biāo):(1)掌握NumPy中數(shù)組索引與切片的使用方法(2)了解NumPy中數(shù)組運(yùn)算的方法(3)了解NumPy中常用的數(shù)學(xué)運(yùn)算函數(shù)(4)能使用NumPy并進(jìn)行數(shù)組索引與切片素質(zhì)目標(biāo):提高選擇合適方法解決不同問題的能力教學(xué)重難點(diǎn)教學(xué)重點(diǎn):NumPy中數(shù)組運(yùn)算的方法教學(xué)難點(diǎn):NumPy中常用的數(shù)學(xué)運(yùn)算函數(shù)教學(xué)方法案例分析法、問答法、討論法、講授法教學(xué)用具電腦、投影儀、多媒體課件、教材、文旌課堂APP教學(xué)設(shè)計(jì)第1節(jié)課:→→傳授新知(28min)→課堂討論(10min)第2節(jié)課:→傳授新知(20min)→課堂討論(12min)→課堂小結(jié)(3min)→作業(yè)布置(2min)教學(xué)過程主要教學(xué)內(nèi)容及步驟設(shè)計(jì)意圖第一節(jié)課考勤
(2min)【教師】使用文旌課堂APP進(jìn)行簽到【學(xué)生】按照老師要求簽到培養(yǎng)學(xué)生的組織紀(jì)律性,掌握學(xué)生的出勤情況問題導(dǎo)入(5min)【教師】提出問題我們已經(jīng)學(xué)習(xí)了NumPy庫(kù)的相關(guān)知識(shí),回憶一下什么是數(shù)組?【學(xué)生】思考、舉手回答通過提問的方法,了解學(xué)生對(duì)上節(jié)課知識(shí)的掌握程度,進(jìn)而引出新知傳授新知
(28min)【教師】總結(jié)學(xué)生的回答,并引入新知,講解數(shù)組的索引與切片的相關(guān)知識(shí)2.1.3數(shù)組的索引與切片?【教師】提出問題在NumPy中,如果想要訪問或修改數(shù)組中的元素,需要做什么??【學(xué)生】聆聽、思考、主動(dòng)回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知在NumPy中,如果想要訪問或修改數(shù)組中的元素,可以采用索引或切片的方式。索引與切片的區(qū)別是索引只能獲取單個(gè)元素,而切片可以獲取一定范圍的元素。1.一維數(shù)組的索引與切片?【教師】多媒體出示一維數(shù)組索引切片的格式(詳見教材),并詳細(xì)講解各部分表示的內(nèi)容array[index] #一維數(shù)組的索引array[start:stop:step] #一維數(shù)組的切片其中,index表示索引,從0開始;start表示起始索引,默認(rèn)為0;stop表示終止索引(不含);step表示索引步長(zhǎng),默認(rèn)為1,不能為0。?【教師】提出問題:創(chuàng)建一維數(shù)組arr=np.array([1,2,3,4,5,6,7,8,9]),使用索引和切片獲取數(shù)組中元素的幾種情況,代碼的格式是怎么樣的呢??【學(xué)生】聆聽、思考、主動(dòng)回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知arr[2] #獲取索引為2的元素,結(jié)果為3arr[1:5] #獲取索引從1到5(不含)的所有元素,結(jié)果為[2345]arr[:8:2] #獲取索引從0到8(不含)步長(zhǎng)為2的所有元素,結(jié)果為[1357]arr[::3] #獲取索引從0到結(jié)束步長(zhǎng)為3的所有元素,結(jié)果為[147]2.二維數(shù)組的索引與切片?【教師】多媒體出示二維數(shù)組索引切片的格式(詳見教材),并詳細(xì)講解各部分表示的內(nèi)容array[row_index,column_index] #二維數(shù)組的索引#二維數(shù)組的切片array[row_start:row_stop:row_step,column_start:column_stop:column_step]?【教師】按照教材步驟逐步進(jìn)行演示例2-5(詳見教材)的程序編寫步驟:importnumpyasnp #導(dǎo)入numpy庫(kù)arr=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12]])print('3×4的數(shù)組:\n',arr)print('第1行第3列的元素:',arr[0,2])print('第1~2行第2~3列的元素:\n',arr[0:2,1:3])print('第3行、列步長(zhǎng)為2的元素:',arr[2,::2])print('行步長(zhǎng)為2、第1~2列的元素:\n',arr[::2,:2])(詳見教材)?【學(xué)生】觀察、記錄、理解?【學(xué)生】教師演示完成后,學(xué)生按照教材提示和教師演示進(jìn)行實(shí)際操作,并對(duì)比程序運(yùn)行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對(duì)學(xué)生進(jìn)行個(gè)別指導(dǎo)3.高級(jí)索引數(shù)組還能通過整數(shù)數(shù)組索引和布爾型索引獲取數(shù)據(jù)。1)整數(shù)數(shù)組索引?【教師】多媒體出示示例(詳見教材),并詳細(xì)講解整數(shù)數(shù)組索引整數(shù)數(shù)組索引是指將整型數(shù)組作為索引,獲取二維數(shù)組中的任意行或元素,按索引順序返回新的數(shù)組。例如:arr[[1,0,2]] #獲取第2、1和3行的所有元素#獲取第1行第2列、第2行第4列、第3行第3列的元素arr[[0,1,2],[1,3,2]]上述代碼中,將整數(shù)數(shù)組作為索引時(shí),如“[1,0,2]”,分別獲取索引數(shù)組中元素對(duì)應(yīng)的行;將以逗號(hào)“,”分隔的整數(shù)數(shù)組作為索引時(shí),如“[0,1,2],[1,3,2]”,可以將其組合得到(0,1)、(1,3)、(2,2),分別獲取行、列索引對(duì)應(yīng)位置的元素。2)布爾型索引?【教師】多媒體出示示例(詳見教材),并詳細(xì)講解布爾型索引布爾型索引是指將布爾表達(dá)式作為索引,獲取數(shù)組中布爾表達(dá)式為True的位置對(duì)應(yīng)的元素,返回新的一維數(shù)組。例如:arr[arr==5] #獲取數(shù)組中等于5的所有元素arr[arr>5] #獲取數(shù)組中大于5的所有元素#獲取數(shù)組中大于5且小于10的所有元素arr[(arr>5)&(arr<10)]#獲取數(shù)組中大于等于10或小于等于5的所有元素arr[(arr>=10)|(arr<=5)]上述代碼中,通過邏輯運(yùn)算符(如“&”和“|”)和關(guān)系運(yùn)算符(如“==”“!=”“>”“<”“>=”“<=”)組成布爾表達(dá)式,返回滿足條件的所有元素。?【教師】按照教材步驟逐步進(jìn)行演示例2-6(詳見教材)的程序編寫步驟:importnumpyasnp #導(dǎo)入numpy庫(kù)#創(chuàng)建3×4的數(shù)組arr=np.array([[110,120,90,80],[89,95,77,92],[60,79,96,80]])print('3×4的數(shù)組:\n',arr)#輸出使用整數(shù)數(shù)組索引選取的元素print('第3行和第1行的元素:\n',arr[[2,0]])print('第3行第2列和第1行第1列的元素',arr[[2,0],[1,0]])#輸出使用布爾型索引選取的元素print('大于80且小于等于100的所有元素:',arr[(arr>80)&(arr<=100)])print('小于等于80的所有元素:',arr[arr<=80])(詳見教材)?【學(xué)生】觀察、記錄、理解?【學(xué)生】教師演示完成后,學(xué)生按照教材提示和教師演示進(jìn)行實(shí)際操作,并對(duì)比程序運(yùn)行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對(duì)學(xué)生進(jìn)行個(gè)別指導(dǎo)【學(xué)生】聆聽、思考、理解、記憶通過教師講解、課堂討論、多媒體演示等方式,使學(xué)生了解數(shù)組的索引與切片等相關(guān)內(nèi)容課堂討論
(10min)【教師】提出以下問題讓學(xué)生分組討論:整數(shù)數(shù)組索引與布爾型索引有哪些區(qū)別?【學(xué)生】聆聽、結(jié)組、思考、討論、派代表發(fā)表討論結(jié)果【教師】總結(jié)學(xué)生的回答通過課堂討論,加深學(xué)生對(duì)數(shù)組的索引和切片的理解第二節(jié)課問題導(dǎo)入(8min)【教師】提出問題我們已經(jīng)學(xué)習(xí)了利用NumPy庫(kù)創(chuàng)建數(shù)組,那么數(shù)組有哪些屬性呢?【學(xué)生】聆聽、思考、回答問題通過提問的方法,引導(dǎo)學(xué)生主動(dòng)思考,激發(fā)學(xué)生的學(xué)習(xí)興趣傳授新知(20min)【教師】總結(jié)學(xué)生的回答,并引入新知,講解數(shù)組的運(yùn)算及數(shù)學(xué)運(yùn)算函數(shù)的相關(guān)內(nèi)容2.1.4數(shù)組的運(yùn)算1.算術(shù)運(yùn)算相同形狀的數(shù)組在進(jìn)行算術(shù)運(yùn)算時(shí),即將數(shù)組中對(duì)應(yīng)位置的元素值進(jìn)行算術(shù)運(yùn)算,如加(+)、減(?)、乘(*)、除(/)、冪(**)運(yùn)算等。?【教師】按照教材步驟逐步進(jìn)行演示例2-7(詳見教材)的程序編寫步驟:importnumpyasnp #導(dǎo)入numpy庫(kù)#創(chuàng)建2×3的數(shù)組arr1=np.array([[10,20,30],[40,50,60]])print('2×3的數(shù)組arr1:\n',arr1)#創(chuàng)建2×3的數(shù)組arr2=np.array([[1,2,2],[2,2,3]])print('2×3的數(shù)組arr2:\n',arr2)(詳見教材)?【學(xué)生】觀察、記錄、理解?【學(xué)生】教師演示完成后,學(xué)生按照教材提示和教師演示進(jìn)行實(shí)際操作,并對(duì)比程序運(yùn)行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對(duì)學(xué)生進(jìn)行個(gè)別指導(dǎo)2.?dāng)?shù)組廣播NumPy中的廣播機(jī)制用于解決不同形狀數(shù)組之間的算術(shù)運(yùn)算問題,它是將形狀較小的數(shù)組,在橫向或縱向上進(jìn)行一定次數(shù)的重復(fù),使其形狀與形狀較大的數(shù)組相同。?【教師】按照教材步驟逐步進(jìn)行演示例2-8(詳見教材)的程序編寫步驟:importnumpyasnp #導(dǎo)入numpy庫(kù)#創(chuàng)建2×3的數(shù)組arr1=np.array([[10,20,30],[40,50,60]])arr2=np.array([1,2,3]) #創(chuàng)建1×3的數(shù)組print('arr1與arr2相加:\n',arr1+arr2)arr3=np.array([[1],[2]]) #創(chuàng)建2×1的數(shù)組print('arr1與arr3相加:\n',arr1+arr3)arr4=np.array(5) #創(chuàng)建1×1的數(shù)組print('arr1與arr4相加:\n',arr1+arr4)(詳見教材)?【學(xué)生】觀察、記錄、理解?【學(xué)生】教師演示完成后,學(xué)生按照教材提示和教師演示進(jìn)行實(shí)際操作,并對(duì)比程序運(yùn)行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對(duì)學(xué)生進(jìn)行個(gè)別指導(dǎo)?【教師】提出問題對(duì)照例2-8程序運(yùn)行結(jié)果,說一說程序是如何運(yùn)行的??【學(xué)生】聆聽、思考、主動(dòng)回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知當(dāng)2×3的數(shù)組arr1與1×3的數(shù)組arr2相加時(shí),arr2在縱向上重復(fù)2次,從而生成2×3的數(shù)組,再與arr1進(jìn)行加法運(yùn)算;當(dāng)arr1與2×1的數(shù)組arr3相加時(shí),arr3在橫向上重復(fù)3次,從而生成2×3的數(shù)組,再與arr1進(jìn)行加法運(yùn)算;當(dāng)arr1與1×1的數(shù)組arr4相加時(shí),arr4在橫向上重復(fù)3次、在縱向上重復(fù)2次,從而生成2×3的數(shù)組,再與arr1進(jìn)行加法運(yùn)算。?【提示】教師講解形狀不同的數(shù)組?【學(xué)生】聆聽,思考3.?dāng)?shù)組轉(zhuǎn)置?【教師】提出問題什么是數(shù)組轉(zhuǎn)置?數(shù)組轉(zhuǎn)置的格式是什么樣的??【學(xué)生】聆聽、思考、主動(dòng)回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知數(shù)組轉(zhuǎn)置是指將數(shù)組的行與列轉(zhuǎn)換,即第1行變成第1列,第2行變成第2列,依次類推,如4×3的數(shù)組轉(zhuǎn)置為3×4的數(shù)組。在NumPy中,數(shù)組轉(zhuǎn)置可以使用數(shù)組的T屬性實(shí)現(xiàn),其一般格式如下。array2=array1.T4.?dāng)?shù)組變形?【教師】提出問題什么是數(shù)組變形?數(shù)組變形的格式是什么樣的??【學(xué)生】聆聽、思考、主動(dòng)回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知數(shù)組變形就是改變數(shù)組的形狀,如2×6的數(shù)組變?yōu)?×4的數(shù)組。需要注意的是,數(shù)組變形是基于數(shù)組元素不發(fā)生改變的情況下實(shí)現(xiàn)的,變形后數(shù)組元素的個(gè)數(shù)必須與原數(shù)組元素的個(gè)數(shù)相同,否則會(huì)出現(xiàn)錯(cuò)誤。在NumPy中,數(shù)組變形可以使用reshape()函數(shù)實(shí)現(xiàn),其一般格式如下。array2=array1.reshape(m,n)其中,array1表示原數(shù)組,array2表示變形后的數(shù)組,m和n表示變形后數(shù)組的行數(shù)和列數(shù)。?【教師】按照教材步驟逐步進(jìn)行演示例2-9(詳見教材)的程序編寫步驟:importnumpyasnp #導(dǎo)入numpy庫(kù)#隨機(jī)生成[1,100)的3×4的數(shù)組arr=np.random.randint(1,100,size=(3,4))print('3×4的原數(shù)組:\n',arr)print('轉(zhuǎn)置后4×3的數(shù)組:\n',arr.T)print('變形后2×6的數(shù)組:\n',arr.reshape(2,6))(詳見教材)?【學(xué)生】觀察、記錄、理解?【學(xué)生】教師演示完成后,學(xué)生按照教材提示和教師演示進(jìn)行實(shí)際操作,并對(duì)比程序運(yùn)行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對(duì)學(xué)生進(jìn)行個(gè)別指導(dǎo)2.1.5常用的數(shù)學(xué)運(yùn)算函數(shù)?【教師】多媒體出示NumPy中數(shù)學(xué)運(yùn)算函數(shù)表格(詳見教材),并詳細(xì)講解各種數(shù)學(xué)運(yùn)算函數(shù)的說明函數(shù)說明add()、subtract()、multiply()、divide()、mod()數(shù)組的加、減、乘、除、求余運(yùn)算abs()、sqrt()、square()計(jì)算數(shù)組中各元素的絕對(duì)值、平方根、平方log()、log2()、log10()計(jì)算數(shù)組中各元素的以e、2、10為底的對(duì)數(shù)power()計(jì)算以第一個(gè)數(shù)組中的元素為底數(shù),第二個(gè)數(shù)組中相應(yīng)元素為指數(shù)的冪reciprocal()計(jì)算數(shù)組中各元素的倒數(shù)around()、ceil()、floor()計(jì)算數(shù)組中各元素指定小數(shù)位數(shù)的四舍五入值、向上取整值、向下取整值sin()、cos()、tan()計(jì)算數(shù)組中各元素的正弦值、余弦值和正切值,參數(shù)為弧度sign()獲取數(shù)組中各元素的符號(hào)值,如1(正號(hào))、0、?1(負(fù)號(hào))?【教師】按照教材步驟逐步進(jìn)行演示例2-10(詳見教材)的程序編寫步驟:importnumpyasnparr1=np.random.randint(1,10,size=(3,3))print('隨機(jī)生成的二維整數(shù)數(shù)組arr1:\n',arr1)arr2=np.random.randint(1,10,size=3)print('隨機(jī)生成的一維整數(shù)數(shù)組arr2:\n',arr2)arr3=np.random.rand(3,3)*10print('隨機(jī)生成的二維小數(shù)數(shù)組arr3:\n',arr3)print('arr1和arr2相加:\n',np.add(arr1,arr2))print('arr1和arr3相乘:\n',np.multiply(arr1,arr3))(詳見教材)?【學(xué)生】觀察、記錄、理解?【學(xué)生】教師演示完成后,學(xué)生按照教材提示和教師演示進(jìn)行實(shí)際操作,并對(duì)比程序運(yùn)行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對(duì)學(xué)生進(jìn)行個(gè)別指導(dǎo)?【教師】提出問題對(duì)照例2-9程序運(yùn)行結(jié)果,說一說程序是如何運(yùn)行的??【學(xué)生】聆聽、思考、主動(dòng)回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知power()函數(shù)中,冪運(yùn)算的結(jié)果數(shù)值很大,
溫馨提示
- 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. 人人文庫(kù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年水泥買賣合同(含合同變更和補(bǔ)充條款)
- 2024年度綠色建筑設(shè)計(jì)與施工合作協(xié)議書3篇
- 學(xué)困生轉(zhuǎn)化工作計(jì)劃
- 小學(xué)校本教研活動(dòng)計(jì)劃
- 電話銷售業(yè)務(wù)員工作計(jì)劃
- 勞動(dòng)合同樣板
- 公司員工自我鑒定
- 制定護(hù)士的年度工作計(jì)劃
- 政府公共關(guān)系(第二版)課件 第6章 政府的公眾對(duì)象與輿論環(huán)境
- 經(jīng)典國(guó)學(xué)教學(xué)計(jì)劃
- 2024-2030年中國(guó)硅肥行業(yè)規(guī)模分析及投資前景研究報(bào)告
- 電網(wǎng)行業(yè)工作匯報(bào)模板22
- 2024年度跨境電商平臺(tái)承包經(jīng)營(yíng)合同3篇
- 2025年上半年人民日?qǐng)?bào)社招聘應(yīng)屆高校畢業(yè)生85人筆試重點(diǎn)基礎(chǔ)提升(共500題)附帶答案詳解
- 山東省臨沂市2023-2024學(xué)年高二上學(xué)期期末考試生物試題 含答案
- 2024-2025學(xué)年一年級(jí)數(shù)學(xué)上冊(cè)期末樂考非紙筆測(cè)試題(二 )(蘇教版2024秋)
- 辦公樓電氣改造施工方案
- 浙江省衢州市2023-2024學(xué)年高一上學(xué)期期末英語試題(含答案)3
- 上學(xué)期高二期末語文試卷(含答案)
- 超齡員工用工免責(zé)協(xié)議書
- 《雁門太守行》課件
評(píng)論
0/150
提交評(píng)論