{
"cells": [
{
"cell_type": "code",
"id": "initial_id",
"metadata": {
"collapsed": true,
"ExecuteTime": {
"end_time": "2025-04-14T02:39:40.769558Z",
"start_time": "2025-04-14T02:39:40.456570Z"
}
},
"source": "import pandas as pd",
"outputs": [],
"execution_count": 1
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-14T02:41:58.436846Z",
"start_time": "2025-04-14T02:41:58.386566Z"
}
},
"cell_type": "code",
"source": [
"data1 = pd.read_excel('data/healthcare-dataset-stroke.xlsx')\n",
"data1.head(3)"
],
"id": "4b3c42b38f05d480",
"outputs": [
{
"data": {
"text/plain": [
" 编号 性别 高血压 是否结婚 工作类型 居住类型 体重指数 吸烟史 中风\n",
"0 9046 男 否 是 私人 城市 36.6 以前吸烟 是\n",
"1 51676 女 否 是 私营企业 农村 NaN 从不吸烟 是\n",
"2 31112 男 否 是 私人 农村 32.5 从不吸烟 是"
],
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 编号 | \n",
" 性别 | \n",
" 高血压 | \n",
" 是否结婚 | \n",
" 工作类型 | \n",
" 居住类型 | \n",
" 体重指数 | \n",
" 吸烟史 | \n",
" 中风 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 9046 | \n",
" 男 | \n",
" 否 | \n",
" 是 | \n",
" 私人 | \n",
" 城市 | \n",
" 36.6 | \n",
" 以前吸烟 | \n",
" 是 | \n",
"
\n",
" \n",
" 1 | \n",
" 51676 | \n",
" 女 | \n",
" 否 | \n",
" 是 | \n",
" 私营企业 | \n",
" 农村 | \n",
" NaN | \n",
" 从不吸烟 | \n",
" 是 | \n",
"
\n",
" \n",
" 2 | \n",
" 31112 | \n",
" 男 | \n",
" 否 | \n",
" 是 | \n",
" 私人 | \n",
" 农村 | \n",
" 32.5 | \n",
" 从不吸烟 | \n",
" 是 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 8
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-14T02:42:02.131783Z",
"start_time": "2025-04-14T02:42:02.114377Z"
}
},
"cell_type": "code",
"source": [
"data2 = pd.read_excel('data/healthcare-dataset-age_abs.xlsx')\n",
"data2.head(3)"
],
"id": "e72f2e11a9b2e88d",
"outputs": [
{
"data": {
"text/plain": [
" 编号 年龄 平均血糖\n",
"0 9046 67.0 228.69\n",
"1 51676 61.0 202.21\n",
"2 31112 80.0 105.92"
],
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 编号 | \n",
" 年龄 | \n",
" 平均血糖 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 9046 | \n",
" 67.0 | \n",
" 228.69 | \n",
"
\n",
" \n",
" 1 | \n",
" 51676 | \n",
" 61.0 | \n",
" 202.21 | \n",
"
\n",
" \n",
" 2 | \n",
" 31112 | \n",
" 80.0 | \n",
" 105.92 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 10
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-14T02:44:09.987977Z",
"start_time": "2025-04-14T02:44:09.985187Z"
}
},
"cell_type": "code",
"source": [
"print(data1.size)\n",
"data2.size"
],
"id": "40c26c71f24c511d",
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"15903\n"
]
},
{
"data": {
"text/plain": [
"5301"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 17
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-14T07:59:22.335960Z",
"start_time": "2025-04-14T07:59:22.326530Z"
}
},
"cell_type": "code",
"source": [
"merge_data = data1.merge(data2, on=['编号'], how='left')\n",
"merge_data.head(3)"
],
"id": "37f42c042c31af5e",
"outputs": [
{
"data": {
"text/plain": [
" 编号 性别 高血压 是否结婚 工作类型 居住类型 体重指数 吸烟史 中风 年龄 平均血糖\n",
"0 9046 男 否 是 私人 城市 36.6 以前吸烟 是 67.0 228.69\n",
"1 51676 女 否 是 私营企业 农村 NaN 从不吸烟 是 61.0 202.21\n",
"2 31112 男 否 是 私人 农村 32.5 从不吸烟 是 80.0 105.92"
],
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 编号 | \n",
" 性别 | \n",
" 高血压 | \n",
" 是否结婚 | \n",
" 工作类型 | \n",
" 居住类型 | \n",
" 体重指数 | \n",
" 吸烟史 | \n",
" 中风 | \n",
" 年龄 | \n",
" 平均血糖 | \n",
"
\n",
" \n",
" \n",
" \n",
" 0 | \n",
" 9046 | \n",
" 男 | \n",
" 否 | \n",
" 是 | \n",
" 私人 | \n",
" 城市 | \n",
" 36.6 | \n",
" 以前吸烟 | \n",
" 是 | \n",
" 67.0 | \n",
" 228.69 | \n",
"
\n",
" \n",
" 1 | \n",
" 51676 | \n",
" 女 | \n",
" 否 | \n",
" 是 | \n",
" 私营企业 | \n",
" 农村 | \n",
" NaN | \n",
" 从不吸烟 | \n",
" 是 | \n",
" 61.0 | \n",
" 202.21 | \n",
"
\n",
" \n",
" 2 | \n",
" 31112 | \n",
" 男 | \n",
" 否 | \n",
" 是 | \n",
" 私人 | \n",
" 农村 | \n",
" 32.5 | \n",
" 从不吸烟 | \n",
" 是 | \n",
" 80.0 | \n",
" 105.92 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 71,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 71
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-14T07:59:24.287769Z",
"start_time": "2025-04-14T07:59:24.284471Z"
}
},
"cell_type": "code",
"source": [
"def age_process(x):\n",
" if (x % 1 != 0 or x < 0):\n",
" return None\n",
" return int(x)"
],
"id": "d45e61b4e5c45d4a",
"outputs": [],
"execution_count": 72
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-14T07:59:26.832979Z",
"start_time": "2025-04-14T07:59:26.827710Z"
}
},
"cell_type": "code",
"source": "merge_data['年龄'] = merge_data['年龄'].apply(lambda x: age_process(x))",
"id": "b81f4203662a2950",
"outputs": [],
"execution_count": 73
},
{
"metadata": {
"ExecuteTime": {
"end_time": "2025-04-14T07:59:30.620159Z",
"start_time": "2025-04-14T07:59:30.606700Z"
}
},
"cell_type": "code",
"source": "merge_data[merge_data['年龄'].isna()]",
"id": "da4b29e8f3d56bc6",
"outputs": [
{
"data": {
"text/plain": [
" 编号 性别 高血压 是否结婚 工作类型 居住类型 体重指数 吸烟史 中风 年龄 平均血糖\n",
"162 69768 女 否 否 学生 城市 NaN 未知 是 NaN 70.37\n",
"363 7559 女 否 否 学生 城市 24.9 未知 否 NaN 83.82\n",
"376 22706 女 否 否 学生 农村 15.5 未知 否 NaN 88.11\n",
"562 45238 女 否 否 学生 城市 16.5 未知 否 NaN 58.26\n",
"564 61511 女 否 否 学生 农村 16.2 未知 否 NaN 73.71\n",
"597 40639 女 否 否 学生 农村 17.5 未知 否 NaN 60.53\n",
"607 9906 女 否 否 学生 城市 17.0 未知 否 NaN 102.34\n",
"684 53016 女 否 否 学生 城市 14.4 未知 否 NaN 130.61\n",
"753 49529 女 否 否 学生 城市 17.2 未知 否 NaN 60.98\n",
"850 41615 女 否 否 学生 农村 18.1 未知 否 NaN 126.18\n",
"913 17733 女 否 否 学生 农村 19.5 未知 否 NaN 109.51\n",
"982 54747 男 否 否 学生 农村 19.2 未知 否 NaN 157.57\n",
"995 60211 男 否 否 学生 城市 18.9 未知 否 NaN 90.51\n",
"996 53279 男 否 否 学生 农村 16.3 未知 否 NaN 118.87\n",
"1093 66772 女 否 否 学生 农村 16.0 未知 否 NaN 55.86\n",
"1101 57854 男 否 否 学生 城市 19.7 未知 否 NaN 56.30\n",
"1134 47848 男 否 否 学生 农村 20.1 未知 否 NaN 93.74\n",
"1137 59734 男 否 否 学生 城市 17.6 未知 否 NaN 75.79\n",
"1206 68908 女 否 否 学生 城市 23.0 未知 否 NaN 66.36\n",
"1218 20282 男 否 否 学生 农村 21.8 未知 否 NaN 77.91\n",
"1244 45554 女 否 否 学生 城市 22.1 未知 否 NaN 62.40\n",
"1317 30084 男 否 否 学生 农村 17.5 未知 否 NaN 98.67\n",
"1366 35737 男 否 否 学生 城市 19.5 未知 否 NaN 86.09\n",
"1486 1405 男 否 否 学生 城市 16.3 未知 否 NaN 111.65\n",
"1499 45357 女 否 否 学生 农村 21.5 未知 否 NaN 113.96\n",
"1600 40544 男 否 否 学生 城市 14.3 未知 否 NaN 109.56\n",
"1609 38043 女 否 否 学生 农村 10.3 未知 否 NaN 122.04\n",
"1614 47350 女 否 否 学生 城市 14.1 未知 否 NaN 139.67\n",
"1632 57485 女 否 否 学生 农村 18.5 未知 否 NaN 55.51\n",
"1758 27279 男 否 否 学生 城市 22.5 未知 否 NaN 90.46"
],
"text/html": [
"\n",
"\n",
"
\n",
" \n",
" \n",
" | \n",
" 编号 | \n",
" 性别 | \n",
" 高血压 | \n",
" 是否结婚 | \n",
" 工作类型 | \n",
" 居住类型 | \n",
" 体重指数 | \n",
" 吸烟史 | \n",
" 中风 | \n",
" 年龄 | \n",
" 平均血糖 | \n",
"
\n",
" \n",
" \n",
" \n",
" 162 | \n",
" 69768 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" NaN | \n",
" 未知 | \n",
" 是 | \n",
" NaN | \n",
" 70.37 | \n",
"
\n",
" \n",
" 363 | \n",
" 7559 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 24.9 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 83.82 | \n",
"
\n",
" \n",
" 376 | \n",
" 22706 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 15.5 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 88.11 | \n",
"
\n",
" \n",
" 562 | \n",
" 45238 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 16.5 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 58.26 | \n",
"
\n",
" \n",
" 564 | \n",
" 61511 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 16.2 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 73.71 | \n",
"
\n",
" \n",
" 597 | \n",
" 40639 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 17.5 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 60.53 | \n",
"
\n",
" \n",
" 607 | \n",
" 9906 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 17.0 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 102.34 | \n",
"
\n",
" \n",
" 684 | \n",
" 53016 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 14.4 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 130.61 | \n",
"
\n",
" \n",
" 753 | \n",
" 49529 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 17.2 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 60.98 | \n",
"
\n",
" \n",
" 850 | \n",
" 41615 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 18.1 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 126.18 | \n",
"
\n",
" \n",
" 913 | \n",
" 17733 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 19.5 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 109.51 | \n",
"
\n",
" \n",
" 982 | \n",
" 54747 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 19.2 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 157.57 | \n",
"
\n",
" \n",
" 995 | \n",
" 60211 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 18.9 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 90.51 | \n",
"
\n",
" \n",
" 996 | \n",
" 53279 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 16.3 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 118.87 | \n",
"
\n",
" \n",
" 1093 | \n",
" 66772 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 16.0 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 55.86 | \n",
"
\n",
" \n",
" 1101 | \n",
" 57854 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 19.7 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 56.30 | \n",
"
\n",
" \n",
" 1134 | \n",
" 47848 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 20.1 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 93.74 | \n",
"
\n",
" \n",
" 1137 | \n",
" 59734 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 17.6 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 75.79 | \n",
"
\n",
" \n",
" 1206 | \n",
" 68908 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 23.0 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 66.36 | \n",
"
\n",
" \n",
" 1218 | \n",
" 20282 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 21.8 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 77.91 | \n",
"
\n",
" \n",
" 1244 | \n",
" 45554 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 22.1 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 62.40 | \n",
"
\n",
" \n",
" 1317 | \n",
" 30084 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 17.5 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 98.67 | \n",
"
\n",
" \n",
" 1366 | \n",
" 35737 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 19.5 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 86.09 | \n",
"
\n",
" \n",
" 1486 | \n",
" 1405 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 16.3 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 111.65 | \n",
"
\n",
" \n",
" 1499 | \n",
" 45357 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 21.5 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 113.96 | \n",
"
\n",
" \n",
" 1600 | \n",
" 40544 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 14.3 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 109.56 | \n",
"
\n",
" \n",
" 1609 | \n",
" 38043 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 10.3 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 122.04 | \n",
"
\n",
" \n",
" 1614 | \n",
" 47350 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 14.1 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 139.67 | \n",
"
\n",
" \n",
" 1632 | \n",
" 57485 | \n",
" 女 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 农村 | \n",
" 18.5 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 55.51 | \n",
"
\n",
" \n",
" 1758 | \n",
" 27279 | \n",
" 男 | \n",
" 否 | \n",
" 否 | \n",
" 学生 | \n",
" 城市 | \n",
" 22.5 | \n",
" 未知 | \n",
" 否 | \n",
" NaN | \n",
" 90.46 | \n",
"
\n",
" \n",
"
\n",
"
"
]
},
"execution_count": 74,
"metadata": {},
"output_type": "execute_result"
}
],
"execution_count": 74
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.6"
}
},
"nbformat": 4,
"nbformat_minor": 5
}