数据分析-前期数据处理
今天找到一份关于医学体检的数据,在数据分析前期工作需要对数据做处理,在这里我们对原始数据做一些处理,将数据处理为可分析的标准数据。下一篇文章做数据的分析。数据想要获取的话可以到我的资源下载。
1 数据读取
import pandas as pd
data = pd.read_excel(r'E:\学习\项目\数据分析\体检数据\dataset.xls')
print(data.head())
2 定义数据处理函数
数据中有“是否吸烟”,“是否饮酒”,“性别”是否,需要将其转化为0 1二分类数据,便于后期分析。
# 替换特定的值
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 数据处理
数据处理,获取出生年月,从事工作时间,体检年份,年龄等
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 清洗后的数据
干净的数据可以直接用来分析
data_new = data.loc[:,['序号 ', '性别', '是否吸烟', '是否饮酒', '体检年份', '淋巴细胞计数','白细胞计数', '血小板计数', '出生年月', '从事工作年份', '从事工作时间','年龄']]
print(data_new.head(20))
结果:
下一篇文章会给予处理后的数据进行数据分析。