如果要加上数据集的索引,可以将数据集的索引和皮尔逊相关系数一起存储到一个DataFrame中,然后使用DataFrame的plot函数来绘制柱状图。以下是修改后的代码:
```python
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
def pearson_correlation(x, y):
"""
计算两个向量x和y之间的皮尔逊相关系数。
:param x: 第一个向量
:param y: 第二个向量
:return: 皮尔逊相关系数
"""
# 计算均值
x_mean = np.mean(x)
y_mean = np.mean(y)
# 计算分子和分母
numerator = np.sum((x - x_mean) * (y - y_mean))
denominator = np.sqrt(np.sum((x - x_mean) ** 2) * np.sum((y - y_mean) ** 2))
# 计算皮尔逊相关系数
if denominator == 0:
return 0
else:
return numerator / denominator
# 读取数据
data = pd.read_csv('E:\lunwenpython\measures_v2.csv')
# 分离特征和标签
X = data.iloc[:, :-1].values
y = data.iloc[:, -1].values
# 计算每一列特征与标签之间的皮尔逊相关系数
corrs = []
for i in range(X.shape[1]):
corr = pearson_correlation(X[:, i], y)
corrs.append(corr)
# 将数据集的索引和皮尔逊相关系数一起存储到一个DataFrame中
df = pd.DataFrame({'Pearson Correlation Coefficient': corrs}, index=data.columns[:-1])
# 可视化皮尔逊相关系数
df.plot(kind='bar')
plt.xlabel('Features')
plt.ylabel('Pearson Correlation Coefficient')
plt.show()
```
这里我们使用了DataFrame的plot函数来绘制柱状图,用kind参数指定图表类型为