はじめに
NumPyのnp.sum, np.std などの集約関数 の1次元配列、2次元配列における使用法について説明する。
1次元配列の集約
データの生成
np.random.randint(1,100, size=9)で1から100のランダムな値を要素として持つ9個の配列を作成する。
集約関数
合計値
np.sum()で配列内の要素の合計値を求めることができる。
最小値
np.min()で配列内の最小値を求めることができる。
最大値
np.max()で配列内の最大値を求めることができる。
平均値
np.mean()で配列内の要素の平均値を求めることができる。
中央値
np.median()で配列内の要素の中央値を求めることができる。要素数が偶数の場合、2つの中央値の平均値が出力される。
標準偏差
np.std()で配列の標準偏差を求めることができる。
分散
np.var()で配列の分散を求めることができる。
積
np.prod()で配列の全要素をかけ合わせた値を求めることができる。
最大値のインデックス
argmaxで配列の最大値のインデックスを求めることができる。
最小値のインデックス
argminで配列の最小値のインデックスを求めることができる。
配列のメソッドとして表記
np.min(data)ではなく、data.min()のように記述しても同じ結果が得られる。
2次元列の集約
データの生成
np.random.randint(1,100,(3,5))とすることで形状が(3,5)であり、要素として1〜100のランダムな値をもつ配列が得られる。
集約関数
合計値
1次元配列と同様に求めることができる。
axis=0で列方向に集約
axis=0と指定することで列方向に集約することができる。
axis=1で行方向に集約
axis=1と指定することで列方向に集約することができる。
2次元配列における最大値のインデックス
最大値のインデックスを求めるnp.argmax()は1次元配列に展開したときのインデックスを返してくる。
これを2次元配列のインデックスとして得るには、np.unravel_indexを用いる。
np.unravel_index(np.argmax(data2), data2.shape)のように、1つ目にargmaxを指定し、2つ目に配列の形状を指定すれば、2次元配列のインデックスが返ってくる。
コメント