180 lines
151 KiB
Plaintext
180 lines
151 KiB
Plaintext
|
{
|
|||
|
"cells": [
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"## Начало лабораторной работы\n",
|
|||
|
"Выгрузка данных из csv-файла в датафрейм"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 8,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"name": "stdout",
|
|||
|
"output_type": "stream",
|
|||
|
"text": [
|
|||
|
"Index(['HeartDisease', 'BMI', 'Smoking', 'AlcoholDrinking', 'Stroke',\n",
|
|||
|
" 'PhysicalHealth', 'MentalHealth', 'DiffWalking', 'Sex', 'AgeCategory',\n",
|
|||
|
" 'Race', 'Diabetic', 'PhysicalActivity', 'GenHealth', 'SleepTime',\n",
|
|||
|
" 'Asthma', 'KidneyDisease', 'SkinCancer'],\n",
|
|||
|
" dtype='object')\n"
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"import pandas as pd\n",
|
|||
|
"import matplotlib.pyplot as plt\n",
|
|||
|
"data = pd.read_csv(\".//static//csv//heart_2020_cleaned.csv\")\n",
|
|||
|
"print(data.columns)"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"## Диаграмма №1 (Круговая)\n",
|
|||
|
"Данная диаграмма отображает распределение сердечных заболеваний в выборке. Видно, что значительное большинство людей не имеют сердечных заболеваний, что позволяет сделать вывод о том, что сердечные заболевания встречаются реже в общей популяции."
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 27,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAJOCAYAAABLBSanAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABf3klEQVR4nO3dd3hUVeI+8PdOnyQkhISEACGE3kKLqIAISBNBBERsa13rort+18ru2nfturq2dX8iYld6lSJFkA6CdFJIgBQgvU8/vz9CRtIgZSZn5s77eZ48kMmdO2+mZN6595x7FSGEABEREZFKaGQHICIiIvIklhsiIiJSFZYbIiIiUhWWGyIiIlIVlhsiIiJSFZYbIiIiUhWWGyIiIlIVlhsiIiJSFZYbIiIVcTgcOHfuHE6dOiU7CpE0LDdERH4uOTkZ999/P2JiYmAwGBAdHY2hQ4eCB6BvvFdeeQUulwsA4HK58Oqrr0pORE3BcuNnPv/8cyiK4v4ymUzo0aMHHnnkEZw9e1Z2PCJqYTt27MDll1+ODRs24JlnnsGaNWuwbt06LFmyBIqiyI7nd+bNm4e33noLGRkZePvttzFv3jzZkagJFJ5byr98/vnnuOeee/DSSy8hPj4eFosFv/zyC7788kvExcXh0KFDCAoKkh2TiFqAzWbDgAEDEBoairVr1yIsLEx2JL/3/fff484774TNZoPRaMRXX32FGTNmyI5FjaSTHYCaZuLEibjssssAAPfddx8iIiLwzjvvYOnSpbj11lslpyOilrB8+XIcP34cx44dY7HxkJtvvhmjR49GSkoKunfvjrZt28qORE3A3VIqcc011wAA0tLSAAD5+fl44oknkJCQgJCQEISGhmLixIn47bffal3XYrHghRdeQI8ePWAymRATE4Pp06cjNTUVAJCenl5tV1jNr1GjRrnXtWnTJiiKgu+//x5/+9vf0K5dOwQHB2PKlCk4ffp0rdveuXMnrr32WoSFhSEoKAgjR47E1q1b6/wdR40aVeftv/DCC7WW/eqrr5CYmAiz2Yw2bdrglltuqfP2L/a7XcjlcuHdd99F3759YTKZEB0djQcffBAFBQXVluvcuTMmT55c63YeeeSRWuusK/ubb75Z6z4FAKvViueffx7dunWD0WhEbGwsnnrqKVit1jrvq5p27tyJ6667DuHh4QgODkb//v3x3nvvVVvm2LFjmDFjBtq0aQOTyYTLLrsMy5Ytq7ZM1W7RzZs348EHH0RERARCQ0Nx55131rovgIvfv+np6dWWLSwsxGOPPYbY2FgYjUZ069YNr7/+unv8w4W3X/O6o0aNqvN5uGDBglqZQkJCcPfdd9da5549e+q9/2qu/6677oLJZMLRo0erLTdhwgSEh4cjKyur3nUdP34c11xzDdq1a+d+LB966CHk5+e7l7HZbHjuueeQmJiIsLAwBAcHY8SIEdi4cWO1de3YsQPx8fFYuHAhunbtCoPBgE6dOuGpp55CRUVFrdv+6KOP0LdvXxiNRrRv3x6zZs1CYWFhreW88bqour5Go0G7du1w88031xr0/NZbb2HYsGGIiIiA2WxGYmJinY+hoih45JFHal0+efJkdO7cudbv8fnnn1dbbtasWVAUpc7nQXp6OqKiotw5+vfvX+c6yLdxy41KVBWRiIgIAMCJEyewZMkS3HTTTYiPj8fZs2fxySefYOTIkThy5Ajat28PAHA6nZg8eTLWr1+PW265BX/5y19QUlKCdevW4dChQ+jatav7Nm699VZcd9111W539uzZdeb517/+BUVR8PTTT+PcuXN49913MXbsWOzfvx9msxkAsGHDBkycOBGJiYl4/vnnodFoMHfuXFxzzTXYsmULLr/88lrr7dixo3uAX2lpKR5++OE6b/vZZ5/FzJkzcd999yEnJwfvv/8+rr76auzbtw+tW7eudZ0HHngAI0aMAAAsWrQIixcvrvbzBx980L1L8M9//jPS0tLwwQcfYN++fdi6dSv0en2d90NjFBYW1jl40eVyYcqUKfjll1/wwAMPoHfv3jh48CD+/e9/IykpCUuWLLnoetetW4fJkycjJiYGf/nLX9CuXTscPXoUK1aswF/+8hcAwOHDhzF8+HB06NABzzzzDIKDg/HDDz9g6tSpWLhwIaZNm1ZtnY888ghat26NF154AcePH8fHH3+MkydPuktFTRc+d1atWoVvv/222s/Ly8sxcuRIZGZm4sEHH0SnTp2wbds2zJ49G9nZ2Xj33XcbcU9633vvvYcNGzbgrrvuwvbt26HVavHJJ59g7dq1+PLLL92vr7qUlZWhY8eOuP766xEaGopDhw7hww8/RGZmJpYvXw4AKC4uxqeffopbb70V999/P0pKSjBnzhxMmDABu3btwsCBAwEAeXl5OHHiBP72t79h+vTpePzxx7Fnzx68+eabOHToEFauXOl+PF544QW8+OKLGDt2LB5++GH347Z79+56n8OefF2MGDECDzzwAFwuFw4dOoR3330XWVlZ2LJlS7X7dcqUKbj99tths9nw3Xff4aabbsKKFSswadKkpj1YNaSkpOD//b//16Blv/zySxw8eNAjt0stTJBfmTt3rgAgfvrpJ5GTkyNOnz4tvvvuOxERESHMZrPIyMgQQghhsViE0+msdt20tDRhNBrFSy+95L7ss88+EwDEO++8U+u2XC6X+3oAxJtvvllrmb59+4qRI0e6v9+4caMAIDp06CCKi4vdl//www8CgHjvvffc6+7evbuYMGGC+3aEEKK8vFzEx8eLcePG1bqtYcOGiX79+rm/z8nJEQDE888/774sPT1daLVa8a9//avadQ8ePCh0Ol2ty5OTkwUAMW/ePPdlzz//vLjwpbFlyxYBQHz99dfVrrt69epal8fFxYlJkybVyj5r1ixR8+VWM/tTTz0loqKiRGJiYrX79MsvvxQajUZs2bKl2vX/+9//CgBi69attW6visPhEPHx8SIuLk4UFBRU+9mF9/uYMWNEQkKCsFgs1X4+bNgw0b17d/dlVc+/xMREYbPZ3Je/8cYbAoBYunRptdtISkoSAMRbb73lvuzNN98UAERaWpr7spdfflkEBweLpKSkatd/5plnhFarFadOnRJCCDFv3jwBQJw4caLaciNHjqzzeTh//vxa90lwcLC46667av1Ou3fvrrVsfesXQog1a9YIAOKf//ynOHHihAgJCRFTp06tdx0X86c//UmEhIS4v3c4HMJqtVZbpqCgQERHR4t7773Xfdldd90lAIi777672rJVz+Hly5cLIYQ4d+6cMBgMYvz48dX+LnzwwQcCgPjss8+qXd8br4sL73MhhLjttttEUFBQtcvKy8urfW+z2US/fv3ENddcU+1yAGLWrFmipkmTJom4uDj391V/u+bOneu+bObMmaJfv34iNja2zudB1fPSYrGITp06iYkTJ9ZaB/k+7pbyU2PHjkXbtm0RGxuLW265BSEhIVi8eDE6dOgAADAajdBoKh9ep9OJvLw8hISEoGfPnvj111/d61m4cCEiIyPx6KOP1rqN5sy0uPPOO9GqVSv39zNmzEBMTAxWrVoFANi/fz+Sk5Nx2223IS8vD7m5ucjNzUVZWRnGjBmDzZs3V9sdAVTuPjOZTBe93UWLFsHlcmHmzJnudebm5qJdu3bo3r17rc36NpsNQOX9VZ/58+cjLCwM48aNq7bOxMREhISE1Fqn3W6vtlxubi4sFstFc2dmZuL999/Hs88+i5CQkFq337t3b/Tq1avaOqt2Rda8/Qvt27cPaWlpeOyxx2ptsap6fPPz87FhwwbMnDkTJSUl7vXn5eVhwoQJSE5ORmZmZrXrPvDAA9U+lT/88MPQ6XTux7dK1e99qcdt/vz5GDFiBMLDw6v9jmPHjoXT6cTmzZsBAFFRUQCAjIyMi66vyoW/T9VXfYqKipCbm4uSkpIGrXv8+PF48MEH8dJLL2H69OkwmUz45JNPGnTdqts7e/Ys1q9fj5UrV+Lqq692/0yr1cJgMACo3HKXn58Ph8OByy67rNrrt8qTTz5Z7fv/+7//g1arxcqVKwE
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 600x600 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"plt.figure(figsize=(6, 6))\n",
|
|||
|
"heart_disease_counts = data['HeartDisease'].value_counts()\n",
|
|||
|
"plt.pie(heart_disease_counts, labels=heart_disease_counts.index, autopct='%1.1f%%', colors=['lightcoral', 'skyblue'], startangle=140)\n",
|
|||
|
"plt.title('Распределение сердечных заболеваний')\n",
|
|||
|
"plt.tight_layout()\n",
|
|||
|
"plt.show()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"## Диаграмма №2 (Столбчатая диаграмма)\n",
|
|||
|
"Данная диаграмма показывает средние значения индекса массы тела (ИМТ) для людей с и без сердечного заболевания. Мы видим, что у людей с сердечным заболеванием средний ИМТ выше, что позволяет сделать вывод о том, что избыточный вес может способствовать риску возникновения сердечных приступов."
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 28,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 800x600 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"bmi_with_disease = data[data['HeartDisease'] == 'Yes']['BMI']\n",
|
|||
|
"bmi_without_disease = data[data['HeartDisease'] == 'No']['BMI']\n",
|
|||
|
"\n",
|
|||
|
"mean_bmi_with_disease = bmi_with_disease.mean()\n",
|
|||
|
"mean_bmi_without_disease = bmi_without_disease.mean()\n",
|
|||
|
"\n",
|
|||
|
"plt.figure(figsize=(8, 6))\n",
|
|||
|
"plt.bar(['С сердечным заболеванием', 'Без сердечного заболевания'], \n",
|
|||
|
" [mean_bmi_with_disease, mean_bmi_without_disease], \n",
|
|||
|
" color=['lightblue', 'brown'])\n",
|
|||
|
"plt.title('Средний ИМТ в зависимости от наличия сердечного заболевания')\n",
|
|||
|
"plt.ylabel('ИМТ')\n",
|
|||
|
"plt.show()"
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "markdown",
|
|||
|
"metadata": {},
|
|||
|
"source": [
|
|||
|
"## Диаграмма №3 (Линейный график)\n",
|
|||
|
"Данная диаграмма отображает процент курящих в зависимости от возраста и наличия сердечного заболевания, что позволяет сделать вывод о том, что у курящий людей выше риск развития сердечных заболеваний."
|
|||
|
]
|
|||
|
},
|
|||
|
{
|
|||
|
"cell_type": "code",
|
|||
|
"execution_count": 29,
|
|||
|
"metadata": {},
|
|||
|
"outputs": [
|
|||
|
{
|
|||
|
"data": {
|
|||
|
"image/png": "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
|
|||
|
"text/plain": [
|
|||
|
"<Figure size 1000x600 with 1 Axes>"
|
|||
|
]
|
|||
|
},
|
|||
|
"metadata": {},
|
|||
|
"output_type": "display_data"
|
|||
|
}
|
|||
|
],
|
|||
|
"source": [
|
|||
|
"age_categories = ['18-24', '25-29', '30-34', '35-39', '40-44', '45-49', '50-54', '55-59', '60-64', '65-69', '70-74', '75-79', '80+']\n",
|
|||
|
"\n",
|
|||
|
"data['AgeCategory'] = pd.Categorical(data['AgeCategory'], categories=age_categories, ordered=True)\n",
|
|||
|
"\n",
|
|||
|
"smoking_by_age_with_disease = data[data['HeartDisease'] == 'Yes'].groupby('AgeCategory', observed=False)['Smoking'].value_counts(normalize=True).unstack()['Yes'] * 100\n",
|
|||
|
"smoking_by_age_without_disease = data[data['HeartDisease'] == 'No'].groupby('AgeCategory', observed=False)['Smoking'].value_counts(normalize=True).unstack()['Yes'] * 100\n",
|
|||
|
"\n",
|
|||
|
"plt.figure(figsize=(10, 6))\n",
|
|||
|
"plt.plot(age_categories, smoking_by_age_with_disease, marker='o', label='С сердечным заболеванием', color='red')\n",
|
|||
|
"plt.plot(age_categories, smoking_by_age_without_disease, marker='o', label='Без сердечного заболевания', color='blue')\n",
|
|||
|
"\n",
|
|||
|
"plt.title('Процент курящих в зависимости от возраста и наличия сердечного заболевания')\n",
|
|||
|
"plt.xlabel('Возрастная группа')\n",
|
|||
|
"plt.ylabel('Процент курящих (%)')\n",
|
|||
|
"plt.xticks(rotation=45)\n",
|
|||
|
"plt.legend()\n",
|
|||
|
"plt.grid(True)\n",
|
|||
|
"\n",
|
|||
|
"plt.gca().yaxis.set_major_formatter(plt.FuncFormatter(lambda x, _: f'{x:.0f}%'))\n",
|
|||
|
"\n",
|
|||
|
"plt.show()\n",
|
|||
|
"\n"
|
|||
|
]
|
|||
|
}
|
|||
|
],
|
|||
|
"metadata": {
|
|||
|
"kernelspec": {
|
|||
|
"display_name": "aimvenv",
|
|||
|
"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.5"
|
|||
|
}
|
|||
|
},
|
|||
|
"nbformat": 4,
|
|||
|
"nbformat_minor": 2
|
|||
|
}
|