{
 "cells": [
  {
   "cell_type": "markdown",
   "id": "a8e4a36f",
   "metadata": {},
   "source": [
    "# 第 2 章　必備 Python 四大套件：NumPy、Pandas、Matplotlib、SciPy\n",
    "\n",
    "本 notebook 對應「醫學生的機器學習入門」網站第 2 章：<https://med-study-rpg.com/ml/chapters/02-python-toolkit/>\n",
    "\n",
    "**怎麼用：**\n",
    "\n",
    "- 在 Google Colab 開啟後，從上到下按 `Shift + Enter` 逐格執行即可，不需要另外安裝任何套件。\n",
    "- 需要網路：資料集會從 UCI Machine Learning Repository 直接下載（約 12 KB）。\n",
    "- 圖上的標籤用英文，因為 Colab 預設沒有中文字型，中文會變成方塊。\n",
    "\n",
    "**資料集：** Heart Failure Clinical Records（UCI 519，CC BY 4.0）。299 位心衰竭病人、12 個臨床變數與追蹤期間是否死亡（`death_event`）。\n",
    "原始資料：Ahmad T et al. *PLoS One* 2017;12:e0181001；整理與分析：Chicco D, Jurman G. *BMC Med Inform Decis Mak* 2020;20:16；DOI 10.24432/C5Z89R。\n",
    "\n",
    "> 本 notebook 的醫學內容僅供學習程式與統計概念，不構成臨床建議。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "cadb81bd",
   "metadata": {},
   "source": [
    "## 0. 確認套件版本\n",
    "\n",
    "先印出版本，之後若結果和網站不一樣，可以先比對版本。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "id": "da4523e7",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:19.133887Z",
     "iopub.status.busy": "2026-09-29T20:02:19.133764Z",
     "iopub.status.idle": "2026-09-29T20:02:19.878115Z",
     "shell.execute_reply": "2026-09-29T20:02:19.877803Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Python     3.12.2\n",
      "NumPy      2.1.3\n",
      "pandas     2.2.3\n",
      "Matplotlib 3.10.0\n",
      "SciPy      1.16.3\n"
     ]
    }
   ],
   "source": [
    "import sys\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import matplotlib\n",
    "import matplotlib.pyplot as plt\n",
    "import scipy\n",
    "from scipy import stats\n",
    "\n",
    "print(\"Python    \", sys.version.split()[0])\n",
    "print(\"NumPy     \", np.__version__)\n",
    "print(\"pandas    \", pd.__version__)\n",
    "print(\"Matplotlib\", matplotlib.__version__)\n",
    "print(\"SciPy     \", scipy.__version__)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "86cfac81",
   "metadata": {},
   "source": [
    "## 1. NumPy：一次處理一整排數字\n",
    "\n",
    "### 1.1 從 list 到陣列\n",
    "\n",
    "先用 5 位病人的左心室射出分率（ejection fraction, EF，單位 %）示範。Python 內建的 list 不能直接做數學運算，NumPy 陣列（array）可以。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "id": "860e9777",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:19.879336Z",
     "iopub.status.busy": "2026-09-29T20:02:19.879241Z",
     "iopub.status.idle": "2026-09-29T20:02:19.881295Z",
     "shell.execute_reply": "2026-09-29T20:02:19.881007Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[25 38 60 20 45] int64 (5,)\n",
      "[25, 38, 60, 20, 45, 25, 38, 60, 20, 45]\n",
      "[ 50  76 120  40  90]\n"
     ]
    }
   ],
   "source": [
    "ef_list = [25, 38, 60, 20, 45]          # Python list\n",
    "ef = np.array(ef_list)                   # NumPy array\n",
    "print(ef, ef.dtype, ef.shape)\n",
    "print(ef_list * 2)                       # list: repeats the list\n",
    "print(ef * 2)                            # array: element-wise math"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ef0f5f67",
   "metadata": {},
   "source": [
    "### 1.2 向量化：比較、篩選、統計量一行完成\n",
    "\n",
    "`ef < 40` 會對每一個元素逐一比較，回傳一個 True/False 陣列（布林遮罩）；把遮罩放進中括號就能篩出符合的病人。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "id": "eca76568",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:19.882389Z",
     "iopub.status.busy": "2026-09-29T20:02:19.882330Z",
     "iopub.status.idle": "2026-09-29T20:02:19.884278Z",
     "shell.execute_reply": "2026-09-29T20:02:19.883858Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[ True  True False  True False]\n",
      "[25 38 20]\n",
      "3 of 5 patients have EF < 40%\n",
      "mean = 37.6  SD (ddof=1) = 16.01\n"
     ]
    }
   ],
   "source": [
    "low = ef < 40                            # boolean mask\n",
    "print(low)\n",
    "print(ef[low])                           # patients with EF < 40%\n",
    "print(low.sum(), \"of\", ef.size, \"patients have EF < 40%\")\n",
    "print(\"mean =\", ef.mean(), \" SD (ddof=1) =\", round(ef.std(ddof=1), 2))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "e1a5b6a7",
   "metadata": {},
   "source": [
    "### 1.3 為什麼要向量化：速度\n",
    "\n",
    "同樣把 100 萬個數字平方後加總，比較 Python 迴圈和 NumPy 的時間（實際秒數依電腦而不同）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "id": "c957693f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:19.885133Z",
     "iopub.status.busy": "2026-09-29T20:02:19.885077Z",
     "iopub.status.idle": "2026-09-29T20:02:19.933231Z",
     "shell.execute_reply": "2026-09-29T20:02:19.932876Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "loop : 0.0337 s\n",
      "numpy: 0.0008 s  (about 43x faster)\n",
      "same answer: True\n"
     ]
    }
   ],
   "source": [
    "import time\n",
    "\n",
    "rng = np.random.default_rng(42)\n",
    "x = rng.normal(size=1_000_000)\n",
    "x_list = x.tolist()\n",
    "\n",
    "t0 = time.perf_counter()\n",
    "total = 0.0\n",
    "for v in x_list:\n",
    "    total += v * v\n",
    "t_loop = time.perf_counter() - t0\n",
    "\n",
    "t0 = time.perf_counter()\n",
    "total_np = np.sum(x * x)\n",
    "t_np = time.perf_counter() - t0\n",
    "\n",
    "print(f\"loop : {t_loop:.4f} s\")\n",
    "print(f\"numpy: {t_np:.4f} s  (about {t_loop / t_np:.0f}x faster)\")\n",
    "print(\"same answer:\", np.isclose(total, total_np))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "42ff26f0",
   "metadata": {},
   "source": [
    "### 1.4 二維陣列、`axis` 與廣播（broadcasting）\n",
    "\n",
    "每一列（row）是一位病人，每一欄（column）是一項檢驗：血清肌酸酐（mg/dL）與血清鈉（mEq/L）。\n",
    "`axis=0` 是「沿著列往下壓」，得到每一欄（每項檢驗）的統計量；`axis=1` 是「沿著欄往右壓」，得到每一列（每位病人）的統計量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "id": "a72971a5",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:19.934238Z",
     "iopub.status.busy": "2026-09-29T20:02:19.934176Z",
     "iopub.status.idle": "2026-09-29T20:02:19.936158Z",
     "shell.execute_reply": "2026-09-29T20:02:19.935834Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(4, 2)\n",
      "mean of each column (axis=0): [  1.65 135.25]\n",
      "mean of each row    (axis=1): [65.95 69.05 70.45 68.35]\n"
     ]
    }
   ],
   "source": [
    "labs = np.array([\n",
    "    [1.9, 130],\n",
    "    [1.1, 137],\n",
    "    [0.9, 140],\n",
    "    [2.7, 134],\n",
    "])                                       # rows = patients, cols = [creatinine, sodium]\n",
    "print(labs.shape)\n",
    "print(\"mean of each column (axis=0):\", labs.mean(axis=0))\n",
    "print(\"mean of each row    (axis=1):\", labs.mean(axis=1))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "68b3feae",
   "metadata": {},
   "source": [
    "廣播：形狀 (4, 2) 的陣列減掉形狀 (2,) 的平均值，NumPy 會自動把平均值「複製」到每一列，不用寫迴圈。下面把每項檢驗轉成 z 分數（z-score），也順便示範單位換算（肌酸酐 mg/dL × 88.4 = µmol/L）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "id": "c2f54604",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:19.937155Z",
     "iopub.status.busy": "2026-09-29T20:02:19.937087Z",
     "iopub.status.idle": "2026-09-29T20:02:19.939201Z",
     "shell.execute_reply": "2026-09-29T20:02:19.938860Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "[[ 0.3  -1.23]\n",
      " [-0.67  0.41]\n",
      " [-0.91  1.11]\n",
      " [ 1.28 -0.29]]\n",
      "[167.96  97.24  79.56 238.68]\n"
     ]
    }
   ],
   "source": [
    "mu = labs.mean(axis=0)                   # shape (2,)\n",
    "sd = labs.std(axis=0, ddof=1)            # shape (2,)\n",
    "z = (labs - mu) / sd                     # (4, 2) - (2,) -> broadcasting\n",
    "print(np.round(z, 2))\n",
    "\n",
    "creat_umol = labs[:, 0] * 88.4           # scalar broadcast to every patient\n",
    "print(creat_umol)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "641454be",
   "metadata": {},
   "source": [
    "## 2. Pandas：有欄名的病歷總表\n",
    "\n",
    "### 2.1 讀取資料\n",
    "\n",
    "直接從 UCI 下載 zip，pandas 會自動解壓縮讀出裡面唯一的 CSV。若網路失敗，會嘗試用 `ucimlrepo`（Colab 需先 `%pip install -q ucimlrepo`），都失敗就顯示清楚的錯誤訊息。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "id": "5520b76d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:19.940223Z",
     "iopub.status.busy": "2026-09-29T20:02:19.940172Z",
     "iopub.status.idle": "2026-09-29T20:02:20.418166Z",
     "shell.execute_reply": "2026-09-29T20:02:20.417583Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "(299, 13)\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>anaemia</th>\n",
       "      <th>creatinine_phosphokinase</th>\n",
       "      <th>diabetes</th>\n",
       "      <th>ejection_fraction</th>\n",
       "      <th>high_blood_pressure</th>\n",
       "      <th>platelets</th>\n",
       "      <th>serum_creatinine</th>\n",
       "      <th>serum_sodium</th>\n",
       "      <th>sex</th>\n",
       "      <th>smoking</th>\n",
       "      <th>time</th>\n",
       "      <th>death_event</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>75.0</td>\n",
       "      <td>0</td>\n",
       "      <td>582</td>\n",
       "      <td>0</td>\n",
       "      <td>20</td>\n",
       "      <td>1</td>\n",
       "      <td>265000.00</td>\n",
       "      <td>1.9</td>\n",
       "      <td>130</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>55.0</td>\n",
       "      <td>0</td>\n",
       "      <td>7861</td>\n",
       "      <td>0</td>\n",
       "      <td>38</td>\n",
       "      <td>0</td>\n",
       "      <td>263358.03</td>\n",
       "      <td>1.1</td>\n",
       "      <td>136</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>65.0</td>\n",
       "      <td>0</td>\n",
       "      <td>146</td>\n",
       "      <td>0</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>162000.00</td>\n",
       "      <td>1.3</td>\n",
       "      <td>129</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>50.0</td>\n",
       "      <td>1</td>\n",
       "      <td>111</td>\n",
       "      <td>0</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>210000.00</td>\n",
       "      <td>1.9</td>\n",
       "      <td>137</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>65.0</td>\n",
       "      <td>1</td>\n",
       "      <td>160</td>\n",
       "      <td>1</td>\n",
       "      <td>20</td>\n",
       "      <td>0</td>\n",
       "      <td>327000.00</td>\n",
       "      <td>2.7</td>\n",
       "      <td>116</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    age  anaemia  creatinine_phosphokinase  diabetes  ejection_fraction  \\\n",
       "0  75.0        0                       582         0                 20   \n",
       "1  55.0        0                      7861         0                 38   \n",
       "2  65.0        0                       146         0                 20   \n",
       "3  50.0        1                       111         0                 20   \n",
       "4  65.0        1                       160         1                 20   \n",
       "\n",
       "   high_blood_pressure  platelets  serum_creatinine  serum_sodium  sex  \\\n",
       "0                    1  265000.00               1.9           130    1   \n",
       "1                    0  263358.03               1.1           136    1   \n",
       "2                    0  162000.00               1.3           129    1   \n",
       "3                    0  210000.00               1.9           137    1   \n",
       "4                    0  327000.00               2.7           116    0   \n",
       "\n",
       "   smoking  time  death_event  \n",
       "0        0     4            1  \n",
       "1        0     6            1  \n",
       "2        1     7            1  \n",
       "3        0     7            1  \n",
       "4        0     8            1  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "URL = \"https://archive.ics.uci.edu/static/public/519/heart+failure+clinical+records.zip\"\n",
    "\n",
    "def load_heart_failure():\n",
    "    try:\n",
    "        return pd.read_csv(URL)\n",
    "    except Exception as e_url:\n",
    "        try:\n",
    "            from ucimlrepo import fetch_ucirepo\n",
    "            r = fetch_ucirepo(id=519)\n",
    "            return r.data.features.join(r.data.targets)\n",
    "        except Exception as e_uci:\n",
    "            raise RuntimeError(\n",
    "                \"Download failed. Check your internet connection, \"\n",
    "                \"or download the zip manually from \"\n",
    "                \"https://archive.ics.uci.edu/dataset/519 and use pd.read_csv('<file>.csv'). \"\n",
    "                f\"URL error: {e_url!r}; ucimlrepo error: {e_uci!r}\"\n",
    "            ) from e_uci\n",
    "\n",
    "df = load_heart_failure()\n",
    "df = df.rename(columns={\"DEATH_EVENT\": \"death_event\"})\n",
    "print(df.shape)\n",
    "df.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "bb3e4e73",
   "metadata": {},
   "source": [
    "### 2.2 先看全貌：`info()` 與 `describe()`\n",
    "\n",
    "`info()` 告訴你每欄的型別與非空值數量（這份資料沒有遺漏值）；`describe()` 一次算出平均、標準差、四分位數。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "id": "b0b9e62f",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.420922Z",
     "iopub.status.busy": "2026-09-29T20:02:20.420729Z",
     "iopub.status.idle": "2026-09-29T20:02:20.427086Z",
     "shell.execute_reply": "2026-09-29T20:02:20.426543Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 299 entries, 0 to 298\n",
      "Data columns (total 13 columns):\n",
      " #   Column                    Non-Null Count  Dtype  \n",
      "---  ------                    --------------  -----  \n",
      " 0   age                       299 non-null    float64\n",
      " 1   anaemia                   299 non-null    int64  \n",
      " 2   creatinine_phosphokinase  299 non-null    int64  \n",
      " 3   diabetes                  299 non-null    int64  \n",
      " 4   ejection_fraction         299 non-null    int64  \n",
      " 5   high_blood_pressure       299 non-null    int64  \n",
      " 6   platelets                 299 non-null    float64\n",
      " 7   serum_creatinine          299 non-null    float64\n",
      " 8   serum_sodium              299 non-null    int64  \n",
      " 9   sex                       299 non-null    int64  \n",
      " 10  smoking                   299 non-null    int64  \n",
      " 11  time                      299 non-null    int64  \n",
      " 12  death_event               299 non-null    int64  \n",
      "dtypes: float64(3), int64(10)\n",
      "memory usage: 30.5 KB\n"
     ]
    }
   ],
   "source": [
    "df.info()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "id": "27ea56b1",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.428988Z",
     "iopub.status.busy": "2026-09-29T20:02:20.428850Z",
     "iopub.status.idle": "2026-09-29T20:02:20.443493Z",
     "shell.execute_reply": "2026-09-29T20:02:20.443099Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>age</th>\n",
       "      <td>299.0</td>\n",
       "      <td>60.83</td>\n",
       "      <td>11.89</td>\n",
       "      <td>40.0</td>\n",
       "      <td>51.0</td>\n",
       "      <td>60.0</td>\n",
       "      <td>70.0</td>\n",
       "      <td>95.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>anaemia</th>\n",
       "      <td>299.0</td>\n",
       "      <td>0.43</td>\n",
       "      <td>0.50</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>creatinine_phosphokinase</th>\n",
       "      <td>299.0</td>\n",
       "      <td>581.84</td>\n",
       "      <td>970.29</td>\n",
       "      <td>23.0</td>\n",
       "      <td>116.5</td>\n",
       "      <td>250.0</td>\n",
       "      <td>582.0</td>\n",
       "      <td>7861.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>diabetes</th>\n",
       "      <td>299.0</td>\n",
       "      <td>0.42</td>\n",
       "      <td>0.49</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ejection_fraction</th>\n",
       "      <td>299.0</td>\n",
       "      <td>38.08</td>\n",
       "      <td>11.83</td>\n",
       "      <td>14.0</td>\n",
       "      <td>30.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>45.0</td>\n",
       "      <td>80.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>high_blood_pressure</th>\n",
       "      <td>299.0</td>\n",
       "      <td>0.35</td>\n",
       "      <td>0.48</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>platelets</th>\n",
       "      <td>299.0</td>\n",
       "      <td>263358.03</td>\n",
       "      <td>97804.24</td>\n",
       "      <td>25100.0</td>\n",
       "      <td>212500.0</td>\n",
       "      <td>262000.0</td>\n",
       "      <td>303500.0</td>\n",
       "      <td>850000.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>serum_creatinine</th>\n",
       "      <td>299.0</td>\n",
       "      <td>1.39</td>\n",
       "      <td>1.03</td>\n",
       "      <td>0.5</td>\n",
       "      <td>0.9</td>\n",
       "      <td>1.1</td>\n",
       "      <td>1.4</td>\n",
       "      <td>9.4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>serum_sodium</th>\n",
       "      <td>299.0</td>\n",
       "      <td>136.63</td>\n",
       "      <td>4.41</td>\n",
       "      <td>113.0</td>\n",
       "      <td>134.0</td>\n",
       "      <td>137.0</td>\n",
       "      <td>140.0</td>\n",
       "      <td>148.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>sex</th>\n",
       "      <td>299.0</td>\n",
       "      <td>0.65</td>\n",
       "      <td>0.48</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>smoking</th>\n",
       "      <td>299.0</td>\n",
       "      <td>0.32</td>\n",
       "      <td>0.47</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>time</th>\n",
       "      <td>299.0</td>\n",
       "      <td>130.26</td>\n",
       "      <td>77.61</td>\n",
       "      <td>4.0</td>\n",
       "      <td>73.0</td>\n",
       "      <td>115.0</td>\n",
       "      <td>203.0</td>\n",
       "      <td>285.0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>death_event</th>\n",
       "      <td>299.0</td>\n",
       "      <td>0.32</td>\n",
       "      <td>0.47</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>0.0</td>\n",
       "      <td>1.0</td>\n",
       "      <td>1.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                          count       mean       std      min       25%  \\\n",
       "age                       299.0      60.83     11.89     40.0      51.0   \n",
       "anaemia                   299.0       0.43      0.50      0.0       0.0   \n",
       "creatinine_phosphokinase  299.0     581.84    970.29     23.0     116.5   \n",
       "diabetes                  299.0       0.42      0.49      0.0       0.0   \n",
       "ejection_fraction         299.0      38.08     11.83     14.0      30.0   \n",
       "high_blood_pressure       299.0       0.35      0.48      0.0       0.0   \n",
       "platelets                 299.0  263358.03  97804.24  25100.0  212500.0   \n",
       "serum_creatinine          299.0       1.39      1.03      0.5       0.9   \n",
       "serum_sodium              299.0     136.63      4.41    113.0     134.0   \n",
       "sex                       299.0       0.65      0.48      0.0       0.0   \n",
       "smoking                   299.0       0.32      0.47      0.0       0.0   \n",
       "time                      299.0     130.26     77.61      4.0      73.0   \n",
       "death_event               299.0       0.32      0.47      0.0       0.0   \n",
       "\n",
       "                               50%       75%       max  \n",
       "age                           60.0      70.0      95.0  \n",
       "anaemia                        0.0       1.0       1.0  \n",
       "creatinine_phosphokinase     250.0     582.0    7861.0  \n",
       "diabetes                       0.0       1.0       1.0  \n",
       "ejection_fraction             38.0      45.0      80.0  \n",
       "high_blood_pressure            0.0       1.0       1.0  \n",
       "platelets                 262000.0  303500.0  850000.0  \n",
       "serum_creatinine               1.1       1.4       9.4  \n",
       "serum_sodium                 137.0     140.0     148.0  \n",
       "sex                            1.0       1.0       1.0  \n",
       "smoking                        0.0       1.0       1.0  \n",
       "time                         115.0     203.0     285.0  \n",
       "death_event                    0.0       1.0       1.0  "
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.describe().T.round(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "80fbb9f7",
   "metadata": {},
   "source": [
    "### 2.3 選欄與篩選列\n",
    "\n",
    "- 選欄：`df[\"age\"]` 得到一個 Series；`df[[\"age\", \"sex\"]]` 得到 DataFrame。\n",
    "- 篩選列：用布林條件，多個條件用 `&`（且）、`|`（或），每個條件要加括號。\n",
    "- 同時選列與欄：`df.loc[列條件, 欄名]`。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "id": "990711f2",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.444911Z",
     "iopub.status.busy": "2026-09-29T20:02:20.444822Z",
     "iopub.status.idle": "2026-09-29T20:02:20.449333Z",
     "shell.execute_reply": "2026-09-29T20:02:20.448891Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "13 patients: EF < 30% and age >= 70\n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>age</th>\n",
       "      <th>ejection_fraction</th>\n",
       "      <th>serum_creatinine</th>\n",
       "      <th>death_event</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>75.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1.90</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>75.0</td>\n",
       "      <td>15</td>\n",
       "      <td>1.20</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>18</th>\n",
       "      <td>70.0</td>\n",
       "      <td>25</td>\n",
       "      <td>1.00</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>40</th>\n",
       "      <td>70.0</td>\n",
       "      <td>20</td>\n",
       "      <td>1.83</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>48</th>\n",
       "      <td>80.0</td>\n",
       "      <td>20</td>\n",
       "      <td>4.40</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     age  ejection_fraction  serum_creatinine  death_event\n",
       "0   75.0                 20              1.90            1\n",
       "6   75.0                 15              1.20            1\n",
       "18  70.0                 25              1.00            1\n",
       "40  70.0                 20              1.83            1\n",
       "48  80.0                 20              4.40            1"
      ]
     },
     "execution_count": 10,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "cols = [\"age\", \"ejection_fraction\", \"serum_creatinine\", \"death_event\"]\n",
    "severe = df.loc[(df[\"ejection_fraction\"] < 30) & (df[\"age\"] >= 70), cols]\n",
    "print(len(severe), \"patients: EF < 30% and age >= 70\")\n",
    "severe.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "6e2bec0b",
   "metadata": {},
   "source": [
    "### 2.4 新增欄位（一律用 `df[\"新欄\"] = ...` 或 `.loc`）\n",
    "\n",
    "用 `pd.cut` 把 EF 分成三組（此切點只是教學示範，實際分類請依最新指引）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "id": "ca7df169",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.450425Z",
     "iopub.status.busy": "2026-09-29T20:02:20.450347Z",
     "iopub.status.idle": "2026-09-29T20:02:20.454064Z",
     "shell.execute_reply": "2026-09-29T20:02:20.453654Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/plain": [
       "ef_group\n",
       "EF<=40     219\n",
       "EF41-49     20\n",
       "EF>=50      60\n",
       "Name: count, dtype: int64"
      ]
     },
     "execution_count": 11,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df[\"ef_group\"] = pd.cut(\n",
    "    df[\"ejection_fraction\"],\n",
    "    bins=[0, 40, 49, 100],\n",
    "    labels=[\"EF<=40\", \"EF41-49\", \"EF>=50\"],\n",
    ")\n",
    "df[\"creatinine_umol\"] = df[\"serum_creatinine\"] * 88.4\n",
    "df[\"ef_group\"].value_counts().sort_index()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1b34dc74",
   "metadata": {},
   "source": [
    "### 2.5 分組彙整：`groupby`\n",
    "\n",
    "「死亡組與存活組各自的平均值」是臨床論文 Table 1 最常見的問題。`groupby` 一行做到。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "id": "20bac92e",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.455323Z",
     "iopub.status.busy": "2026-09-29T20:02:20.455242Z",
     "iopub.status.idle": "2026-09-29T20:02:20.461141Z",
     "shell.execute_reply": "2026-09-29T20:02:20.460735Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">age</th>\n",
       "      <th colspan=\"2\" halign=\"left\">ejection_fraction</th>\n",
       "      <th colspan=\"2\" halign=\"left\">serum_creatinine</th>\n",
       "      <th colspan=\"2\" halign=\"left\">serum_sodium</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>death_event</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>58.76</td>\n",
       "      <td>10.64</td>\n",
       "      <td>40.27</td>\n",
       "      <td>10.86</td>\n",
       "      <td>1.18</td>\n",
       "      <td>0.65</td>\n",
       "      <td>137.22</td>\n",
       "      <td>3.98</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>65.22</td>\n",
       "      <td>13.21</td>\n",
       "      <td>33.47</td>\n",
       "      <td>12.53</td>\n",
       "      <td>1.84</td>\n",
       "      <td>1.47</td>\n",
       "      <td>135.38</td>\n",
       "      <td>5.00</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "               age        ejection_fraction        serum_creatinine        \\\n",
       "              mean    std              mean    std             mean   std   \n",
       "death_event                                                                 \n",
       "0            58.76  10.64             40.27  10.86             1.18  0.65   \n",
       "1            65.22  13.21             33.47  12.53             1.84  1.47   \n",
       "\n",
       "            serum_sodium        \n",
       "                    mean   std  \n",
       "death_event                     \n",
       "0                 137.22  3.98  \n",
       "1                 135.38  5.00  "
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "num_cols = [\"age\", \"ejection_fraction\", \"serum_creatinine\", \"serum_sodium\"]\n",
    "df.groupby(\"death_event\")[num_cols].agg([\"mean\", \"std\"]).round(2)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "ad335af4",
   "metadata": {},
   "source": [
    "各 EF 分組的死亡比例（`death_event` 是 0/1，所以平均值就是比例）。`ef_group` 是類別型欄位，`observed=True` 表示只列出實際出現的組別。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "id": "e0fe9bdb",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.462229Z",
     "iopub.status.busy": "2026-09-29T20:02:20.462153Z",
     "iopub.status.idle": "2026-09-29T20:02:20.465682Z",
     "shell.execute_reply": "2026-09-29T20:02:20.465342Z"
    }
   },
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ef_group</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>EF&lt;=40</th>\n",
       "      <td>219</td>\n",
       "      <td>0.352</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EF41-49</th>\n",
       "      <td>20</td>\n",
       "      <td>0.250</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>EF&gt;=50</th>\n",
       "      <td>60</td>\n",
       "      <td>0.233</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          count   mean\n",
       "ef_group              \n",
       "EF<=40      219  0.352\n",
       "EF41-49      20  0.250\n",
       "EF>=50       60  0.233"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "df.groupby(\"ef_group\", observed=True)[\"death_event\"].agg([\"count\", \"mean\"]).round(3)"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "4bb7eebc",
   "metadata": {},
   "source": [
    "### 2.6 列聯表：`pd.crosstab`\n",
    "\n",
    "兩個類別變數交叉計數，下一節的卡方檢定就是吃這張表。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "id": "ac60ad6d",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.466800Z",
     "iopub.status.busy": "2026-09-29T20:02:20.466740Z",
     "iopub.status.idle": "2026-09-29T20:02:20.475711Z",
     "shell.execute_reply": "2026-09-29T20:02:20.475409Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "death_event            0   1\n",
      "high_blood_pressure         \n",
      "0                    137  57\n",
      "1                     66  39\n",
      "death_event              0      1\n",
      "high_blood_pressure              \n",
      "0                    0.706  0.294\n",
      "1                    0.629  0.371\n"
     ]
    }
   ],
   "source": [
    "tab = pd.crosstab(df[\"high_blood_pressure\"], df[\"death_event\"])\n",
    "print(tab)\n",
    "print(pd.crosstab(df[\"high_blood_pressure\"], df[\"death_event\"], normalize=\"index\").round(3))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "490fbef4",
   "metadata": {},
   "source": [
    "## 3. Matplotlib：一張圖看分布\n",
    "\n",
    "本章只用一種寫法：`fig, ax = plt.subplots()`，每張子圖（`ax`）都要有標題、軸標籤，有兩組以上就加圖例。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "id": "fa66dafa",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.476787Z",
     "iopub.status.busy": "2026-09-29T20:02:20.476713Z",
     "iopub.status.idle": "2026-09-29T20:02:20.642077Z",
     "shell.execute_reply": "2026-09-29T20:02:20.641653Z"
    }
   },
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABdEAAAGZCAYAAABmEXgYAAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAA+nNJREFUeJzs3Qd4FFXXB/D/9k3vIYEEQu8dqYIgKGIDESsq9vbasWHv2Otr772+iIqfoFIEFBDpSO8JkN7b9u85N+xmN9k0SCX/3/MsYWdmd2dnd+fOnDn3XI3L5XKBiIiIiIiIiIiIiIgq0VaeREREREREREREREREDKITEREREREREREREVWDmehERERERERERERERFVgEJ2IiIiIiIiIiIiIqAoMohMRERERERERERERVYFBdCIiIiIiIiIiIiKiKjCITkRERERERERERERUBQbRiYiIiIiIiIiIiIiqwCA6EREREREREREREVEVGESnZkOj0eCRRx5p9NeV15TXbgqFhYW4+uqrERcXp9bhtttuQ3PQVNtk37596nWff/75Rn9tIiKi5mrJkiWqfZS/R9u2fvTRR2hsl19+OYKDgxv9dYmIqPmfN0q7JI+VdoqOvW1vyrhGTTGP2NhYfP75543yeklJSer4oznGuBriOy/vVd6zW1ZWFoKCgvB///d/9fYaVI5BdGpQ7p1EVbeVK1c2yidQXFysdl5Hc/LZkJ566im1jW644QZ8+umnuPTSSxvttZvrNmmp3njjjSYJUBAR1bdNmzZh2rRp6NChA8xmM9q1a4dTTjkFr732Gjd2A2Nb0jxs2bJFHSMxsENETWH37t247rrr0KlTJ9UOh4aGYtSoUXjllVdQUlLS6OvD80Y6FvK9DQkJwYUXXsgN2QiioqJUouaDDz7I7d0A9A3xpEQVPfbYY+jYsWOl6V26dPH8Xw4I9Hp9gzX8jz76qPr/2LFjfeY98MADuPfee9EUFi1ahOHDh+Phhx9u9NdurtukJQc+oqOjm81VbyKio/HXX39h3LhxaN++Pa655hrVUyo5OVld9JaToJtvvpkbtgnakjFjxqjjJKPRWOfnlIsh8liDwVCPa3r8B9HlGEmOj7yzu4iIGtrPP/+M8847DyaTCZdddhn69OkDq9WK5cuX46677sK///6Ld95557g4b5QEMgmsynulY9ccz+FtNps6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eyG/a9nvynnfa6+95rNfk32TtLn+1OY82ul0up566im1b5F9leyz5s2bV6kdqet5Y1XrVVXb7t0O1uVcsj72f7JvlnWYMGFCpXkLFy50TZ482dW2bVv1/PL3oosuUp9PdWr7uNqc/7nPJS+99FLV3sj5m/x/3bp1ldp2f5+FxASuuuoq9Tj5Hp1//vmu9PT0SrGXuh5PVXds5M1isaj39/jjj9fqeety3CFturT97tjI2LFjXZs3b/bbpje0kpIS1y233OKKiopS7+uss85yJScnV9rO/r7zdTk/l+Punj17qt9rr169XHPmzPH7e926dat6nd9//72B33nro5F/mjqQTySZW5INLN12HnjgAW4QqjUpWyPdmx566CE16CoRERG1XJKpLWO/SDd3dwkBIiIiapkkxiMl7CSbvLEGVW3tbrvtNtXrQHo5MBO9frEmOjUL7u7M7HJKdfXRRx+pizDSBYqIiIhaLqkz/tlnn6ku9QygExERHR8Xx6XcyFdffdXUq9IqyLhEUudfSgMygF7/WBOdmpzU/pL63fIDb8p649SyLFq0SA2i8eSTT6qap1JHjoiIiFoeqRcrdXrlmFBO/m699damXiUiIiKqBzJQqrTz1DhkbBl/NdKpfjCITk1OBouUALp03e3evXtTrw61EDJgiwywI4Nt1GZ0ciIiImqe5KL49OnT1cCdr776qhqki4iIiIioOWFNdCIiIiIiIiIiIiKi5lgTXcovSAZyxdt//vMfT11E+b90R5AuIFIfMS0trSlXmYiIiIiIiIiIiIhakSbNRM/IyFADArpt3rwZp5xyChYvXoyxY8fihhtuwM8//6wGDgwLC8NNN90ErVaLP//8s9av4XQ6cejQIYSEhLCoPhERNUvSFBcUFKBt27aqnaNybMeJiKi5YzteNbbjRER0vLTjzaqcy2233YZ58+Zh586dyM/PR0xMDL744gtMmzZNzd+2bRt69uyJFStWYPjw4bV6zpSUFCQmJjbwmhMRER275ORkJCQkcFN6YTtOREQtBdvxytiOExHR8dKON5uBRa1WKz777DPccccdKmN8zZo1sNlsmDBhgmeZHj16oH379tUG0S0Wi7q5ua8RyIYIDQ1thHdCRERUN3LhWC74Sq8p8uXeJmzHiYiouWI7XjW240REdLy0480miD537lzk5ubi8ssvV/dTU1NhNBoRHh7us1ybNm3UvKrMnj0bjz76aKXpEkBnEJ2IiJozuYhM/rcJ23EiImru2I5XvU3YjhMRUUtvx5tN4dX3338fkyZNUvVnjsWsWbOQl5fnuUnmGhERERERERERERHR0WgWmej79+/H77//jjlz5nimxcXFqRIvkp3unY2elpam5lXFZDKpGxERERERERERERHRsWoWmegffvghYmNjccYZZ3imDR48GAaDAQsXLvRM2759Ow4cOIARI0Y00ZoSERERERERERERUWvS5JnoTqdTBdFnzJgBvb58dcLCwnDVVVepgUYjIyNVDbWbb75ZBdCrGlSUiKg1cTgcagBmav7korBOp2vq1SAiIiIiIiKilhhElzIukl1+5ZVXVpr30ksvQavV4txzz4XFYsHEiRPxxhtvNMl6EhE1Fy6XSw2wLOWuqOWQ0mRSjoyDjhERERERERG1LE0eRD/11FNVQMgfs9mM119/Xd2IiKiMO4AuZbACAwMZlG3mpI0rLi5Genq6uh8fH9/Uq0RERERERERELSmITkREdSvh4g6gR0VFcdO1EAEBAeqvBNLls2NpFyIiIiIiIqKWg0F0IqIWxF0DXTLQqWVxf2byGTKITkRENV00X7ZsGQ4fPqx6MI0ePZptB1EjsTtcsFocMJt10Go13O5ERKQwiE5E1AKxrnbLw8+MiIhqY86cOZg5cyb27dvnmZaUlIQXXngBU6dO5UYkaiAlpQ4sWJyGNRtyYbE6EBKkx/AhURh3Ygz0OgbTiYhaO21TrwARERERERGVBdCnTZuGvn37YsWKFSgoKFB/5b5Ml/lEVP9sNife/XQv/lqdpQLooqDIjt/+SMNX3ydzkxMREYPoREREREREzaGEi2Sgn3nmmZg7dy6GDx+O4OBg9Vfuy/Q777xTLUdE9Wv95lykHC7xO2/jljwcSCnmJiciauVYzoWI6Dhx3YK5jfZab0+cgpZiyZIlGDduHHJychAeHt5gr3P55ZerQV8l0EFERFRXUgNdSrh8+eWX0Gp9OwzL/VmzZmHkyJFqubFjx3IDE9Wjzdvyq53/7/Z8tE/gmERERK0Zy7kQEVGjyMjIwA033ID27dvDZDIhLi4OEydOxJ9//tmgrysBBxmYLSwsrEFfh4iI6FhIWyX69Onjd757uns5Iqo/Tmf18x0OFzc3EVErx0x0ouMgK7ilZQZT63TuuefCarXi448/RqdOnZCWloaFCxciKyvrqJ7P5XKpLu16ffVNmdFoVAF7IiKi5iw+Pl793bx5syrhUpFM916OiOpP107B2L67oNr5RETUujETnYiIGpyUOZHu588884wqrdKhQwcMHTpUdU0/++yzVfd1jUaD9evX+zxGpkk5FiF/5f4vv/yCwYMHq2z2Dz74QE3btm2bz+u99NJL6Ny5s8/j5Pny8/MREBCgnsPb999/j5CQEBQXl9W7TE5Oxvnnn6/Kv0RGRmLy5MlqHd0keH/HHXeo+VFRUbj77rtVUJ+IiOhojR49GklJSXjqqafgrJAWK/dnz56Njh07quWIqH6dMDAC4aEGv/M6JASiW2cG0YmIWjsG0YmIqMHJwGhyk3rhFovlmJ7r3nvvxdNPP42tW7di2rRpGDJkCD7//HOfZeT+xRdfXOmxoaGhamC2L774otLyU6ZMQWBgIGw2myozI0F1CfxLuRlZ99NOO01l0osXXngBH330kQriL1++HNnZ2SoQT0REdLR0Op1qX+bNm6fapBUrVqCgoED9lfsy/fnnn1fLEVH9CjDrcN2MTj4Z5zqtBgP6hOPKi5NUQgYREbVuLOdCREQN39jo9SrofM011+Ctt97CoEGDcNJJJ+HCCy9Ev3796vRcjz32GE455RTP/enTp+O///0vHn/8cXV/x44dWLNmDT777DO/j5flL730UpV1LkFzyU7/+eefPUHwr7/+WmX8vffee54Tpg8//FBlnUtW+6mnnoqXX35ZZdFPnTpVzZf3tGDBgqPePkRERELale+++w4zZ85UY3q4SQa6THe3O0RU/6IijLjmko7IybUir8CGqAgTQoIZMiEiojLMRCciokariX7o0CH8+OOPKqtbAtISTJfgel1I5rk3CcRLqZWVK1d6ssrleXv06OH38aeffjoMBoNaD/G///1PZahPmDBB3d+wYQN27dqlMtHdGfRS0qW0tBS7d+9GXl6eGtRt2LBhPhcJKq4XERHR0ZBAubRDixcvVj2n5O/OnTsZQCdqJBHhRiQlBjGATkREPnhZlYiIGo3ZbFZZ5HJ78MEHcfXVV+Phhx9WZVOEd11xKaviT1BQkM99GTT05JNPVoEGGYhN/t5www3VDjQqZWBkOQnAy98LLrjAM0BpYWGhqrlesUSMiImJOer3TkREVFtSsmXs2LHc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G2dG56Rg2GxOWG1lj0tsG4CzJsYjLtbMT4CIqJVhJjoRERHh0KFDuPrqqxEfH48nnngCJSUlGDBgAMaPH4+EhAQsXrwYp5xyCnr16oWvv/6aW4yIiIiaje6dApGbb8XmrfnY8G8ecvJt6NwxoCx4rgPaxpowZYQZWocFNqsddqsdnQMLEYtclDq0KHHoEOgswrlntYPJqEVRsR1hoQZcMCUB40fHoENCIHp2DcGk8XFISgzyee3MbAv+7/dUfPrtAfz8eyoyKwx06s/mbXm47YENuOi6v3HtzLVYtCy9AbcOERHVB2aiExERkco0nzFjBtasWaMC5f5IYH3u3Ll4+eWXkZycjDvvvJNbjoiIqBlaunQpnnvuOdWuHz58WPUymzJlit9lr7/+erz99tt46aWXcNttt3mmZ2dn4+abb8ZPP/0ErVaLc889F6+88gqCg5tXPXAJSN983wbY7S7PAKC79xX7LLP/YAn2p8j/jKpQuiy2KUeC4UGe1MIUVzQeeysFgSYNTAEG7DtQjN//yEC7eLMn83zrzgIM7BuOC6ckQKPRYPX6HPxv3kGfAU6XrsjEuWe0VRny/rzzyR58NTfFs66p6cDjL27D/MVpePahvg2yjYiI6NgxE52IiIiwZcsWPPvss1UG0EVAQAAuuugirFixAldccQW3GhERUTNVVFSE/v374/XXX692OQmur1y5Em3btq00b/r06fj333/x22+/Yd68eSowf+2116K5ueexzT4BdL+qm1dBsaWsdEuJxamC48mHSmCxlk0T6zblYtXaHGTnWCsF0NVLuVyY83+HVIZ6RckpRT4BdG+r1+Xgx/mHar+iRETUqBhEJyIiIkRFRdW4FdLT0/HUU0/VenkiIiJqGpMmTVLl2c4555wqlzl48KDKNP/8889hMJQNoum2detWzJ8/H++99x6GDRuGE088Ea+99hq++uorVQKuKhaLBfn5+T63hrRlRx7yC+01LFWHCLqiQUmxDS53cNwFpKaV+iyxck02/l6XUymA7ibTJShe0Tuf76s22P/dvIN1XFciImosDKITERFRrUh38AcffJBbi4iIqIVzOp249NJLcdddd6F3796V5kuvs/DwcAwZMsQzbcKECaqsy6pVq6p83tmzZyMsLMxzS0xMREPatDWvQZ7XbisbkNTNOxNd5ORZkZ1rrfY5/M1Pz6i+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m+XEiROcSwDIAk2aNJHy5cvLW2+9JYmJiQ7rdH7MmDESFhZmtoNn0vc5b968yZbrsqR/E8i469GxkhAd63S95VqCyW8O93fufHyq68/cYD0A3FQQfeDAgeYifvToUQkI+O+O3UMPPWTunKdHmTJl5O233zYDp2zcuFHuvvtuM1COdl+zvtaiRYtk3rx5snLlSjl58qR07tw5vUUGAADpsH37dnOz/J133pF3333XBNSV5kTXoDoAIPN5e3vL+PHjZfHixWYQ0bVr15rUHvqo87pcv5N1O3gmrQ8///zzpt5rpTevtV6sDdmQObzz+4uXXyq5sPOI5C1ckNPtAQoGpp58IegG6wHgpoLov/76q6lUawDcnuZJPXLkSLr21b59e9OaXZ+rlfU333zTtDhft26dREZGyqeffmpyr+qPiXr16smMGTPkzz//NOudiY+Pl6ioKIcJAACk3aBBg6Rnz56yf/9+yZcvn225XrNXrVrFqQSALKINhr799lszmLMOIqq9dfVRU7nochoUebaJEyea+qv2SKhYsaKZtPeBLvvoo49cXTyP4eXrK8F33e50fdBtNcQ3pHC2lglZo/5tzt/HwoV8pVIFUvYASLt033aLjY11aIFupV29/fz8JKOuX79uWpzr/jWti7ZOv3btmrRs2dK2TdWqVSU0NNS0xkgpT6DSbo46CBoAAMiYDRs2yLRp05ItL126tJw+fZrTCgBZSAPl2jt39erVJnWm5kDXFC60QPd8ZcuWNanTNC/6nj17zDLNj25fJ0YmneuenSX2wBGJO+KYps63aLCUe/oRTrOHaFgvRPYfjJHd+6Mdlvv5esvDncowrh+ArA2i6w+4L774Ql5//XUzr4OJan62sWPHSvPmzdO7O9PKQoPmmv9cW6EvWLDADJ6ydetW8fX1lUKFCjlsX7x48VQr8NrNXFvQWelde/0xAgAA0kZviqfUk2vfvn1StGhRTiMAZDENmIeHh3OecyGtX99zzz1mUtaUasiYhNjLcj3msuQNKSRePv+FP3TQ0Gpjh8iFFeskYv02sSQmmhboRVreKT75s2egycSrV+XapSjxCcwv3gH+4gmunr8o4uUlvsGOcRxX8fHOIz0eKie79kbJlh0RciU+UUJLB0jDesFSKCj5+AMAkKlBdA2Waz42zWF+9epVeemll0wOc22JvmbNmvTuTqpU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WzP4CQAAHq5gwYIyatQoad++vTz66KOuLg5yEA2Ua2OL1atXm0FENQe6pnDRluoAnLt8+bLs2bPH6fq4uDg5fPiwSZukA046U7VqVQkICOBUewCtYwMAAA8IokdGRpq8lx999JHUqVNHli1bRp5LAAByCf0doBOQlAbMw8PDOTFAOmgAvV69ejd9zjZt2iR169bl3HuIiIgI05Pn4MGDMnjwYJMbXdO4FC9eXEqXLu3q4gEAkGulOYg+duxYeeedd6REiRIyZ86cFNO7ADlZn18WZuvrPZCtrwYAmUfHObFnsVhMC2Md6KxNmzacagDIBNqCXAPgzuzevVu6d+8uX331lVSrVi3V/cAzbN++XVq2bClBQUGmF0Lv3r1NEH3+/Ply9OhR+eKLL1xdRAAAcq00B9E197l2I7zllltMGhedUqIX+LTSQad0e22FofvWXJoaqK9SpYptmytXrpg8m3PnzpX4+HiTPmby5MnmTjwAAMh877//vsO8l5eXFC1aVHr06GEGjwQA3DxNwZKWFuQaQKelee4waNAgM/6INmALDAy0LW/btq088sgjLi0bAAC5XZqD6I899pjkyZMnU1985cqV0q9fP6lfv74kJCTIK6+8Iq1atZK///7bNhL5wIED5ccff5R58+aZO/L9+/c3uTfXrFmTqWUBAAD/OnToEKcCAIBstmHDBpk2bVqy5ZrG5fTp07wfAAC4QxB95syZmf7iS5YsSfYaxYoVM90amzZtavKufvrppzJ79my5++67zTYzZswwrTHWrVsnDRs2zPQyAQCQm127ds30Dtu6davUrFnT1cUBACDX8PPzk6ioqGTL9+3bZ3qEAQAA1/GSHMQ6WJnmfVMaTNfKvOaFs8/5FxoaKmvXrk1xH5ryRX942E8AACBt8ubNa66z169f55Qhza5evSoffPCBPPvss+ZR5wEA6dOhQwcZPXq0qQMr7QmuudCHDBkiXbp04XQCAOBCOSaInpiYKAMGDJDGjRvbWr5plzVfX18pVKiQw7aaD91ZdzbNs65pX6xT2bJls6X8AAB4ildffdWkWLt48aKriwI38NJLL5k0fJqCb+LEieZR53U5ACDtxo8fLzExMaZ3dlxcnDRr1syMSab50d98801OJQAA7pDOJatpbvSdO3fKH3/8cVP70QHPdEAWK22JTiAdAIC000DogQMHpFSp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1t/dGkzQ36naYEA/P3oj2so+iK74bABIaz0emYcgevbWhZF1dVVkrjz6T1a0cAcAAAAAAAAAwN2REx0AAAAAAAAAACcIogMAAAAAAAAA4ARBdAAAAAAAAAAAnCCIDgAAAAAAAACAEwTRAQAAAAAAAABwgiA6AAAAAAAAAABOEEQHAAAAAAAAAMAJgugAAAAAAAAAADhBEB3IBOXLl5cPPvggS8/lzJkzpVChQpLVLl++LF26dJGCBQtKnjx5JCIiQrJTdh2n2rt3r5QoUUKio6MzvI+///5bypQpI7GxsZlaNgAAAAAAMlpPDg8PlwEDBmTLCRw+fLg89dRTklOk59jPnz8vxYoVk+PHj2d5ueDeCKIDN9CzZ08TTE463XvvvbZtNmzYkKkXjJSC8g899JDs27cvy9+vzz//XFavXi1//vmnnDp1SoKCgrLstVx5nGro0KHy7LPPSmBgoJk/fPiwNG3aVPLnz28edd5eu3bt5LvvvnNYVr16dWnYsKG899572VJmAAAAAMjJzp07J88884yEhoaKn5+fabjUunVrWbNmjauL5hYyq548f/58ef311yWrnT59Wj788EN59dVXJbusXLlSypYtmylB9SJFishjjz0mI0eOzMQSwhMRRAfSQAPmGlC2n+bMmWNbX7RoUQkICMjSc+nv72/ujma1gwcPSrVq1aRmzZrmx47eMEjq6tWrbn+cR48elcWLF5ubJFYvvPCClC5dWrZu3SolS5aUF1980bbu66+/Fi8vL9NKP6levXrJlClTJCEhIcvLDQAAAAA5mdaZtmzZYhpoaeD3hx9+MEHMCxcuZHifWVkHzQxZXb6M1JODg4NtDcay0vTp0+XOO++UcuXKSXb5/vvvpX379pm2P63Tz5o1Sy5evJhp+4TnIYgOpIH17rn9VLhwYad3ijUFypNPPmmC65oW5e6775Zt27Y57HPRokVSv359yZcvn7nzef/995vl+uPiyJEjMnDgQFurd2fdtzRwW7FiRfH19ZUqVarIl19+6bBen6sXNN23BvkrVapkfsA4o689fvx4WbVqlXmuzluPT+9g691ZPR5rq/shQ4ZI5cqVzb4rVKhgunBdu3Ytxx+n+uabb6R27domaG61e/du6dGjh3m+Btd13vp+Dhs2TCZNmpTivu655x5zsdW74QAAAACQW2ndSXs2v/POO9K8eXMTWL3jjjtML+AOHTqkuc782muvSZ06dUw9LywszNQnnbXS1u10e/v64bRp00xPYq0faiOxtWvXyoEDB0w9VHsea9BXG5ClRtN7/O9//zPBaH3O7bffLuvXr0+1fDc6Ln3Njh07SvHixaVAgQKmrvzbb7/Z1qe1nmx9fa0b6znRHuQPP/ywQ6rSpK2vdbu33npLHn/8cRNc154CH3/8scMxHzt2TB588EHzWnrcWtakPbSTmjt3brKAtr629vrW19fYiR7vJ598YtKgasBaX/+WW26Rn3/+2eF5Wo/X+rieT/370RsxKaWZ1e2sf0+6T41V6PnUxnAa00ivGjVqSKlSpWTBggXpfi5yD4LoQBZ44IEH5OzZs+aCsGnTJqlbt660aNHCdlfzxx9/NAHftm3bmjv0y5YtMz8srF2uNMf26NGjba3eU6Jf7s8//7xpPb1z507p06ePuRgtX77cYbtRo0aZi+D27dvN63Xr1s3p3VV97d69e0ujRo3M6+q81bvvvmuCzlpeDZYrvfDpxVzzgmv3Lb0ovv/++7bn5NTjVPrDTn8E2dPj0x8wiYmJ8uuvv8qtt95qlg8ePFj69evntLuYBvf1B4zuEwAAAAByKw1k6rRw4UKJj4/PcJ1ZadBb02lq3VF7C6eHtRGYPq9q1aryyCOPmLqkBvM3btwoFotF+vfv7/T5MTEx0qxZMzlx4oQJ2Gog/KWXXjJ1xdTKd6Pj0v1qfVXrxlpH1l7vGoDWntLpqSdbA/J6nrWHtU7aqOvtt99O9bxogFnrwfraffv2NWl3dKwwpQ3iNO2O1vO1bqvpd/S91DI6a2mvx6XxgKR1a6UBcG1I99dff5mAur6Wnh+9gbF582Zp1aqVPProo2ZcNnXo0CHp2rWrdOrUyZxvfb9SShGza9cuc471BoW1vq7Hrq3TtR6/YsUKs//00lgFdXqkygIgVT169LB4e3tb8ufP7zC9+eabtm3KlStnef/9983/V69ebSlYsKDlypUrDvupWLGiZdq0aeb/jRo1snTr1s3pa9rvz2rGjBmWoKAg2/ydd95p6d27t8M2DzzwgKVt27a2ef2IDxs2zDYfExNjlv38889OX/v555+3NGvWLFl5OnXqZLmRcePGWerVq2ebz8nHWbt2bcvo0aMdlh0/ftxy3333WcqWLWsedX7lypWW22+/3XLhwgXzumFhYZY+ffpY4uPjHZ57//33W3r27On09QAAAAAgN/j2228thQsXtuTLl8/U54YOHWrZtm2bbX1a6swjR4605M2b13L27Nkb1iG1bqfbO6sfrl271iz79NNPbcvmzJljyueMliMwMNDUA1OSUvnSclwpqVGjhuWjjz5KVz1ZXz8gIMASFRVlWzZ48GBLgwYNbPNar9f6vf1+u3fvbptPTEy0FCtWzDJlyhQz/+WXX1qqVKlilltpvdff39/yyy+/pFj2LVu2mHN79OhRh+X62nfddZdtPiEhwcRRHn30UduyU6dOmefq+6OGDBliqVmzpsN+Xn31VbPNpUuXbMs0FtO1a1fz/+joaIuvr6/lm2++sa3X90zLbH/sSc9FSgYOHGgJDw9PdRvkbrREB9JAuxHpnWX76emnn05xW71jqneXQ0JCbHfhddK7qtbuYvp8vRt9MzTVSOPGjR2W6bw1BYmVtTW10i5o2qVM79qmV0p3ljVPuL6mprfRY9SUJ9Y76Dn9OOPi4mxd7qw0tYvewbfmS9e75np3furUqfLGG2+YO/J6l37//v2me2DSHHXWO+gAAAAAkJtzop88edK04NZWzNoyWFtkay/mtNaZlaaC0bQoGWFfP9RUIqpWrVoOy65cuSJRUVEpPl/rsrfddptJaeJM0vKl5bh0vY69pSlmNGWKrte6rX09Oq00PYt9znNNZXKjur79edE0KVqXtz5Hy6+t63Wf1rLr8et5cpb6RuvVKmndOulreXt7m/OS9D1Q1tfXuramt7Fn7cluT1ucW1O5aLm0lXyDBg1s67XMmgY2vajT40Z8brgFABOU1XxdaaEXRb146Q+FpKw5zPTLObvkzZvXYV4vlPZd0NJzDuxpTjlNmaJpVLTLl+Zg01xo9vnHcvJxaoD80qVLqe5T88VpF7N69eqZNDcaSNfX6dy5s/z++++mS5p9NzbN2w4AAAAAuZ0GVXXsKJ00HajmCR85cqQZeyotdeaU6qDKy8vLpGKxl3RcrqT1Q2te8ZSWOaszpqUum7R8aTkuDaAvXbrUpEvVGIO+jqYwycjApBmp66f2HC2/1n11gM2knN3M0Hq10rp10m1Seq30vAcp0fQ2mormvvvuk8ymdfqM3rRB7kBLdCCT6R3206dPi4+Pj7ko2k/WC4zekdUcaM5oju3r16+n+jp651pzlNnT+erVq0t2+PPPP82dd81Rpq3UdfAPHQDFXk4+Tm1VoLnbnNHWALNnzza59JSW0/rjTB+Tllvztes+AQAAAACOtP6mA0Cmtc7sjAY57fOEa0tybemd2bQuq63RUxtnK6m0HJfWZfVGgo4dpq2ytSV40oE701JPzgpafu11XaxYsWTl10ZzKdGGZNoLPLW6dVpp63HNV29vw4YNDvOLFi0yOdWtPQT09TUwbx3w1RrQ37dvX7pfnzo9boQgOpAGOiCKXgztp/Pnz6e4bcuWLc3AnDoYhg5qoRdEDThrsNl6QdA78HPmzDGPGqzdsWOHGb3cvlvWqlWrzCAmzl5HB8/Q7nBTpkwxF7r33nvPDEKid7azgwbNtcuZtj7XLlQTJkxINpJ1Tj5ObT2vrelT+nGiLRueeuopM0iqtXWBppDRgVP1OL744guHFDP6Husx6HsPAAAAALnVhQsXzICPX331lWzfvt0EuOfNmydjx46Vjh07prnO7Izu+8svvzQDQGr9skePHiZVSGb73//+ZwLcWkYNfP/zzz9mEFGtQzqTluPSerR1IFJNn6IDniZtiZ2WenJW0J7mGuzX90nPr7532qr+ueeek+PHj6f4HO0ZoMf9xx9/3PTr60Cie/bskSFDhpgg+DfffGNLAWRtta4pgqypXJSmnHniiSdM3EB7i2sgXG9SaLmSOnfuXLI0vWfOnDHrNDWrDgSrPdEBZwiiA2mwZMkS0y3LfrrrrrtS3Fa/3H/66Sdp2rSp9OrVSypXriwPP/ywaaVtzfkVHh5ufkjoBaBOnTrmh4COWG2lI3HrBVfvqjrrTqQX5g8//NB0A6tRo4bJ0T1jxgyz7+ygF66BAweaEc31GPTHgXbTs5eTj7NNmzamhcBvv/2WbN3HH39s3qt27drZlr322msmF5zmWtM78f369bOt0xsFerHVlvkAAAAAkFtpUFPrTNogSevENWvWNPVETY85ceLENNeZnRk6dKg0a9bM1NU0pYfWF7Miraa2BtdAuLbKbtu2rWk1/vbbb6casE/LcWmjsMKFC5vW1O3btzeNu7QFuL201JOzQkBAgAneh4aGmhSm2itcA9RaD9bW5s5oqh5tXJeRtLH2wsLC5NtvvzU3GbQngDak0xsQys/Pz/Rk0J7u9kF0NW7cOGnSpIk5nxrQ11iNpqVJSnuaa+9x+0kbylnzrOtx634AZ/Lo6KJO1wJIEw2qa9oPvXjAfUyaNMkE+H/55ZcM70Nz12lrAr0gJx0AFQAAAAAAT6ZhRb1xoo3stAV/ZnrzzTdl6tSpcuzYMRNcHzZsWKakjkmqYcOGpsW99gwAnGFgUeAmaJcf7dqlXYC0lTTci3YXi4iIkOjoaIdRzdNDU9q88sorBNABAAAAALmOtsDX3tyaXudmTZ48WerXry8hISEm1qKtzLX3u7WXg3162MyiKXO05X1m3wCA56ElOnATPvjgA9MCXfOwabcsAAAAAAAApJ+2Zv/666/NgK6aXuXRRx81KXw0FSvgagTRAQAAAAAAAABwgoFFAQAAAAAAAABwgiA6AAAAAAAAAABOEEQHAAAAAAAAAMAJgugAAAAAAAAAADhBEB0AAAAAAAAAACcIogMAAAAAAAAA4ARBdAAAAAAAAAAAnCCIDgAAAAAAAACApOz/AIi2+tK95P8eAAAAAElFTkSuQmCC",
      "text/plain": [
       "<Figure size 1500x420 with 3 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "dead = df[df[\"death_event\"] == 1]\n",
    "alive = df[df[\"death_event\"] == 0]\n",
    "\n",
    "fig, axes = plt.subplots(1, 3, figsize=(15, 4.2))\n",
    "\n",
    "# (a) histogram\n",
    "bins = np.arange(10, 85, 5)\n",
    "axes[0].hist(alive[\"ejection_fraction\"], bins=bins, alpha=0.6, label=\"Survived\", color=\"#00897B\")\n",
    "axes[0].hist(dead[\"ejection_fraction\"], bins=bins, alpha=0.6, label=\"Died\", color=\"#F4511E\")\n",
    "axes[0].set_title(\"Ejection fraction by outcome\")\n",
    "axes[0].set_xlabel(\"Ejection fraction (%)\")\n",
    "axes[0].set_ylabel(\"Number of patients\")\n",
    "axes[0].legend()\n",
    "\n",
    "# (b) box plot\n",
    "axes[1].boxplot([alive[\"serum_creatinine\"], dead[\"serum_creatinine\"]],\n",
    "                tick_labels=[\"Survived\", \"Died\"])\n",
    "axes[1].set_title(\"Serum creatinine by outcome\")\n",
    "axes[1].set_ylabel(\"Serum creatinine (mg/dL)\")\n",
    "\n",
    "# (c) scatter plot\n",
    "axes[2].scatter(df[\"serum_creatinine\"], df[\"serum_sodium\"], c=df[\"death_event\"],\n",
    "                cmap=\"coolwarm\", alpha=0.7, edgecolors=\"none\")\n",
    "axes[2].set_title(\"Creatinine vs sodium (red = died)\")\n",
    "axes[2].set_xlabel(\"Serum creatinine (mg/dL)\")\n",
    "axes[2].set_ylabel(\"Serum sodium (mEq/L)\")\n",
    "\n",
    "fig.tight_layout()\n",
    "plt.show()"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "d803f818",
   "metadata": {},
   "source": [
    "讀圖重點：(a) 死亡組的 EF 分布偏左；(b) 肌酸酐是右偏分布，有不少離群值；(c) 兩個檢驗值之間只有微弱的負向趨勢，右側少數極端值很顯眼。"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9351c932",
   "metadata": {},
   "source": [
    "## 4. SciPy：用 `scipy.stats` 做常見檢定\n",
    "\n",
    "提醒：以下都是**來自巴基斯坦 Faisalabad 兩家醫院、299 人的觀察性資料**，檢定結果只描述「組間是否有統計上可偵測的差異或關聯」，不代表因果，也沒有校正干擾因子或多重比較。\n",
    "\n",
    "### 4.1 兩組平均值：Welch t 檢定\n",
    "\n",
    "比較死亡組與存活組的 EF。`equal_var=False` 是 Welch t 檢定，不假設兩組變異數相同，實務上較穩健。除了 p 值，也印出平均差與 95% 信賴區間（效果大小）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "id": "66c3f1a7",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.643154Z",
     "iopub.status.busy": "2026-09-29T20:02:20.643078Z",
     "iopub.status.idle": "2026-09-29T20:02:20.645843Z",
     "shell.execute_reply": "2026-09-29T20:02:20.645375Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "mean EF: died 33.5%, survived 40.3%\n",
      "difference = -6.8 percentage points, 95% CI -9.7 to -3.9\n",
      "t = -4.57, p = 9.6e-06\n"
     ]
    }
   ],
   "source": [
    "res = stats.ttest_ind(dead[\"ejection_fraction\"], alive[\"ejection_fraction\"], equal_var=False)\n",
    "diff = dead[\"ejection_fraction\"].mean() - alive[\"ejection_fraction\"].mean()\n",
    "ci = res.confidence_interval(confidence_level=0.95)\n",
    "print(f\"mean EF: died {dead['ejection_fraction'].mean():.1f}%, survived {alive['ejection_fraction'].mean():.1f}%\")\n",
    "print(f\"difference = {diff:.1f} percentage points, 95% CI {ci.low:.1f} to {ci.high:.1f}\")\n",
    "print(f\"t = {res.statistic:.2f}, p = {res.pvalue:.2g}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "8ae15136",
   "metadata": {},
   "source": [
    "### 4.2 偏態資料：Mann-Whitney U 檢定\n",
    "\n",
    "肌酸酐明顯右偏（盒鬚圖有很多離群值），比較兩組時常改用不假設常態的 Mann-Whitney U 檢定，並用中位數描述。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "id": "038543ab",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.646840Z",
     "iopub.status.busy": "2026-09-29T20:02:20.646775Z",
     "iopub.status.idle": "2026-09-29T20:02:20.649092Z",
     "shell.execute_reply": "2026-09-29T20:02:20.648732Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "median creatinine: died 1.3 | survived 1.0\n",
      "Mann-Whitney U = 14190, p = 1.6e-10\n"
     ]
    }
   ],
   "source": [
    "print(\"median creatinine: died\", dead[\"serum_creatinine\"].median(),\n",
    "      \"| survived\", alive[\"serum_creatinine\"].median())\n",
    "mw = stats.mannwhitneyu(dead[\"serum_creatinine\"], alive[\"serum_creatinine\"])\n",
    "print(f\"Mann-Whitney U = {mw.statistic:.0f}, p = {mw.pvalue:.2g}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "9df939fc",
   "metadata": {},
   "source": [
    "### 4.3 兩個類別變數：卡方檢定 `chi2_contingency`\n",
    "\n",
    "用 2.6 的列聯表檢定「高血壓」與「死亡」是否有關聯。注意結果**未達統計顯著**時的寫法。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "id": "040dc7c7",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.650013Z",
     "iopub.status.busy": "2026-09-29T20:02:20.649948Z",
     "iopub.status.idle": "2026-09-29T20:02:20.652241Z",
     "shell.execute_reply": "2026-09-29T20:02:20.651921Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "chi2 = 1.54, dof = 1, p = 0.214\n",
      "expected counts:\n",
      "[[131.7  62.3]\n",
      " [ 71.3  33.7]]\n",
      "death rate: HTN = 0.371 | no HTN = 0.294\n"
     ]
    }
   ],
   "source": [
    "chi2 = stats.chi2_contingency(tab)\n",
    "print(f\"chi2 = {chi2.statistic:.2f}, dof = {chi2.dof}, p = {chi2.pvalue:.3f}\")\n",
    "print(\"expected counts:\")\n",
    "print(np.round(chi2.expected_freq, 1))\n",
    "rate = tab[1] / tab.sum(axis=1)\n",
    "print(\"death rate: HTN =\", round(rate[1], 3), \"| no HTN =\", round(rate[0], 3))"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "56e21f58",
   "metadata": {},
   "source": [
    "### 4.4 兩個連續變數：Pearson 與 Spearman 相關\n",
    "\n",
    "Pearson 相關係數 r 衡量線性關係，容易被離群值牽動；Spearman 用排名計算，對離群值較不敏感。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "id": "f02d8c05",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.653195Z",
     "iopub.status.busy": "2026-09-29T20:02:20.653129Z",
     "iopub.status.idle": "2026-09-29T20:02:20.655665Z",
     "shell.execute_reply": "2026-09-29T20:02:20.655336Z"
    }
   },
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Pearson  r   = -0.189 (95% CI -0.296 to -0.077), p = 0.001\n",
      "Spearman rho = -0.300, p = 1.2e-07\n"
     ]
    }
   ],
   "source": [
    "pr = stats.pearsonr(df[\"serum_creatinine\"], df[\"serum_sodium\"])\n",
    "pci = pr.confidence_interval(confidence_level=0.95)\n",
    "sr = stats.spearmanr(df[\"serum_creatinine\"], df[\"serum_sodium\"])\n",
    "print(f\"Pearson  r   = {pr.statistic:.3f} (95% CI {pci.low:.3f} to {pci.high:.3f}), p = {pr.pvalue:.2g}\")\n",
    "print(f\"Spearman rho = {sr.statistic:.3f}, p = {sr.pvalue:.2g}\")"
   ]
  },
  {
   "cell_type": "markdown",
   "id": "1c37ff4a",
   "metadata": {},
   "source": [
    "## 5. 動手試試\n",
    "\n",
    "1. **改切點**：把 2.4 的 `bins` 改成 `[0, 30, 45, 100]`，重跑 2.5 的分組死亡比例，觀察比例怎麼變。\n",
    "2. **換變數做 t 檢定**：把 4.1 的 `ejection_fraction` 換成 `platelets`（血小板），看看 p 值與信賴區間，並用「未達統計顯著」的正確措辭寫一句結論。\n",
    "3. **看離群值的影響**：在 4.4 前先用 `sub = df[df[\"serum_creatinine\"] < 3]` 排除肌酸酐 ≥ 3 mg/dL 的人，再算一次 Pearson r，和原本的結果比較。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "id": "cf07052a",
   "metadata": {
    "execution": {
     "iopub.execute_input": "2026-09-29T20:02:20.656790Z",
     "iopub.status.busy": "2026-09-29T20:02:20.656720Z",
     "iopub.status.idle": "2026-09-29T20:02:20.658160Z",
     "shell.execute_reply": "2026-09-29T20:02:20.657821Z"
    }
   },
   "outputs": [],
   "source": [
    "# Exercise space: try your code here"
   ]
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.12.2"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 5
}
