c语言编程笔录

首页 >   > 笔记大全

笔记大全

python中corr的minpython dfcorr

更新时间:2023-11-14

Python Pandas库中的corr方法和df.corr()方法

在数据分析和机器学习中,经常需要找出两个变量之间的相关性。Python Pandas库中的corr方法和df.corr()方法可以计算两个变量之间的相关系数。在本文中,我们将深入研究和分析这两个方法的区别和用法。

1. corr方法

pandas.DataFrame.corr()方法返回一个DataFrame对象,其中包含给定DataFrame中所有列之间的相关系数。

import pandas as pd

data={"A": [1, 2, 3, 4, 5], "B": [5, 4, 3, 2, 1], "C": [3.2, 5.1, 1.5, 5.4, 0.9]}
df=pd.DataFrame(data)

corr_matrix=df.corr()
print(corr_matrix.head())
输出结果:
          A         B         C
A  1.000000 -1.000000 -0.321510
B -1.000000  1.000000  0.321510
C -0.321510  0.321510  1.000000
由于我们创建的数据集是无序的,因此相关系数矩阵是对称的。

2. df.corr()方法

虽然我们可以使用corr方法计算Pandas DataFrame中的相关系数矩阵,但如果我们仅需要两个特定列之间的相关系数,我们可以使用df.corr()方法。

import pandas as pd

data={"A": [1, 2, 3, 4, 5], "B": [5, 4, 3, 2, 1], "C": [3.2, 5.1, 1.5, 5.4, 0.9]}
df=pd.DataFrame(data)

corr=df["A"].corr(df["C"])
print(f"Correlation between A and C: {corr}")
输出结果:
Correlation between A and C: -0.3215098739127998

3. 计算相关系数的类型

在计算相关系数时,我们需要选择适当的方法及其相关参数。在Python Pandas库中,我们可以选择以下类型的相关系数:

  • pearson:计算Pearson相关系数
  • kendall:计算Kendall秩相关系数
  • spearman:计算Spearman等级相关系数
import pandas as pd

data={"A": [1, 2, 3, 4, 5], "B": [5, 4, 3, 2, 1], "C": [3.2, 5.1, 1.5, 5.4, 0.9]}
df=pd.DataFrame(data)

corr_pearson=df.corr(method="pearson")
print(f"Pearson Correlation:\n{corr_pearson}\n")

corr_kendall=df.corr(method="kendall")
print(f"Kendall Correlation:\n{corr_kendall}\n")

corr_spearman=df.corr(method="spearman")
print(f"Spearman Correlation:\n{corr_spearman}")
输出结果:
Pearson Correlation:
          A         B         C
A  1.000000 -1.000000 -0.321510
B -1.000000  1.000000  0.321510
C -0.321510  0.321510  1.000000

Kendall Correlation:
     A    B    C
A  1.0 -1.0 -0.2
B -1.0  1.0  0.2
C -0.2  0.2  1.0

Spearman Correlation:
     A    B    C
A  1.0 -1.0 -0.4
B -1.0  1.0  0.4
C -0.4  0.4  1.0
可以看出,不同类型的相关系数矩阵是不同的。

4. 结论

在数据分析和机器学习中,相关系数的计算是一个重要的任务。Python Pandas库提供了两种方法来计算相关系数,包括corr和df.corr()方法。我们可以通过这些方法计算Pandas DataFrame中的所有列或特定列之间的相关系数。此外,还可以选择三种不同类型的相关系数:pearson,kendall和spearman。我们需要根据特定的应用场景选择适当的方法和参数。