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にしてくれます。

今日はここまで。