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

相关文章

Python调用Orator ORM进行数据库操作

《Python调用OratorORM进行数据库操作》OratorORM是一个功能丰富且灵活的PythonORM库,旨在简化数据库操作,它支持多种数据库并提供了简洁且直观的API,下面我们就... 目录Orator ORM 主要特点安装使用示例总结Orator ORM 是一个功能丰富且灵活的 python O

Nginx设置连接超时并进行测试的方法步骤

《Nginx设置连接超时并进行测试的方法步骤》在高并发场景下,如果客户端与服务器的连接长时间未响应,会占用大量的系统资源,影响其他正常请求的处理效率,为了解决这个问题,可以通过设置Nginx的连接... 目录设置连接超时目的操作步骤测试连接超时测试方法:总结:设置连接超时目的设置客户端与服务器之间的连接

Python使用国内镜像加速pip安装的方法讲解

《Python使用国内镜像加速pip安装的方法讲解》在Python开发中,pip是一个非常重要的工具,用于安装和管理Python的第三方库,然而,在国内使用pip安装依赖时,往往会因为网络问题而导致速... 目录一、pip 工具简介1. 什么是 pip?2. 什么是 -i 参数?二、国内镜像源的选择三、如何

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

如何通过Python实现一个消息队列

《如何通过Python实现一个消息队列》这篇文章主要为大家详细介绍了如何通过Python实现一个简单的消息队列,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录如何通过 python 实现消息队列如何把 http 请求放在队列中执行1. 使用 queue.Queue 和 reque

Python如何实现PDF隐私信息检测

《Python如何实现PDF隐私信息检测》随着越来越多的个人信息以电子形式存储和传输,确保这些信息的安全至关重要,本文将介绍如何使用Python检测PDF文件中的隐私信息,需要的可以参考下... 目录项目背景技术栈代码解析功能说明运行结php果在当今,数据隐私保护变得尤为重要。随着越来越多的个人信息以电子形

使用 sql-research-assistant进行 SQL 数据库研究的实战指南(代码实现演示)

《使用sql-research-assistant进行SQL数据库研究的实战指南(代码实现演示)》本文介绍了sql-research-assistant工具,该工具基于LangChain框架,集... 目录技术背景介绍核心原理解析代码实现演示安装和配置项目集成LangSmith 配置(可选)启动服务应用场景

使用Python快速实现链接转word文档

《使用Python快速实现链接转word文档》这篇文章主要为大家详细介绍了如何使用Python快速实现链接转word文档功能,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 演示代码展示from newspaper import Articlefrom docx import

Python Jupyter Notebook导包报错问题及解决

《PythonJupyterNotebook导包报错问题及解决》在conda环境中安装包后,JupyterNotebook导入时出现ImportError,可能是由于包版本不对应或版本太高,解决方... 目录问题解决方法重新安装Jupyter NoteBook 更改Kernel总结问题在conda上安装了

如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解

《如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别详解》:本文主要介绍如何通过海康威视设备网络SDK进行Java二次开发摄像头车牌识别的相关资料,描述了如何使用海康威视设备网络SD... 目录前言开发流程问题和解决方案dll库加载不到的问题老旧版本sdk不兼容的问题关键实现流程总结前言作为