numpy中np.dstack()、np.hstack()、np.vstack()用法
在寫代碼時,經常會遇到多個矩陣數組拼接的情況,numpy裡dstack, hstack, vstack, 都有拼接的作用,那麼這些函數是怎麼執行的,他們的結果又如何呢?
np.dstack()
按深度順序堆疊arrays。當數組為2維數組(M,N)或1維數組(N,)時,首先分別將其維度改變為(M,N,1)、(1,N,1),然後沿著第三根軸(r/g/b通道)進行拼接。
栗子:
# 一維 a = np.array([1, 2]) b = np.array([3, 4]) print(np.dstack((a,b))) # 二維 a = np.array([[1, 1], [2, 2], [3, 3]]) b = np.array([[4, 4], [5, 5], [6, 6]]) print(np.dstack((a,b))) # 運行結果 [[[1 3] [2 4]]] [[[1 4] [1 4]] [[2 5] [2 5]] [[3 6] [3 6]]]
np.hstack()
水平方向(列)順序堆疊arrays。
栗子:
import numpy as np # 一維 a = np.array([1, 2]) b = np.array([3, 4]) print(np.hstack((a,b))) # 二維 a = np.array([[1, 1], [2, 2], [3, 3]]) b = np.array([[4, 4], [5, 5], [6, 6]]) print(np.hstack((a,b))) # 運行結果 [1 2 3 4] [[1 1 4 4] [2 2 5 5] [3 3 6 6]]
np.vstack()
垂直方向(行)順序堆疊arrays。
栗子:
# 一維 a = np.array([1, 2]) b = np.array([3, 4]) print(np.vstack((a,b))) # 二維 a = np.array([[1, 1], [2, 2], [3, 3]]) b = np.array([[4, 4], [5, 5], [6, 6]]) print(np.vstack((a,b))) # 運行結果 [[1 2] [3 4]] [[1 1] [2 2] [3 3] [4 4] [5 5] [6 6]]
到此這篇關於numpy中np.dstack()、np.hstack()、np.vstack()用法的文章就介紹到這瞭,更多相關np.dstack()、np.hstack()、np.vstack()內容請搜索WalkonNet以前的文章或繼續瀏覽下面的相關文章希望大傢以後多多支持WalkonNet!
推薦閱讀:
- Python數據分析之堆疊數組函數示例總結
- numpy中hstack vstack stack concatenate函數示例詳解
- numpy數組合並和矩陣拼接的實現
- numpy中數組拼接、數組合並方法總結(append(), concatenate, hstack, vstack, column_stack, row_stack, np.r_, np.c_等)
- Python數組變形的幾種實現方法