レッスン3 / 3問目

『転置』

このレッスンでは転置について学習していきましょう。

まず転置とは何かということですが、簡単に説明すると転置とは配列の行と列を入れ替えることです。 以下のように1~6の数字で構成される2次元配列があります。この配列を転置すると以下のようになります。

このように2行3列の配列であれば、3行2列の配列に変更することを転置といいます。ではこの転置ですが、どのような場合に用いられるのでしょうか。これは内積というものを求める際などに用いられます(詳しくは後のレッスンで学習します)。

本レッスンではこの転置を行う方法を2通り紹介します。一つは「Tプロパティ」を用いる方法、もう一つは「transepose()」を用いる方法です。

プロパティ・メソッド
T ndarray.T
transpose() ndarray.transpose(1, 0)

ではひとつずつ見ていきましょう。まずはTプロパティです。以下のように記述することで簡単に転置を行うことができます。

  1. arr = np.array([[1, 2, 3],
  2.                         [4, 5, 6]])
  3. print(arr.T)
[[1, 4], [2, 5], [3, 6]]

上記のようにndarray.Tと記述するだけで簡単に転置した配列を取得することができます。

続いてtransposeです。transposeでは軸を指定します。

  1. arr = np.array([[1, 2, 3],
  2.                         [4, 5, 6]])
  3. print(arr.transpose(1, 0))
[[1, 4], [2, 5], [3, 6]]

上記のようにtransposeでは軸を指定することで転置を行うことができます(厳密には軸の順序を入れ替えています)。
軸の番号については以下の通り縦軸が0横軸が1となります。上記の例では第一引数に1を指定し第二引数に0を指定することで縦軸と横軸を入れ替えています。

ちなみにtransposeは転置、axisは軸という意味です。

レッスンは以上となります。

では練習問題にチャレンジしてみましょう。

Lesson1

配列arrをTプロパティを用いて転置し、出力してください。

Lesson2

配列arrをtranspose()を用いて転置し、出力してください。

Last updated:2019/10/28

[[ 1  4  7 10]
 [ 2  5  8 11]
 [ 3  6  9 12]]
[[ 1  4  7 10]
 [ 2  5  8 11]
 [ 3  6  9 12]]
  1. import numpy as np

  2. arr = np.array([[1, 2, 3],
  3. [4, 5, 6],
  4. [7, 8, 9],
  5. [10, 11, 12]])

  6. # 配列arrをTプロパティを用いて転置し、出力してください。

  7. print(arr.T)

  8. # 配列arrをtranspose()を用いて転置し、出力してください。

  9. print(arr.transpose(1, 0))
main.py
設定
g
n
i
d
a
o
L