Pandas DataFrame.corr() 関数

Minahil Noor 2023年1月30日
  1. pandas.DataFrame.corr() の構文:
  2. コード例:DataFrame.corr() Pearson メソッドを用いて相関行列を求めるメソッド
  3. コード例:kendall メソッドを使用して相関行列を求める DataFrame.corr() メソッド
  4. コード例:より多くの列値ペアを持つ spearman メソッドを使用して相関行列を求めるための DataFrame.corr() メソッド
Pandas DataFrame.corr() 関数

Python Pandas DataFrame.corr() 関数はデータフレームの列間の相関関係を求めます。

pandas.DataFrame.corr() の構文:

DataFrame.corr(method="pearson", min_periods=1)

パラメータ

method 相関の方法です。pearsonkendallspearman のいずれかを用いることができます。デフォルトは pearson です。
min_periods このパラメータは、有効な結果を得るために列のペアごとに必要なオブザベーションの最小数を指定します。これは現在、pearsonspearman の相関でのみ利用可能です。

戻り値

列間の相関関係を計算した Dataframe を返します。

コード例:DataFrame.corr() Pearson メソッドを用いて相関行列を求めるメソッド

import pandas as pd

dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                        'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                        'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.corr()
print("The Correlation Matrix is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45
The Correlation Matrix is: 

                Attendance  Obtained Marks
Attendance         1.00000        -0.61515
Obtained Marks    -0.61515         1.00000

この関数は相関行列を返しました。この関数は非数値列を無視しています。この関数は Pearson メソッドを用いて相関を計算しており、列の値の 1 組(min_position= 1)を用いています。

コード例:kendall メソッドを使用して相関行列を求める DataFrame.corr() メソッド

Kendall メソッドを用いて相関を求めるには、method= "kendall" を用いて corr() 関数を呼び出します。

import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                        'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                        'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.corr(method= "kendall")
print("The Correlation Matrix is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45
The Correlation Matrix is: 

                Attendance  Obtained Marks
Attendance             1.0            -0.4
Obtained Marks        -0.4             1.0

この関数は相関行列を返します。これはケンドール法を用いて相関を計算したもので、列の値は 1 組(min_position= 1)です。

コード例:より多くの列値ペアを持つ spearman メソッドを使用して相関行列を求めるための DataFrame.corr() メソッド

ここで、spearman メソッドを用いて min_periods の値を 2 に設定します。パラメータ min_periodspearson メソッドと spearman メソッドでのみ利用可能です。

import pandas as pd
dataframe=pd.DataFrame({'Attendance': {0: 60, 1: 100, 2: 80,3: 78,4: 95},
                        'Name': {0: 'Olivia', 1: 'John', 2: 'Laura',3: 'Ben',4: 'Kevin'},
                        'Obtained Marks': {0: 90, 1: 75, 2: 82, 3: 64, 4: 45}})
print("The Original Data frame is: \n")
print(dataframe)

dataframe1 = dataframe.corr(method= "spearman", min_periods = 2)
print("The Correlation Matrix is: \n")
print(dataframe1)

出力:

The Original Data frame is: 

   Attendance    Name  Obtained Marks
0          60  Olivia              90
1         100    John              75
2          80   Laura              82
3          78     Ben              64
4          95   Kevin              45
The Correlation Matrix is: 

                Attendance  Obtained Marks
Attendance             1.0            -0.5
Obtained Marks        -0.5             1.0

この関数は列の値の 2つのペアを用いて相関を計算しました。

関連記事 - Pandas DataFrame