python numpyで標準偏差を求める

python numpyで標準偏差を求める

pythonで、ライブラリnumpyのstdを使用して、標準偏差を求めるサンプルコードを記述してます。pythonのバージョンは3.10.0を使用してます。

環境

  • OS windows10 pro 64bit
  • python 3.10.0

numpyインストール

numpyをインストールされていない方は、pipでインストールしておきます。

pip install numpy

Successfully installed numpy-1.22.3

std使い方

stdを使用すると、配列データから標準偏差を求めることが可能です。

import numpy as np

np.std(配列)

以下は、用意した配列から標準偏差を求めるサンプルコードとなります。

import numpy as np

arr = np.array([10, 20, 30, 40, 20, 50])

print( np.std(arr) ) # 13.43709624716425

print( '{0:.2f}'.format( (np.std(arr)) )) # 13.44 

print(arr) # [10 20 30 40 20 50]

また、各列や各行に対して標準偏差を求める場合は、以下のように「axis」を使用します。

import numpy as np

arr = np.array([
    [10, 20, 30, 40, 20, 50],
    [1, 2, 3, 4, 5, 6]
    ])

# 各列の標準偏差
print( np.std(arr, axis=0) ) # [ 4.5  9.  13.5 18.   7.5 22. ]

# 各行の標準偏差
print( np.std(arr, axis=1) ) # [13.43709625  1.70782513]

nan

配列に「nan」が含まれている場合は、「nan」が返ります。

import numpy as np

arr = np.array([
    [10, np.nan, 30, 40, 20, 50],
    [1, np.nan, 3, 4, 5, 6]
    ])

# 各行の標準偏差
print( np.std(arr, axis=1) ) # [nan nan]