Pandas DataFrameで2つの数値列間の相関係数を計算する方法
Pandasでは、pandas.DataFrame.corrメソッドを使うことで、NULL値を除外した上で列同士の相関を簡単に計算できます。相関係数は2つの変数間の線形関係の強さを表す指標であり、その値は-1から1の範囲に収まります。
相関係数が1に近いほど正の相関が強く、-1に近いほど負の相関が強いことを意味します。また、0に近い場合は線形関係がほとんどないことを示します。
Pandasのデータフレーム内にある2つの数値列の相関を求めるには、以下の手順を実行します。
- 図のサイズを設定し、サブプロット間および周囲の余白(パディング)を調整します。
- 2次元でサイズ変更可能な表形式データを持つPandasデータフレームを作成します。
col1.corr(col2)を使って2つの列の値を比較し、相関係数を計算します。- 計算した相関係数をコンソールに出力します。
- 図を表示するには、show()メソッドを使用します。
コード例
import pandas as pd
from matplotlib import pyplot as plt
plt.rcParams["figure.figsize"] = [7.00, 3.50]
plt.rcParams["figure.autolayout"] = True
df = pd.DataFrame({'lab': [1, 2, 3], 'value': [3, 4, 5]})
col1 = df['lab']
col2 = df['value']
plt.plot(col1, col2)
print("The correlation coefficient is: ", col1.corr(col2))
plt.show()
実行結果
このコードを実行すると、以下の出力が得られます。
The correlation coefficient is: 1.0


この例では、相関係数が1.0となっており、完全な正の相関があることを示しています。すべての点が一直線上に並んでいるため、グラフには直線が描かれます。
なお、corr()メソッドはデフォルトでピアソンの積率相関係数を計算します。データの性質に応じて、method引数で「スピアマンの順位相関」や「ケンドールの順位相関」など他の手法を指定することも可能です。
-
Python・PandasのDataFrameから複数の列を選択する方法
Pandasでは、CSVファイルから読み込んだDataFrameに対して、二重の角括弧 [[ ]] を使うことで、複数の列を簡単に選択できます。本記事では、具体的な手順とサンプルコードを交えて解説します。 前提:サンプルデータについて ここでは、Microsoft Excelで開いた以下のような内容のCSVファイル(SalesData.csv)を例にします。このデータには「Car(車名)」「Reg_Price(登録価格)」「Units(台数)」の3つの列が含まれています。 ステップ1:CSVファイルをPandas DataFrameに読み込む まず、read_csv() メソッドを使って、C
-
Python PandasでDataFrameの複数のデータ列をプロットする方法
PythonのPandasライブラリを使えば、DataFrameに含まれる複数のデータ列を簡単に可視化できます。本記事では、plot()メソッドを使用し、kindパラメータをbarに設定することで、複数の列を1つの棒グラフとして描画する方法を解説します。必要なライブラリのインポートまず、PandasとMatplotlibという2つの必須ライブラリをインポートします。Pandasはデータ操作を、Matplotlibはグラフの表示を担当します。import pandas as pd import matplotlib.pyplot as mpサンプルデータの準備ここでは、各チームのランキングポイン