斯皮尔曼相关性分析python代码
时间: 2025-01-11 09:51:47 浏览: 10
Python 斯皮尔曼相关性分析
对于斯皮尔曼相关性的计算,在Python中可以借助scipy.stats.spearmanr()
函数来完成。此函数不仅能够返回表示关联程度的相关系数,还能提供评估该关系显著性的p值。
from scipy import stats
import numpy as np
# 创建样本数据集X和Y
np.random.seed(0)
X = np.random.rand(10,)
Y = X + np.random.normal(0, 0.5, 10)
# 计算斯皮尔曼相关性和P-value
rho, p_val = stats.spearmanr(X, Y)
print(f"Spearman Correlation Coefficient: {rho:.4f}")
print(f"P-value: {p_val:.4f}")
上述代码创建了一组随机数作为示例数据,并通过spearmanr()
函数得到了这两个数组间的斯皮尔曼秩相关系数以及对应的p值[^2]。
当处理的是存储于DataFrame结构内的表格型数据时,则可以通过指定参数method='spearman'的方式调用.corr()
方法来进行整个表内各列间成对的斯皮尔曼相关性测试:
import pandas as pd
dataframe = pd.DataFrame({
'A': range(10),
'B': [i ** 2 for i in range(10)],
})
correlation_matrix = dataframe.corr(method='spearman')
print(correlation_matrix)
这段代码构建了一个简单的含有线性增长序列及其平方值得到的新列表的数据框对象;接着应用了带有特定选项设置的.corr()
方法得到的结果是一个反映各个特征之间相互联系紧密度的矩阵形式输出[^1]。