实现功能

对于均值类指标的差异分析,采用单因素方差分析,若指标分布服从正态分布,对于2个独立样本采用T检验或者Z检验,对于多个(大于2个)独立样本采用F检验,若分布不服从正态分布,对于2个独立样本采用Mann-Whitney U-test。python实现均值类指标差异分析-Mann-Whitney U-test。

实现代码:

# 导入需要的库
from warnings import simplefilter
simplefilter(action='ignore', category=FutureWarning)
import pandas as pd
import numpy as np
import scipy.stats as stats# =============读取数据===========
def Read_data(file):dt = pd.read_csv(file)dt.columns = ['age', 'sex', 'chest_pain_type', 'resting_blood_pressure', 'cholesterol', 'fasting_blood_sugar','rest_ecg', 'max_heart_rate_achieved', 'exercise_induced_angina', 'st_depression', 'st_slope','num_major_vessels', 'thalassemia', 'target']data = dtreturn data# ===========数据清洗==============
def data_clean(data):# 重复值处理print('存在' if any(data.duplicated()) else '不存在', '重复观测值')data.drop_duplicates()# 缺失值处理print('不存在' if any(data.isnull()) else '存在', '缺失值')data.dropna()  # 直接删除记录data.fillna(method='ffill')  # 前向填充data.fillna(method='bfill')  # 后向填充data.fillna(value=2)  # 值填充data.fillna(value={'resting_blood_pressure': data['resting_blood_pressure'].mean()})  # 统计值填充# 异常值处理data1 = data['resting_blood_pressure']# 标准差监测xmean = data1.mean()xstd = data1.std()print('存在' if any(data1 > xmean + 2 * xstd) else '不存在', '上限异常值')print('存在' if any(data1 < xmean - 2 * xstd) else '不存在', '下限异常值')# 箱线图监测q1 = data1.quantile(0.25)q3 = data1.quantile(0.75)up = q3 + 1.5 * (q3 - q1)dw = q1 - 1.5 * (q3 - q1)print('存在' if any(data1 > up) else '不存在', '上限异常值')print('存在' if any(data1 < dw) else '不存在', '下限异常值')print(data)return data#=============mannwhitneyu检验======================
def mannwhitneyu_age(data):data1=data[['age','target']]print(data1['age'].values)print(np.mean(data1['age'].values), np.std(data1['age'].values))data_age_Y=data1[(data1['target'] ==1)]print(len(data_age_Y))print(data_age_Y['age'].values)print(np.mean(data_age_Y['age'].values), np.std(data_age_Y['age'].values))data_age_N=data1[(data1['target'] ==0)]print(len(data_age_N))print(data_age_N['age'].values)print(np.mean(data_age_N['age'].values), np.std(data_age_N['age'].values))MWU=stats.mannwhitneyu(data_age_Y['age'].values, data_age_N['age'].values, alternative='two-sided')print(MWU)#============主函数==============
if __name__=="__main__":data1=Read_data("F:\数据杂坛\\0504\heartdisease\Heart-Disease-Data-Set-main\\UCI Heart Disease Dataset.csv")data1=data_clean(data1)mannwhitneyu_age(data1)

实现效果:

喜欢记得点赞,在看,收藏,

关注V订阅号:数据杂坛,获取数据集,完整代码和效果,将持续更新!

python实现均值类指标差异分析-Mann-Whitney U-test(完整代码+实现效果)相关推荐

  1. Python编程,使用turtle画出漂亮的雪花--完整代码绘画实现洁白的雪绒花~~

    Python编程,使用turtle画出漂亮的雪花--完整代码实现洁白的雪绒花~~ Python中turtle库,可以方便的让你实现各种各样的功能.简单易用,有的时候能够创作出,你想像不到的漂亮图案.今 ...

  2. python机器学习案例-支持向量机建模及评估(完整代码+实现效果)

    实现功能: python机器学习案例-支持向量机建模及评估. 实现代码: # 导入需要的库 from warnings import simplefilter simplefilter(action= ...

  3. python机器学习-朴素贝叶斯(Naive Bayes)模型建立及评估(完整代码+实现效果)

    实现功能: python机器学习-朴素贝叶斯(Naive Bayes)模型建立及评估. 实现代码: # 导入需要的库 from warnings import simplefilter simplef ...

  4. 【Groovy】编译时元编程 ( ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性 | 完整代码示例及进行编译时处理的编译过程 )

    文章目录 一.ASTTransformation#visit 方法中访问 Groovy 类.方法.字段.属性 二.完整代码示例及进行编译时处理的编译过程 1.Groovy 脚本 Groovy.groo ...

  5. python 数据分析找到老外最喜欢的中国美食【完整代码】

    一.环境及依赖 语言:python3.8 抓取:selenium 代理:ipide **注:**想要完整代码的在末尾,注意新手建议慢慢看完.在此提示一下本篇文章的编写步骤:1.获取数据.2.翻译.3. ...

  6. python print table_python 6.7 编写printTable()函数表格打印(完整代码)

    编写一个名为printTable()的函数,它接受字符串的列表的列表,将它显示在组织良好的表格中,每列右对齐.假定所有内层列表都包含同样数目的字符串 输入: tableData = [['apple' ...

  7. Python实战-新能源王者宁德时代股权穿透研究(附完整代码)

    继上一篇对贵州茅台和华能信托的股权穿透研究后,又持续对代码做了优化更新,本篇研究新能源王者宁德时代 目录 1.查找网站爱企查 2.搜索新能源王者宁德时代 2.1 company_name 参数是:宁德 ...

  8. 请用python编写一个斗地主小游戏,并给出完整代码

    很高兴为您服务!这是一个使用Python编写的斗地主小游戏的完整代码:# 导入必备模块 import random# 定义一副牌 poker = ['A', 2, 3, 4, 5, 6, 7, 8, ...

  9. Python基于tk界面的万年历+阳历阴历(附完整代码)

    一.介绍tkinter并下载 tkinter tkinter(Tk interface)是Python的标准GUl库,支持跨平台的GUl程序开发.tkinter适合小型的GUl程序编写,也特别适合初学 ...

最新文章

  1. Java学习之Hello World 第一个小程序
  2. 成功解决TypeError: Singleton array array('data_input/xgboost/data_RentListingInquries/RentListingInqurie
  3. UWP应用程序使用Prism框架构建MVVM
  4. pip时read time out
  5. boost::fruchterman_reingold_force_directed_layout用法的测试程序
  6. java中类图概念,程序员眼中的UML(4)--类图释疑之一,Attribute和Property之区别
  7. python设计模式(十四):模板方法模式
  8. Flowable学习笔记(一、入门)
  9. react如何监听路由url变化
  10. BZOJ1026[SCOI2009]windy数
  11. linux下QOS--理论篇
  12. win10远程桌面_怎么选择Win10系统版本?家庭版与专业版的对比介绍
  13. php 图片印章_在线生成实用又方便 (图片印章)
  14. 详细说明如何在pycharm不联网的情况下,离线安装第三方库及依赖包(如sklearn)
  15. 【渝粤题库】广东开放大学 文化服务营销管理 形成性考核 (2)
  16. 2022届浙江工业大学计算机专硕考研上岸经验贴
  17. 电力系统谐波影响及治理
  18. 【好东西要分享】大文本文件查看工具
  19. 好分数阅卷3.0_好分数阅卷3.0app
  20. matlab 滤波器设计 coe_FIR滤波器

热门文章

  1. pp加速器简易去广告
  2. A380上11万一张的机票什么享受?来看看
  3. Fastjson处理复杂层级关系的json对象
  4. 今天成功刷了我的E680G!
  5. 正则表达式常用规则:js正则 匹配 汉字、数字、英文字母、下划线 的 正则表达式
  6. TT浏览器的收藏夹的问题
  7. API 文档搜索引擎
  8. [附源码]计算机毕业设计JAVA合租吧管理系统
  9. 计算机病毒特征码会改变吗,基于N-Gram的计算机病毒特征码自动提取的改进方法...
  10. SUNDE桌面云推动班班通工程建设步伐