ITエンジニア ノイのブログ

ITエンジニアのノイです。 YouTubeで ITエンジニアのお勉強という学習用の動画を公開しています。チャンネル登録お願いします!https://m.youtube.com/channel/UCBKfJIMVWXd3ReG_FDh31Aw/playlists

df.corr

df.corr()は、pandasのDataFrameオブジェクトに対して呼び出されるメソッドであり、相関行列(correlation matrix)を計算します。相関行列は、データフレームの数値列間の相関係数を表す行列です。

使い方

基本的な構文

df.corr(method='pearson', min_periods=1)

主な引数

  • method(オプション): 相関係数の計算方法を指定します。デフォルトは 'pearson' です。他の指定可能なオプションには、'kendall'(ケンドールの順位相関係数)や'spearman'(スピアマンの順位相関係数)があります。

  • min_periods(オプション): 相関係数を計算するために必要な最小の観測値の数を指定します。デフォルトは 1 です。

df.corr()は、データフレームの各数値列の間の相関係数を計算し、新しいデータフレームとして返します。相関係数は、-1から1までの値を取ります。1に近づくほど正の相関があり、-1に近づくほど負の相関があります。0に近い場合は相関がほとんどないことを示します。

使い方

import pandas as pd

data = {'A': [1, 2, 3, 4, 5],
        'B': [5, 4, 3, 2, 1],
        'C': [1, 1, 1, 1, 1]}

df = pd.DataFrame(data)
correlation_matrix = df.corr()

print(correlation_matrix)

出力結果は以下のようになります:

     A    B    C
A  1.0 -1.0  NaN
B -1.0  1.0  NaN
C  NaN  NaN  NaN

相関行列は対称行列となり、対角線上の要素は必ず1になります。欠損値は、データが存在しない場合や標準偏差が0の場合など、相関係数を計算できない場合に表示されます。

使用例(scikit-learnのboston)

display(df.corr().round(2))

df.corrno

このようにdf.corr()を使用することで、データフレーム内の数値列の相関関係を簡単に調べることができます。

YouTube

youtu.be