2016-02-17 10 views
8

私はnumpyの2D配列[[1,2,3]]を持っています。 私はそれが[[1,2,3], [4,5,6]]Numpy Pythonで2次元配列に1d配列を追加する

これは、あなただけの2Dリストにアペンドを呼び出しリストを使用して容易に可能であるになるように、それにnumpyの1次元配列、([4,5,6]言う)を追加する必要があります。

しかし、どのようにNumpyアレイでやっていますか?

np.concatenatenp.appendいけない仕事。彼らは何らかの理由で配列を1Dに変換します。

ありがとう!

+0

'vstack'([TUPにおけるM用np.atleast_2d(M)]、0)' 'np.concatenateない - 言い換えるとは - すべての入力が2Dであり、次いで、連結を確認してください。 – hpaulj

答えて

7

あなたはvstackをしたい:

In [45]: a = np.array([[1,2,3]]) 

In [46]: l = [4,5,6] 

In [47]: np.vstack([a,l]) 
Out[47]: 
array([[1, 2, 3], 
     [4, 5, 6]]) 

あなたは配列はすべてに沿って同じ形状が、第一の軸を持たなければならないことを条件に、複数の行を積み重ねることができます。

In [53]: np.vstack([a,[[4,5,6], [7,8,9]]]) 
Out[53]: 
array([[1, 2, 3], 
     [4, 5, 6], 
     [4, 5, 6], 
     [7, 8, 9]]) 
+0

それはhstackと同様に動作しません... col_vector_to_append = np.column_stack([4,5,6])。Tが必要です – Mehdi

関連する問題