1. 程式人生 > >numpy庫常用函式筆記

numpy庫常用函式筆記

1.  矩陣和各種乘法問題

np.mat(a)  將a矩陣化 (或者np.matrix(a))

np.multiply()   陣列/矩陣對應位置相乘,輸出與相乘陣列/矩陣的大小一致 

np.dot() 對於秩為1的陣列,執行對應位置相乘,然後再相加;對於秩不為1的二維陣列,執行矩陣乘法運算;

           對於矩陣則直接進行矩陣乘積

星號(*)乘法運算  對陣列執行對應位置相乘,對矩陣執行矩陣乘法運算,矩陣和陣列相乘按矩陣乘法計算

@直接對陣列/矩陣進行矩陣乘積運算

np.mean()  求所有元素的平均值

np.sum()求所有元素的和

————————————————————————————————————————————————

np.argmax(a, axis=None, out=None)

返回沿軸最大值的索引值

#axis = 0 ,表示以行為基準,比較在相同列上的元素的大小返回下標,(每列找一個,有多少列找多少個)

#axis = 1, 表示以列為基準,比較在相同行上的元素的大小返回下標,(每行找一個,有多少行找多少個)

a : array_like 
陣列 
axis : int, 可選

 
預設情況下,索引的是平鋪的陣列,否則沿指定的軸。 
out : array, 可選 
如果提供,結果以合適的形狀和型別被插入到此陣列中。

————————————————————————————————————————————————

np.concatenate((a1a2...)axis=0)

按軸axis連線array組成一個新的array

————————————————————————————————————————————————————————————

np.power(x,num)

計算x的num次冪

不可以計算整數的負整數次冪,當x為整數時,num需要寫為小數形式

————————————————————————————————————————————————————————————

np.random.choice(a, size=None, replace=True, p=None)

如果a是ndarray陣列,隨機樣本在該陣列獲取(取資料元素)

————————————————————————————————————————————————————

numpy.insert(arr,obj,value,axis=None) 
同理,value為插入的數值 
arr:為目標向量 
obj:為目標位置 
value:為想要插入的數值 
axis:為插入的維度

————————————————————————————————————————————————————————————

numpy.meshgrid(x,y)——生成網格點座標矩陣(輸入的x,y,就是網格點的橫縱座標列向量(非矩陣)輸出的X,Y,就是座標                                                 矩陣。)

(在輸入的x,y值把所有的線連起來就成了網狀格 ,輸出的X每列數各自相同,Y每行各自相同)

————————————————————————————————————————————————————————————

 numpy.ravel()       numpy.flatten()

兩者所要實現的功能是一致的(將多維陣列降位一維),兩者的區別在於返回拷貝(copy)還是返回檢視(view),numpy.flatten()返回一份拷貝,對拷貝所做的修改不會影響(reflects)原始矩陣,而numpy.ravel()返回的是檢視(view,也頗有幾分C/C++引用reference的意味),會影響(reflects)原始矩陣。

————————————————————————————————————————————————————————————

np.random.randint(low,high, size)

ow、high、size三個引數。預設high是None,如果只有low,那範圍就是[0,low)。如果有high,範圍就是[low,high)。size表示最後返回的資料的結構大小

————————————————————————————————————————————————————————————

np.unique()

 對於一維列表或陣列A:

a, s,p = np.unique(A, return_index=True, return_inverse=True)

nique函式去除其中重複的元素,並按元素由大到小返回一個新的無元素重複的元組或者列表a

return_index=True表示返回列表元素在列表中的位置,並以列表形式儲存在s中。

return_inverse=True 表示返回列表元素在列表中的位置,並以列表形式儲存在p中

 對於二維陣列(“darray數字型別”):

A = np.array(A)   #列表型別需轉為陣列型別

a, s, p = np.unique(A.view(A.dtype.descr * A.shape[1]), return_index=True, return_inverse=True)

這裡面最小單位就是一個維(也就是一行)的資料,而不是一個單獨的資料了