python里皮尔逊相关系数
时间: 2023-10-14 14:26:56 浏览: 43
皮尔逊相关系数是一种衡量两个变量之间线性相关性的方法。在 Python 中,可以使用 `scipy` 库中的 `pearsonr` 函数来计算皮尔逊相关系数。
以下是一个示例代码:
```python
import scipy.stats as stats
# 定义两个变量
x = [1, 2, 3, 4, 5]
y = [2, 4, 6, 8, 10]
# 计算皮尔逊相关系数
r, p = stats.pearsonr(x, y)
# 输出结果
print("皮尔逊相关系数:", r)
print("p 值:", p)
```
输出结果为:
```
皮尔逊相关系数: 1.0
p 值: 0.0
```
其中,皮尔逊相关系数为 1,表示两个变量之间存在完全正相关关系。p 值为 0,表示这种相关关系非常显著。
相关问题
python实现皮尔逊相关系数
要在Python中实现皮尔逊相关系数,你可以使用`numpy`库的`corrcoef`函数。以下是一个简单的示例代码:
```python
import numpy as np
# 创建两个数组作为示例数据
x = np.array([1, 2, 3, 4, 5])
y = np.array([5, 4, 3, 2, 1])
# 计算皮尔逊相关系数
corr_matrix = np.corrcoef(x, y)
corr_coefficient = corr_matrix[0, 1]
print("皮尔逊相关系数:", corr_coefficient)
```
在这个示例中,我们创建了两个示例数据数组`x`和`y`。然后,我们使用`np.corrcoef`函数计算两个数组之间的相关系数矩阵。最后,我们从矩阵中提取出皮尔逊相关系数并进行打印输出。
请注意,`np.corrcoef`函数接受的参数是一维数组或二维数组,所以你可以将多个一维数组作为参数传递给该函数来计算它们之间的相关系数。
python绘制皮尔逊相关系数图
以下是使用Python绘制皮尔逊相关系数图的示例代码:
```python
import seaborn as sns
import matplotlib.pyplot as plt
# 计算皮尔逊相关系数并绘制热力图
sns.heatmap(df.corr(method='pearson'), linewidths=0.1, vmax=1.0, square=True, linecolor='white', annot=True)
plt.title('皮尔逊热力图')
plt.show()
```
这段代码使用了`seaborn`库和`matplotlib`库来绘制热力图。首先,使用`df.corr(method='pearson')`计算数据框`df`中的皮尔逊相关系数。然后,使用`sns.heatmap()`函数绘制热力图,其中`linewidths`参数设置热力图中每个方块的边框宽度,`vmax`参数设置颜色映射的最大值,`square`参数设置方块的形状为正方形,`linecolor`参数设置边框颜色,`annot`参数设置是否在方块中显示相关系数的数值。最后,使用`plt.title()`函数设置图表的标题,并使用`plt.show()`函数显示图表。