【TensorFlow】Numpy常用函式彙總(附原始碼)
阿新 • • 發佈:2019-01-02
以下內容是我在學習Numpy時,寫的例項,每一個模組都可以執行,並比較不同函式之間的差別。import numpy as np#dtype 定義numpy的儲存型別(np.int np.float),預設是64'''#定義矩陣格式''' [2,34,4]],dtype=np.int32)b = np.ones((3,4),dtype = np.int32) #d單位矩陣d = np.empty((3,4)) #定義空矩陣e = np.arange(10,20,2) #arange(起始值 和 步長)e1 = np.arange(12).reshape((3,4)) #整形d = np.linspace(1,10,6).reshape((2,3)) #生成線段,(起始值,段數),自動計算步長'''#numpy的基礎運算 '''a = np.array([10,20,30,40])b = np.arange(4)c = a-b #加減運算c = b**2 #平方運算c = 10 * np.sin(a) #正餘弦print(b < 3) #判斷矩陣裡的值# < = > 都行a = np.array([[1,2], [2,3]]) #矩陣運算b = np.arange(4).reshape(2,2)c = a*b #普通乘法c_dot = np.dot(a,b) #矩陣乘法c_dot_2 = a.dot(b)r = np.random.random((2,4)) #隨機生成(2,4)序列 np.sum(r,axis = 1) #axis = 1:在每一列中計算,axis = 0 :在每一行中計算np.min(r)np.max(r)''' 基礎運算'''A = np.arange(2,14).reshape((3,4))print(np.argmin(A)) #列印矩陣某個中的索引print(np.argmax(A))print(np.mean(A)) #平均值print(A.mean)print(np.cumsum(A)) #累加和/差print(np.diff(A))print(np.nonzero(A)) #輸出行數和列數print(np.sort(A)) #排序print(np.transpose(A)) #轉置print(A.T.dot(A)) #轉置,常用!!!print(np.clip(A,5,9)) #擷取 5-9 的數print(np.mean(A,axis = 0)) #對行進行計算'''#索引 '''A = np.arange(3,15).reshape((3,4))print(A[2][1]) #索引第二行第一列print(A[2,1])print(A[2,:]) #第三行的數print(A[1,1:3]) #第二行的 第2-3列的數for row in A: print(row) #迭代每一行 for col in A.T: print(col) #迭代每一列print(A.flatten()) #展成一行for item in A.flat: print(item) #列印每一項'''# numpy array 合併'''A = np.array([1,1,1])B = np.array([2,2,2])A = A[:,np.newaxis] #縱向加了一個維度B = B[:,np.newaxis]C = np.vstack((A,B)) #向下合併維矩陣D = np.hstack((A,B)) #左右合併print(A.shape,C.shape,D.shape) #檢視E = np.concatenate((A,B,B,A),axis = 1) #在上下方向合併,對行操作print(E.shape)'''# numpy array 合併'''A = np.array([1,1,1])B = np.array([2,2,2])A = A[:,np.newaxis] #縱向加了一個維度B = B[:,np.newaxis]C = np.vstack((A,B)) #向下合併維矩陣D = np.hstack((A,B)) #左右合併print(A.shape,C.shape,D.shape) #檢視E = np.concatenate((A,B,B,A),axis = 1) #在上下方向合併,對行操作print(E.shape)'''#numpy array分割'''A = np.arange(12).reshape((3,4))'''#np.array_split 不等量分割'''print(np.array_split(A,3,axis = 1)) #在縱向分成兩列,aixs=1 對列操作print(np.vsplit(A,3))print(np.hsplit(A,4))'''#numpy - copy & deep copy'''a = np.arange(4)b = ac = ad = ba[0] = 11print(a,b,c,d) #所有的都改變了d[1:3] = [22,33]print(a,b,c,d) #都改變b = a.copy() #a和b沒有關聯到一起,只是複製副本a[3] = 44 #常用這種複製方法print(a,b)