首先,安裝python的numpy庫,需要用到時,利用import numpy as np(以下都用np表示)
匯入txt資料: np.loadtxt('*.txt', delimiter=',') , 這裡的檔案不限txt,如常用的csv也可以,後面delimiter為分隔符。另一種匯入資料方式可以直接用load,如對.npy資料集等。匯入後為陣列結構,之後可以類似matlab操作對資料取某些行列的值。
匯入後的shape為陣列的結構,如1000行資料,每個資料為28*28的,則為(1000, 28, 28)。取len時,為1000. ndim 為維度
對資料進行重構: np.reshape(x, (a, b, c, ...)), 其中x為需要重構的pointer, 後面為需要重構的大小。
np.prod(x, axis=?),對所有的陣列索引作乘積,多用於reshape中,如在輸入時,將平滑後輸入,prod(x_train.shape[1:])。
argmax(a, axis=1)在第一軸上返回最大值的索引, a為array。
ones, zeros類似matlab操作。 sqrt不用多解釋了。
range(a, b, c),後面兩個可選,選乙個時求兩個端點的所有值(不包括後面的端點b), 選兩個時第三個為步長。
np.random.normal(loc=, scale=, size= ),其中loc為mean,scale為標準差。
np.random.randn(2, 4)標準正態分佈
np.random.rand(2,3)均勻分布 np.random,randint(1, 10, n)是n個隨機整數在1-10之間
np.clip(x, a, b)將x截斷到a與b之間
np.arange(1, 11)產生數列,可以之後reshape(注意是乙個r,不是arrange)
np.array(list, dtype=np.float)直接定義資料型別
np.sin log sqrt
np.sum(axis=0,..ndim) 類似的還有max min等
對兩個陣列而言,可以分別對每個元素進行的操作有+-*/ ** 還有np.dot()求點積
np.concatenate(list1, list2)將兩個list合併,必要時加上axis, 即追加。還有np.vstack(), np,hstack()。當然還可以np.split(list, n)分成n份
列印陣列太大時,無法顯示所有,用np.set_printoptions(threshold='nan')
np.random.seed(i) 當i相同時產生相同的隨機序列
np.in1d(state, mask)可以過濾某些不滿足要求的資料
numpy轉化為tensorflow中tensor,tf.convert_to_tensor()
Numpy的常用函式總結
1 np.argmax np.max np.argmin np.min 用法 2 np.where condition x,y 3 np.random中shuffle與permutation的區別 4 np.ascontiguousarray 返回和傳入的陣列類似的記憶體中連續的陣列 5 np.em...
Numpy常用函式
1 把向量轉化為矩陣 import numpy as np a np.arange 15 構造出乙個從0到14的向量 檢視為 array 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14 改變向量為三行五列的矩陣 a.reshape 3,5 結果為 array 0,1,2,3,4...
numpy常用函式
np.unique 去除重複值 np.c 按行按列合併陣列 np.searchsorted a,b 返回b有序插入在a中的位置索引 np.vectorize 向量化運算函式 np.percentile 取數列第百分分位的數值 np.array.any 和numpy.array.all np.arra...