python实现均值类指标差异分析-Mann-Whitney U-test(完整代码+实现效果)
实现功能:
对于均值类指标的差异分析,采用单因素方差分析,若指标分布服从正态分布,对于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(完整代码+实现效果)相关推荐
- Python编程,使用turtle画出漂亮的雪花--完整代码绘画实现洁白的雪绒花~~
Python编程,使用turtle画出漂亮的雪花--完整代码实现洁白的雪绒花~~ Python中turtle库,可以方便的让你实现各种各样的功能.简单易用,有的时候能够创作出,你想像不到的漂亮图案.今 ...
- python机器学习案例-支持向量机建模及评估(完整代码+实现效果)
实现功能: python机器学习案例-支持向量机建模及评估. 实现代码: # 导入需要的库 from warnings import simplefilter simplefilter(action= ...
- python机器学习-朴素贝叶斯(Naive Bayes)模型建立及评估(完整代码+实现效果)
实现功能: python机器学习-朴素贝叶斯(Naive Bayes)模型建立及评估. 实现代码: # 导入需要的库 from warnings import simplefilter simplef ...
- 【Groovy】编译时元编程 ( ASTTransformation#visit 方法中访问 Groovy 类、方法、字段、属性 | 完整代码示例及进行编译时处理的编译过程 )
文章目录 一.ASTTransformation#visit 方法中访问 Groovy 类.方法.字段.属性 二.完整代码示例及进行编译时处理的编译过程 1.Groovy 脚本 Groovy.groo ...
- python 数据分析找到老外最喜欢的中国美食【完整代码】
一.环境及依赖 语言:python3.8 抓取:selenium 代理:ipide **注:**想要完整代码的在末尾,注意新手建议慢慢看完.在此提示一下本篇文章的编写步骤:1.获取数据.2.翻译.3. ...
- python print table_python 6.7 编写printTable()函数表格打印(完整代码)
编写一个名为printTable()的函数,它接受字符串的列表的列表,将它显示在组织良好的表格中,每列右对齐.假定所有内层列表都包含同样数目的字符串 输入: tableData = [['apple' ...
- Python实战-新能源王者宁德时代股权穿透研究(附完整代码)
继上一篇对贵州茅台和华能信托的股权穿透研究后,又持续对代码做了优化更新,本篇研究新能源王者宁德时代 目录 1.查找网站爱企查 2.搜索新能源王者宁德时代 2.1 company_name 参数是:宁德 ...
- 请用python编写一个斗地主小游戏,并给出完整代码
很高兴为您服务!这是一个使用Python编写的斗地主小游戏的完整代码:# 导入必备模块 import random# 定义一副牌 poker = ['A', 2, 3, 4, 5, 6, 7, 8, ...
- Python基于tk界面的万年历+阳历阴历(附完整代码)
一.介绍tkinter并下载 tkinter tkinter(Tk interface)是Python的标准GUl库,支持跨平台的GUl程序开发.tkinter适合小型的GUl程序编写,也特别适合初学 ...
最新文章
- Java学习之Hello World 第一个小程序
- 成功解决TypeError: Singleton array array('data_input/xgboost/data_RentListingInquries/RentListingInqurie
- UWP应用程序使用Prism框架构建MVVM
- pip时read time out
- boost::fruchterman_reingold_force_directed_layout用法的测试程序
- java中类图概念,程序员眼中的UML(4)--类图释疑之一,Attribute和Property之区别
- python设计模式(十四):模板方法模式
- Flowable学习笔记(一、入门)
- react如何监听路由url变化
- BZOJ1026[SCOI2009]windy数
- linux下QOS--理论篇
- win10远程桌面_怎么选择Win10系统版本?家庭版与专业版的对比介绍
- php 图片印章_在线生成实用又方便 (图片印章)
- 详细说明如何在pycharm不联网的情况下,离线安装第三方库及依赖包(如sklearn)
- 【渝粤题库】广东开放大学 文化服务营销管理 形成性考核 (2)
- 2022届浙江工业大学计算机专硕考研上岸经验贴
- 电力系统谐波影响及治理
- 【好东西要分享】大文本文件查看工具
- 好分数阅卷3.0_好分数阅卷3.0app
- matlab 滤波器设计 coe_FIR滤波器