pythonのNumpy配列の合計,最小,最大,平均を算出する方法

Numpy

 データ処理を行っていると,Numpy配列全体の合計,最小,最大,平均値などの情報を取得したいケースや配列の列や行ごとの情報を求めたい事があるかと思います.本記事ではこれらの情報の取得方法について解説しております.

 スポンサーリンク

スポンサーリンク

Numpyで配列情報を取得する

Numpy配列の配列全体の合計,最大,最小,平均などを算出するにはnumpyの関数を使うことで可能です.また,引数axisを渡すことで配列の列や行ごとの結果を取得することができます.下記表にNumpy関数とその引数について記載しました.

・Numpy配列情報を取得する関数

numpyの関数  効果
numpy.sum(a,axis=None)配列aの合計値
numpy.cumsum(a,axis=None))配列aの累積合計
numpy.mean(a,axis=None)配列aの平均値
numpy.min(a,axis=None)配列aの最小値
numpy.max(a,axis=None)配列aの最大値
numpy.std(a,axis=None)配列aの標準偏差
numpy.var(a,axis=None)配列aの分散

・引数について

a配列(array)
axis=None配列全体の情報を取得(デフォルト)
axis=0列ごとの情報を取得
axis=1行ごとの情報を取得

配列の合計値を取得

・3行3列の配列を作成し配列全体の合計値を取得します.

 配列の合計を求めるにはnumpy.sum関数を使います.

[IN]

import numpy as np
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])
print( np.sum(a) ) #配列aの全ての合計値

[OUT]

45

・配列の列ごとの合計値を取得します.

 配列の列の合計を求めるには,引数にaxis=0を渡します.

[IN]

mport numpy as np
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])
print( np.sum(a,axis=0 ) ) #配列aの列ごとの合計値

[OUT]

[12 15 18]

列ごとの合計値が算出できました.

・配列の行ごとの合計値を求めます

 配列の行の合計を求めるには,引数にaxis=0を渡します.

[IN]

import numpy as np
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])
print( np.sum(a,axis=1 ) ) #配列aの行ごとの合計値

[OUT]

[ 6 15 24]

 列ごとの合計値が算出できました.

このsampleコードではnumppy,sum関数について,配列の列や行ごとに合計を求めていますが,他のNumpy配列情報を取得する関数でも使用できます.

配列の平均値,最小値,最大値について取得します.

配列の平均値を取得するにはnumpy.mean関数,最小値を取得するにはnumpy.min関数,最大値を取得するにはnumpy.max関数の関数で行います.

[IN]

import numpy as np
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])
print("平均 ", np.mean(a)) #平均
print("最小 ", np.min (a)) #最小
print("最大 ", np.max (a)) #最大

[OUT]

平均  5.0
最小  1
最大  9

 配列全体の平均,最小,最大が簡単に取得できました.

配列の累積合計について求めます

配列の累積合計はnumpy.cumsum関数で求めます.

[IN]

import numpy as np
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])
print( np.cumsum(a)) #累積合計

[OUT]

[ 1  3  6 10 15 21 28 36 45]

 累積合計は名前の通り配列内の要素をつど足し合わせおります.

配列の分散と標準偏差

・分散と標準偏差について

まず,分散と標準偏差は統計学で用いるもので、分散はデータのバラツキ度合を表し,値が大きくなるとバラツキ度合も大きくなります.標準偏差もバラツキを表すもので分散を平方根にしたものです.下記に分散の式を記載します.

分散の求め方

分散:$s^2$ 

$n$:データの総数

$x_i$:個々の数値

$\overline{x}$:平均値

$s^2 = \frac{1}{n}\sum_{n=1}^n(x_i-\overline{x})^2$

標準偏差は分散を平方根にしたものです.

・配列の分散と標準偏差の情報を取得します.

配列の分散を取得するにはnumpy.std関数,標準偏差の取得はnumpy.var関数を使います.

3行3列の配列を作成して,分散と標準偏差の情報を取得します.

[IN]

import numpy as np
a = np.array([[1, 2, 3],
              [4, 5, 6],
              [7, 8, 9]])
print("標準偏差 ", np.std(a)) #標準偏差
print("分散     ", np.var(a)) #分散

[OUT]

標準偏差  2.581988897471611
分散      6.666666666666667

 numpyの関数を使って配列内の要素に対しての様々な情報を取得できるようになったかと思います.

トップページへ戻る

 

 スポンサーリンク

コメント

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