NumPyモジュールで配列を扱う – 【Python】

NumPyモジュールで配列を扱う – 【Python】

Pythonで配列を扱うにはNumPyモジュールを使用します。標準ライブラリでarrayが用意されていますが多次元配列サポートしていません。

Pythonで似たリストがありますが、異なるデータ型の要素を混在して格納することが出来ます。

配列は同じデータ型の要素を持つデータ構造になります。

インストール

NumPyモジュールをインストールします。

pip install numpy

リストから配列作成

リストから配列を作成します。

import numpy as np

arr1 = np.array([1,2,3])
print(arr1) # [1 2 3]
print(type(arr1)) # <class 'numpy.ndarray'>

配列操作

インデックス

インデックスで要素にアクセスできます。基底値は0です。

import numpy as np
arr1 = np.array([1,2,3])
print(arr1[2]) # [3]

スライス

スライスができます。

import numpy as np
arr1 = np.array([1,2,3])
print(arr1[0:2]) # [1 2]
print(arr1[:-2]) # [1]
print(arr1[1:]) # [2 3]

最大値・最小値・合計値

配列内の最大値・最小値・合計値をmax,min,sumで求めることが出来ます。

import numpy as np
import array as array
arr1 = np.array([1,2,3])

max = np.max(arr1)
min = np.min(arr1)
sum = np.sum(arr1)

print(max) # 3
print(min) # 1
print(sum) # 6

要素ごとの演算

配列の要素ごとに演算することが出来ます。同じ要素数である必要があります。

import numpy as np
arr1 = np.array([1,2,3])
arr2 = np.array([3,4,5])

sum = arr1 + arr2
print(sum) # [4 6 8]
print(type(sum)) # <class 'numpy.ndarray'>

float32,float64

float32,float64が用意されています。但し小数点の丸め誤差が生じるようです。

import numpy as np

a = np.float64(0.1)
b = np.float64(0.2)

sum = np.add(a, b)
print(sum) # 0.30000000000000004

配列の要素数

配列の要素数を調べるにはlen()でもOKですし、shape[0]でも調べることが出来ます。

import numpy as np

arr1 = np.array([1, 2, 3])
length = arr1.shape[0]

print(len(arr1)) # 3
print(length) # 3

配列に配列を追加

配列に配列を追加するにはconcatenateを使用します。

第一引数の配列の末尾に、第二引数の配列の要素が追加されます。

import numpy as np

arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])

concatenated = np.concatenate((arr1, arr2))
print(concatenated) # [1 2 3 4 5 6]

配列を分割

配列を分割するにはsplitを使用します。

第二引数で、分割するインデックス位置をリストで指定します。

インデックス位置が3つ指定されているので、配列は4つに分割されます。

import numpy as np

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

splitted = np.split(arr1, [2, 3, 5])

print(splitted) # [array([1, 2]), array([3]), array([4, 5]), array([6])]
print(splitted[0]) # [1 2]

株式会社CONFRAGE ITソリューション事業部をもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む

タイトルとURLをコピーしました