计算DataFrame列之间的相关系数

    a = np.arange(1,10).reshape(3,3)
    data = DataFrame(a,index=["a","b","c"],columns=["one","two","three"])
    print(data)
    '''
       one  two  three
    a    1    2      3
    b    4    5      6
    c    7    8      9
    '''
    #计算第一列和第二列的相关系数
    print(data.one.corr(data.two))
    #1.0
    #返回一个相关系数矩阵
    print(data.corr())
    '''
           one  two  three
    one    1.0  1.0    1.0
    two    1.0  1.0    1.0
    three  1.0  1.0    1.0
    '''
    #计算第一列和第二列的协方差
    print(data.one.cov(data.two))
    #9.0
    #返回一个协方差矩阵
    print(data.cov())
    '''
           one  two  three
    one    9.0  9.0    9.0
    two    9.0  9.0    9.0
    three  9.0  9.0    9.0
    '''

相关性系数(pearson、spearman、kendall,pointbiserialr)

series.corr(other[, method, min_periods]) 

用途:

检查两个变量之间变化趋势的方向以及程度,值范围-1到+1,0表示两个变量不相关,正值表示正相关,负值表示负相关,值越大相关性越强。
计算积距pearson相关系数,连续性变量才可采用;计算Spearman秩相关系数,适合于定序变量或不满足正态分布假设的等间隔数据; 计算Kendall秩相关系数,适合于定序变量或不满足正态分布假设的等间隔数据。

1pearson correlation coefficient(皮尔森相关性系数)

在这里插入图片描述
公式可以化简为:
在这里插入图片描述
连续数据,正态分布,线性关系,用pearson相关系数是最恰当

spearman相关系数

在这里插入图片描述

不满足连续数据,正态分布,线性关系,用spearman相关系数是最恰,当两个定序测量数据之间也用spearman相关系数。

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐