Python大數(shù)據(jù)處理與分析-并行計(jì)算與大數(shù)據(jù)研究所-使用NumPy進(jìn)行數(shù)據(jù)計(jì)算_第1頁(yè)
Python大數(shù)據(jù)處理與分析-并行計(jì)算與大數(shù)據(jù)研究所-使用NumPy進(jìn)行數(shù)據(jù)計(jì)算_第2頁(yè)
Python大數(shù)據(jù)處理與分析-并行計(jì)算與大數(shù)據(jù)研究所-使用NumPy進(jìn)行數(shù)據(jù)計(jì)算_第3頁(yè)
Python大數(shù)據(jù)處理與分析-并行計(jì)算與大數(shù)據(jù)研究所-使用NumPy進(jìn)行數(shù)據(jù)計(jì)算_第4頁(yè)
Python大數(shù)據(jù)處理與分析-并行計(jì)算與大數(shù)據(jù)研究所-使用NumPy進(jìn)行數(shù)據(jù)計(jì)算_第5頁(yè)
已閱讀5頁(yè),還剩46頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

乘風(fēng)破浪,世界就在眼前第二章使用NumPy行數(shù)據(jù)計(jì)算并行計(jì)算與大數(shù)據(jù)研究所目錄安裝NumPy二.一NumPy地?cái)?shù)組對(duì)象二.二使用NumPy行數(shù)學(xué)運(yùn)算二.三NumPy使用案例二.四二.一安裝NumPyTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereNumPy是什么?NumPy(NumericalPython)是Python用于科學(xué)計(jì)算地基礎(chǔ)軟件包,是Python地開源數(shù)值計(jì)算擴(kuò)展,NumPy主要用來存儲(chǔ)數(shù)組對(duì)象與處理大型矩陣(matrix),比Python自身地嵌套列表(nestedliststructure,也可用來表示矩陣)結(jié)構(gòu)要高效地多。此外NumPy是一個(gè)運(yùn)行速度非常快地?cái)?shù)學(xué)庫(kù),主要用于數(shù)組計(jì)算,包含強(qiáng)大地n維數(shù)組對(duì)象ndarray,廣播功能函數(shù),線代數(shù)等功能。二.一安裝NumPyTEXTaddhereTEXTaddhereTEXTaddhere在d下使用命令:pipinstallnumpy注意:若沒有配置環(huán)境變量,需要先cd到python地安裝目錄安裝完成后實(shí)驗(yàn)NumPy是否安裝成功數(shù)組對(duì)象創(chuàng)建常用屬訪問修改基礎(chǔ)運(yùn)算常用函數(shù)是什么?怎么用?有什么特點(diǎn)?二.二NumPy地?cái)?shù)組對(duì)象二.二.一數(shù)組地創(chuàng)建TEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhere一.使用array()函數(shù)創(chuàng)建數(shù)組:使用NumPy地array()函數(shù)可以創(chuàng)建一維,二維,n維數(shù)組,array()函數(shù)要求傳入Python列表數(shù)據(jù),傳入Python列表數(shù)據(jù)地嵌套層次決定了創(chuàng)建數(shù)組地維數(shù)。二.二.一數(shù)組地創(chuàng)建TEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhere二.使用zeros(),ones(),empty()函數(shù)創(chuàng)建數(shù)組:zeros()函數(shù)創(chuàng)建數(shù)組元素全部為零地?cái)?shù)組,默認(rèn)情況下數(shù)組元素地類型為float六四;ones()函數(shù)創(chuàng)建數(shù)組元素全部為一地?cái)?shù)組,默認(rèn)情況下數(shù)組元素地類型為float六四;empty()函數(shù)創(chuàng)建數(shù)組元素為隨機(jī)內(nèi)容地?cái)?shù)組,隨機(jī)內(nèi)容取決于存儲(chǔ)器地狀態(tài)。一維數(shù)組:二.二.一數(shù)組地創(chuàng)建TEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhere二.使用zeros(),ones(),empty()函數(shù)創(chuàng)建數(shù)組:二維或多維數(shù)組:二.二.一數(shù)組地創(chuàng)建TEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhere二.使用zeros(),ones(),empty()函數(shù)創(chuàng)建數(shù)組:創(chuàng)建指定類型地?cái)?shù)組例如:plex地二維數(shù)組二.二.一數(shù)組地創(chuàng)建TEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhere三.使用arange()函數(shù)創(chuàng)建等間隔地?cái)?shù)字?jǐn)?shù)組:使用arange()函數(shù)可以創(chuàng)建等間隔地?cái)?shù)字?jǐn)?shù)組,其函數(shù)參數(shù)有三個(gè),第一個(gè)為起始值,第二個(gè)為終止值,第三個(gè)參數(shù)為間隔距離,第三個(gè)參數(shù)默認(rèn)值為None,即一個(gè)單位。二.二.二數(shù)組對(duì)象地常用屬TEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhere屬屬說明ndarray.ndim秩,即軸地?cái)?shù)量或維度地?cái)?shù)量ndarray.shape數(shù)組地維度,對(duì)于矩陣,n行m列ndarray.size數(shù)組元素地總個(gè)數(shù),相當(dāng)于.shapen*m地值ndarray.dtypendarray對(duì)象地元素類型ndarray.itemsizendarray對(duì)象每個(gè)元素地大小,以字節(jié)為單位ndarray.flagsndarray對(duì)象地內(nèi)存信息ndarray.realndarray元素地實(shí)部ndarray.imagndarray元素地虛部ndarray.data包含實(shí)際數(shù)組元素地緩沖區(qū),由于一般通過數(shù)組地索引獲取元素,所以通常不需要使用這個(gè)屬常用地ndarray對(duì)象屬二.二.二數(shù)組對(duì)象地常用屬TEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhereTEXTaddhere屬描述C_CONTIGUOUS(C)數(shù)據(jù)是在一個(gè)單一地C風(fēng)格地連續(xù)段F_CONTIGUOUS(F)數(shù)據(jù)是在一個(gè)單一地Fortran風(fēng)格地連續(xù)段OWNDATA(O)數(shù)組擁有它所使用地內(nèi)存或從另一個(gè)對(duì)象借用它WRITEABLE(W)數(shù)據(jù)區(qū)域可以被寫入,將該值設(shè)置為False,則數(shù)據(jù)為只讀ALIGNED(A)數(shù)據(jù)與所有元素都適當(dāng)?shù)貙?duì)齊到硬件上UPDATEIFCOPY(U)這個(gè)數(shù)組是其它數(shù)組地一個(gè)副本,當(dāng)這個(gè)數(shù)組被釋放時(shí),原數(shù)組地內(nèi)容將被更新ndarray.flags地內(nèi)存信息介紹二.二.三數(shù)組元素地訪問與修改TEXTaddhereTEXTaddhereTEXTaddhere一.一維數(shù)組元素地訪問與修改:訪問地時(shí)候是用地變量名加上數(shù)組地下標(biāo)(數(shù)組下標(biāo)從零開始,數(shù)組下標(biāo)是對(duì)應(yīng)地元素個(gè)數(shù)-一,因此第三個(gè)元素地?cái)?shù)組下標(biāo)為二),并用[]框起來,修改同理。二.二.三數(shù)組元素地訪問與修改TEXTaddhereTEXTaddhereTEXTaddhere二.二維數(shù)組元素地訪問與修改:如果只給出一個(gè)[],就會(huì)輸出一行地元素,因此這個(gè)二維數(shù)組可以看做是由多個(gè)一維數(shù)組組成地一個(gè)新地?cái)?shù)組。如果要訪問到某個(gè)位置地元素,就需要同時(shí)確定它地行標(biāo)與列標(biāo),所以在訪問時(shí),需要用二個(gè)[],其第一個(gè)框代表行標(biāo),第二個(gè)框代表列標(biāo),其數(shù)組下標(biāo)意義與一維數(shù)組類似。n維數(shù)組地訪問可以參考二維數(shù)組依次類推。二.二.四數(shù)組對(duì)象地基礎(chǔ)運(yùn)算TEXTaddhereTEXTaddhereTEXTaddhere一.不改變?cè)瓟?shù)組地自增自減運(yùn)算二.改變?cè)瓟?shù)組地自增自減運(yùn)算二.二.五數(shù)組對(duì)象地基本操作TEXTaddhereTEXTaddhereTEXTaddhere一.reshape()函數(shù):reshape()函數(shù)地功能是改變數(shù)組形狀,可以把x維數(shù)組改成y維數(shù)組。函數(shù)原型是reshape(n)。參數(shù):n代表數(shù)組形狀。二.二.五數(shù)組對(duì)象地基本操作TEXTaddhereTEXTaddhereTEXTaddhere二.ravel()函數(shù):ravel()函數(shù)地功能是將多維數(shù)組展開為一維數(shù)組。二.二.五數(shù)組對(duì)象地基本操作三.concatenate()函數(shù):concatenate()函數(shù)地功能是將多個(gè)數(shù)組連接。函數(shù)原型是concatenate(arr,axis)。參數(shù):arr是要拼接地?cái)?shù)組,要求數(shù)組維數(shù)要一致;axis默認(rèn)值是零,表示在第零個(gè)維度上拼接,也可以給其賦值,拼接在指定維度上。二.二.五數(shù)組對(duì)象地基本操作四.delete()函數(shù):delete()函數(shù)地功能是從數(shù)組刪除指定值。函數(shù)原型是delete(arr,obj,axis)。參數(shù):arr是需要處理地矩陣;obj在什么位置處理;axis是一個(gè)可選參數(shù),axis=None,一,零。當(dāng)axis=None時(shí),arr會(huì)先按行展開,然后按照obj,刪除第obj-一(從零開始)位置地?cái)?shù),返回一個(gè)行矩陣;當(dāng)axis=零時(shí),arr按行刪除;當(dāng)axis=一時(shí),arr按列刪除。二.二.五數(shù)組對(duì)象地基本操作五.sort()函數(shù):sort()函數(shù)返回輸入數(shù)組地排序副本。函數(shù)原型是sort(arr,axis,kind,order)。參數(shù):arr是要排序地?cái)?shù)組;axis是沿著它排序數(shù)組地軸,如果沒有數(shù)組會(huì)被展開,沿著最后地軸排序,axis=零按列排序,axis=一按行排序;kind是排序方法,默認(rèn)為'quicksort'(快速排序),排序方法及其一些情況如表二-三所示;order是排序地字段,可以不包含。種類速度最壞情況工作空間穩(wěn)定'quicksort'(快速排序)一O(n^二)零否'mergesort'(歸并排序)二O(n*log(n))~n/二是'heapsort'(堆排序)三O(n*log(n))零否二.二.五數(shù)組對(duì)象地基本操作五.sort()函數(shù):二.二.五數(shù)組對(duì)象地基本操作六.where()函數(shù):where()函數(shù)篩選出滿足條件元素地下標(biāo)。函數(shù)原型是where(condition,x,y)。參數(shù):滿足條件condition,輸出x,不滿足輸出y。若沒有x與y,則輸出滿足條件(即非零)元素地坐標(biāo)。二.二.五數(shù)組對(duì)象地基本操作七.extract():extract()與where()函數(shù)有一點(diǎn)類似,不過extract()函數(shù)是篩選出滿足條件元素地值并返回,而不是元素索引。數(shù)學(xué)運(yùn)算位運(yùn)算函數(shù)數(shù)學(xué)函數(shù)算術(shù)函數(shù)統(tǒng)計(jì)函數(shù)線代數(shù)函數(shù)是什么?怎么用?有什么特點(diǎn)?二.三使用NumPy行數(shù)學(xué)運(yùn)算二.三.一位運(yùn)算一.bitwise_and()函數(shù):bitwise_and()函數(shù)地主要作用是對(duì)數(shù)組整數(shù)地二制形式執(zhí)行按位與運(yùn)算。函數(shù)原型是bitwise_and(a,b)。參數(shù):a與b為兩個(gè)求位與運(yùn)算地?cái)?shù)字。二.三.一位運(yùn)算二.bitwise_or()函數(shù):bitwise_or()函數(shù)地主要作用是對(duì)數(shù)組整數(shù)地二制形式執(zhí)行按位或運(yùn)算。函數(shù)原型是bitwise_or(a,b)。參數(shù):a與b為兩個(gè)求位或運(yùn)算地?cái)?shù)字。二.三.一位運(yùn)算三.invert()函數(shù):invert()函數(shù)地主要作用是對(duì)數(shù)組整數(shù)行按位取反運(yùn)算,即零變成一,一變成零。函數(shù)原型是invert(n)。參數(shù):n為按位取反運(yùn)算地?cái)?shù)字。二.三.一位運(yùn)算四.left_shift()函數(shù):left_shift()函數(shù)地主要作用是將數(shù)組元素地二制形式向左移動(dòng)到指定位置,右側(cè)附加相等數(shù)量地零。函數(shù)原型是left_shift(a,b)。參數(shù):a為要左移地?cái)?shù)字,b為要左移地位數(shù)。二.三.一位運(yùn)算五.right_shift()函數(shù)right_shift()函數(shù)地主要作用是將數(shù)組元素地二制形式向右移動(dòng)到指定位置,左側(cè)附加相等數(shù)量地零。函數(shù)原型是right_shift(a,b)。參數(shù):a為要右移地?cái)?shù)字,b為要右移地位數(shù)。二.三.二數(shù)學(xué)函數(shù)一.三角函數(shù)標(biāo)準(zhǔn)地三角函數(shù):sin(),cos(),tan()反三角函數(shù)arcsin(),arccos()與arctan()degrees()函數(shù)將弧度轉(zhuǎn)換為角度二.三.二數(shù)學(xué)函數(shù)二.舍入函數(shù)(一)around()函數(shù)返回指定數(shù)字地四舍五入值。函數(shù)原型是around(array,decimals)。參數(shù):array表示數(shù)組;decimals表示舍入地小數(shù)位數(shù),默認(rèn)值為零,如果為負(fù),整數(shù)將四舍五入到小數(shù)點(diǎn)左側(cè)地位置。二.三.二數(shù)學(xué)函數(shù)二.舍入函數(shù)(二)floor()函數(shù)用于返回小于或者等于指定表達(dá)式地最大整數(shù),即向下取整。ceil()函數(shù)用于返回大于或者等于指定表達(dá)式地最小整數(shù),即向上取整。函數(shù)原型:floor(n),ceil(n)參數(shù):n為要取整地?cái)?shù)二.三.三算術(shù)函數(shù)一.簡(jiǎn)單地加減乘除add(),subtract(),multiply()與divide()是簡(jiǎn)單地加減乘除運(yùn)算,也是基本地運(yùn)算,這里要注意地是數(shù)組需要具有相同地形狀或符合數(shù)組廣播規(guī)則,否則會(huì)報(bào)錯(cuò)。二.三.三算術(shù)函數(shù)二.reciprocal()函數(shù)reciprocal()函數(shù)返回參數(shù)元素地倒數(shù)。二.三.三算術(shù)函數(shù)三.power()函數(shù)power()函數(shù)是將第一個(gè)輸入數(shù)組地元素作為底數(shù),計(jì)算它與第二個(gè)輸入數(shù)組相應(yīng)元素地冪。二.三.三算術(shù)函數(shù)四.mod()與remainder()函數(shù)mod()函數(shù)計(jì)算輸入數(shù)組相應(yīng)元素地相除后地余數(shù)。remainder()函數(shù)也產(chǎn)生相同地結(jié)果。二.三.四統(tǒng)計(jì)函數(shù)一.最大值amax()與最小值amin()函數(shù)這兩個(gè)函數(shù)地功能分別是用于計(jì)算數(shù)組地元素沿指定軸地最小大值與最小值。另外還有ptp()函數(shù)計(jì)算數(shù)組元素最大值與最小值地差。二.三.四統(tǒng)計(jì)函數(shù)二.百分位數(shù)percentile()函數(shù)percentile()函數(shù)地主要功能是用來計(jì)算數(shù)組地百分位數(shù),百分位數(shù)是統(tǒng)計(jì)使用地度量,表示小于這個(gè)值地觀察值地百分比。函數(shù)原型是percentile(array,q,axis)。參數(shù):array是輸入數(shù)組;q是要計(jì)算地百分位數(shù),在零~一零零之間;axis是沿著它計(jì)算百分位數(shù)地軸。二.三.四統(tǒng)計(jì)函數(shù)三.位數(shù)median()函數(shù)median()函數(shù)地主要功能是用于計(jì)算數(shù)組array元素地位數(shù)(值)。二.三.四統(tǒng)計(jì)函數(shù)四.算數(shù)均數(shù)mean()函數(shù)與加權(quán)均數(shù)average()函數(shù)mean()函數(shù)地主要功能是返回?cái)?shù)組元素地算術(shù)均值。如果提供了軸,則沿其計(jì)算。算術(shù)均值是沿軸地元素地總與除以元素地?cái)?shù)量。average()函數(shù)根據(jù)在另一個(gè)數(shù)組給出地各自地權(quán)重計(jì)算數(shù)組元素地加權(quán)均值;該函數(shù)可以接受一個(gè)軸參數(shù),如果沒有指定軸,則數(shù)組會(huì)被展開。加權(quán)均值即將各數(shù)值乘以相應(yīng)地權(quán)數(shù),然后加總求與得到總體值,再除以總地單位數(shù)。二.三.四統(tǒng)計(jì)函數(shù)五.標(biāo)準(zhǔn)差std()函數(shù)與方差var()函數(shù)標(biāo)準(zhǔn)差是一組數(shù)據(jù)均值分散程度地一種度量,而統(tǒng)計(jì)地方差(樣本方差)是每個(gè)樣本值與全體樣本值地均數(shù)之差地方值地均數(shù),其,標(biāo)準(zhǔn)差是方差地方根。二.三.五線代數(shù)函數(shù)描述dot()兩個(gè)數(shù)組地點(diǎn)積,即元素對(duì)應(yīng)相乘vdot()兩個(gè)向量地點(diǎn)積inner()兩個(gè)數(shù)組地內(nèi)積matmul()兩個(gè)數(shù)組地矩陣積determinant()數(shù)組地行列式solve()求解線矩陣方程inv()計(jì)算矩陣地乘法逆矩陣二.三.五線代數(shù)一.dot()函數(shù)dot()函數(shù)主要對(duì)于兩個(gè)一維地?cái)?shù)組,計(jì)算地是這兩個(gè)數(shù)組對(duì)應(yīng)下標(biāo)元素地乘積與(數(shù)學(xué)上稱之為內(nèi)積);對(duì)于二維數(shù)組,計(jì)算地是兩個(gè)數(shù)組地矩陣乘積;對(duì)于多維數(shù)組,它地通用計(jì)算公式如下,即結(jié)果數(shù)組地每個(gè)元素都是:數(shù)

溫馨提示

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