如何在 Pandas 中获取两列之间的相关性?

pythonserver side programmingprogramming

我们可以使用 .corr() 方法获取 Pandas 中两列之间的相关性。让我们举个例子,看看如何应用这种方法。

步骤

  • 创建一个二维、大小可变、可能异构的表格数据,df
  • 打印输入 DataFrame,df
  • 初始化两个变量,col1col2,并为它们分配要查找相关性的列。
  • 使用 df[col1].corr(df[col2]) 查找 col1 和 col2 之间的相关性,并将相关值保存在变量 corr 中。
  • 打印相关值,corr。

示例

import pandas as pd

df = pd.DataFrame(
   {
      "x": [5, 2, 7, 0],
      "y": [4, 7, 5, 1],
      "z": [9, 3, 5, 1]
   }
)
print "输入 DataFrame 为:\n", df

col1, col2 = "x", "y"
corr = df[col1].corr(df[col2])
print "", col1, " 和 ", col2, " 之间的相关性为:", round(corr, 2)

col1, col2 = "x", "x"
corr = df[col1].corr(df[col2])
print "", col1, " 和 ", col2, " 之间的相关性是:", round(corr, 2)

col1, col2 = "x", "z"
corr = df[col1].corr(df[col2])
print "", col1, " 和 ", col2, " 之间的相关性是:", round(corr, 2)

col1, col2 = "y", "x"
corr = df[col1].corr(df[col2])
print "", col1, " 和 ", col2, " 之间的相关性是:", round(corr, 2)

输出

输入 DataFrame 是:
  x y z
0 5 4 9
1 2 7 3
2 7 5 5
3 0 1 1
x 和 y 之间的相关性为:0.41
x 和 x 之间的相关性为:1.0
x 和 z 之间的相关性为:0.72
y 和 x 之间的相关性为:0.41


相关文章