【Python】NumPyの使い方

Linux

PythonのNumPyは、数値計算用のライブラリです。NumPyを使用することで、高度な数学的演算が容易に行えるようになります。

NumPyのインストール

NumPyを使用するには、まずNumPyをインストールする必要があります。NumPyはpipを使って簡単にインストールできます。以下のコマンドを実行することでインストールできます。

pip install numpy

NumPyの配列の作成

NumPyでは、配列を作成することができます。配列を作成する方法は複数ありますが、以下では、最も基本的な方法を紹介します。

リストから配列を作成する

以下のように、リストからNumPy配列を作成することができます。

import numpy as np

my_list = [1, 2, 3, 4, 5]
my_array = np.array(my_list)

ゼロ配列を作成する

以下のように、np.zeros関数を使用して、ゼロ配列を作成することができます。

import numpy as np

my_array = np.zeros(5)

この場合、要素数5の配列が作成されます。

1で初期化された配列を作成する

以下のように、np.ones関数を使用して、1で初期化された配列を作成することができます。

import numpy as np

my_array = np.ones(5)

この場合、要素数5の配列が作成されます。

NumPyの配列の操作

NumPyでは、配列を操作することができます。以下では、NumPyで配列を操作する方法について説明します。

配列の要素を取得する

以下のように、配列の要素を取得することができます。

import numpy as np

my_array = np.array([1, 2, 3, 4, 5])
print(my_array[0])

この場合、最初の要素である「1」が出力されます。

配列のスライスを取得する

以下のように、配列のスライスを取得することができます。

import numpy as np

my_array = np.array([1, 2, 3, 4, 5])print(my_array[1:4])

この場合、2番目の要素から4番目の要素までが出力されます。

配列の要素を更新する

以下のように、配列の要素を更新することができます。

import numpy as np 

my_array = np.array([1, 2, 3, 4, 5]) 
my_array[0] = 10 
print(my_array)

この場合、最初の要素が「1」から「10」に更新された配列が出力されます。

配列の結合

以下のように、配列を結合することができます。

import numpy as np

array1 = np.array([1, 2, 3])
array2 = np.array([4, 5, 6])
result_array = np.concatenate((array1, array2))
print(result_array)

この場合、array1とarray2が結合された配列が出力されます。

NumPyの数学関数

NumPyでは、数学関数を使用することができます。以下では、NumPyで使用できる数学関数の例を紹介します。

平方根を求める

以下のように、np.sqrt関数を使用して、平方根を求めることができます。

import numpy as np

my_array = np.array([1, 4, 9, 16, 25])
print(np.sqrt(my_array))

この場合、my_arrayの各要素の平方根が出力されます。

自然対数を求める

以下のように、np.log関数を使用して、自然対数を求めることができます。

import numpy as np

my_array = np.array([1, 2, 3, 4, 5])
print(np.log(my_array))

この場合、my_arrayの各要素の自然対数が出力されます。

三角関数を求める

以下のように、三角関数を求めることができます。

import numpy as np

x = np.array([0, np.pi/2, np.pi])
print(np.sin(x))
print(np.cos(x))
print(np.tan(x))

この場合、xの各要素のsin、cos、tanがそれぞれ出力されます。

NumPyの行列の操作

NumPyでは、行列を操作することができます。以下では、NumPyで行列を操作する方法について説明します。

行列の作成

以下のように、np.array関数を使用して、行列を作成することができます。

import numpy as np

my_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(my_matrix)

この場合、3×3の行列が出力されます。

行列の要素を取得する

以下のように、行列の要素を取得することができます。

import numpy as np

my_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(my_matrix[0, 1])

この場合、1行2列目の要素が出力されます。

行列のスライスを取得する

以下のように、行列のスライスを取得することができます。

import numpy as np

my_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(my_matrix[0:2, 0:2])

この場合、1行目と2行目、1列目と2列目の要素で構成される2×2の行列が出力されます。

行列の要素を更新する

以下のように、行列の要素を更新することができます。

import numpy as np

my_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
my_matrix[0, 1] = 10
print(my_matrix)

この場合、1行2列目の要素が「2」から「10」に更新された行列が出力されます。

行列の転置

以下のように、行列の転置を取得することができます。

import numpy as np

my_matrix = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
print(np.transpose(my_matrix))

この場合、my_matrixの転置行列が出力されます。

行列の積を計算する

以下のように、行列の積を計算することができます。

import numpy as np

matrix1 = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
matrix2 = np.array([[2, 2, 2], [3, 3, 3], [4, 4, 4]])
result_matrix = np.dot(matrix1, matrix2)
print(result_matrix)

この場合、matrix1とmatrix2の行列の積が出力されます。

まとめ

以上が、NumPyの基本的な使い方についての説明です。NumPyは数値計算を行う際に非常に便利なツールであり、多くの機械学習やデータ分析のライブラリで使用されています。