Pythonのある生活

Pythonの勉強を始めたインフラエンジニアです。インフラエンジニアって、プログラミング全く使わないΣ( ゚Д゚)ノ!ので、独学の勉強日記です。現在は、Progate、Aidemyを使っています。

行列から任意の行を抽出後、任意の順番に並べる

ファンシーインデックス参照

行列から任意のインデックスを抽出して、任意の順番に並べることのできる参照方法。

 

【対話コード】

>>>import numpy as np

>>>arr = np.arange(12).reshape(4, 3)

>>>print(arr) 

[[ 0   1   2]
 [ 3   4   5]
 [ 6   7   8]
 [ 9 10 11]]

>>>print(arr3, 0, 2)   

[[ 9 10 11]
 [ 0   1   2]
 [ 6   7   8]]

 

任意の行を抽出・入れ替えることができました。

二次配列の縦横を指定する。

axis

二次配列の縦横を指定する際に使用する。「axis = 0」の場合は「縦」、「axis = 1」の場合は「横」を指定する。

 

今回は配列の縦横でそれぞれの合計を求めます。

 

【対話コード】

>>>import numpy as np

>>>arr = np.array([ [1, 2, 3], [4, 5, 6] ])

>>>arr.sum(axis = 0)   #縦の合計値

array([5, 7, 9])

>>>arr.sum(axis = 1)   #横の合計値

array([ 6, 15])

 

縦横をそれぞれ指定することができました。 

 

配列の要素同士で計算を行う

np.add、np.subtract

 

numpu関数の一つ。配列の要素同士の足し算(add)と引き算(subtruct)を計算することができる。

 

【対話コード】

>>>import numpy as np 

>>>a = np.array([1, 2, 3, 4, 5])

>>>b = np.array([6, 7, 8, 9, 10])

>>np.add(a, b)

array([ 7, 9, 11, 13, 15])

>>>np.subtract(b, a)

array([5, 5, 5, 5, 5])

 計算式を使わずにでも、要素の計算を行うことができます。

 

eのべき乗を求める

np.exp

配列中の要素における、e(自然対数の底)のべき乗を求める関数。

 

【対話コード】

>>>import numpy as np

>>>arr = np.array([0, 2, 4, 6, 8])

>>>np.exp(arr) 

array([1.00000000e+00, 7.38905610e+00, 5.45981500e+01, 4.03428793e+02, 2.98095799e+03])

 

簡単な関数で、eのべき乗を計算することができました。

配列要素の平方根を計算する

np.sqrt

配列中の要素の平方根を求めることができる。

 

【対話コード】

>>>import numpy as np

>>>arr = np.array([4, 36, 121 ,10000])

>>>np.sqrt(arr)

 array([ 2., 6., 11., 100.])

 

簡単なコマンドで、平方根を求めることができました。

True、falseによる判定を行う

ブールインデックス参照

bool型は真理値の「真」=「True」と「偽」=「False」という2種類であらわされるデータ型です。

この型を用いて、要素を取り出す方法をブールインデックス参照と呼びます。

 

【対話コード】

>>>import numpy as np

>>>arr = np.array([1, 2, 3, 4, 5])

>>>print(arr[np.array([True, False, False, True, True])])

 [1 4 5]

 

Falseの部分が表示されず、Trueの部分だけが表示されたことがわかりますね。