はじめに
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次元配列のインデックスが返ってくる。
参考
![](https://qiita-user-contents.imgix.net/https%3A%2F%2Fcdn.qiita.com%2Fassets%2Fpublic%2Farticle-ogp-background-412672c5f0600ab9a64263b751f1bc81.png?ixlib=rb-4.0.0&w=1200&mark64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZ3PTk3MiZoPTM3OCZ0eHQ9JTVCUHl0aG9uJTVEJTIwTnVtcHklRTMlODElQTclRTUlQTQlOUElRTYlQUMlQTElRTUlODUlODMlRTklODUlOEQlRTUlODglOTclRTMlODElQUVhcmdtYXglRTMlODIlOTIlRTMlODElQTglRTMlODIlOEElRTMlODElOUYlRTMlODElODQmdHh0LWFsaWduPWxlZnQlMkN0b3AmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT01NiZzPTQ3MmNjMDE5YTA4NzYxOGZkNGMzNDI4OWU3MGU5ZTY0&mark-x=142&mark-y=57&blend64=aHR0cHM6Ly9xaWl0YS11c2VyLWNvbnRlbnRzLmltZ2l4Lm5ldC9-dGV4dD9peGxpYj1yYi00LjAuMCZoPTc2Jnc9NzcwJnR4dD0lNDB0a3RrdGtzMTAmdHh0LWNvbG9yPSUyMzIxMjEyMSZ0eHQtZm9udD1IaXJhZ2lubyUyMFNhbnMlMjBXNiZ0eHQtc2l6ZT0zNiZ0eHQtYWxpZ249bGVmdCUyQ3RvcCZzPTI5MGU5ZWIwZDAwMGQwZWE2Yjc2ODNiYTViYzU1YTAx&blend-x=142&blend-y=436&blend-mode=normal&txt64=aW4g5qCq5byP5Lya56S-44K_44Kk44Of44O8&txt-width=770&txt-clip=end%2Cellipsis&txt-color=%23212121&txt-font=Hiragino%20Sans%20W6&txt-size=36&txt-x=156&txt-y=536&s=72e8bf28a3afa1b150e0a9e082376ab3)
コメント