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

下載本文檔

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

文檔簡介

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

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論