Pandas で corrwith() を使用する方法 (例あり)


pandas でcorrwith()関数を使用すると、2 つの異なる pandas DataFrame 内の同じ名前を持つ数値列間のペアごとの相関を計算できます。

この関数は次の基本構文を使用します。

 df1. corrwith (df2)

: この関数は、同じ DataFrame 内の 2 つの数値列間の相関を計算するcorr()関数とは異なります。

次の例は、 corrwith()関数を実際に使用する方法を示しています。

例: Pandas での corrwith() の使用方法

次の 2 つのパンダ DataFrame があると仮定します。

 import pandas as pd

#create first DataFrame
df1 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [18, 22, 29, 25, 14, 11],
                    ' assists ': [4, 5, 5, 4, 8, 12],
                    ' rebounds ': [10, 6, 4, 6, 3, 5]})

print (df1)

  team points assists rebounds
0 to 18 4 10
1 B 22 5 6
2 C 29 5 4
3 D 25 4 6
4 E 14 8 3
5 F 11 12 5

#create second DataFrame
df2 = pd. DataFrame ({' team ': ['A', 'B', 'C', 'D', 'E', 'F'],
                    ' points ': [22, 25, 27, 35, 25, 20],
                    ' assists ': [15, 13, 8, 8, 5, 8],
                    ' rebs ': [4, 11, 12, 8, 7, 10]})

print (df2)

  team points assists rebs
0 A 22 15 4
1 B 25 13 11
2 C 27 8 12
3 D 35 8 8
4 E 25 5 7
5 F 20 8 10

corrwith()関数を使用して、2 つの DataFrame 内の同じ名前を持つ数値列間の相関関係を計算できます。

 #calculate correlation between numeric columns with same names in each DataFrame
df1. corrwith (df2)

points 0.677051
assists -0.478184
NaN rebounds
rebs NaN
dtype:float64

結果から次のことがわかります。

  • 2 つの DataFrame のポイント列値間の相関は0.677です。
  • 2 つの DataFrame のヘルパー列値間の相関は-0.478です。

列名bouncesrebs が両方の DataFrame に存在しないため、これらの各列に対してNaN値が返されます。

注 #1 : デフォルトでは、 corrwith()関数は列間のピアソン相関係数を計算しますが、method=’kendall’ または method=’spearman’ を指定して、相関の代わりに別のタイプの係数を計算することもできます。

注 #2 : corrwith()関数の完全なドキュメントはここで見つけることができます。

追加リソース

次のチュートリアルでは、パンダで他の一般的な操作を実行する方法を説明します。

Pandasでグループごとの相関を計算する方法
パンダでスライド相関を計算する方法
Pandas の 2 つの列間の相関を計算する方法

コメントを追加する

メールアドレスが公開されることはありません。 が付いている欄は必須項目です