汕头企业网站建设模板,北京交友最好的网站建设,从头建设个人网站步骤,网站开发毕业设计收获与体会表1-1healthcare-dataset-stroke.xlsx 部分中风患者的基础信息和体检数据
编号性别高血压是否结婚工作类型居住类型体重指数吸烟史中风9046男否是私人城市36.6以前吸烟是51676女否是私营企业农村N/A从不吸烟是31112男否是私人农村32.5从不吸烟是60182女否是私人城市34.4抽烟是…表1-1healthcare-dataset-stroke.xlsx 部分中风患者的基础信息和体检数据
编号性别高血压是否结婚工作类型居住类型体重指数吸烟史中风9046男否是私人城市36.6以前吸烟是51676女否是私营企业农村N/A从不吸烟是31112男否是私人农村32.5从不吸烟是60182女否是私人城市34.4抽烟是1665女是是私营企业农村24从不吸烟是56669男否是私人城市29以前吸烟是53882男是是私人农村27.4从不吸烟是 表二 healthcare-dataset-age-abs.xlsx 部分中风患者的年龄和平均血糖数据
编号年龄平均血糖904667228.695167661202.213111280105.926018249171.23166579174.125666981186.21538827470.09104346994.39274195976.15604917858.57
实训1 合并年龄、平均血糖和中风患者信息数据
1、训练要点
(1) 掌握判断主键的方法
(2) 掌握主键合并方法
2、需求分析
某医院为了早期监测预警患者的中风风险对现有中风患者的基础信息和体检数据healthcare-dataset-stroke.xls进行分析观察发现患者基础信息和体检数据中缺少中风患者的年龄和平均血糖的信息。另有年龄和平均血糖数据healthcare-dataset-age_abs.xls存放了分析所需的患者的年龄和平均血糖信息。
1读取两个数据文件打印前5行结果进行显示。
# 合并年龄、平均血糖和中风患者数据
import pandas as pd
df1 pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-stroke.xlsx)
df2 pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx)#1读取两个数据文件打印前5行结果进行显示。
print(healthcare-dataset-stroke.xls前5行)
print(df1.head(5))
print(----------------------------------------)
print(healthcare-dataset-age_abs.xls前5行)
print(df2.head(5)) 2利用concat函数进行纵向堆叠展示‘内连接‘、‘外连接’的拼接结果前5行即可。
# 使用concat函数进行纵向堆叠
import pandas as pd
df1 pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-stroke.xlsx)
df2 pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx)# 外连接
df_concat pd.concat([df1, df2], axis0, joinouter)
print(纵向堆叠结果前5行外连接)
print(df_concat.head(5))# 内连接
df_concat pd.concat([df1, df2], axis0, joininner)
print(纵向堆叠结果前5行内连接)
print(df_concat.head(5)) 3对两个数据利用‘编号’列作为主键进行合并展示合并结果前5行即可
# 使用编号列作为主键进行合并
import pandas as pd
df1 pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-stroke.xlsx)
df2 pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx)df_merge pd.merge(df1, df2, on编号, howinner)
print(合并结果前5行)
print(df_merge.head(5)) 实训2 对表格数据进行数据清洗。
需求说明
基于1中的数据
1对于表格healthcare-dataset-stroke.xls的信息使用duplicates函数对‘工作类型’、‘吸烟史’两列数据进行特征去重。
# 对于表格healthcare-dataset-stroke.xls的信息使用duplicates函数对‘工作类型’、‘吸烟史’两列数据进行特征去重
import pandas as pd
# 读取数据
df pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-stroke.xlsx)
# 对工作类型和吸烟史列进行去重
df df.drop_duplicates(subset[工作类型, 吸烟史])
# 打印结果
print(df)
2对于表格healthcare-dataset-age_abs.xls的信息对‘年龄’、‘平均血糖’两列数据使用sum及isnull函数判断及统计缺失值。
# 对于表格healthcare-dataset-age_abs.xls的信息对‘年龄’、‘平均血糖’两列数据使用sum及isnull函数判断及统计缺失值。
import pandas as pd# 读取数据
df pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx)
# 判断是否有缺失值
missing_values df.isnull()
# 统计缺失值的个数
missing_count missing_values.sum()
# 打印结果
print(缺失值统计)
print(missing_count)
3对‘年龄’列的数据使用均值替换其缺失值对‘平均血糖’列数据使用3阶多项式进行插值。
# 3 对‘年龄’列的数据使用均值替换其缺失值对‘平均血糖’列数据使用3阶多项式进行插值。
import pandas as pd
import numpy as np# 读取数据
df pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx)# 计算年龄的均值
mean_age df[年龄].mean()# 使用均值替换年龄列的缺失值
df[年龄] df[年龄].fillna(mean_age)# 对平均血糖列进行3阶多项式插值
df[平均血糖] df[平均血糖].interpolate(methodpolynomial, order3)# 打印结果
print(df)
4使用3δ原则判断‘年龄’、‘平均血糖’两列数据中是否存在异常值及异常值的个数。
import pandas as pd
import numpy as np# 读取数据
df pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx)# 计算年龄和平均血糖的均值和标准差
mean_age df[年龄].mean()
std_age df[年龄].std()
mean_glucose df[平均血糖].mean()
std_glucose df[平均血糖].std()# 使用3δ原则判断是否存在异常值
outliers_age (np.abs(df[年龄] - mean_age) 3 * std_age)
outliers_glucose (np.abs(df[平均血糖] - mean_glucose) 3 * std_glucose)# 统计异常值的个数
num_outliers_age outliers_age.sum()
num_outliers_glucose outliers_glucose.sum()# 打印结果
print(年龄异常值个数, num_outliers_age)
print(平均血糖异常值个数, num_outliers_glucose)实训 3 基于healthcare-dataset-age_abs.xls中的‘平均血糖’列数据1)使用离差标准化、标准差标准化、小数定标标准化进行标准化处理。
需求分析
1)使用离差标准化 进行标准化处理
import pandas as pd
# 读取数据
df pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx)
# 离差标准化
df[平均血糖_离差标准化] (df[平均血糖] - df[平均血糖].min()) / (df[平均血糖].max() - df[平均血糖].min())
print(df)
2使用标准差标准化进行标准化处理
# 标准差标准化
import pandas as pd
# 读取数据
df pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx)
df[平均血糖_标准差标准化] (df[平均血糖] - df[平均血糖].mean()) / df[平均血糖].std()
print(df)
3使用小数定标标准化进行标准化处理。
import pandas as pd# 读取数据
df pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx)# 使用0填充缺失值
df[平均血糖] df[平均血糖].fillna(0)# 小数定标标准化
df[平均血糖_小数定标标准化] df[平均血糖] / (10 ** (df[平均血糖].apply(lambda x: len(str(abs(int(x))))) - 1))# 打印结果
print(df)实训4 对表healthcare-dataset-stroke.xls中‘吸烟史’的类别型数据进行哑变量处理转换为数值型数据。
需求说明 1对表healthcare-dataset-stroke.xls中‘吸烟史’的类别型数据进行哑变量处理转换为数值型数据。
import pandas as pd# 读取数据
df1 pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-stroke.xlsx)# 哑变量处理
df1_dummies pd.get_dummies(df1[吸烟史], prefix吸烟史)print(df1_dummies)2对表healthcare-dataset-age_abs.xls中‘年龄’数据使用等宽法、等频法进行离散化划分为5类区间。
import pandas as pd
df2 pd.read_excel(C:/Users/DELL/Python/healthcare-dataset-age-abs.xlsx)# 等宽法离散化
df2[年龄_等宽法] pd.cut(df2[年龄], bins5, labelsFalse)# 等频法离散化
df2[年龄_等频法] pd.qcut(df2[年龄], q5, labelsFalse)print(df2[[年龄, 年龄_等宽法, 年龄_等频法]])