Numpy 數(shù)組組合操作

a = np.arange(9).reshape(3,3)
b = 2 * a

01水平組合 hstack 和concatenate 函數(shù)也可以實現(xiàn),axis = 1 可以實現(xiàn)

c = np.hstack((a,b))
print(a)
print(b)
print(c)

#輸出結(jié)果
 [[0 1 2]
  [3 4 5]
  [6 7 8]]
  
 [[ 0  2  4]
  [ 6  8 10]
  [12 14 16]]
  
 [[ 0  1  2  0  2  4]
  [ 3  4  5  6  8 10]
  [ 6  7  8 12 14 16]]

02垂直組合 vstacK 或者 concatenate 函數(shù) axis=0

d = np.vstack((a,b))
print(a)
print(b)
print(d)
# 輸出結(jié)果
 [[0 1 2]
  [3 4 5]
  [6 7 8]]

 [[ 0  2  4]
  [ 6  8 10]
  [12 14 16]]

 [[ 0  1  2]
  [ 3  4  5]
  [ 6  7  8]
  [ 0  2  4]
  [ 6  8 10]
  [12 14 16]]

03 深度組合 dstack

e = np.dstack((a,b))
print(a)
print(b)
print(e)
print(e.shape)
#輸出結(jié)果
 [[0 1 2]
  [3 4 5]
  [6 7 8]]
  
 [[ 0  2  4]
  [ 6  8 10]
  [12 14 16]]
  
 [[[ 0  0]
   [ 1  2]
   [ 2  4]]

  [[ 3  6]
   [ 4  8]
   [ 5 10]]

  [[ 6 12]
   [ 7 14]
   [ 8 16]]]
   
 (3, 3, 2)

04 列組合 column_stack

對于一維數(shù)組按照列方向進(jìn)行組合 對于二維數(shù)組和hstack效果相同,使用 == 直接進(jìn)行數(shù)組比較

v1 = np.arange(3)
v2 = np.arange(3)
print(v1)
print(v2)
f = np.column_stack((v1,v2))
print(f)
#輸出結(jié)果
 [0 1 2]

 [0 1 2]

 [[0 0]
  [1 1]
  [2 2]]
h = np.column_stack((a,b))
print(h)
print(c)
print(c==h)
#輸出結(jié)果
 [[ 0  1  2  0  2  4]
  [ 3  4  5  6  8 10]
  [ 6  7  8 12 14 16]]
  
 [[ 0  1  2  0  2  4]
  [ 3  4  5  6  8 10]
  [ 6  7  8 12 14 16]]
  
 [[ True  True  True  True  True  True]
  [ True  True  True  True  True  True]
  [ True  True  True  True  True  True]]

05行組合 row_stack 二維數(shù)組和vstack效果相同

k = np.row_stack((v1,v2))
print(k)
#輸出結(jié)果
 [[0 1 2]
  [0 1 2]]
j = np.vstack((v1,v2))
print(j)
print(j == k)
#輸出結(jié)果
 [[0 1 2]
  [0 1 2]]
  
 [[ True  True  True]
  [ True  True  True]]
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容