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 pd
 
import 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 = 0
 
for i in age.values:
 
    if i[0] <0:
 
        age.drop(level=i[0])
 
    else:
 
        n=n+1
 
print(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 plt
 
    plt.rcParams['font.sans-serif'] = ['SimHei']
 
    plt.rcParams['axes.unicode_minus'] = False
 
    plt.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()

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

对比两阶段提交,三阶段协议有哪些改进?

本文我们来讨论两阶段提交和三阶段提交协议的过程以及应用。 在分布式系统中&#xff0c;各个节点之间在物理上相互独立&#xff0c;通过网络进行沟通和协调。在关系型数据库中&#xff0c;由于存在事务机制&#xff0c;可以保证每个独立节点上的数据操作满足 ACID。但是&…

创建vue项目:vue脚手架安装、vue-cli安装,vue ui界面创建vue工程(vue2/vue3),安装vue、搭建vue项目开发环境(保姆级教程二)

今天讲解 Windows 如何利用脚手架创建 vue 工程&#xff0c;以及 vue ui 图形化界面搭建 vue 开发环境&#xff0c;这是这个系列的第二章&#xff0c;有什么问题请留言&#xff0c;请点赞收藏&#xff01;&#xff01;&#xff01; 文章目录 1、安装vue-cli脚手架2、vue ui创建…

基于ssm校园美食交流系统论文

目 录 摘 要 1 前 言 3 第1章 概述 4 1.1 研究背景 4 1.2 研究目的 4 1.3 研究内容 4 第二章 开发技术介绍 5 2.1Java技术 6 2.2 Mysql数据库 6 2.3 B/S结构 7 2.4 SSM框架 8 第三章 系统分析 9 3.1 可行性分析 9 3.1.1 技术可行性 9 3.1.2 经济可行性 10 3.1.3 操作可行性 10…

Java聊天

一对一聊天 服务端 package 一对一用户;import java.awt.BorderLayout; import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.io.PrintWriter; import java.net.ServerSocket; import java.net.Socket; import java.…

判断两个不重复的list集合是否相等 只比较元素值 不比较顺序

判断两个不重复的list集合是否相等 只比较元素值 不比较顺序 文章目录 &#x1f50a;前言&#x1f4d5;代码&#x1f51a;运行结果&#x1f58a;️最后总结 &#x1f50a;前言 判断两个不重复的list集合是否相等 只比较元素值 不比较顺序 1.如果源为空 现在不为空则不相等2.如…

体育类直播介绍

体育类直播是指以体育比赛为主题的网络直播&#xff0c;包括各种类型的体育赛事&#xff0c;如足球、篮球、网球、赛车等。这种类型的直播内容通常由主播对体育赛事进行实时解说和评论&#xff0c;吸引观众的关注和互动。 在体育类直播中&#xff0c;主播通常会选择自己擅长和…

FFmpeg之将视频转为16:9(横屏)或9:16(竖屏)(三十六)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒体系统工程师系列【原创干货持续更新中……】🚀 人生格言: 人生从来没有捷径,只…

Leetcode—714.买卖股票的最佳时机含手续费【中等】

2023每日刷题&#xff08;五十二&#xff09; Leetcode—714.买卖股票的最佳时机含手续费 动态规划算法思想 可参考我的这篇博客 递推实现代码 class Solution { public:int maxProfit(vector<int>& prices, int fee) {int n prices.size();int f[n1][2];memset…

【T+】畅捷通T+软件安装过程中停留在:正在配置产品位置或进度80%位置。

【问题描述】 畅捷通T软件在安装过程中&#xff0c; 进度条一直停留在【正在配置产品…】位置。 【解决方法】 打开【任务管理器】&#xff0c;想必这个如何打开&#xff0c;大家应该都会。 在【进程】中找到【DBConfig.exe】或者【Ufida.T.Tool.SM.DBConfig.exe】进程并结束…

Qt6 QRibbon 一键美化Qt界面

强烈推荐一个 github 项目&#xff1a; https://github.com/gnibuoz/QRibbon 作用&#xff1a; 在几乎不修改任何你自己代码的情况下&#xff0c;一键美化你的 UI 界面。 代码环境&#xff1a;使用 VS2019 编译 Qt6 GUI 程序&#xff0c;继承 QMainWindow 窗口类 一、使用方法 …

Docker的数据卷、数据卷容器,容器互联

数据卷&#xff08;容器与宿主机之间数据共享&#xff09; 数据卷是一个供容器使用的特殊目录&#xff0c;位于容器中。可将宿主机的目录挂载到数据卷上&#xff0c;对数据卷的修改操作立刻可见&#xff0c;并且更新数据不会影响镜像&#xff0c;从而实现数据在宿主机与容器之…

解锁全球潜力:IT外包解决跨国企业海外分支的IT需求

在全球化的浪潮中&#xff0c;跨国企业为了拓展业务辐射面&#xff0c;经常在世界各地设立海外分支。然而&#xff0c;这些分支机构面临着独特的挑战&#xff0c;其中包括解决复杂的IT需求。为了更高效地应对这些挑战&#xff0c;越来越多的企业正在转向IT外包&#xff0c;以便…

Vue配置代理解决跨域

Network的status中报CORS error指在前端&#xff08;Vue.js&#xff09;发起跨域请求时&#xff0c;被服务器拒绝访问的错误 在本地开发环境中&#xff0c;Vue.js 将默认从 http://localhost:8080 启动服务器。如果浏览器访问服务器时使用的 URL 不是该地址&#xff0c;就可能…

计算机网络实用工具之nbtscan

简介 nbscan是一个用于扫描IP网络的NetBIOS名称信息的程序。它向提供范围内的每个地址发送NetBIOS状态查询&#xff0c;并以人类可读的形式列出接收到的信息。对于每个响应的主机&#xff0c;它列出了IP地址、NetBIOS计算机名、登录用户名和MAC地址。 对于安全检查、网络发现…

网络安全威胁——DDoS攻击

DDoS攻击 1. 定义2. DDoS攻击类型2.1 网络层攻击2.2 传输层攻击2.3 应用层攻击 3.DDoS攻击态势特点 1. 定义 分布式拒绝服务&#xff08;DDoS&#xff09;攻击是一种常见的网络攻击形式。攻击者利用恶意程序对一个或多个目标发起攻击&#xff0c;企图通过大规模互联网流量耗尽…

超越GPT-4!谷歌发布最强多模态大模型—Gemini

12月7日凌晨&#xff0c;谷歌在官网发布了全新最强多模态大模型——Gemini。 据悉&#xff0c;Gemini有Ultra、Pro、Nano三个版本&#xff0c;可自动生成文本、代码、总结内容等&#xff0c;并能理解图片、音频和视频内容。在MMLU、DROP 、HellaSwag、GSM8K等主流评测中&#…

手把手教你新建一个winform项目(史上最全)

文章目录 前言&#xff1a;第1步、打开Microsoft Visual Studio&#xff08;简称vs&#xff09;&#xff0c;本人这里使用的是Visual Studio 2017 专业版&#xff0c;如下图&#xff1a;1.2 Visual Studio Community 2019下载1.3 Visual Studio Community 2019 安装 第2步、点击…

富时中国a50指数准确吗

富时中国A50指数简介 富时中国A50指数&#xff08;FTSE China A50 Index&#xff09;是富时罗素指数有限公司&#xff08;FTSE Russell&#xff09;编制的&#xff0c;旨在反映中国A股市场50家市值较大、流动性较好的公司的股价表现。它是国际上对中国A股市场投资者影响较大的…

python+pytest接口自动化(10)-session会话保持

在接口测试的过程中&#xff0c;经常会遇到有些接口需要在登录的状态下才能请求&#xff0c;否则会提示请登录&#xff0c;那么怎样解决呢&#xff1f; 上一篇文章我们介绍了Cookie绕过登录&#xff0c;其实这就是保持登录状态的方法之一。 另外一种方式则是通过session进行会…

Verilog开源项目——百兆以太网交换机(四)令牌桶管理单元设计

Verilog开源项目——百兆以太网交换机&#xff08;四&#xff09;令牌桶管理单元设计 &#x1f508;声明&#xff1a;未经作者允许&#xff0c;禁止转载 &#x1f603;博主主页&#xff1a;王_嘻嘻的CSDN主页 &#x1f511;全新原创以太网交换机项目&#xff0c;Blog内容将聚焦…