计算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相关系数。