numpy.AxisError: axis 1 is out of bounds for array of dimension 1
テキストアドレス
エラーは
2つの1次元データを積み上げようとすると
npを使用する.concatenate((a,b),axis=1)
これは、aとbはいずれも1次元データであり、1次元のみ、すなわちaxis=0であり、axis=1は存在しないためである.
2つのソリューションを見つけました
A,Bを縦に積み重ねてもよい
アメリカでは足りないのは、この方法では2つのベクトルしか伝えられずに積み重ねられることです.
newaxis、その名の通り新しい軸で、使い方は以下の通りです.
このとき私は2つの(1,3)のベクトルを(1*2,3)=(2,3)の行列に積み上げることができて、この時
関連
Numpy:マトリックスマージ
エラーは
np.concatenate(,axis=1)
の実行時に発生します.2つの1次元データを積み上げようとすると
#
a = [1,2,3]
b = [4,5,6]
#
[[1,2,3],
[4,5,6]]
npを使用する.concatenate((a,b),axis=1)
これは、aとbはいずれも1次元データであり、1次元のみ、すなわちaxis=0であり、axis=1は存在しないためである.
2つのソリューションを見つけました
np.vstack((A,B))
A,Bを縦に積み重ねてもよい
print(np.vstack((a,b))) # ‘(a,b)’
# [[1 2 3]
# [4 5 6]]
アメリカでは足りないのは、この方法では2つのベクトルしか伝えられずに積み重ねられることです.
np.newaxis
+ np.concatenate()
newaxis、その名の通り新しい軸で、使い方は以下の通りです.
a = a[np.newaxis,:] # ‘:’ ( 3),a (1,3),
# [[1 2 3]]
b = b[np.newaxis,:]
# [[4 5 6]]
このとき私は2つの(1,3)のベクトルを(1*2,3)=(2,3)の行列に積み上げることができて、この時
axis=0
を使うべきで、つまり第1の次元ですprint(np.concatenate((a,b),axis=0))
# [[1 2 3]
# [4 5 6]]
関連
Numpy:マトリックスマージ