1. 程式人生 > >np.hstack(),np.vstack()解讀

np.hstack(),np.vstack()解讀

np.hstack()是把矩陣進行行連線
np.vstack()是把矩陣進行列連線

在這裡插入圖片描述

行連線np.hstack()程式碼示例:

import numpy as np
a=np.array([1,2,3])
b=np.array([2,3,4])
aa=[1,2,3]  # 列表也可以作為引數傳入
bb=[2,3,4]
print("np.hstack((a,b)):",type(np.hstack((a,b))),"\n",np.hstack((a,b)))
print("np.hstack((a,b)):",type(np.hstack((aa,bb))),"\n",np.hstack
((aa,bb))) c=np.array([[1], [2], [3]]) d=np.array([[2], [3], [4]]) print("np.hstack((c,d)):\n",np.hstack((c,d)))
np.hstack((a,b)): <class 'numpy.ndarray'> 
 [1 2 3 2 3 4]
np.hstack((a,b)): <class 'numpy.ndarray'> 
 [1 2 3 2 3 4]
np.hstack(
(c,d)): [[1 2] [2 3] [3 4]]

同理列連線np.vstack()也類似

在這裡插入圖片描述

列連線np.vstack()程式碼示例:以下程式碼僅僅把hstack改成了vstack。(在pycharm中可用ctrl+r批量替換)

import numpy as np
a=np.array([1,2,3])
b=np.array([2,3,4])
aa=[1,2,3]  # 列表也可以作為引數傳入
bb=[2,3,4]
print("np.vstack((a,b)):",type(np.vstack((a,b))),"\n",np.vstack((a,b)))
print("np.vstack((a,b)):"
,type(np.vstack((aa,bb))),"\n",np.vstack((aa,bb))) c=np.array([[1], [2], [3]]) d=np.array([[2], [3], [4]]) print("np.vstack((c,d)):\n",np.vstack((c,d)))
np.vstack((a,b)): <class 'numpy.ndarray'> 
 [[1 2 3]
 [2 3 4]]
np.vstack((a,b)): <class 'numpy.ndarray'> 
 [[1 2 3]
 [2 3 4]]
np.vstack((c,d)):
 [[1]
 [2]
 [3]
 [2]
 [3]
 [4]]