python数据分析

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

使用pandas进行数据预处理

  • 实训1 合并年龄、平均血糖和中风患者信息数据
    • 1. 训练要点
    • 2. 需求说明
    • 3. 实现思路及步骤
  • 实训2 删除年龄异常的数据
    • 1. 训练要点
    • 2. 需求说明
    • 3. 实现思路及步骤
  • 实训3 离散化年龄特征
    • 1.训练要点
    • 2. 需求说明
    • 3. 实现思路及步骤


实训1 合并年龄、平均血糖和中风患者信息数据

1. 训练要点

(1)掌握判断主键的方法
(2)掌握主键合并的方法

2. 需求说明

我国始终把保障人民健康放在优先发展的战略位置。“上医治未病”,建立疾病预防控制体系有利于从源头上预防和控制重大疾病。某医院为了早期监测预警患者的中风风险,对现有中风患者的基础信息和体检数据 (healthcare-dataset-stroke.xlsx)进行分析,其部分数据如表 1所示。经观察发现患者基础信息和体检数据中缺少中风患者的年龄和平均血糖的信息,然而在年龄和平均血糖数据(healthcare-dataset-age-abs.xlsx)中存放了分析所需的中风患者的年龄和平均血糖信息,其部分数据如表2所示。现需要对患者的年龄平均血糖数据与患者基础信息和体检数据进行合并,以便下一步分析。
在这里插入图片描述
在这里插入图片描述

3. 实现思路及步骤

# 实训1 合并年龄、平均血糖和中风患者信息数据
import pandas as pdimport numpy as np# (1)利用read_excel 函数读取 healthcare-dataset-age_abs.xlsx表ageabs=pd.read_excel("healthcare-dataset-age_abs.xlsx")ageabs.head()
# (2)利用read_excel 函数读取 healthcare-dataset-age_abs.xlsx表stroke=pd.read_excel("healthcare-dataset-stroke.xlsx")stroke.head()
# (3)查看两表的数据量。ageabs.count()stroke.count()
# (4)以编号作为主键进行外连接stroke1=pd.merge(stroke,ageabs,on="编号")# (5)查看数据是否合并成功
stroke1.head()

实训2 删除年龄异常的数据

1. 训练要点

掌握异常值数据处理的方法。

2. 需求说明

基于实训1的数据,经观察发现在年龄特征中存在异常值( 年龄数值为小数如 1.8),为了避免异常值数据对分析结果造成不良影响,需要对异常值进行处理。

3. 实现思路及步骤

# 实训2 删除年龄异常的数据# (1)获取年龄特征age = pd.DataFrame(stroke1['年龄'])age.head()
# (2)利用for 循环获取年龄特征中的数值,并用 if-else 语句判断年龄数值是否为异常值。n = 0for i in age.values:if i[0] <0:age.drop(level=i[0])else:n=n+1print(n)age.head()

实训3 离散化年龄特征

1.训练要点

(1)掌握函数的创建与使用方法。
(2)掌握离散化连续型数据 的方法。

2. 需求说明

用分类算法预测患者是否中风时,算法模型要求数据是离散的。在题目 2中已对年龄特征异常值进行了处理,现需要将连续型数据变换为离散型数据,使用等宽法对年龄特征进行离散化。

3. 实现思路及步骤

代码如下(示例):

# 3. 离散化年龄特征# (1)获取年龄特征。
# (2)使用等宽法离散化对年龄特征进行离散化。data = stroke1['年龄']list(data)
# 可视化def cluster_plot(d, k):import matplotlib.pyplot as pltplt.rcParams['font.sans-serif'] = ['SimHei']plt.rcParams['axes.unicode_minus'] = Falseplt.figure(figsize=(12, 4))for j in range(0, k):plt.plot(data[d == j], [j for i in d[d == j]], 'o')plt.ylim(-0.5, k - 0.5)return plt# data = np.random.randint(1, 100, 200)k = 10 # 分为5个等宽区间# 等宽离散d1 = pd.cut(data, k, labels=range(k))cluster_plot(d1, k).show()
#吸烟状态与中风发病率的关系
ax = sns.countplot("stroke",hue="smoking_status",data=data)
plt.ylabel("中风发病率")
annot_plot(ax)
plt.show()
#bmi箱线图
sns.boxplot(x="stroke",y="bmi",data=data)
plt.ylabel("中风与不中风人群的bmi分布情况")
plt.show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/255292.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Linux AMH服务器管理面板本地安装与远程访问

最近&#xff0c;我发现了一个超级强大的人工智能学习网站。它以通俗易懂的方式呈现复杂的概念&#xff0c;而且内容风趣幽默。我觉得它对大家可能会有所帮助&#xff0c;所以我在此分享。点击这里跳转到网站。 文章目录 1. Linux 安装AMH 面板2. 本地访问AMH 面板3. Linux安装…

java单人聊天

服务端 package 单人聊天;import java.awt.BorderLayout; import java.awt.event.ActionEvent; import java.awt.event.ActionListener; import java.io.BufferedReader; import java.io.InputStream; import java.io.InputStreamReader; import java.io.OutputStream; import…

FastAPI查询参数和字符串校验

在FastAPI中&#xff0c;你可以为参数声明额外的信息和校验。这对于查询参数来说尤其有用&#xff0c;因为它们通常用于过滤或排序结果。本教程将引导你如何使用Query对象来添加这些额外的校验。 导入所需库 首先&#xff0c;你需要导入FastAPI以及Query对象&#xff1a; fr…

品牌拆解丨花知晓如何做到“少女心”天花板

少女会变老&#xff0c;但少女心不会。 “少女心”彩妆品牌花知晓这段时间特别出圈。 故事从花知晓品牌创始人包老板开始&#xff0c;第一次上综艺《所有女生的offer3》&#xff0c;在和李佳琦的谈判中&#xff0c;包老板温柔可爱的表现圈粉不少&#xff0c;199元带走4件正装…

8. 信号基础

8. 信号基础 1. 基本概念1.1 信号的目的是用来通信的1.2 信号由谁处理、怎么处理1.3 信号是异步的 2. 信号的分类2.1 可靠信号和不可靠信号2.2 实时信号和非实时信号 3. 进程对信号的处理3.1 signal()3.2 sigaction()3.2.1 struct sigaction3.2.2 实例 4. 向进程发送信号4.1 ki…

【java】Java程序员,你掌握了多线程吗?

摘要&#xff1a;互联网的每一个角落&#xff0c;无论是大型电商平台的秒杀活动&#xff0c;社交平台的实时消息推送&#xff0c;还是在线视频平台的流量洪峰&#xff0c;背后都离不开多线程技术的支持。在数字化转型的过程中&#xff0c;高并发、高性能是衡量系统性能的核心指…

两种做法——判断是否是二叉搜索树

https://leetcode.cn/problems/validate-binary-search-tree/description/?envTypestudy-plan-v2&envIdtop-interview-150 方法一&#xff1a;中序遍历 考虑只有两个节点和一个结点的情况&#xff0c;可以头尾各加一个最大最小值&#xff0c;不用特判了&#xff0c;也可…

一.初始typescript

什么是ts 首先我们要确认typescript是一个语言&#xff0c;是等同于JavaScript层级得&#xff0c;并不是一些人认为得是JavaScript得类型规范工具或者插件。 ts与js的差异 从type script这个名字就可以看出&#xff0c;ts其实是JavaScript的一个类型化超集&#xff0c;它增…

电脑搜不自己的手机热点,其余热点均可!

一、现象&#xff1a; 之前可正常连接&#xff0c;突然间发现收不到自己的WiFi信号&#xff0c;其余人均可收到。通过重复手机电脑关机、改变热点设置中的频段等方式均没解决&#xff0c;同事电脑和手机可搜索到我的WiFi。 二、问题&#xff1a; WiF驱动程序更新 三&#x…

覆盖路径生成算法STC(Spanning Tree Coverage)

STC 一种最基本的基于栅格地图的覆盖路径生成算法&#xff0c;代码地址。 以初始点为根节点最小生成树。将每个格子分成2x2小格子。先序遍历最小生成树&#xff08;顺时针或者逆时针包围&#xff09;&#xff0c;可以画出包围整棵生成树的哈密顿路径。 覆盖分析 在网格地图…

谷歌Gemini AI模型使用指南

引言 2023年12月7日&#xff0c;谷歌宣布推出其迄今为止功能最强大、最通用的多模态人工智能&#xff08;AI&#xff09;大模型&#xff1a;Gemini。根据最新的性能评估&#xff0c;Gemini在多项指标上已经超越了ChatGPT 4。 Gemini的使用教程 Gemini 模型从大到小分为Ultra…

深度学习疫情社交安全距离检测算法 - python opencv cnn 计算机竞赛

文章目录 0 前言1 课题背景2 实现效果3 相关技术3.1 YOLOV43.2 基于 DeepSort 算法的行人跟踪 4 最后 0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; **基于深度学习疫情社交安全距离检测算法 ** 该项目较为新颖&#xff0c;适合作为竞赛…