非IT企業に勤める中年サラリーマンのIT日記

非IT企業でしかもITとは全く関係ない部署にいる中年エンジニア。唯一の趣味がプログラミングという”自称”プログラマー。

【Python】相関係数を取得するためのcorrメソッド

   

Pythonでは、pandas.DataFrameやpandas.Seriesオブジェクトのcorrメソッドを使用して簡単に相関係数を計算できます。

import pandas as pd
import numpy as np

# ランダムなデータを生成
np.random.seed(42)
data = {
    'x': np.random.normal(50, 10, 100),   # 平均50、標準偏差10の正規分布
    'y': np.random.normal(50, 15, 100),  # 平均50、標準偏差15の正規分布
    'z': np.random.uniform(20, 80, 100)  # 20から80の一様分布
}

df = pd.DataFrame(data)

# x, y, zの相関係数行列
xyz_corr_matrix = df.corr()
print("x, y, zの相関係数行列:")
print(xyz_corr_matrix)
print('------')

# xとyの相関係数
xy_corr = df['x'].corr(df['y'])
print(f"xとyの相関係数: {xy_corr}")

# [実行例]
# x, y, zの相関係数行列:
#    x         y         z
# x  1.000000 -0.136422 -0.030357
# y -0.136422  1.000000  0.108685
# z -0.030357  0.108685  1.000000
# ------
# xとyの相関係数: -0.13642221217000255
 

 

結果の解釈
  • x, y, zの相関係数行列:xとzやyとzの相関係数は0付近で、ほぼ無関係であることを示しています。
  • xとyの相関係数(0.136422):低い正の相関があり、わずかな関係性があることを示しています。

このように、複雑なデータを使用することで、現実的なデータ間の相関を計算できます。

 

スポンサーリンク

 - Python