部分代码
import os
import pandas as pd
import numpy as np
from scipy.stats import pearsonr
def Pearson(data):
selected = []
for i in range(len(data.columns) - 1):
coor, p = pearsonr(list(data.iloc[:, i]), list(data.iloc[:, -1]))
if p < 0.05 or len(selected) < 0.8 * (len(data.columns) - 1):
selected.append(data.columns[i])
print("{0}与Result的corr为: {1}".format(data.columns[i], coor))
if __name__ == "__main__":
path = os.path.join(os.getcwd(), 'XXX.xls')
# 读取数据
data = pd.read_excel(path, skiprows=0)
data.head()
X = np.array(data.iloc[:, :-1])
y = np.array(data.iloc[:, -1:])
# 3. 皮尔逊分析
remaining = Pearson(data)
data = data.loc[:, remaining + ['Result']]
print(data.head())
实验结果
完整代码链接:皮尔森相关性系数的计算python代码(三)
相关链接
1、皮尔森相关性系数的计算python代码(一)
2、皮尔森相关性系数的计算python代码(二)
3、皮尔森相关性系数的计算python代码(三)
4、皮尔森相关性系数的计算python代码(四)(热力图版)
5、斯皮尔曼相关系数计算的python代码