对含有空值的数据使用 np.corrcoef
计算 Pearson 和 Spearman 相关系数
本文实验探究了 np.corrcoef
在对含有空值的数据计算 Pearson 相关系数和 Spearman 相关系数时的结果。
np.corrcoef
在计算相关系数时,如果数据中存在一个空值,那么空值所在列与其他列的相关系数也会为空值。- 如果需要忽略空值后计算相关系数,可以使用
np.ma.corrcoef
,它的参数allow_masked
默认为True
。当传入一个MaskedArray
对象时,np.ma.corrcoef
会忽略掉其中的空值。 - 在对含有空值的数据使用
argsort().argsort()
对数据进行排序后,空值会被当做最小值,它也会获得一个排序值,空值内部的排序值大小取决于该空值所在的位置。因此,计算 Spearman 相关系数时,需要先手动删除空值。