自学内容网 自学内容网

Pandas库学习之dataframe.corr()函数

Pandas库学习之dataframe.corr()函数

一、简介

dataframe.corr()是Pandas库中的一个函数,用于计算DataFrame中各列之间的相关系数。相关系数衡量的是两个变量之间线性关系的强度和方向,结果在-1到1之间,分别表示完全负相关和完全正相关。

二、语法和参数

DataFrame.corr(method='pearson', min_periods=1)
  • method: 可选。计算相关系数的方法,有’pearson’(默认)、‘kendall’、'spearman’三种可选。
    • 'pearson':标准皮尔逊相关系数。
    • 'kendall':肯德尔等级相关系数。
    • 'spearman':斯皮尔曼等级相关系数。
  • min_periods: 可选。每对元素的最小数量,以便计算相关系数。

三、实例

3.1 计算默认的皮尔逊相关系数
import pandas as pd

# 创建示例数据
data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1],
    'C': [2, 2, 3, 4, 4]
}
df = pd.DataFrame(data)

# 计算相关系数
correlation_matrix = df.corr()
print(correlation_matrix)

输出:

          A         B         C
A  1.000000 -1.000000  0.948683
B -1.000000  1.000000 -0.948683
C  0.948683 -0.948683  1.000000
3.2 计算斯皮尔曼相关系数
import pandas as pd

# 创建示例数据
data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1],
    'C': [2, 2, 3, 4, 4]
}
df = pd.DataFrame(data)

# 计算相关系数
correlation_matrix = df.corr(method='spearman')
print(correlation_matrix)

输出:

          A         B         C
A  1.000000 -1.000000  0.948683
B -1.000000  1.000000 -0.948683
C  0.948683 -0.948683  1.000000
3.3 计算斯皮尔曼相关系数
import pandas as pd

# 创建示例数据
data = {
    'A': [1, 2, 3, 4, 5],
    'B': [5, 4, 3, 2, 1],
    'C': [2, 2, 3, 4, 4]
}
df = pd.DataFrame(data)

# 计算相关系数
correlation_matrix = df.corr(method='kendall')
print(correlation_matrix)

输出

          A         B         C
A  1.000000 -1.000000  0.894427
B -1.000000  1.000000 -0.894427
C  0.894427 -0.894427  1.000000

四、注意事项

  • 当使用kendallspearman方法时,计算可能会比pearson方法慢,因为这些方法需要排序。
  • 如果数据集中存在NaN值,默认情况下这些值会被忽略。
  • 计算相关系数前,确保数据已经清洗并准备好,以避免错误或不准确的结果。

原文地址:https://blog.csdn.net/qq_46396470/article/details/140535702

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!