こんにちは。ディレクターのジャックです。
本日は、PythonのIDE「Spyder」を使って行列演算をやってみるネタです。
Pythonとは?
まずはPythonについて簡単に紹介します。
言わずもがな! っと思った方は結構多いかと思いますが、紹介させていただきます。
Pythonとは、汎用プログラミング言語の一種で、コードがシンプルで扱いやすく設計され、C言語などに比べてさまざまなプログラムを分かりやすく、かつ少ないコード行数で書けるという特長を持ちます。
Spyderとは?
次に、Spyderについて紹介します。
Spyderとは、Pythonで科学用途のプログラミングをすることを意図して作られたIDE(Integrated Development Environment=統合開発環境)のことです。
NumPyやSciPyなど、科学用途の計算をするために必要なライブラリが揃っています。
簡単なデータ分析用に色々とIDEを使ってみたのですが、最終的にこれが一番落ち着きました。Anacondaというツールを使って簡単にインストールできるので、面倒くさがりの自分にとってはピッタリです。
Anacondaをインストールした環境では、デフォルトでSpyderがインストールされています。
起動してみる
下記コマンドで起動することができます。
% spyder
起動すると、下記画面が立ち上がります。
お決まりの「Hello, World!」をやってみる
Spyderのエディタに下記Pythonスクリプトを記述してください。
# -*- coding: utf-8 -*- """ Spyderエディタ これは一時的なスクリプトファイルです """ def main(): print('Hello, World!') if __name__ == '__main__': main()
実行してみる
runfile('/Users/yamashita_kazuhiko/.spyder-py3/temp.py', wdir='/Users/yamashita_kazuhiko/.spyder-py3') Hello, World!
11行目に「Hello, World!」という文字列が表示されました。
行列演算をしてみる
Spyderのエディタに下記Pythonスクリプトを記述してください。
# -*- coding: utf-8 -*- import numpy as np from numpy import linalg as la m1 = np.matrix('1 2; 3 4') m2 = np.matrix('5 6; 7 8') # 和 print("#### 和") print(m1 + m2) # 差 print("#### 差") print(m1 - m2) # 要素同士の積 print("#### 要素同士の積") print(m1 * m2) # 要素同士の商 print("#### 要素同士の商") print(m1 / m2) # m1の逆行列 print("#### m1の逆行列") print(la.inv(m1))
実行してみる
実行結果を下記に記載します。たった一行のコードで簡単に行列演算ができましたね。
runfile('/Users/yamashita_kazuhiko/.spyder-py3/temp.py', wdir='/Users/yamashita_kazuhiko/.spyder-py3') #### 和 [[ 6 8] [10 12]] #### 差 [[-4 -4] [-4 -4]] #### 要素同士の積 [[19 22] [43 50]] #### 要素同士の商 [[ 0.2 0.33333333] [ 0.42857143 0.5 ]] #### m1の逆行列 [[-2. 1. ] [ 1.5 -0.5]]
おわりに
いかがでしたか?
PythonとSpyderを使うことにより、簡単に行列演算をすることができました。
次回は、もう少し踏み込んでPythonで統計解析をおこなってみたいと思います。
LIGはWebサイト制作を支援しています。ご興味のある方は事業ぺージをぜひご覧ください。