NumPy入門⑥ 統計計算とユーティリティ関数
基本的な統計計算
NumPyは配列に対して、統計量を簡単に計算できます。
import numpy as np
data = np.array([1, 2, 3, 4, 5, 6])
print(np.sum(data)) # 合計: 21
print(np.mean(data)) # 平均: 3.5
print(np.median(data))# 中央値: 3.5
print(np.std(data)) # 標準偏差: 1.7078...
print(np.var(data)) # 分散: 2.9166...
最大値・最小値とその位置
最大値や最小値の位置(インデックス)も取得可能です。
print(np.max(data)) # 最大値: 6
print(np.min(data)) # 最小値: 1
print(np.argmax(data)) # 最大値の位置: 5
print(np.argmin(data)) # 最小値の位置: 0
累積計算
累積和や累積積を求められます。
print(np.cumsum(data)) # 累積和: [ 1 3 6 10 15 21]
print(np.cumprod(data)) # 累積積: [ 1 2 6 24 120 720]
ソートとユニーク
データ処理でよく使うソートや重複排除も簡単です。
arr = np.array([3, 1, 2, 3, 5, 2, 1])
print(np.sort(arr)) # [1 1 2 2 3 3 5]
print(np.unique(arr)) # [1 2 3 5]
条件を満たす要素の抽出
条件に一致する要素を効率的に取り出せます。
print(data[data > 3]) # [4 5 6]
乱数ユーティリティ
統計シミュレーションなどで役立つ乱数機能も豊富です。
# 0〜1の乱数を10個
print(np.random.rand(10))
# 標準正規分布に従う乱数(平均0, 分散1)
print(np.random.randn(5))
# 任意の整数乱数(0〜9)
print(np.random.randint(0, 10, 5))
まとめ
sum
,mean
,median
,std
,var
で代表的な統計量を計算できる- 最大値・最小値やそのインデックスを取得可能
cumsum
,cumprod
で累積演算が可能sort
,unique
で並べ替えや重複除去ができるnp.random
系関数で乱数生成が可能