Python語言之numpy庫

2017-11-20 01:23 

numpy庫是python中使用非常廣泛的一個數學庫,特別是在數組、矩陣方面的運算有非常強大的支持。

導入方法通常爲:import numpy as np  #很多人都習慣在導入時把numpy命名爲np,這裏也不例外。調用裏面的函數需要在前面加上”np.,np.pinp.abs()等等,也可以這樣導入:from numpy import*  ,這樣就可以直接使用裏面的函數,而不用加上”np.“。

安裝的方法很簡單,在安裝python時就已經安裝了一個工具“pip”,它可以幫我們安裝想要的各種庫。
首先,以管理員身份打開命令提示符,如圖:
圖片

然後鍵入“pip install numpy”,之後pip會自動尋找適合的版本進行安裝,等就行了:
(因爲我以前安裝時沒有截圖,所以以下圖片是從網上找的安裝其他庫的截圖,過程都一樣:)

圖片

當出現Successfully install···········時,說明已經安裝完成了。

以下是一些numpy庫的內置函數:
注意:x*y大小的矩陣意思爲這個矩陣有x行y列

矩陣/數組方面:

array() 創建數組,這個函數非常強大,可以創建任意維度的數組,一般會使用創建二維數組的方式創建矩陣,當然numpy也有創建矩陣的函數matrix()。使用array創建的矩陣與marix函數創建的矩陣不同,前者是一個二維數組,因而如果進行矩陣相乘時要用dot函數,而後者直接用*號即可。例:a=np.array([[1,2,3],[4,5,6],[7,8,9]])#這樣就創建了一個3*3的矩陣a, a=[[1 2 3][4 5 6][7 8 9]]
shape[] (注意是方括號)可以返回數組每個維度中元素的數量或矩陣寬和高的長度,如果a是一個2*3的矩陣,a=[[1,2,3],[4,5,6]],那麼a.shape[0]=2,a.shape[1]=3,如果是數組,則根據"[]"中的數字,依次輸出它的對應維度中元素的數量。

dot() 將兩個矩陣按照矩陣乘法相乘;例:c=np.dot(a,b) #ab相乘,結果賦給c

matrix() 創建矩陣的函數.
例:num=np.matrix(‘1,2,3;4,5,6;7,8,9’) 或 num=np.matrix([[1,2,3],[4,5,6],[7,8,9]])
這樣可以創建出矩陣,當然也可以使用強制轉換的方式把二維數組轉換爲矩陣,如a=np.matrix(a) 假設a在轉換之前是一個二維數組,通過這條語句可以把a從數組轉化爲矩陣。同理,也可以使用np.array()把矩陣轉化爲數組。

sum() 把矩陣內的所有元素相加,sum不只可以用在矩陣中,數組、常數都可以用這個函數求和;例:np.sum([[1,1,2],[2,3,2],[4,1,2]]) #結果爲18

zeros() 可以創建元素全爲0的數組。
例:
np.zeros(3) #創建了一個有三個元素且元素全爲0的一維數組;np.zeros((2,3),dtype=np.uint16) #創建了一個2*3的元素全爲0的二維數組。
需要注意的是,直接用
zeros創建的數組中元素的類型默認爲float(浮點型),dtype可以爲元素指定類型,這裏指定了無符號16位整型(np.uint16

ones() 用法和zeros一樣,只不過創建的元素均爲1

eye() 創建單位矩陣,即由它創建出的矩陣從左上角到右下角這一條對角線上的元素都是1,其他元素都是0.例:np.eye(3)#創建了一個3*3的單位矩陣[[1,0,0],[0,1,0],[0,0,1]]
 

類型轉換:

整型(後面的數字代表轉換出的數字在計算機中所佔的內存):int() int0(), int8(), int16(), int32(), int64(), int_()
#
把需要轉換的值寫在“()“中即可,例:np.int(5.9) 返回值爲5,因爲轉換時會自動丟棄小數點後面的數,也就是說通過int強制轉換不會自動進行四捨五入。

 

無符號整型:uint(), uint0(), uint8(), uint16(), uint32(),uint64(), uint_()

浮點型:float(), float8(), float16(), float32(),float64(), float_()

雙精度浮點型:double()

布爾型:bool(), bool8(), bool_()

無類型:void(),void0()

字符型:char()

常數:

e:自然數e=2.718281828459045

pi:圓周率 pi=3.141592653589793

三角函數:sin(),sinh(),cos(),cosh,tan(),tanh(),arcsin(),arcsinh(),arccos(),arccosh(),arctan(),arctanh()

sqrt()  開平方
power()  例:power(x,y)返回xy
exp() 例:exp(x) 返回e的x次方
exp2() 例:exp2(x) 以浮點型返回2的x次方
str() 字符轉換函數。例:str(x) 會把x轉化爲字符型,x可以是任何類型的數字

後記:事實上numpy中數百個函數,我只是列舉了我目前會用到的。

                                        '''————霧雨流雲'''

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章