python小白之np功能快速查
np一些用法
np.a
np.array([1,2,3],dtype=int) #建立一個一維數組,
np.array([[1,2,3],[2,3,4]]) #建立一個二維數組。
np.arange(2,3,0.1) #起點,終點,步長值。含起點值,不含終點值。
np.m
np.mean求取均值。經常操作的參數為axis,以m * n矩陣舉例:
axis 不設置值,對 m*n 個數求均值,返回一個實數
axis = 0:壓縮行,對各列求均值,返回 1* n 矩陣
axis =1 :壓縮列,對各行求均值,返回 m *1 矩陣
>>> import numpy as np
>>> num1 = np.array([[1,2,3],[2,3,4],[3,4,5],[4,5,6]])
>>> now2 = np.mat(num1)
>>> now2
matrix([[1, 2, 3],
[2, 3, 4],
[3, 4, 5],
[4, 5, 6]])
>>> np.mean(now2) # 對所有元素求均值
3.5
>>> np.mean(now2,0) # 壓縮行,對各列求均值
matrix([[ 2.5, 3.5, 4.5]])
>>> np.mean(now2,1) # 壓縮列,對各行求均值
matrix([[ 2.],
[ 3.],
[ 4.],
[ 5.]])
np.i
innner(a,b)用來計算內積;outer(a,b)計算外積。
np.z
np.zeros((2,3)) #生成一個2行3列的全0矩陣。註意,參數是一個tuple:(2,3),所以有兩個括號。完整的形式為:zeros(shape,dtype=)。相同的結構,有ones()建立全1矩陣。empty()建立一個空矩陣,使用內存中的隨機值來填充這個矩陣。
identity(n) #建立n*n的單位陣,這只能是一個方陣。
eye(N,M=None,k=0) #建立一個對角線是1其余值為0的矩陣,用k指定對角線的位置。M默認None。
此外,numpy中還提供了幾個like函數,即按照某一個已知的數組的規模(幾行幾列)建立同樣規模的特殊數組。這樣的函數有zeros_like()、empty_like()、ones_like(),它們的參數均為如此形式:zeros_like(a,dtype=),其中,a是一個已知的數組。
np.l
np.linspace(1,4,10) #起點,終點,區間內點數。起點終點均包括在內。同理,有logspace()函數
np.linalg.companion(a) #伴隨矩陣
np.linalg.triu()/tril() #返回上下三角矩陣
np.linalg.logm(A)計算矩陣A的對數。
np.linalg.norm(a,ord=None) #計算矩陣a的範數
np.linalg.cond(a,p=None) #矩陣a的條件數
np.r
np.random.rand(3,2) #產生一個3行2列的隨機數組。同一空間下,有randn()/randint()等多個隨機函數
np.roll(x,2) #roll()是循環移位函數。此調用表示向右循環移動2位.
np.f
fliplr()/flipud()/rot90() #左右上下翻轉、逆時針旋轉90度矩陣
np.d
np.dot(a,b)用來計算數組的點積
np.v
vdot(a,b)專門計算矢量的點積,和dot()的區別在於對complex數據類型的處理不一樣;
#vstack((a,b)) 兩個數組簡單合在一起 #hstack((a,b)) 兩個數組按每行合在一起 相當於column_stack((a,b))
python小白之np功能快速查