Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 2-1. 數(shù)組創(chuàng)建與操作_第1頁(yè)
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 2-1. 數(shù)組創(chuàng)建與操作_第2頁(yè)
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 2-1. 數(shù)組創(chuàng)建與操作_第3頁(yè)
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 2-1. 數(shù)組創(chuàng)建與操作_第4頁(yè)
Python金融數(shù)據(jù)分析與挖掘(微課版) 課件 2-1. 數(shù)組創(chuàng)建與操作_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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)介

第2章

科學(xué)計(jì)算包Numpy數(shù)組創(chuàng)建、數(shù)組尺寸與重排數(shù)組運(yùn)算與數(shù)學(xué)函數(shù)數(shù)組切片、連接、存取、展平、排序與搜索Numpy簡(jiǎn)介第2章

Numpy是Python用于科學(xué)計(jì)算的基礎(chǔ)包,也是大量Python數(shù)學(xué)和科學(xué)計(jì)算包的基礎(chǔ)。Numpy的核心基礎(chǔ)是ndarray(N-dimensionalarray,N維數(shù)組),即由數(shù)據(jù)類(lèi)型相同的元素組成的N維數(shù)組。使用該包,需要按模塊的形式導(dǎo)入,即:importnumpy,大多情況下是importnumpyasnp,即簡(jiǎn)稱(chēng)np。利用array()函數(shù)創(chuàng)建數(shù)組第2章?;赼rray()函數(shù),可以將列表、元組、嵌套列表、嵌套元組等數(shù)據(jù)結(jié)構(gòu)轉(zhuǎn)化為數(shù)組d1=[1,2,3,4,0.1,7]#列表d2=(1,2,3,4,2.3)#元組d3=[[1,2,3,4],[5,6,7,8]]#嵌套列表,元素為列表d4=[(1,2,3,4),(5,6,7,8)]#嵌套列表,元素為元組d5=((1,2,3,4),(5,6,7,8))#嵌套元組importnumpyasnpd11=np.array(d1)d21=np.array(d2)d31=np.array(d3)d41=np.array(d4)d51=np.array(d5)deld1,d2,d3,d4,d5利用內(nèi)置函數(shù)創(chuàng)建數(shù)組第2章importnumpyasnpz1=np.ones((3,3))#創(chuàng)建3行3列元素全為1的數(shù)組z2=np.zeros((3,4))#創(chuàng)建3行4列元素全為0的數(shù)組z3=np.arange(10)#創(chuàng)建默認(rèn)初始值為0,默認(rèn)步長(zhǎng)為1,末值為9的一維數(shù)組z4=np.arange(2,10)#創(chuàng)建默認(rèn)初始值為2,默認(rèn)步長(zhǎng)為1,末值為9的一維數(shù)組z5=np.arange(2,10,2)#創(chuàng)建默認(rèn)初始值為2,步長(zhǎng)為2,末值為9的一維數(shù)組數(shù)組尺寸與重排第2章d1=[1,2,3,4,0.1,7]#列表d3=[[1,2,3,4],[5,6,7,8]]#嵌套列表,元素為列表importnumpyasnpd11=np.array(d1)#將d1列表轉(zhuǎn)換為一維數(shù)組,結(jié)果賦值給變量d11d31=np.array(d3)#將d3嵌套列表轉(zhuǎn)換為二維數(shù)組,結(jié)果賦值給變量d31deld1,d3#刪除d1,d3s11=d11.shape

#返回一維數(shù)組d11的尺寸,結(jié)果賦值給變量s11s31=d31.shape#返回二維數(shù)組d31的尺寸,結(jié)果賦值給變量s31r=np.array(range(9))#一維數(shù)組r1=r.reshape((3,3))#重排為3行3列第2章數(shù)組運(yùn)算importnumpyasnpA=np.array([[1,2],[3,4]])#定義二維數(shù)組AB=np.array([[5,6],[7,8]])#定義二維數(shù)組BC1=A-B#A、B兩個(gè)數(shù)組元素之間相減,結(jié)果賦給變量C1C2=A+B#A、B兩個(gè)數(shù)組元素之間相加,結(jié)果賦給變量C2C3=A*B#A、B兩個(gè)數(shù)組元素之間相乘,結(jié)果賦給變量C3C4=A/B#A、B兩個(gè)數(shù)組元素之間相除,結(jié)果賦給變量C4C5=A/3#A數(shù)組所有元素除以3,結(jié)果賦給變量C5C6=1/A#1除以A數(shù)組所有元素,結(jié)果賦給變量C6C7=A**2#A數(shù)組所有元素取平方,結(jié)果賦給變量C7C8=np.array([1,2,3,3.1,4.5,6,7,8,9])#定義數(shù)組C8C9=(C8-min(C8))/(max(C8)-min(C8))#C8中的元素做極差化處理,結(jié)果賦給變量C9第2章數(shù)學(xué)函數(shù)D=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])#定義數(shù)組D#數(shù)學(xué)運(yùn)算E1=np.sqrt(D)#數(shù)組D中所有元素取平方根,結(jié)果賦給變量E1E2=np.abs([1,-2,-100])#取絕對(duì)值E3=np.cos([1,2,3])#取cos值E4=np.sin(D)#取sin值E5=np.exp(D)#取指數(shù)函數(shù)值第2章常用組切片方法假設(shè)D為待訪(fǎng)問(wèn)或切片的數(shù)據(jù)變量,則訪(fǎng)問(wèn)或者切片的數(shù)據(jù)=D[①,②]。其中①為對(duì)D的行下標(biāo)控制,②為對(duì)D的列下標(biāo)控制。為了更靈活地操作數(shù)據(jù),取所有的行或者列,可以用“:”來(lái)代替實(shí)現(xiàn)。同時(shí),行控制還可以通過(guò)邏輯列表來(lái)實(shí)現(xiàn)。importnumpyasnpD=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])#定義數(shù)組DD12=D[1,2]#訪(fǎng)問(wèn)D中行為1,列為2的數(shù)據(jù),注意下標(biāo)是從0開(kāi)始的。D1=D[:,[1,3]]#訪(fǎng)問(wèn)D中第1、3列數(shù)據(jù)D2=D[[1,3],:]#訪(fǎng)問(wèn)D中第1、3行數(shù)據(jù)Dt1=D[D[:,0]>5,:]#取D中滿(mǎn)足第0列大于5的所有列數(shù)據(jù),本質(zhì)上行控制為邏輯列表TF=[True,False,False,True]#取D中第0、3行的所有列數(shù)據(jù),本質(zhì)上行控制為邏輯列表,取邏輯值為真的行Dt3=D[TF,:]第2章利用ix_()函數(shù)進(jìn)行數(shù)組切片通過(guò)ix_()函數(shù)構(gòu)造行、列下標(biāo)索引器,實(shí)現(xiàn)數(shù)組的切片操作。importnumpyasnpD=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])#定義數(shù)組DD3=D[np.ix_([1,2],[1,3])]#提取D中行數(shù)為1、2,列數(shù)為1、3的所有元素D4=D[np.ix_(np.arange(2),[1,3])]#提取D中行數(shù)為0、1,列數(shù)為1、3的所有元素D6=D[np.ix_(D[:,1]<11,[1,2])]#提取D中第1列小于11得到的邏輯數(shù)組作為行索引,列數(shù)為1、2的所有元素D7=D[np.ix_(D[:,1]<11,[2])]#提取D中第1列小于11得到的邏輯數(shù)組作為行索引,列數(shù)為2的所有元素TF=[True,False,False,True]D8=D[np.ix_(TF,[2])]#提取TF=[True,False,False,True]邏輯列表為行索引,列數(shù)為2的所有元素D9=D[np.ix_(TF,[1,3])]#提取TF=[True,False,False,True]邏輯列表為行索引,列數(shù)為1,,3的所有元素第2章數(shù)組連接importnumpyasnpA=np.array([[1,2],[3,4]])#定義二維數(shù)組AB=np.array([[5,6],[7,8]])#定義二維數(shù)組BC_s=np.hstack((A,B))#水平連接要求行數(shù)相同C_v=np.vstack((A,B))#垂直連接要求列數(shù)相同第2章數(shù)組存取importnumpyasnpA=np.array([[1,2],[3,4]])#定義二維數(shù)組AB=np.array([[5,6],[7,8]])#定義二維數(shù)組BC_s=np.hstack((A,B))#水平連接np.save('data',C_s)第2章數(shù)組存取importnumpyasnpC_s=np.load(‘data.npy’)

數(shù)組展平

前面介紹了reshape函數(shù)將一維數(shù)組形態(tài)變換為二維數(shù)組,事實(shí)上也可以將二維數(shù)組形態(tài)展平變換為一維數(shù)組,通過(guò)ravel()函數(shù)即可實(shí)現(xiàn)。importnumpyasnparr=np.arange(12).reshape(3,4)arr1=arr.ravel()第2章

數(shù)組排序

通過(guò)sort函數(shù),可以對(duì)數(shù)組元素值按從小到大進(jìn)行直接排序importnumpyasnparr=np.array([5,2,3,3,1,9,8,6,7])arr1=np.sort(arr)第2章

數(shù)組搜索

通過(guò)argmax和argmin函數(shù),可以返回待搜索數(shù)組最大值和最小值元素的索引值,如果存在多個(gè)最大值或最小值,則返回第一次出現(xiàn)的索引。對(duì)于二維數(shù)組而已,可以通過(guò)設(shè)置axis=0或1返回各列或者各行最大值或最小值索引。需要注意的是,索引從0開(kāi)

溫馨提示

  • 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)論