《python數(shù)據(jù)分析與應(yīng)用》 課件 第7章 NUMPY_第1頁(yè)
《python數(shù)據(jù)分析與應(yīng)用》 課件 第7章 NUMPY_第2頁(yè)
《python數(shù)據(jù)分析與應(yīng)用》 課件 第7章 NUMPY_第3頁(yè)
《python數(shù)據(jù)分析與應(yīng)用》 課件 第7章 NUMPY_第4頁(yè)
《python數(shù)據(jù)分析與應(yīng)用》 課件 第7章 NUMPY_第5頁(yè)
已閱讀5頁(yè),還剩16頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

第7章NumpyPython數(shù)據(jù)分析與應(yīng)用1CONTENTS7.1知識(shí)準(zhǔn)備7.2代碼補(bǔ)全和知識(shí)拓展7.3實(shí)訓(xùn)任務(wù):生成偶數(shù)數(shù)組7.4延伸高級(jí)任務(wù)目錄7.5課后習(xí)題2知識(shí)準(zhǔn)備13創(chuàng)建多維數(shù)組對(duì)象7.1.4多維數(shù)組numpy.empty#shape為數(shù)組形狀,dtype為數(shù)據(jù)類型(可選參數(shù)),order為“C”代表行優(yōu)先,“F”代表列優(yōu)先,表示內(nèi)存中存儲(chǔ)元素的順序numpy.empty(shape,dtype=float,order='C')importnumpyasnpx=np.empty([3,2],dtype=int)print(x)7.1.3數(shù)組知識(shí)準(zhǔn)備#Numpy可將Python的內(nèi)置數(shù)據(jù)對(duì)象轉(zhuǎn)換成Numpy數(shù)組numpy.asarray(a,dtype=None,order=None)#a為輸入?yún)?shù),可以是Python中的數(shù)據(jù)對(duì)象,例如列表、元組等importnumpyasnpx=np.empty([3,2],dtype=int)x=np.arange(6)arr=np.array([1,2,3,4,5])print(arr[0])#輸出第一個(gè)元素1,索引從0開始print(arr[2:4])#輸出第3和4個(gè)元素,使用切片操作importnumpyasnparr=np.array([[1,2,3],[4,5,6],[7,8,9]])print(arr[1][2])#輸出第2行第3列的元素6,使用多維索引操作print(arr[1,2])#輸出第2行第3列的元素6,使用多維索引操作print(arr[:,1:3])#輸出第2和3列的所有行,使用多維切片操作importnumpyasnparray1=np.arange(20).reshape(4,5)print(array1)47.1.2NumPy中的數(shù)據(jù)類型7.1.1NumPy庫(kù)概述代碼補(bǔ)全和知識(shí)拓展25importnumpyasnpx=np.asarray(range(1,25))y=x.reshape(____________)print(y)輸出:[[123456][789101112][131415161718][192021222324]]代碼運(yùn)行之后能生成一個(gè)NumPy中的4行6列的二維數(shù)組。7.2.1代碼補(bǔ)全6importnumpyasnpx=np.asarray([1,2,3,4,5,6,7,8,9])y=x[[2,4]]#花式索引print(y)輸出:[35]#對(duì)一維數(shù)組而言,花式索引就是取對(duì)應(yīng)索引序號(hào)上的元素值一維數(shù)組的花式索引7.2.2知識(shí)拓展1.更多索引方式7多維數(shù)組可以通過np.array()函數(shù)創(chuàng)建,也可以通過其他函數(shù)如np.zeros()、np.ones()創(chuàng)建。矩陣可以使用np.matrix()函數(shù)或者np.mat()函數(shù)創(chuàng)建。多維數(shù)組的類型是ndarray,具有更廣泛的功能和應(yīng)用范圍。矩陣的類型是matrix,專注于線性代數(shù)運(yùn)算。在NumPy中,矩陣(Matrix)和多維數(shù)組(ndarray)是兩種不同的數(shù)據(jù)類型。7.2.2知識(shí)拓展2.矩陣(Matrix)與多維數(shù)組(ndarray)8x=np.random.randint(0,10,7)print(x)#x:[7820545]print(np.bincount(x))'''輸出表示0有1個(gè),1有0個(gè),2有1個(gè)...[101012011]'''#去重后按順序排列print(np.unique(x))'‘’輸出:[024578]'''計(jì)算元素出現(xiàn)次數(shù)。7.2.2知識(shí)拓展3.數(shù)組運(yùn)算9importnumpyasnpmy_array_1=np.array([[1,2,3],[4,5,6]])my_array_2=np.linspace(start=0,stop=100,num=5)print(my_array_1)print(my_array_2)#保存到npz文件np.savez('my_arrays_temp.npz',my_array_1,my_array_2)#讀入npz文件loaded_arrays=np.load('my_arrays_temp.npz',allow_pickle=True)將多個(gè)numpy數(shù)據(jù)保存到npz文件中。7.2.2知識(shí)拓展4.生成npz文件107.3實(shí)訓(xùn)任務(wù):生成偶數(shù)數(shù)組311#獲取1-20之間所有的偶數(shù)importnumpyasnpx=np.asarray(range(1,21))y=x[x%2==0]print(y)輸出:[2468101214161820]請(qǐng)修改以上代碼,使代碼運(yùn)行后輸出1-20之間的奇數(shù)。1.生成一個(gè)Numpy數(shù)組,其中的元素為1-20之間的偶數(shù)7.3實(shí)訓(xùn)任務(wù)12importnumpyasnp#假設(shè)銷售數(shù)據(jù)存儲(chǔ)在一個(gè)二維數(shù)組中,每行表示一天的銷售數(shù)據(jù),每列表示一個(gè)商品的銷售數(shù)量sales_data=np.array([[10,5,8,12],[7,3,6,9],[9,4,7,10],[8,6,5,11],[11,2,9,13],[6,4,8,10],[12,3,7,9]])#計(jì)算每個(gè)商品的總銷售量total_sales=np.sum(sales_data,axis=0)#計(jì)算整體銷售量的統(tǒng)計(jì)信息sales_statistics={'總銷售量':(____________),'平均銷售量':(____________),'最大銷售量':(____________),'最小銷售量':(____________)}2.商品銷售數(shù)據(jù)統(tǒng)計(jì)7.3實(shí)訓(xùn)任務(wù)13importnumpyasnp#把一個(gè)list對(duì)象轉(zhuǎn)換成矩陣ll=[1,2,3]lla=(____________)#把一個(gè)list對(duì)象轉(zhuǎn)換成一個(gè)多維矩陣(ndarray)print(lla)#查看輸出結(jié)果#array([1,2,3])#把一個(gè)嵌套list轉(zhuǎn)換成多維矩陣ll=[[1,2],[2,3]]lla=(____________)print(lla)#查看輸出結(jié)果#array([[1,2],#[2,3]])然后是關(guān)于numpy.ndarray多維矩陣轉(zhuǎn)換成list對(duì)象,代碼片段如下所示:importnumpyasnpllnd=np.asarray([1,3,4])ll=(____________)#把向量轉(zhuǎn)換listprint("type(ll):",type(ll))arraynd=np.asarray([[0.,0.,0.],[0.,.5,0.],[1.,1.,.5],[0,2.0,3.0]])ll=(____________)#把ndarray對(duì)象轉(zhuǎn)換成list對(duì)象print("type(ll):",type(ll))3.list對(duì)象與多維矩陣(ndarray)的相互轉(zhuǎn)換7.3實(shí)訓(xùn)任務(wù)14延伸高級(jí)任務(wù)415importnumpyasnp#假設(shè)步行數(shù)據(jù)存儲(chǔ)在一個(gè)二維數(shù)組中,#每行表示一個(gè)日期,#第一列是日期,第二列是步數(shù)walking_data=np.array([['2023-06-29',5000],['2023-06-30',6000],['2023-07-01',7000],['2023-07-02',5500],['2023-07-03',8000],['2023-07-04',7500],['2023-07-05',9000],['2023-07-06',6500]])#獲取最近7天的步行數(shù)據(jù)recent_data=(____________)#打印結(jié)果print(recent_data)7.4延伸高級(jí)任務(wù):獲取最近7天的步行數(shù)據(jù)16importnumpyasnpA=np.array([[2,1,-2],[3,0,1],[1,1,-1]])#創(chuàng)建二維數(shù)組表示系數(shù)矩陣b=np.transpose(np.array([[-3,5,-2]]))#將行向量轉(zhuǎn)置得到結(jié)果bx=np.linalg.solve(A,b)#使用NumPy線性方程求解函數(shù)得到待求結(jié)果xprint(x)輸出:[[1.][-1.][2.]]7.4延伸高級(jí)任務(wù):矩陣向量運(yùn)算17#arange和reshapenice=np.arange(10,20).reshape(2,5)print(nice)'''輸出[[1011121314][1516171819]]'''#數(shù)組的查找添加——indexa=np.array(((2,1,4),(4,1,2)))index1=(0)index2=(0,1)print(a[index1],a[index2])#輸出[214]1a[index1]=[3,2,1]#print(a)'''輸出[[321][412]]7.4延伸高級(jí)任務(wù):矩陣向量運(yùn)算18課后習(xí)題519課后習(xí)題習(xí)題11.生成以下矩陣,并對(duì)第一列求和,結(jié)果為26。繼續(xù)求矩陣第一列和第二列的總和,結(jié)果為48。習(xí)題22.將所有大于30的元素替換為0。importnumpyasnpthe_a

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論