2016-10-07 6 views

答えて

1

Noneまたはnp.newaxisを使用して最初の配列に余分な軸を追加します。

>>> import numpy as np 
>>> a= np.array([1,2,3]) 
>>> a.shape 
(3,) 
>>> b = np.array([[1], [2], [3]]) 
>>> b.shape 
(3, 1) 
>>> np.hstack((a[:, None], b)) 
array([[1, 1], 
     [2, 2], 
     [3, 3]]) 
+0

ありがとう、これは解決します。代わりの答えとして自分自身を見つけた別のオプションを見てください。 – tomka

1

私は問題は、あなたが配列を呼び出すのは1次元で、行列は2次元であるということです。

MNと呼ばれています。 M.shape(a,)(あなたが「配列」と呼んでいるもの)で、N.shape(a,b)(あなたが「マトリックス」と呼んでいたもの)です。 M = M.reshape(a, 1)を実行すると、Nと同じ量の行を持ち、np.hstack((M, N))が動作するような二次元配列が得られます。

P.S:あなたが言及したすべてのエンティティは配列です。おそらく、最初のエンティティはベクトルまたは1次元配列を意味していました。

EDIT - 例えば:

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

>>> b = np.array([[1], [2], [3]]) 
>>> b.shape 
(3,1) 

>>> c = np.hstack((a.reshape(3, 1), b)) 
>>> c 
array([[1, 1], 
     [2, 2], 
     [3, 3]]) 
>>> c.shape 
(3,2) 
+0

最初の部分はtrueですが、 'reshape'は機能しません。 – tomka

+0

出力はありますか?それはうまくいかないという意味ですか?関数が失敗したり、再構成された配列を 'hstack'に入力しても問題はありますか? – Sabian

+0

の問題は変わりません。 – tomka

0

別のオプションを追加する前に

np.transpose(np.asmatrix(a)) 

です。

関連する問題