python numpy 矩陣堆疊例項
阿新 • • 發佈:2020-01-18
在實際操作中,遇到了矩陣堆疊的操作,本來想著自己寫一個函式,後來想,應該有庫函式,於是一陣找尋
import numpy as np a = np.array([1,2,3]) b = np.array([4,5,6]) np.stack((a,b)) #預設行堆疊 輸出: array([[1,3],[4,6]]) np.vstack((a,b)) 輸出: array([[1,6]]) np.hstack((a,b)) 輸出: array([1,3,4,6])
簡單解釋一下上面的程式碼:其實主要是一個函式,stack(),這個函式其實包含了各種堆疊方式,我們上面的例子是針對二維矩陣的,其實我們大部分時候的操作都是針對二維矩陣的,為了方便,所以又定義了兩個函式vstack()進行垂直的堆疊(vertically ),hstack()進行水平堆疊(horizontally)
函式stack()有個引數,axis,可以設定堆疊的維度,預設是0,其實和vstack()是一個效果,當設定成1的時候,結果如下
np.stack((a,b),axis=1) 輸出: array([[1,4],[2,5],[3,6]])
從效果看,相當於按照原來a的第二維度,也就是列,一列一列的取出來,按行拼成了一個矩陣。
那麼,hstack()的效果能不能利用stack()實現呢?我這裡是沒有探索出來,歡迎知道的童靴指教,不過hstack()的效果其實和concatenate是一樣的
np.concatenate((a,b)) 輸出: array([1,6])
以上這篇python numpy 矩陣堆疊例項就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。