上級マクロ経済学
第3回 pytonの導入と基礎
1 Pythonの導入
プログラミング言語
- コンピュータに計算の指示を出すために、コンピュータが理解できるように指示文を書きます。
- 経済分野のデータ分析でよく利用されるのは、
- Matlab
- Stata
- R
- Python
- Fortran
- Julia
なぜPython?
- 無料
- 基本的なことなら十分できる
- コードが読みやすい
- 応用先が豊富
- データ解析
- 数値解析
- AI開発
- アプリケーション開発
- ライブラリの開発が盛ん
ライブラリ
いろんな操作を自分でわざわざコーディングしていたら大変です。
- ある一連の操作を実行してくれるコードを、世界中の人たちが作成・公開してくれています。
- これらがモジュールと呼ばれます。
- モジュールを集めたものがパッケージ
- パッケージを集めたものがライブラリ
- 統計分析を行うもの(statsmodels)
- グラフ描写を行うもの(matplotlib)
ライブラリのイメージ
Pythonの実行
Pythonのファイルは「.py」という拡張子で保存されています。
Pythonはそれなりに使いやすいですが、
- 1つのテキストファイルを作って
- いちいちそれをコマンドラインで実行して
という作業を行うのは面倒です。
アプリケーション内でコードを書いて、アプリケーション内で実行するようなものもあります。
- Spyderなど
Jupyter Notebook
- 最近ではより便利なNotebook形式のファイルを使ったりする。
- 拡張子が「.ipynb」のファイルです。
- 例えば、Jupyter Notebookは1つのファイルの中でpythonコードの実行ができます。
- この講義では、notebook形式のファイルを用います。
- Google Colaboratory
- Jupyter Notebook
- Jupyter Lab
2 基本的な演算と操作
四則演算
Notebookを開いてください。 セルに次のコードを入力してみてください。
足し算(10+2)
引き算(10-2)
掛け算(10\times 2)
割り算(10\div 2)
- 半角が基本です。
- 半角スペースは無視されます。
- 全角スペースにも注意。
- 「1行に1つの処理」が基本。
乗算
乗算はアスタリスク(*)を2つ
2^3
\sqrt{9} = 9^{1/2} = 9^{0.5}
かっこに注意。
これは実質 9^1 \div 2 を計算していることになっている。
剰余
割った後の余り(剰余)を計算するためには、%を使う。 10 \mod 2 = 0 10 \mod 3 = 1 10 \mod 4 = 2
条件式
いくつかの条件式が使えます。
- 正しいと
True
、正しくないとFalse
が帰ってくる。 - 条件式の例は以下に。(コメントアウトについては後述)
変数と結果の保持
変数のルール
- Pythonですでに使われていないもの
- Pythonではいくつかの関数が用意されている
- “+”や”-“、”^“などもダメ。演算と勘違いされる。
- スペースを含まない。
- “ogisu yoshitaka”という変数は作れない。
- こういうケースではスペース部分を”_“(アンダーバー)で置き換えたりする。
- “ogisu_yoshitaka”という変数は作れる。
Notebookの出力
- Notebookでは、基本的に、一番最後の入力結果が出力される。
- print関数を使えば、途中の結果も出力できる。
コメントアウト
コード内でコメントを残せる。 Pythonでは、“#”以降が処理されない。
- コメントアウトを使ってメモを残すことを癖にするべき。
これはエラーになる(2行目で処理がストップする)。
長いコメントアウト
コメントが長い場合は、“““、あるいは’’’で始まりと終わりを囲えばOK
文字列
“あるいは’で囲えば文字列を扱える。
- 文字列を足すと、次のようになる。
文字と数字
- 文字列と数字は足せない。
- 整数の数字はint型
- 実数の数字はfloat型
- 文字列はstr型
- 「strとint」、「strとfloat」の演算は定義されていない。
- 文字列に数値を入れたい場合は、“str”という関数を使って、数値を文字列に変換する。
Pythonリスト
変数などを集めたものとして、リストを作ることができる。
Pythonリストの参照
リストの第i
要素には、次のようにアクセスできる。
- Pythonのカウントは、0から始まることに注意
test_list3 = [12, 20, 30, 40, 50]
print(test_list3[3]) # 4番目の要素を参照
print("4番目の要素は、"+str(test_list3[3])+"です。")
40
4番目の要素は、40です。
- このときの
i
をインデックスという。 - そのインデックスで表される値(上の例では40)を第i要素とよぶ。
スライス参照
- 要素は、「ここからここまで」と指定できる。
- この場合、[1:3]のように指定。
- だたし、上限値は含まれないことに注意。
- 「第何要素以降」、「第何要素より前」もできる
後ろからの参照
一番後ろの要素を[-1]で参照できる。
まとめ
- 基本的な演算やリストは覚えておかないといけません。
- プログラミングは、基本的には、習うより慣れろです。
- 次回は以下のトピックス。
- if文
- for文
- 関数