python文本数据相关性_Python实现统计描述以及计算皮尔逊相关系数

(一)、数据示例

在这里插入图片描述

(二)、从excel文件中读取数据

#从excel文件中读取数据

def read(file):

wb = xlrd.open_workbook(filename=file)#打开文件

sheet = wb.sheet_by_index(0)#通过索引获取表格

rows = sheet.nrows # 获取行数

all_content = [] #存放读取的数据

for j in range(0, 6): #取第1~第6列对的数据

temp = []

for i in range(1,rows) :

cell = sheet.cell_value(i, j) #获取数据

temp.append(cell)

all_content.append(temp) #按列添加到结果集中

temp = []

return np.array(all_content)

(三)、统计描述

#统计描述

def calculate(datas):

MIN = np.min(datas,axis = 1) #计算最小值

MAX = np.max(datas,axis = 1) #计算最大值

AVG = np.average(datas,axis = 1) #计算平均值

MEDIAN = np.median(datas,axis = 1) #计算中位数

SKEWNESS =stats.skew(datas,axis = 1) #计算偏度

KURTOSIS = stats.kurtosis(datas,axis = 1) #计算峰度

STD = np.std(datas,axis = 1) #计算标准差

result = np.array([MIN,MAX,AVG,MEDIAN,SKEWNESS,KURTOSIS,STD]) #形成一个矩阵

return result

(四)、将统计描述输出到excel文件中

#将统计描述输出到excel文件中

def write(answer_data):

writer = pd.ExcelWriter('C:\\Users\\lenovo\\Desktop\\数学建模\\相关系数\\A.xlsx') # 写入Excel文件

answer_data.to_excel(writer, 'page_1', float_format='%.5f') # ‘page_1’是写入excel的sheet名

writer.save()

writer.close()

(五)、综合代码

# -*- coding: utf-8 -*-

"""

Created on Mon Jul 29 16:53:19 2019

@author: lenovo

"""

import xlrd

import numpy as np

import pandas as pd

from scipy import stats

from scipy.stats import pearsonr

#从excel文件中读取数据

def read(file):

wb = xlrd.open_workbook(filename=file)#打开文件

sheet = wb.sheet_by_index(0)#通过索引获取表格

rows = sheet.nrows # 获取行数

all_content = [] #存放读取的数据

for j in range(0, 6): #取第1~第6列对的数据

temp = []

for i in range(1,rows) :

cell = sheet.cell_value(i, j) #获取数据

temp.append(cell)

all_content.append(temp) #按列添加到结果集中

temp = []

return np.array(all_content)

#统计描述

def calculate(datas):

MIN = np.min(datas,axis = 1) #计算最小值

MAX = np.max(datas,axis = 1) #计算最大值

AVG = np.average(datas,axis = 1) #计算平均值

MEDIAN = np.median(datas,axis = 1) #计算中位数

SKEWNESS =stats.skew(datas,axis = 1) #计算偏度

KURTOSIS = stats.kurtosis(datas,axis = 1) #计算峰度

STD = np.std(datas,axis = 1) #计算标准差

result = np.array([MIN,MAX,AVG,MEDIAN,SKEWNESS,KURTOSIS,STD]) #形成一个矩阵

return result

#将统计描述输出到excel文件中

def write(answer_data):

writer = pd.ExcelWriter('C:\\Users\\lenovo\\Desktop\\数学建模\\相关系数\\A.xlsx') # 写入Excel文件

answer_data.to_excel(writer, 'page_1', float_format='%.5f') # ‘page_1’是写入excel的sheet名

writer.save()

writer.close()

datas=read('C:\\Users\\lenovo\\Desktop\\数学建模\\相关系数\\第5讲.相关系数7.17\\代码和例题数据\\八年级女生体测数据.xlsx')

result = calculate(datas) #统计描述

corrcoe = np.corrcoef(result) #计算皮尔逊相关系数

answer_data = pd.DataFrame(result) #将ndarry转换为DataFrame

write(answer_data) #输出结果

(六)、结果展示

在这里插入图片描述

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值