版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
課題第5課NumPy庫(二)課時2課時(90min)教學(xué)目標知識技能目標:(1)掌握NumPy中數(shù)組索引與切片的使用方法(2)了解NumPy中數(shù)組運算的方法(3)了解NumPy中常用的數(shù)學(xué)運算函數(shù)(4)能使用NumPy并進行數(shù)組索引與切片素質(zhì)目標:提高選擇合適方法解決不同問題的能力教學(xué)重難點教學(xué)重點:NumPy中數(shù)組運算的方法教學(xué)難點:NumPy中常用的數(shù)學(xué)運算函數(shù)教學(xué)方法案例分析法、問答法、討論法、講授法教學(xué)用具電腦、投影儀、多媒體課件、教材、文旌課堂APP教學(xué)設(shè)計第1節(jié)課:→→傳授新知(28min)→課堂討論(10min)第2節(jié)課:→傳授新知(20min)→課堂討論(12min)→課堂小結(jié)(3min)→作業(yè)布置(2min)教學(xué)過程主要教學(xué)內(nèi)容及步驟設(shè)計意圖第一節(jié)課考勤
(2min)【教師】使用文旌課堂APP進行簽到【學(xué)生】按照老師要求簽到培養(yǎng)學(xué)生的組織紀律性,掌握學(xué)生的出勤情況問題導(dǎo)入(5min)【教師】提出問題我們已經(jīng)學(xué)習(xí)了NumPy庫的相關(guān)知識,回憶一下什么是數(shù)組?【學(xué)生】思考、舉手回答通過提問的方法,了解學(xué)生對上節(jié)課知識的掌握程度,進而引出新知傳授新知
(28min)【教師】總結(jié)學(xué)生的回答,并引入新知,講解數(shù)組的索引與切片的相關(guān)知識2.1.3數(shù)組的索引與切片?【教師】提出問題在NumPy中,如果想要訪問或修改數(shù)組中的元素,需要做什么??【學(xué)生】聆聽、思考、主動回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知在NumPy中,如果想要訪問或修改數(shù)組中的元素,可以采用索引或切片的方式。索引與切片的區(qū)別是索引只能獲取單個元素,而切片可以獲取一定范圍的元素。1.一維數(shù)組的索引與切片?【教師】多媒體出示一維數(shù)組索引切片的格式(詳見教材),并詳細講解各部分表示的內(nèi)容array[index] #一維數(shù)組的索引array[start:stop:step] #一維數(shù)組的切片其中,index表示索引,從0開始;start表示起始索引,默認為0;stop表示終止索引(不含);step表示索引步長,默認為1,不能為0。?【教師】提出問題:創(chuàng)建一維數(shù)組arr=np.array([1,2,3,4,5,6,7,8,9]),使用索引和切片獲取數(shù)組中元素的幾種情況,代碼的格式是怎么樣的呢??【學(xué)生】聆聽、思考、主動回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知arr[2] #獲取索引為2的元素,結(jié)果為3arr[1:5] #獲取索引從1到5(不含)的所有元素,結(jié)果為[2345]arr[:8:2] #獲取索引從0到8(不含)步長為2的所有元素,結(jié)果為[1357]arr[::3] #獲取索引從0到結(jié)束步長為3的所有元素,結(jié)果為[147]2.二維數(shù)組的索引與切片?【教師】多媒體出示二維數(shù)組索引切片的格式(詳見教材),并詳細講解各部分表示的內(nèi)容array[row_index,column_index] #二維數(shù)組的索引#二維數(shù)組的切片array[row_start:row_stop:row_step,column_start:column_stop:column_step]?【教師】按照教材步驟逐步進行演示例2-5(詳見教材)的程序編寫步驟:importnumpyasnp #導(dǎo)入numpy庫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行、列步長為2的元素:',arr[2,::2])print('行步長為2、第1~2列的元素:\n',arr[::2,:2])(詳見教材)?【學(xué)生】觀察、記錄、理解?【學(xué)生】教師演示完成后,學(xué)生按照教材提示和教師演示進行實際操作,并對比程序運行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對學(xué)生進行個別指導(dǎo)3.高級索引數(shù)組還能通過整數(shù)數(shù)組索引和布爾型索引獲取數(shù)據(jù)。1)整數(shù)數(shù)組索引?【教師】多媒體出示示例(詳見教材),并詳細講解整數(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ù)組作為索引時,如“[1,0,2]”,分別獲取索引數(shù)組中元素對應(yīng)的行;將以逗號“,”分隔的整數(shù)數(shù)組作為索引時,如“[0,1,2],[1,3,2]”,可以將其組合得到(0,1)、(1,3)、(2,2),分別獲取行、列索引對應(yīng)位置的元素。2)布爾型索引?【教師】多媒體出示示例(詳見教材),并詳細講解布爾型索引布爾型索引是指將布爾表達式作為索引,獲取數(shù)組中布爾表達式為True的位置對應(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)]上述代碼中,通過邏輯運算符(如“&”和“|”)和關(guān)系運算符(如“==”“!=”“>”“<”“>=”“<=”)組成布爾表達式,返回滿足條件的所有元素。?【教師】按照教材步驟逐步進行演示例2-6(詳見教材)的程序編寫步驟:importnumpyasnp #導(dǎo)入numpy庫#創(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é)生按照教材提示和教師演示進行實際操作,并對比程序運行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對學(xué)生進行個別指導(dǎo)【學(xué)生】聆聽、思考、理解、記憶通過教師講解、課堂討論、多媒體演示等方式,使學(xué)生了解數(shù)組的索引與切片等相關(guān)內(nèi)容課堂討論
(10min)【教師】提出以下問題讓學(xué)生分組討論:整數(shù)數(shù)組索引與布爾型索引有哪些區(qū)別?【學(xué)生】聆聽、結(jié)組、思考、討論、派代表發(fā)表討論結(jié)果【教師】總結(jié)學(xué)生的回答通過課堂討論,加深學(xué)生對數(shù)組的索引和切片的理解第二節(jié)課問題導(dǎo)入(8min)【教師】提出問題我們已經(jīng)學(xué)習(xí)了利用NumPy庫創(chuàng)建數(shù)組,那么數(shù)組有哪些屬性呢?【學(xué)生】聆聽、思考、回答問題通過提問的方法,引導(dǎo)學(xué)生主動思考,激發(fā)學(xué)生的學(xué)習(xí)興趣傳授新知(20min)【教師】總結(jié)學(xué)生的回答,并引入新知,講解數(shù)組的運算及數(shù)學(xué)運算函數(shù)的相關(guān)內(nèi)容2.1.4數(shù)組的運算1.算術(shù)運算相同形狀的數(shù)組在進行算術(shù)運算時,即將數(shù)組中對應(yīng)位置的元素值進行算術(shù)運算,如加(+)、減(?)、乘(*)、除(/)、冪(**)運算等。?【教師】按照教材步驟逐步進行演示例2-7(詳見教材)的程序編寫步驟:importnumpyasnp #導(dǎo)入numpy庫#創(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é)生按照教材提示和教師演示進行實際操作,并對比程序運行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對學(xué)生進行個別指導(dǎo)2.數(shù)組廣播NumPy中的廣播機制用于解決不同形狀數(shù)組之間的算術(shù)運算問題,它是將形狀較小的數(shù)組,在橫向或縱向上進行一定次數(shù)的重復(fù),使其形狀與形狀較大的數(shù)組相同。?【教師】按照教材步驟逐步進行演示例2-8(詳見教材)的程序編寫步驟:importnumpyasnp #導(dǎo)入numpy庫#創(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é)生按照教材提示和教師演示進行實際操作,并對比程序運行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對學(xué)生進行個別指導(dǎo)?【教師】提出問題對照例2-8程序運行結(jié)果,說一說程序是如何運行的??【學(xué)生】聆聽、思考、主動回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知當2×3的數(shù)組arr1與1×3的數(shù)組arr2相加時,arr2在縱向上重復(fù)2次,從而生成2×3的數(shù)組,再與arr1進行加法運算;當arr1與2×1的數(shù)組arr3相加時,arr3在橫向上重復(fù)3次,從而生成2×3的數(shù)組,再與arr1進行加法運算;當arr1與1×1的數(shù)組arr4相加時,arr4在橫向上重復(fù)3次、在縱向上重復(fù)2次,從而生成2×3的數(shù)組,再與arr1進行加法運算。?【提示】教師講解形狀不同的數(shù)組?【學(xué)生】聆聽,思考3.數(shù)組轉(zhuǎn)置?【教師】提出問題什么是數(shù)組轉(zhuǎn)置?數(shù)組轉(zhuǎn)置的格式是什么樣的??【學(xué)生】聆聽、思考、主動回答問題?【教師】總結(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屬性實現(xiàn),其一般格式如下。array2=array1.T4.數(shù)組變形?【教師】提出問題什么是數(shù)組變形?數(shù)組變形的格式是什么樣的??【學(xué)生】聆聽、思考、主動回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知數(shù)組變形就是改變數(shù)組的形狀,如2×6的數(shù)組變?yōu)?×4的數(shù)組。需要注意的是,數(shù)組變形是基于數(shù)組元素不發(fā)生改變的情況下實現(xiàn)的,變形后數(shù)組元素的個數(shù)必須與原數(shù)組元素的個數(shù)相同,否則會出現(xiàn)錯誤。在NumPy中,數(shù)組變形可以使用reshape()函數(shù)實現(xiàn),其一般格式如下。array2=array1.reshape(m,n)其中,array1表示原數(shù)組,array2表示變形后的數(shù)組,m和n表示變形后數(shù)組的行數(shù)和列數(shù)。?【教師】按照教材步驟逐步進行演示例2-9(詳見教材)的程序編寫步驟:importnumpyasnp #導(dǎo)入numpy庫#隨機生成[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é)生按照教材提示和教師演示進行實際操作,并對比程序運行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對學(xué)生進行個別指導(dǎo)2.1.5常用的數(shù)學(xué)運算函數(shù)?【教師】多媒體出示NumPy中數(shù)學(xué)運算函數(shù)表格(詳見教材),并詳細講解各種數(shù)學(xué)運算函數(shù)的說明函數(shù)說明add()、subtract()、multiply()、divide()、mod()數(shù)組的加、減、乘、除、求余運算abs()、sqrt()、square()計算數(shù)組中各元素的絕對值、平方根、平方log()、log2()、log10()計算數(shù)組中各元素的以e、2、10為底的對數(shù)power()計算以第一個數(shù)組中的元素為底數(shù),第二個數(shù)組中相應(yīng)元素為指數(shù)的冪reciprocal()計算數(shù)組中各元素的倒數(shù)around()、ceil()、floor()計算數(shù)組中各元素指定小數(shù)位數(shù)的四舍五入值、向上取整值、向下取整值sin()、cos()、tan()計算數(shù)組中各元素的正弦值、余弦值和正切值,參數(shù)為弧度sign()獲取數(shù)組中各元素的符號值,如1(正號)、0、?1(負號)?【教師】按照教材步驟逐步進行演示例2-10(詳見教材)的程序編寫步驟:importnumpyasnparr1=np.random.randint(1,10,size=(3,3))print('隨機生成的二維整數(shù)數(shù)組arr1:\n',arr1)arr2=np.random.randint(1,10,size=3)print('隨機生成的一維整數(shù)數(shù)組arr2:\n',arr2)arr3=np.random.rand(3,3)*10print('隨機生成的二維小數(shù)數(shù)組arr3:\n',arr3)print('arr1和arr2相加:\n',np.add(arr1,arr2))print('arr1和arr3相乘:\n',np.multiply(arr1,arr3))(詳見教材)?【學(xué)生】觀察、記錄、理解?【學(xué)生】教師演示完成后,學(xué)生按照教材提示和教師演示進行實際操作,并對比程序運行結(jié)果(詳見教材)?【教師】巡視課堂記錄,對學(xué)生進行個別指導(dǎo)?【教師】提出問題對照例2-9程序運行結(jié)果,說一說程序是如何運行的??【學(xué)生】聆聽、思考、主動回答問題?【教師】總結(jié)學(xué)生的回答,并講解新知power()函數(shù)中,冪運算的結(jié)果數(shù)值很大,
溫馨提示
- 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人終止勞動協(xié)議
- 難治性傷口病因介紹
- 藥物濫用性頭痛病因介紹
- 7.1《反對黨八股(節(jié)選)》【中職專用】高一語文(高教版2023基礎(chǔ)模塊上冊)
- 七年級政治知識讓人生更美麗2省公開課一等獎全國示范課微課
- 2024-2025學(xué)年人教版八年級英語上學(xué)期期末真題 專題07 閱讀理解(說明文)(安徽專用)
- 2022-2023學(xué)年天津四十七中高三(上)期末語文試卷
- 電子裝接實36課件講解
- 2023年旋渦式鼓風(fēng)機項目融資計劃書
- 2023年公路養(yǎng)護項目融資計劃書
- 國開電大 財務(wù)報表分析 形考任務(wù)作業(yè)1-4答案
- 初中籃球教學(xué)案例八年級體質(zhì)課案-【教學(xué)參考】
- 糖尿病患者的麻醉管理課件
- 生產(chǎn)線外包方案
- 《測繪工程產(chǎn)品價格》和《測繪工程產(chǎn)品困難類別細則》
- 生產(chǎn)現(xiàn)場定置管理規(guī)定區(qū)域劃分、標識牌、工具擺放標準
- 接口類驗收報告
- 關(guān)于公寓物業(yè)管理實施方案
- 母嬰保健技術(shù)資格證考試試題及答案
- 《好天氣和壞天氣》課件
- (交通運輸)鐵路軍事運輸教案
評論
0/150
提交評論