LoginSignup
9
4

More than 3 years have passed since last update.

ndarrayで行ベクトルを列ベクトルに変換するときに気を付けるべきこと

Posted at

pythonのndarrayで、行ベクトルを列ベクトルに変換するときのお話です。
思わず、次のようにしてしまいがちですよね。
print(np.array([1,2,3,4,5]).T)
でもこれだと、結果は

[1 2 3 4 5]

となってしまい、行ベクトルに変換できません。
これは、行ベクトルが1次元配列で表現されているのに対し、
列ベクトルは2次元以上の配列でないと表現できないからです。
実際、
print(np.array([[1,2,3,4,5]]).T)
のように2次元配列で行ベクトルを渡せば、ちゃんと

[[1]
 [2]
 [3]
 [4]
 [5]]

という結果を得ます。

ちなみに
print(np.transpose(np.array([1,2,3,4,5])))
においても同様で、列ベクトルは得られません。

一次元配列としての行ベクトルvから(2次元配列としての)列ベクトルmを得たいときは、

m = np.array([v]).T

としましょう

9
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
4