Pythonによる配列の生成および四則演算
数学の基本である配列の計算をまとめておきます。
配列の生成
import numpy as np list_a = [0,1,2,3,4,5] array_a = np.array(list_a) print(array_a)
1行目はNumpyのインポート。これで化学計算のプログラミングが簡単になる。
2行目はリストの設定。
3行目は作ったリストは配列だということをpythonさんサイドに認識させます。
実行はdebugボタンを押してください。(今回はSpyderを使っているが、コンソール上で行うときはpython test.pyなどを実行。)
[0 1 2 3 4 5]
配列が完成しました。 型宣言をすることもできます。例えば浮動小数点にするためにfloatを追加すると
import numpy as np list_a = [0,1,2,3,4,5] array_a = np.array(list_a, dtype = float) print(array_a)
[0. 1. 2. 3. 4. 5.]
小数点がついて浮動小数点扱いになったことが分かります。
txtやcsvからの読み取り
まず以下のようなtest.txtファイルをつくります。
0 1 2 3 4 5 6 7 8 9
これを読み取るときは
import numpy as np array_a = np.genfromtxt('test.txt', delimiter = ' ', dtype = int) print(array_a)
genfromtxtはファイルの読み込みを指示するコードです。
delimiterは区切り文字の指定で、test.csvのときはカンマ区切りなので
array_a = np.genfromtxt('test.csv', delimiter = ',', dtype = int)
とします。
配列の四則演算
配列にそのまま1を加算すると全ての要素に1が加算されます。
import numpy as np list_a = [10,20,30,40,50] array_a = np.array(list_a) array_a = array_a + 1 print(array_a)
[11 21 31 41 51]
これはあらゆる四則演算に共通
例えば剰余計算は
import numpy as np list_a = [15,24,58,32,48] array_a = np.array(list_a) array_a = np.mod(array_a,3) print(array_a)
[0 0 1 2 0]
となる。
配列同士の四則演算も同様に
import numpy as np list_a = [15,24,58,32,48] list_b = [1,3,5,2,7] array_a = np.array(list_a) array_b = np.array(list_b) array_c = array_a / array_b print(array_c)
[15. 8. 11.6 16. 6.85714286]
Fortranでは許されないがPythonでは自動的にfloatにしてくれます。
今日はここまで。