pandas 笔记:corr(计算各列之间的相似性)

2023-12-20 00:26:27

1 基本使用方法

DataFrame.corr(method='pearson', min_periods=1, numeric_only=False)

2 主要参数

method

{‘pearson’, ‘kendall’, ‘spearman’} 或可调用对象

  • Pearson 相关系数

    • 变量之间线性关系的强度和方向。
    • 取值范围在 -1 到 +1 之间,其中 +1 表示完全正相关,-1 表示完全负相关,0 表示无相关。
    • 适用于两个变量均为连续数据且大致呈正态分布时
  • Kendall Tau相关系数

    • ??????????????评估两个变量之间的序数关联

    • 比Pearson相关系数对异常值更不敏感。
    • 适用于数据不满足正态分布、样本量较小或数据为序数变量时。
  • Spearman等级相关
    • ??????????测量两个变量值与其对应的排名之间的相关性。
    • 同样,取值范围为 -1 到 +1。
  • 可调用对象:输入为两个一维 ndarray,返回一个浮点数。
    • 需要注意的是,corr 返回的矩阵在对角线上将是 1,并且无论可调用对象的行为如何,都会是对称的。

3 举例

df = pd.DataFrame([(.2, .3), (.0, .6), (.6, .0), (.2, .1)],
                  columns=['dogs', 'cats'])
df
'''
	dogs	cats
0	0.2	    0.3
1	0.0	    0.6
2	0.6	    0.0
3	0.2	    0.1
'''

df.corr()
'''
	    dogs	cats
dogs	1.000000	-0.851064
cats	-0.851064	1.000000
'''
def histogram_intersection(a, b):
     v = np.minimum(a, b).sum()
     return v
'''
自定义函数:输入两列,返回一个数值
'''

df.corr(method=histogram_intersection)
'''
        dogs	cats
dogs	1.0	    0.3
cats	0.3	    1.0
'''

文章来源:https://blog.csdn.net/qq_40206371/article/details/135091452
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。