Python數(shù)據(jù)分析 科學(xué)計(jì)算庫NumPy_第1頁
Python數(shù)據(jù)分析 科學(xué)計(jì)算庫NumPy_第2頁
Python數(shù)據(jù)分析 科學(xué)計(jì)算庫NumPy_第3頁
Python數(shù)據(jù)分析 科學(xué)計(jì)算庫NumPy_第4頁
Python數(shù)據(jù)分析 科學(xué)計(jì)算庫NumPy_第5頁
已閱讀5頁,還剩40頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

Python數(shù)據(jù)分析主講人:高艷云第2章

科學(xué)計(jì)算庫NumPyCONTENTSPART

1統(tǒng)計(jì)運(yùn)算PART

3檢索數(shù)組元素數(shù)組排序PART

2集合運(yùn)算PART

41統(tǒng)計(jì)運(yùn)算常用的統(tǒng)計(jì)函數(shù)函數(shù)說明sum計(jì)算數(shù)組的和mean計(jì)算數(shù)組均值std計(jì)算數(shù)組標(biāo)準(zhǔn)差var計(jì)算數(shù)組方差min計(jì)算數(shù)組最小值max計(jì)算數(shù)組最大值argmin返回數(shù)組最小元素的索引argmax返回數(shù)組最大元素的索引cumsum計(jì)算所有元素的累計(jì)和cumprod計(jì)算所有元素的累計(jì)積當(dāng)axis=0時,表示沿著縱軸計(jì)算。當(dāng)axis=1時,表示沿著橫軸計(jì)算。默認(rèn)時計(jì)算一個總值。2數(shù)組排序數(shù)組排序如果希望對NumPy數(shù)組中的元素進(jìn)行排序,可以通過sort()方法實(shí)現(xiàn)。arr=np.array([[6,2,7],[3,6,2],[4,3,2]])arr.sort()array([[2,6,7],[2,3,6],[2,3,4]])sort()方法排序時,沒有制定排序軸時,默認(rèn)為按最后一個軸排序。數(shù)組排序如果希望對任何一個軸上的元素進(jìn)行排序,則需要將軸的編號作為sort()方法的參數(shù)傳入。arr=np.array([[6,2,7],[3,6,2],[4,3,2]])#沿著編號為0的軸對元素排序arr.sort(0)array([[3,2,2],[4,3,2],[6,6,7]])3檢索數(shù)組元素檢索數(shù)組元素all()函數(shù)用于判斷整個數(shù)組中的元素的值是否全部滿足條件,如果滿足條件返回True,否則返回False。arr=np.array([[1,-2,-7],[-3,6,2],[-4,3,2]])#arr的所有元素是否都大于0np.all(arr>0)False檢索數(shù)組元素any()函數(shù)用于判斷整個數(shù)組中的元素至少有一個滿足條件就返回True,否則就返回False。arr=np.array([[1,-2,-7],[-3,6,2],[-4,3,2]])#arr的所有元素是否有一個大于0np.any(arr>0)True4集合運(yùn)算唯一化及其他集合邏輯NumPy提供的有關(guān)集合的函數(shù)還有很多,常見的函數(shù)如下表所示。唯一化及其他集合邏輯in1d()函數(shù)用于判斷數(shù)組中的元素是否在另一個數(shù)組中存在,該函數(shù)返回的是一個布爾型的數(shù)組。arr=np.array([12,11,34,23,12,8,11])np.in1d(arr,[11,12])array([True,True,False,False,True,False,True])唯一化及其他集合邏輯針對一維數(shù)組,NumPy提供了unique()函數(shù)來找出數(shù)組中的唯一值,并返回排序后的結(jié)果。arr=np.array([12,11,34,23,12,8,11])np.unique(arr)array([8,11,12,23,34])可以去重,結(jié)果進(jìn)行元素的順序排列呈現(xiàn)。Python數(shù)據(jù)分析主講人:高艷云第2章

科學(xué)計(jì)算庫NumPyCONTENTSPART

1數(shù)組運(yùn)算通用函數(shù)PART

21數(shù)組運(yùn)算矢量化運(yùn)算數(shù)組運(yùn)算可以分為以下三種:形狀相同的數(shù)組數(shù)組形狀不同的數(shù)組標(biāo)量矢量化運(yùn)算廣播機(jī)制數(shù)組與標(biāo)量運(yùn)算矢量化運(yùn)算形狀相等的數(shù)組之間的任何算術(shù)運(yùn)算都會應(yīng)用到元素級,即只用于位置相同的元素之間,所得的運(yùn)算結(jié)果組成一個新的數(shù)組。例如:數(shù)組廣播當(dāng)形狀不相等的數(shù)組執(zhí)行算術(shù)計(jì)算的時候,就會出現(xiàn)廣播機(jī)制,該機(jī)制會對數(shù)組進(jìn)行擴(kuò)展,使數(shù)組的shape屬性值一樣,這樣就可以進(jìn)行矢量化運(yùn)算了。數(shù)組廣播廣播機(jī)制主要為了解決不同形狀的數(shù)組之間進(jìn)行計(jì)算,數(shù)組的shape從元組的最后一個元素對齊,并且滿足如下任意一個條件即可:(1)如果兩個數(shù)組的后緣維度(trailingdimension,即從末尾開始算起的維度)的軸長度相符;(2)數(shù)組維度相同,其中有個軸長度為1。數(shù)組與標(biāo)量間的運(yùn)算標(biāo)量運(yùn)算會產(chǎn)生一個與數(shù)組具有相同行和列的新矩陣,其原始矩陣的每個元素都被相加、相減、相乘或者相除。123456+101010101010=1112131415162通用函數(shù)NumPy通用函數(shù)通用函數(shù)(ufunc)是一種針對ndarray中的數(shù)據(jù)執(zhí)行元素級運(yùn)算的函數(shù),函數(shù)返回的是一個新的數(shù)組。我們將ufunc中接收一個數(shù)組參數(shù)的函數(shù)稱為一元通用函數(shù),接收兩個數(shù)組參數(shù)的則稱為二元通用函數(shù)。進(jìn)行的數(shù)組對應(yīng)位置元素的運(yùn)算。特別是乘法運(yùn)算,和矩陣的乘法運(yùn)算不一樣。NumPy通用函數(shù)常見的一元通用函數(shù)如下表:NumPy通用函數(shù)常見的一元通用函數(shù)如下表:NumPy通用函數(shù)常見的二元通用函數(shù)如下表:有時用算術(shù)運(yùn)算符也可以進(jìn)行有關(guān)的計(jì)算:將條件邏輯轉(zhuǎn)為數(shù)組運(yùn)算NumPy的where()函數(shù)是三元表達(dá)式xifconditionelsey的矢量化版本。arr_x=np.array([1,5,7])arr_y=np.array([2,6,8])arr_con=np.array([True,False,True])result=np.where(arr_con,arr_x,arr_y)array([1,6,7])Python數(shù)據(jù)分析主講人:高艷云第2章

科學(xué)計(jì)算庫NumPyCONTENTSPART

1ndarray索引PART

3ndarray花式索引ndarray切片PART

2ndarray布爾索引PART

41ndarray索引整數(shù)索引和切片的基本使用對于一維數(shù)組來說,從表面上來看,它使用索引和切片的方式,與Python列表的功能相差不大。arr=np.arange(8)#獲取索引為5的元素arr[5]#獲取索引為3~5的元素,但不包括5arr[3:5]5array([3,4])整數(shù)索引和切片的基本使用對于多維數(shù)組來說,索引和切片的使用方式與列表就大不一樣了,比如二維數(shù)組的索引方式如下:整數(shù)索引和切片的基本使用在二維數(shù)組中,每個索引位置上的元素不再是一個標(biāo)量了,而是一個一維數(shù)組。arr2d=np.array([[1,2,3],[4,5,6],[7,8,9]])#獲取索引為1的元素arr2d[1]array([4,5,6])整數(shù)索引和切片的基本使用如果想獲取二維數(shù)組的單個元素,則需要通過形如“arr[x,y]”的索引來實(shí)現(xiàn),其中x表示行號,y表示列號。#獲取位于第0行第1列的元素arr2d[0,1]22ndarray切片整數(shù)索引和切片的基本使用多維數(shù)組的切片是沿著行或列的方向選取元素的,我們可以傳入一個切片,也可以傳入多個切片,還可以將切片與整數(shù)索引混合使用。arr2d[:2]使用一個切片示例:array([[1,2,3],[4,5,6]])整數(shù)索引和切片的基本使用arr2d[0:2,0:2]使用兩個切片示例:array([[1,2],[4,5]])arr2d[1,:2]切片與整數(shù)索引混合使用的示例:array([[1,2],[4,5]])3ndarray花式索引花式(數(shù)組)索引的基本使用花式索引是NumPy的一個術(shù)語,是指用整數(shù)數(shù)組或列表進(jìn)行索引,然后再將數(shù)組或列表中的每個元素作為下標(biāo)進(jìn)行取值。當(dāng)使用一個數(shù)組或列表作為索引時,如果使用索引要操作的對象是一維數(shù)組,則獲取的結(jié)果是對應(yīng)下標(biāo)的元素?;ㄊ剑〝?shù)組)索引的基本使用#創(chuàng)建一個二維數(shù)組demo_arr=np.empty((4,4))foriinrange(4):demo_arr[i]=np.arange(i,i+4)#獲取索引為[0,2]的元素demo_arr[[0,2]]如果要操作的對象是一個二維數(shù)組,則獲取的結(jié)果就是對應(yīng)下標(biāo)的一行數(shù)據(jù)?;ㄊ剑〝?shù)組)索引的基本使用#獲取索引為(1,1)和(3,2)的元素demo_arr[[

溫馨提示

  • 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)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論