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]
KHI入社して退社。今はCONFRAGEで正社員です。関西で140-170/80~120万から受け付けております^^
得意技はJS(ES6),Java,AWSの大体のリソースです
コメントはやさしくお願いいたします^^
座右の銘は、「狭き門より入れ」「願わくは、我に七難八苦を与えたまえ」です^^