我现在是自己写的小函数来计算相关系数的。Python里有没有现成的函数能够计算两个数组的相关系数的?
3个回答
还有一种是numpy.corrcoef。这个可以可以求多个数组的相关系数。
比如要求a,b,c,d两两之间的相关系数。
import numpy as np
np.corrcoef([a,b,c,d])
得到一个4乘4的对称矩阵,矩阵元素就是相关系数。
SofaSofa数据科学社区DS面试题库 DS面经>>> import scipy.stats as stats
>>> a = [1.2, 1.5, 1.9]; b = [2.2, 2.5, 3.1]
>>> stats.pearsonr(a,b)
(0.99419162560192009, 0.068648785502029797)
返回的第一个数0.99419就是a和b的相关系数。第二个数0.0686是以a和b不同为零假设下的p值。
SofaSofa数据科学社区DS面试题库 DS面经如果数据在pandas的DataFrame里的话,可以直接调用df.corr(),这个应该是最方便的了
>>> import pandas as pd
>>> df = pd.DataFrame()
>>> df['a'] = [1, 3, 2, 4]
>>> df['b'] = [1, 2, 3, 5]
>>> df.corr()
a b
a 1.000000 0.831522
b 0.831522 1.000000
SofaSofa数据科学社区DS面试题库 DS面经 相关主题
为啥计算pearson相关系数和线性回归的coef不同呢
2回答
如果x是等级变量, y是连续变量 相关分析是不是用speaman
1回答
有序分类变量的相关系数
2回答
相关系数的p值是怎么算的?
2回答
回归中自变量和因变量的相关系数和回归系数(斜率)有什么关系?
3回答
超几何分布几何分布的关联?
2回答
相关中的效率指啥??
1回答
两个变量不相关但是也不独立
2回答
我们谢绝在回答前讲“生动”的故事。
我们谢绝“这么简单,你自己想”、“书上有的,你认真看”这类的回答;如果你认为对方的提问方式或者内容不妥,你可以直接忽略该问题,不用进行任何作答,甚至可以对该问题投反对票。
我们谢绝答非所问。
我们谢绝自己不会、硬要回答。
我们感激每一个用户在编写答案时的努力与付出!