はじめに
Pythonの基本的な使い方の備忘録。
基本的な演算(四則演算)、記述ルール、ベクトル表記、行列表記、行列からの要素抜き出しのお話となる。
MATLABとか関係なしに計測データだけがある場合は、Pythonで加工、解析をすることがある。
ただし、MATLABとは別のツール/言語であるため、表現方法は異なる。
未だに要素指定が0スタートか1スタートかで間違う。
イメージ的にはC言語に近い指定方法。
※ MATLAB、Python、Scilab、Julia比較ページはこちら
単純計算
これはそのままの計算。
変数に値を入れたり、変数同士で演算したりが可能。
>>> a=1
>>> b=2
>>> c=a+b
>>> c
3
>>>
記述ルール
以下参照。
MATLABのようにコマンド毎の結果表示を明示することはできない。
コメント | # |
結果の非表示 | (なし) |
複数行での入力 | \\ |
ベクトル、行列
Pythonのプリミティブな配列、リストというのもあるが、ベクトル、行列としてはNumPyを使用する。
ここではNumPyを使用することを前提として説明。
NumPyの説明をWikipediaより引用。
NumPyは、プログラミング言語Pythonにおいて数値計算を効率的に行うための拡張モジュールである。効率的な数値計算を行うための型付きの多次元配列(例えばベクトルや行列などを表現できる)のサポートをPythonに加えるとともに、それらを操作するための大規模な高水準の数学関数ライブラリを提供する。
Wikipediaより(https://ja.wikipedia.org/wiki/NumPy)
列の区切り | ,(カンマ) |
行の区切り | [,”]”(スクエアブラケット)と”,”(カンマ) |
MATLABと異なり、要素指定が1スタートではなく、0スタートとなる。
また、範囲指定をする場合も、終了要素ではなく、終了要素の次を指定する。
C言語の配列に近い表現となっている。
ベクトル
>>> import numpy as np
>>> x = np.array([1,2,3])
>>> x
array([1, 2, 3])
行列
>>> import numpy as np
>>> A=np.array([[1,2,3], [4,5,6],[7,8,9]])
>>> A
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> np.linspace(0,10,5)
array([ 0. , 2.5, 5. , 7.5, 10. ])
行列要素の抜き出し(スライシング)
MATLAB,Scilabでは行列から列を抜き出した際は列ベクトルとしての情報は残っているが、Pythonの場合は行ベクトル相当になる。
ここらへんの性格の違いには注意が必要。
>>> A=np.array([[1,2,3], [4,5,6],[7,8,9]])
>>> A
array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
>>> A[0,1]
2
>>> A[1,1]
5
>>> A[1,2]
6
>>> A[1,:]
array([4, 5, 6])
>>> A[1,1:3]
array([5, 6])
>>> A[:,2]
array([3, 6, 9])
>>>
まとめ
Pythonで計算す場合はNumPyを使用した方が、ベクトル、行列を扱う際に利便性が良い。またグラフ出力する際もNumPyの方が都合が良い。
Pythonをガッツリ学習したい場合はオンライン学習サービスなどもあります。
オンラインPython学習サービス「PyQ(パイキュー)」公式ページ
ポイント
- 環境構築不要
- ブラウザだけで学習を始められる。
- 申し込みから4ステップで登録を完了
- 申し込み完了待ちとかない。すぐ始められる。
- 1,000問以上の実践的な課題がある。
※ MATLAB、Python、Scilab、Julia比較ページはこちら。
Pythonによるあたらしいデータ分析の教科書
Pythonデータサイエンスハンドブック ―Jupyter、NumPy、pandas、Matplotlib、scikit-learnを使ったデータ分析、機械学習
Python実践データ分析100本ノック 第2版
コメント