2017-11-10 8 views
1

Iは、2つの2次元アレイを有し、私はそれらが列は、インターリーブ列

初期アレイをインターリーブ連結たい(形状(3と8)それぞれ)を持つ2つの行列を連結:

array([[ 107, 115, 132, 138, 128, 117, 121,135], 
     [ 149, 152, 151, 143, 146, 149, 149,148], 
     [ 152, 142, 146 , 141, 143, 148, 149, 153]]) 

array([[ 25, 28, 28, 25, 23, 21, 20, 18], 
     [ 3, 3, 2, 2, 10, 12, 12, 1], 
     [ 1, 0, 2, 0, 0, 0, 0, 1]]) 

(形状の6×8との)結果:

array([[ 107, 115, 132, 138, 128, 117, 121, 135], 
      [ 25, 28, 28, 25, 23, 21, 20, 18], 
      [ 149, 152, 151, 143, 146, 149, 149, 148], 
      [ 3, 3, 2, 2, 10, 12, 12, 13], 
      [ 152, 142, 146 , 141, 143, 148, 149, 153] 
      [ 1, 0, 2, 0, 0, 0, 0, 1]]) 

私は整形のシリーズとそれを行うことが可能であるべきである知っているが、私は方法を見つけ出すことができませんでした!

答えて

2

あなたは、カラム再形成、その後、二つの配列をスタックすることができます

np.column_stack((a, b)).reshape(-1, a.shape[1]) 

#array([[107, 115, 132, 138, 128, 117, 121, 135], 
#  [ 25, 28, 28, 25, 23, 21, 20, 18], 
#  [149, 152, 151, 143, 146, 149, 149, 148], 
#  [ 3, 3, 2, 2, 10, 12, 12, 1], 
#  [152, 142, 146, 141, 143, 148, 149, 153], 
#  [ 1, 0, 2, 0, 0, 0, 0, 1]]) 

または同様に:

np.concatenate((a, b), axis=1).reshape(-1, a.shape[1]) 
+0

感謝を!私は連結して形を変えなければならないことを知っていましたが、どのインデックスを使うのか分かりませんでした。あなたは-1の使用法を説明できますか? – Sojers

+0

[docs](https://docs.scipy.org/doc/numpy-1.13.0/reference/generated/numpy.reshape.html)から* 1つの形状寸法は-1にすることができます。この場合、値は配列の長さと残りの次元*から推測されます。この場合、 '.reshape(a.shape [0] * 2、a.shape [1]) 'と同じです。 – Psidom

関連する問題