Numpy使用記錄

2021-09-25 16:15:40 字數 2013 閱讀 2641

np.where(condition,x,y)若x,y是值,那麼就是condition正確,陣列的值變為x若不正確則數值變為y

np.where(condition) 返回滿足條件的值的x,y值。

np.amin(shuzu,0/1)一維陣列找最小值,二維陣列需要指定行或列,1是找行最小的,0是找列最小的。

np.amax()與np.amin相反找的是最大的值

np.concatenate((a,b),axis)對陣列進行拼接。axis為0是按行拼接,為1是按列拼接。沒有宣告就是在a的基礎上進行拼接。

t=np.array([[3,4,1,1],[5,6,1,1]])

q=np.array([7,8]).reshape((2,1))

print(t*q)

[[21 28  7  7]

[40 48  8  8]]

陣列的相乘是和相加是行對行的,

t=np.matrix([[3,4,1,1],[5,6,1,1]])

q=np.matrix([7,8])

# t=np.array([[3,4,1,1],[5,6,1,1]])

# q=np.array([7,8]).reshape((2,1))

print(t*q)  會報錯,因為matrix為矩陣相乘,必須滿足矩陣相乘的規則,

t=np.matrix([[3,4],[5,6]])

q=np.matrix([7,8]).reshape(2,1)

#q=np.matrix([7,8]).t

print(t*q)

[[53]

[83]]

np.divide相當於兩個陣列相除,是整除,不帶小數

test=np.array([[2,2,6],[4,5,6]])   這裡是兩行三列,可以除以兩行一列,兩行三列,一行三列。

mn=np.matrix([2,1]).t

test/mn=np.divide(test,mn)結果為

[[1 1 3]

[2 2 3]]

np.true_divide(test,mn)是除,帶小數結果為

[[1.  1.  3. ]

[2.  2.5 3. ]]

[u,s,v]np.linalg.svd(a)是奇異值分解,對矩陣a得到三個矩陣,分別為左奇異值,奇異值和右奇異值。

a是m*n  u是m*n s是對角線矩陣(除了對角線其他都是0)可以是一維的  v是n×n的矩陣 

np.prod()函式用來計算所有元素的乘積,對於有多個維度的陣列可以指定軸,如axis=1指定計算每一行的乘積。

np.prod(2,4)為8

np.prod([[2,4],[1,3]])為24

np.prod([[2,4],[1,3]],axis=1)為[8,3]

np.prod([[2,4],[1,3]],axis=0)為[2,12]

np.maximum:(x, y, out=none) 

x 與 y 逐位比較取其大者;

最少接收兩個引數

np.maximum([2,1],[1,3])為[2,3]

np.linalg.eig()和np.linalg.eigh()

用來求解特徵分解,其中eig()主要是用來求解方陣,而eigh()是用來求解對稱陣,可見numpy中對於對稱陣的求解是有獨特的一套方法。

並且eigh()得到的特徵值有嚴格的公升序排列的。

np.diag()

受輸入影響,輸出的結果不同。

當輸入的是一維陣列,結果是以該一位陣列為對角線的矩陣。

當輸入的是二維陣列,結果是輸出該矩陣的對角線元素的一維陣列。

numpy使用記錄

np.maximum 傳入兩個列表,維度一致,不一致時,進行廣播。逐一比較大小,取較大值。np.max a,axis none,out none,keepdims false 求序列的最值 最少接收乙個引數 axis 預設為列向 也即 axis 0 axis 1 時為行方向的最值 np.where ...

numpy函式記錄

功能 產生size個離散均勻分布的整數,這些整數大於等於low,小於high。預設high是none,如果只有low,那範圍就是 0,low 如果有high,範圍就是 low,high n 3a np.random.randint 20,40,n,2 astype np.float32 b np.r...

numpy基本使用

參考文獻 官方幫助文件 numpy v1.12 manual csdn numpy之四 高階索引和索引技巧 from numpy import definit array print 建立一維陣列 a arange 5 print a print a.dtype 顯示陣列中的資料型別 print a...