np.corrcoef()方法计算数据皮尔逊积矩相关系数(Pearson's r)
上一篇通过公式自己写了一个计算两组数据的皮尔逊积矩相关系数(Pearson's r)的方法,但np已经提供了一个用于计算皮尔逊积矩相关系数(Pearson's r)的方法 np.corrcoef() :
a = pd.Series([1,2,3,4,5,6,7,8,9,10]) b = pd.Series([2,4,1,5,1,3,6,2,7,0]) c = pd.Series([0,3,2,1,4,7,1,9,6,2]) x = np.vstack((a,b,c)) r = np.corrcoef(x) print(r)
[[1. 0.10233683 0.47840854] [0.10233683 1. 0.0242104 ] [0.47840854 0.0242104 1. ]]
需要注意的是, np.corrcoef() 接受的参数是一个矩阵,返回的结果也是一个矩阵
以上面的代码为例: a,b,c 分别为第 0,1,2 组数组,返回的矩阵结果 r[i][j] 分别为第 i 组数据和第 j 组数据的皮尔逊积矩相关系数:
r[0][0] 计算的是第 [0] 组数组和第 [0] 组数据的相关系数,也就是 a 和 a,结果当然是1.
r[0][1] 计算的是第 [0] 组数组和第 [1] 组数据的相关系数,也就是 a和 b,结果是0.10233683
r[2][0] 计算的是第 [2] 组数组和第 [0] 组数据的相关系数,也就是 c和 a,结果是0.47840854