python numpyで相関係数を求める

python numpyで相関係数を求める

pythonで、ライブラリnumpyのcorrcoefを使用して、相関係数を求めるサンプルコードを記述してます。pythonのバージョンは3.10.0を使用してます。

環境

  • OS windows11 home
  • python 3.10.0

numpyインストール

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

pip install numpy

Successfully installed numpy-1.22.3

corrcoef使い方

corrcoefを使用すると、配列データから相関係数を求めることが可能です。

import numpy as np

 np.corrcoef(配列1, 配列2)[0][1]

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

import numpy as np

arr1 = np.array([50, 60, 70, 80, 90])
arr2 = np.array([40, 70, 90, 60, 100])

# 相関係数
print( np.corrcoef(arr1, arr2)[0][1] ) # nan

nan

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

import numpy as np

arr1 = np.array([50, np.nan, 70, 80, 90])
arr2 = np.array([40, 70, 90, 60, 100])

# 相関係数
print( np.corrcoef(arr1, arr2)[0][1] ) # nan