python对数据列表进行正态分布检验,结果写入excel

2024-03-12 06:10

本文主要是介绍python对数据列表进行正态分布检验,结果写入excel,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

最近刚入门python,欢迎大家多多指教!
最近接到老师的一个项目,要求对一些医疗数据进行分析

现在编写一个allfunction.py函数文件,使得获取excel的数据后,可以对数据进行数据分析。

from xlrd import open_workbook
from xlutils.copy import copy
import xlrd
import xlwt
from pandas.core.frame import DataFrame
from datetime import date, datetime
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from scipy import stats
from xlutils.copy import copy# 绘图大致判断其是否符合正态分布
def drawing(list,drawfilename):c = {"HR_SCORE_CHANGE": list}  datas = DataFrame(c)print(datas)fig = plt.figure(figsize = (10,6))ax2 = fig.add_subplot(1,1,1)datas.hist(bins=50,ax = ax2)datas.plot(kind = 'kde', secondary_y=True,ax = ax2)plt.grid()plt.savefig(drawfilename + "描绘正态分布直方图.png")  # 保存图片#plt.show()plt.cla()plt.clf()plt.close()#list为分析的列表,string为excel中的添加的总标题名
def analyselist(list,string):# .kstest方法:KS检验,参数分别是:待检验的数据,检验方法(这里设置成norm正态分布),均值与标准差# 结果返回两个值:statistic → D值,pvalue → P值,p值大于0.05,为正态分布df = pd.DataFrame(list, columns=['value'])u = df['value'].mean()  # 计算均值std = df['value'].std()  # 计算标准差result = stats.kstest(df['value'], 'norm', (u, std))#数据记入至excel表r_xls = open_workbook("Summary of analysis results.xls") # 读取excel文件rows_old = r_xls.sheets()[0].nrows # 获取已有的行数excel = copy(r_xls) # 将xlrd的对象转化为xlwt的对象table = excel.get_sheet(0) # 获取要操作的sheet#print (rows_old)#对excel表追加一行内容table.write_merge(1 + rows_old, 1 + rows_old, 0, 6, string) #合并0至6列的单元格,写入stringtitle = ["最大值", "最小值", "平均值", "方差", "标准差", "变异系数", "pvalue"]# 写入"最大值", "最小值", "平均值", "方差", "标准差", "变异系数", "pvalue"标题for i in range(0, len(title)):table.write(2 + rows_old, i, title[i])table.write(3 + rows_old, 0, str(np.max(list)))table.write(3 + rows_old, 1, str(np.min(list)))table.write(3 + rows_old, 2, str(format(np.mean(list),'.4f')))table.write(3 + rows_old, 3, str(format(np.var(list),'.4f')))table.write(3 + rows_old, 4, str(format(np.std(list), '.4f')))table.write(3 + rows_old, 5, str(format((np.std(list, ddof=1)/np.mean(list)), '.4f')))table.write(3 + rows_old, 6, result[1])if float(result[1])> 0.05:table.write_merge(4 + rows_old, 4 + rows_old, 0, 6, "输出结果pvalue>0.05,接受其符合正态分布的假设!")else:table.write_merge(4, 4, 0, 6, "输出结果pvalue<0.05,不接受其符合正态分布的假设!")excel.save("Summary of analysis results.xls") # 保存并覆盖文件

结果如下:
在这里插入图片描述
在这里插入图片描述
代码借鉴了很多CSDN博主和博客园上发表的文章,涉及较多,没有一一记录,在这里向他们表示感谢,初学python很多东西不是特别熟练,欢迎大家多多交流
其实使用pandas写入excel更为方便
例如:要使用pandas 筛选出客户姓名以大写字母J 开头的那些行

#!/usr/bin/env python3
import pandas as pd
import sys
input_file = sys.argv[1]
output_file = sys.argv[2]
data_frame = pd.read_excel(input_file, 'january_2013', index_col=None)
data_frame_value_matches_pattern = data_frame[data_frame['Customer Name'].str.startswith("J")]
writer = pd.ExcelWriter(output_file)
data_frame_value_matches_pattern.to_excel(writer, sheet_name='jan_13_output',index=False)
writer.save()

这篇关于python对数据列表进行正态分布检验,结果写入excel的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/800350

相关文章

如何使用celery进行异步处理和定时任务(django)

《如何使用celery进行异步处理和定时任务(django)》文章介绍了Celery的基本概念、安装方法、如何使用Celery进行异步任务处理以及如何设置定时任务,通过Celery,可以在Web应用中... 目录一、celery的作用二、安装celery三、使用celery 异步执行任务四、使用celery

使用Python绘制蛇年春节祝福艺术图

《使用Python绘制蛇年春节祝福艺术图》:本文主要介绍如何使用Python的Matplotlib库绘制一幅富有创意的“蛇年有福”艺术图,这幅图结合了数字,蛇形,花朵等装饰,需要的可以参考下... 目录1. 绘图的基本概念2. 准备工作3. 实现代码解析3.1 设置绘图画布3.2 绘制数字“2025”3.3

详谈redis跟数据库的数据同步问题

《详谈redis跟数据库的数据同步问题》文章讨论了在Redis和数据库数据一致性问题上的解决方案,主要比较了先更新Redis缓存再更新数据库和先更新数据库再更新Redis缓存两种方案,文章指出,删除R... 目录一、Redis 数据库数据一致性的解决方案1.1、更新Redis缓存、删除Redis缓存的区别二

Redis事务与数据持久化方式

《Redis事务与数据持久化方式》该文档主要介绍了Redis事务和持久化机制,事务通过将多个命令打包执行,而持久化则通过快照(RDB)和追加式文件(AOF)两种方式将内存数据保存到磁盘,以防止数据丢失... 目录一、Redis 事务1.1 事务本质1.2 数据库事务与redis事务1.2.1 数据库事务1.

python使用watchdog实现文件资源监控

《python使用watchdog实现文件资源监控》watchdog支持跨平台文件资源监控,可以检测指定文件夹下文件及文件夹变动,下面我们来看看Python如何使用watchdog实现文件资源监控吧... python文件监控库watchdogs简介随着Python在各种应用领域中的广泛使用,其生态环境也

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

Java调用Python代码的几种方法小结

《Java调用Python代码的几种方法小结》Python语言有丰富的系统管理、数据处理、统计类软件包,因此从java应用中调用Python代码的需求很常见、实用,本文介绍几种方法从java调用Pyt... 目录引言Java core使用ProcessBuilder使用Java脚本引擎总结引言python

python 字典d[k]中key不存在的解决方案

《python字典d[k]中key不存在的解决方案》本文主要介绍了在Python中处理字典键不存在时获取默认值的两种方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,... 目录defaultdict:处理找不到的键的一个选择特殊方法__missing__有时候为了方便起见,

使用Python绘制可爱的招财猫

《使用Python绘制可爱的招财猫》招财猫,也被称为“幸运猫”,是一种象征财富和好运的吉祥物,经常出现在亚洲文化的商店、餐厅和家庭中,今天,我将带你用Python和matplotlib库从零开始绘制一... 目录1. 为什么选择用 python 绘制?2. 绘图的基本概念3. 实现代码解析3.1 设置绘图画

Python pyinstaller实现图形化打包工具

《Pythonpyinstaller实现图形化打包工具》:本文主要介绍一个使用PythonPYQT5制作的关于pyinstaller打包工具,代替传统的cmd黑窗口模式打包页面,实现更快捷方便的... 目录1.简介2.运行效果3.相关源码1.简介一个使用python PYQT5制作的关于pyinstall