数据分析-前期数据处理

复制代码
   今天找到一份关于医学体检的数据,在数据分析前期工作需要对数据做处理,在这里我们对原始数据做一些处理,将数据处理为可分析的标准数据。下一篇文章做数据的分析。数据想要获取的话可以到我的资源下载。

1 数据读取

python 复制代码
import pandas as pd
data = pd.read_excel(r'E:\学习\项目\数据分析\体检数据\dataset.xls')
print(data.head())

2 定义数据处理函数

数据中有"是否吸烟","是否饮酒","性别"是否,需要将其转化为0 1二分类数据,便于后期分析。

python 复制代码
# 替换特定的值
def replace_value1(row):
    if row['是否吸烟'] == '是': # ['是否吸烟'] == '是':
        return 1
    else:
        return 0
def replace_value2(row):
    if row['是否饮酒'] == '是':
        return 1
    else:
        return 0
def replace_value3(row):
    if row['性别'] == '男':
        return 1
    else:
        return 0

3 数据处理

数据处理,获取出生年月,从事工作时间,体检年份,年龄等

python 复制代码
data['出生年月'] = data['身份证号'].str[4:8]  ## 添加出生年月
data['从事工作年份'] = data['开始从事某工作年份'].astype(str).str[0:4]
data['是否吸烟'] = data.apply(replace_value1, axis=1)
data['是否饮酒'] = data.apply(replace_value2, axis=1)
data['性别'] = data.apply(replace_value3, axis=1)
# for name,group in data.groupby('体检年份'):  ## 体检年份包含字符字段
    # print(name,group)
data['体检年份'] = data['体检年份'].astype(str).replace('2015年','2015')
data['从事工作时间'] = data['体检年份'].astype(float) - data['从事工作年份'].astype(float)
data['年龄'] = data['体检年份'].astype(float) - data['出生年月'].astype(float)

4 清洗后的数据

干净的数据可以直接用来分析

python 复制代码
data_new = data.loc[:,['序号 ', '性别', '是否吸烟', '是否饮酒', '体检年份', '淋巴细胞计数','白细胞计数',  '血小板计数', '出生年月', '从事工作年份', '从事工作时间','年龄']]
print(data_new.head(20))

结果:

下一篇文章会给予处理后的数据进行数据分析。

相关推荐
超龄超能程序猿17 小时前
YOLOv8 五大核心模型:从检测到分类的介绍
yolo·分类·数据挖掘
Dingdangcat8620 小时前
中药材图像识别与分类 RetinaNet-R101-FPN模型详解
人工智能·数据挖掘
未来魔导1 天前
go语言中json操作总结(下)
数据分析·go·json
RestCloud1 天前
异步 vs 同步:ETL在任务调度中的架构选择
etl·数据处理·数据集成·etlcloud·数据同步·任务调度·异步数据处理
Mia@1 天前
数据分析(一)
数据挖掘·数据分析
ASD123asfadxv1 天前
基于YOLO11的汽车车灯状态识别与分类_C3k2-wConv改进_1
分类·数据挖掘·汽车
小辉懂编程1 天前
数据分析入门:使用pandas进行数据处理 (数据读取,数据清洗,数据处理,数据可视化)
数据挖掘·数据分析·pandas
祝威廉1 天前
摘下数据分析的皇冠:机器学习,InfiniSynapse 金融评分卡案例
人工智能·机器学习·金融·数据挖掘·数据分析
祁思妙想1 天前
数据分析三剑客:NumPy、Pandas、Matplotlib
数据分析·numpy·pandas
SelectDB1 天前
较 Trino 省 67% 成本,速度快 10 倍,中通快递基于 SelectDB 的湖仓分析架构
数据库·数据分析