Python中的Numpy入門教程.docx_第1頁
Python中的Numpy入門教程.docx_第2頁
Python中的Numpy入門教程.docx_第3頁
Python中的Numpy入門教程.docx_第4頁
Python中的Numpy入門教程.docx_第5頁
已閱讀5頁,還剩3頁未讀 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

Python中的Numpy入門教程這篇文章主要介紹了Python中的Numpy入門教程,著重講解了矩陣中的數(shù)組操作,需要的朋友可以參考下1、Numpy是什么很簡單,Numpy是Python的一個科學計算的庫,提供了矩陣運算的功能,其一般與Scipy、matplotlib一起使用。其實,list已經(jīng)提供了類似于矩陣的表示形式,不過numpy為我們提供了更多的函數(shù)。如果接觸過matlab、scilab,那么numpy很好入手。 在以下的代碼示例中,總是先導入了numpy:復制代碼代碼如下: import numpy as np print np.version.version1.6.22、多維數(shù)組多維數(shù)組的類型是:numpy.ndarray。使用numpy.array方法以list或tuple變量為參數(shù)產(chǎn)生一維數(shù)組:復制代碼代碼如下: print np.array(1,2,3,4)1 2 3 4 print np.array(1.2,2,3,4) 1.2 2. 3. 4. print type(np.array(1.2,2,3,4)以list或tuple變量為元素產(chǎn)生二維數(shù)組:復制代碼代碼如下: print np.array(1,2,3,4)1 23 4生成數(shù)組的時候,可以指定數(shù)據(jù)類型,例如32, 16, and numpy.float64等:復制代碼代碼如下: print np.array(1.2,2,3,4), dtype=32)1 2 3 4使用numpy.arange方法復制代碼代碼如下: print np.arange(15) 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 print type(np.arange(15) print np.arange(15).reshape(3,5) 0 1 2 3 4 5 6 7 8 910 11 12 13 14 print type(np.arange(15).reshape(3,5)使用numpy.linspace方法例如,在從1到3中產(chǎn)生9個數(shù):復制代碼代碼如下: print np.linspace(1,3,9) 1. 1.25 1.5 1.75 2. 2.25 2.5 2.75 3. 使用numpy.zeros,numpy.ones,numpy.eye等方法可以構造特定的矩陣例如:復制代碼代碼如下: print np.zeros(3,4) 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. print np.ones(3,4) 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. 1. print np.eye(3) 1. 0. 0. 0. 1. 0. 0. 0. 1.創(chuàng)建一個三維數(shù)組:復制代碼代碼如下: print np.zeros(2,2,2) 0. 0. 0. 0. 0. 0. 0. 0.獲取數(shù)組的屬性:復制代碼代碼如下: a = np.zeros(2,2,2) print a.ndim #數(shù)組的維數(shù)3 print a.shape #數(shù)組每一維的大小(2, 2, 2) print a.size #數(shù)組的元素數(shù)8 print a.dtype #元素類型float64 print a.itemsize #每個元素所占的字節(jié)數(shù)8數(shù)組索引,切片,賦值示例:復制代碼代碼如下: a = np.array( 2,3,4,5,6,7 ) print a2 3 45 6 7 print a1,27 print a1,:5 6 7 print a1,1:26 a1,: = 8,9,10 print a 2 3 4 8 9 10使用for操作元素復制代碼代碼如下: for x in np.linspace(1,3,3):. print x.1.02.03.0基本的數(shù)組運算先構造數(shù)組a、b:復制代碼代碼如下: a = np.ones(2,2) b = np.eye(2) print a 1. 1. 1. 1. print b 1. 0. 0. 1.數(shù)組的加減乘除:復制代碼代碼如下: print a 2False FalseFalse False print a+b 2. 1. 1. 2. print a-b 0. 1. 1. 0. print b*2 2. 0. 0. 2. print (a*2)*(b*2) 4. 0. 0. 4. print b/(a*2) 0.5 0. 0. 0.5 print (a*2)*4 16. 16. 16. 16.使用數(shù)組對象自帶的方法:復制代碼代碼如下: a.sum()4.0 a.sum(axis=0) #計算每一列(二維數(shù)組中類似于矩陣的列)的和array( 2., 2.) a.min()1.0 a.max()1.0使用numpy下的方法:復制代碼代碼如下: np.sin(a)array( 0.84147098, 0.84147098, 0.84147098, 0.84147098) np.max(a)1.0 np.floor(a)array( 1., 1., 1., 1.) np.exp(a)array( 2.71828183, 2.71828183, 2.71828183, 2.71828183) np.dot(a,a) #矩陣乘法array( 2., 2., 2., 2.)合并數(shù)組使用numpy下的vstack和hstack函數(shù):復制代碼代碼如下: a = np.ones(2,2) b = np.eye(2) print np.vstack(a,b) 1. 1. 1. 1. 1. 0. 0. 1. print np.hstack(a,b) 1. 1. 1. 0. 1. 1. 0. 1.看一下這兩個函數(shù)有沒有涉及到淺拷貝這種問題:復制代碼代碼如下: c = np.hstack(a,b) print c 1. 1. 1. 0. 1. 1. 0. 1. a1,1 = 5 b1,1 = 5 print c 1. 1. 1. 0. 1. 1. 0. 1.可以看到,a、b中元素的改變并未影響c。深拷貝數(shù)組數(shù)組對象自帶了淺拷貝和深拷貝的方法,但是一般用深拷貝多一些:復制代碼代碼如下: a = np.ones(2,2) b = a b is aTrue c = a.copy() #深拷貝 c is aFalse基本的矩陣運算轉置:復制代碼代碼如下: a = np.array(1,0,2,3) print a1 02 3 print a.transpose()1 20 3跡:復制代碼代碼如下: print np.trace(a)4numpy.linalg

溫馨提示

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

評論

0/150

提交評論