"""pearson系数计算请先安装xlrd模块读取excel数据放置在sheet的前两列,第一行是标题,不要放数据"""import xlrddef re_excel_col(filename, sheet_index):'''读取表格中的某些列'''print("开始读取文件")# 需要读取表格的文件名 :filename# 默认sheet_index = 0 :sheet_indexdata = xlrd.open_workbook(filename)# 读取制定表格的sheet,一般第一个是0sheet = data.sheet_by_index(sheet_index)# 获取x和y的值,首行需要放置标签,x第一列,y第二列col_read_x_value = sheet.col_values(0, start_rowx = 1, end_rowx = None)col_read_y_value = sheet.col_values(1, start_rowx = 1, end_rowx = None)print("已经读取完毕"+ filename , end = '\n')pearson(col_read_x_value, col_read_y_value)def pearson(x_value, y_value):"""计算Pearson系数"""print("\n开始处理数据")# 计算X的平均值average_x = 0for i in x_value:average_x += iaverage_x = average_x len(x_value)# 计算Y的平均值average_y = 0for j in y_value:average_y += javerage_y = average_y / len(y_value)# 计算三个系数L_XY = 0L_XX = 0L_YY = 0for m,n in zip(x_value, y_value):L_XY += (average_x - m) * (average_y - n)L_XX += abs(average_x - m)**(2)L_YY += abs(average_y - n)**(2)r = L_XY / (L_XX * L_YY)**(1/2)r = format(r, '.8f')print("pearson系数为:", r)# 主程序(第一个元素选择excel表格的位置,第二个元素是第几个sheet,0是默认第一个sheet)re_excel_col(r'd:\Desktop\小程序\1.xlsx', 0)
文章转载自华罗庚的庚,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




