1. 程式人生 > >numpy常用函式總結

numpy常用函式總結

首先,安裝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()