5
a = np.array([1, 2, 3])
aa = np.array([1], [2], [3])
b = np.array([1, 2, 3])
bb = np.array([1], [2], [3])
np.concatenate((a, b), axis = 1)
array([1, 2, 3, 1, 2, 3])     # It's ok, that's what I was expecting
np.concatenate((a, b), axis = 0)
array([1, 2, 3, 1, 2, 3])     # It's not ok, that's not what I was expecting

私は期待していました:

array([[1, 2, 3],
       [1, 2, 3]])

aa と bb を使用しても、同じ矛盾が生じます。軸0に沿って2つの1次元配列を連結する簡単な解決策はありますか?

4

1 に答える 1

7

abはどちらも 1 次元であることに注意してください。連結する軸 1 はありません。あなたがしたいvstack

>>> import numpy as np
>>> a = np.array([1,2,3])
>>> b = a.copy()
>>> np.vstack([a,b])
array([[1, 2, 3],
       [1, 2, 3]])

または、最初に形状aを変更することもできます。b

>>> np.concatenate([a[np.newaxis,:],b[np.newaxis,:]],axis = 0)
array([[1, 2, 3],
       [1, 2, 3]])
于 2013-01-23T15:06:47.500 に答える