【Python/Numpy】行列の作成方法

Numpyを使用した様々な行列(アレイ)の生成方法を説明します。

是非、読むだけでなく手を動かして実行しながら学習の参考にしてください。

説明している内容については下の目次でご確認ください。

スポンサーリンク

Numpyを使用しない行列の生成方法

例)

1 2 3 4 5 6
mylist = ([[1, 2],[3, 4],[5, 6]])

※Numpyを使用しないこの方法ではリスト型になります

Numpyを使用した行列(アレイ)の生成方法

はじめに

はじめにNumpyをインポートします。以下のコードをはじめに記述しましょう。以降はインポートしたものとして説明していきます。

import numpy as np

as npの部分はnpという名前でNumpyをインポートします、という意味があります。必須ではありませんが、記述を省略できるので記述するようにしましょう。

要素が連番の行列

0~8の9要素を連番で3×3行列にして生成します。

0 1 2 3 4 5 6 7 8
arr = np.arange(9).reshape(3,3)

行列の行数と列数を確認することができます。例では3行3列の行列なので、(3, 3)を返します。

arr.shape

>>>(3, 3) 

行列のベクトル化

0 1 2 3 4 5 6 7 8 0 1 2 3 4 5 6 7 8
arr.reshape(-1)

ゼロ行列

要素がすべて0の行列を生成します。

0 0 0 0 0 0 0 0 0
np.zeros(3,3)  #3x3の0行列

単位行列

要素がすべて1の行列を生成します。

1 1 1 1 1 1 1 1 1
np.ones(3,3)  #3x3の単位行列

対角行列

対角行列(左上から右下の要素を結ぶ対角線上の要素が1の行列)を生成します。

1 0 0 0 0 1 0 0 0 0 1 0 0 0 0 1
np.eye(4)  #4x4の対角行列

転置行列

0 1 2 3 4 5 6 7 8 T = 0 3 6 1 4 7 2 3 8

なんと、”.T”を付けるだけで行列が転置行列になるんです。
簡単すぎる。。。

np.arange(9).reshape(3,3).T

ランダムな要素の行列

平均0、標準偏差1の正規分布に従う乱数を要素にした行列を生成します。

-0.2922302 -0.0803938 -0.55772776 0.41829167 -0.57777992 0.36814663 -1.81122537 -0.41369466 -1.18185946
np.random.randn(3, 3)

まとめ

さまざまな行列の生成方法をまとめてみましたがいかがだったでしょうか?行列はデータ分析などに使用されるため、なんとなくでいいので生成方法を覚えておきましょう。分からなくなったら、またこの記事に戻ってきてください!

その他にもPythonの学習に役立つ記事をアップしていますので、学習の参考にしてもらえると嬉しいです!

おすすめの参考書

みんなのPython 第4版【電子書籍】[ 柴田 淳 ]


スポンサーリンク

フォローする