diff --git a/notebooks/zadanie3_analysis.ipynb b/notebooks/zadanie3_analysis.ipynb
index 5265277..72742a6 100644
--- a/notebooks/zadanie3_analysis.ipynb
+++ b/notebooks/zadanie3_analysis.ipynb
@@ -15,7 +15,7 @@
},
{
"cell_type": "code",
- "execution_count": 2,
+ "execution_count": 3,
"id": "0a4d1888-e402-4843-91f1-661c7516540d",
"metadata": {},
"outputs": [
@@ -33,7 +33,7 @@
},
{
"cell_type": "code",
- "execution_count": 3,
+ "execution_count": 1,
"id": "730583dd-5bc1-45a2-955f-2f3d725103a1",
"metadata": {},
"outputs": [
@@ -56,9 +56,155 @@
]
},
{
- "cell_type": "markdown",
+ "cell_type": "code",
+ "execution_count": 2,
"id": "6e36c86d-681d-41a8-aa06-2f2796759ba4",
"metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Размер данных: (500, 11)\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " student_id | \n",
+ " gender | \n",
+ " age | \n",
+ " study_hours_per_week | \n",
+ " attendance_rate | \n",
+ " parent_education | \n",
+ " internet_access | \n",
+ " extracurricular | \n",
+ " previous_score | \n",
+ " final_score | \n",
+ " passed | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 0 | \n",
+ " STU0001 | \n",
+ " Male | \n",
+ " 15 | \n",
+ " 25 | \n",
+ " 63.8 | \n",
+ " Bachelor | \n",
+ " Yes | \n",
+ " Yes | \n",
+ " 41 | \n",
+ " 67 | \n",
+ " Yes | \n",
+ "
\n",
+ " \n",
+ " | 1 | \n",
+ " STU0002 | \n",
+ " Female | \n",
+ " 15 | \n",
+ " 2 | \n",
+ " 54.7 | \n",
+ " Bachelor | \n",
+ " Yes | \n",
+ " Yes | \n",
+ " 83 | \n",
+ " 28 | \n",
+ " No | \n",
+ "
\n",
+ " \n",
+ " | 2 | \n",
+ " STU0003 | \n",
+ " Female | \n",
+ " 19 | \n",
+ " 10 | \n",
+ " 90.5 | \n",
+ " High School | \n",
+ " Yes | \n",
+ " No | \n",
+ " 73 | \n",
+ " 49 | \n",
+ " No | \n",
+ "
\n",
+ " \n",
+ " | 3 | \n",
+ " STU0004 | \n",
+ " Male | \n",
+ " 16 | \n",
+ " 26 | \n",
+ " 66.8 | \n",
+ " High School | \n",
+ " No | \n",
+ " Yes | \n",
+ " 75 | \n",
+ " 70 | \n",
+ " Yes | \n",
+ "
\n",
+ " \n",
+ " | 4 | \n",
+ " STU0005 | \n",
+ " Female | \n",
+ " 15 | \n",
+ " 25 | \n",
+ " 73.0 | \n",
+ " High School | \n",
+ " No | \n",
+ " Yes | \n",
+ " 67 | \n",
+ " 77 | \n",
+ " Yes | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " student_id gender age study_hours_per_week attendance_rate \\\n",
+ "0 STU0001 Male 15 25 63.8 \n",
+ "1 STU0002 Female 15 2 54.7 \n",
+ "2 STU0003 Female 19 10 90.5 \n",
+ "3 STU0004 Male 16 26 66.8 \n",
+ "4 STU0005 Female 15 25 73.0 \n",
+ "\n",
+ " parent_education internet_access extracurricular previous_score \\\n",
+ "0 Bachelor Yes Yes 41 \n",
+ "1 Bachelor Yes Yes 83 \n",
+ "2 High School Yes No 73 \n",
+ "3 High School No Yes 75 \n",
+ "4 High School No Yes 67 \n",
+ "\n",
+ " final_score passed \n",
+ "0 67 Yes \n",
+ "1 28 No \n",
+ "2 49 No \n",
+ "3 70 Yes \n",
+ "4 77 Yes "
+ ]
+ },
+ "execution_count": 2,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
"source": [
"df = pd.read_csv(r\"C:\\учеба\\практика 2 курс\\3 задание\\data\\student_performance.csv\")\n",
"print('Размер данных: ', df.shape)\n",
@@ -79,7 +225,7 @@
},
{
"cell_type": "code",
- "execution_count": 8,
+ "execution_count": 4,
"id": "81b2847d-2202-4aa4-8bc2-254c804d2648",
"metadata": {},
"outputs": [
@@ -260,6 +406,151 @@
"df.describe()"
]
},
+ {
+ "cell_type": "code",
+ "execution_count": 6,
+ "id": "7d1e70f6-086c-4e89-8f69-a2ce0cea85fb",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "parent_education\n",
+ "Bachelor 52.175258\n",
+ "High School 56.947368\n",
+ "Master 56.380000\n",
+ "PhD 57.571429\n",
+ "Name: final_score, dtype: float64\n"
+ ]
+ }
+ ],
+ "source": [
+ "grouped = df.groupby('parent_education')['final_score'].mean()\n",
+ "print(grouped)"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 7,
+ "id": "c3bcd8ae-d26c-4d67-a45c-4ebd9895ed55",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Студентов с баллом > 80: 21\n"
+ ]
+ },
+ {
+ "data": {
+ "text/html": [
+ "\n",
+ "\n",
+ "
\n",
+ " \n",
+ " \n",
+ " | \n",
+ " student_id | \n",
+ " final_score | \n",
+ " parent_education | \n",
+ "
\n",
+ " \n",
+ " \n",
+ " \n",
+ " | 14 | \n",
+ " STU0015 | \n",
+ " 84 | \n",
+ " Master | \n",
+ "
\n",
+ " \n",
+ " | 16 | \n",
+ " STU0017 | \n",
+ " 89 | \n",
+ " Master | \n",
+ "
\n",
+ " \n",
+ " | 40 | \n",
+ " STU0041 | \n",
+ " 82 | \n",
+ " PhD | \n",
+ "
\n",
+ " \n",
+ " | 121 | \n",
+ " STU0122 | \n",
+ " 84 | \n",
+ " High School | \n",
+ "
\n",
+ " \n",
+ " | 201 | \n",
+ " STU0202 | \n",
+ " 81 | \n",
+ " Bachelor | \n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " student_id final_score parent_education\n",
+ "14 STU0015 84 Master\n",
+ "16 STU0017 89 Master\n",
+ "40 STU0041 82 PhD\n",
+ "121 STU0122 84 High School\n",
+ "201 STU0202 81 Bachelor"
+ ]
+ },
+ "execution_count": 7,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "high_achievers = df[df['final_score'] > 80]\n",
+ "print(f\"Студентов с баллом > 80: {len(high_achievers)}\")\n",
+ "high_achievers[['student_id', 'final_score', 'parent_education']].head()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 8,
+ "id": "f9bad926-89d7-414e-843d-4284f5afbda5",
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Сумма баллов: 27990\n",
+ "Среднее: 55.98\n",
+ "Медиана: 56.0\n",
+ "Стандартное отклонение: 15.358372309590623\n"
+ ]
+ }
+ ],
+ "source": [
+ "import numpy as np\n",
+ "\n",
+ "scores = df['final_score'].values\n",
+ "print(f\"Сумма баллов: {np.sum(scores)}\")\n",
+ "print(f\"Среднее: {np.mean(scores)}\")\n",
+ "print(f\"Медиана: {np.median(scores)}\")\n",
+ "print(f\"Стандартное отклонение: {np.std(scores)}\")"
+ ]
+ },
{
"cell_type": "markdown",
"id": "5eed5732-e639-46c3-a529-983f6e29b689",
@@ -347,44 +638,6 @@
"print(f\"Взаимосвязь между часами учёбы и оценкой: {corr:.3f}\")"
]
},
- {
- "cell_type": "markdown",
- "id": "484be79f-569b-4ff7-8dcd-8ca84fd55433",
- "metadata": {},
- "source": [
- "## График 3: Сравнение успеваемости по полу\n",
- "\n",
- "«Ящик с усами» (Boxplot) помогает увидеть середину данных (медиану), \n",
- "их основную часть (квартили) и значения, которые сильно отличаются от остальных (выбросы).\n",
- "Сравнивая два ящика (Male и Female), можно увидеть, есть ли разница в успеваемости между мужчинами и женщинами."
- ]
- },
- {
- "cell_type": "code",
- "execution_count": 17,
- "id": "32383c64-64c3-485f-ac28-2c5162c5fcd6",
- "metadata": {},
- "outputs": [
- {
- "data": {
- "image/png": "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MwAoX/heA2BFcN20aZN8/vnnZszWyMhI2bx5s1x++eXSoEEDadOmTem00nLH63aS3NCqvm4GAC/3TPhzeON7DSh/Ai34XitxcD1y5IjUqlVLIiIi5IILLjAlA0p/6jLkp1/uuWE1fN0MAPAavtcAWHPlrNWrV5vgmpubKykpKbJ9+3bJzCz7dREAAADws+CqJ2Q53X333a7bAQEB3mkVAAAAcK7BVXtZAQAAACvHcQUAAADKZHBdt26d9OjRw4wkoNP1119vRhoAAAAAykxwXbRokSQkJJgRBe677z4zhYaGSpcuXWTJkiWl00oAAAD4vRLXuCYnJ8tTTz0lI0aMcM3T8Dp16lSZNGmS3Hbbbd5uIwAAAFDyHle95KuWCXjScoE9e/Z4q10AAADAuQXX2NhYM3arp7Vr15plAAAAQJkoFRg1apQpDfjmm2+kffv2Zt6GDRtkwYIFMn369NJoIwAAAFDy4HrPPfdIdHS0PPPMM7J8+XIzr0mTJvLaa69Jz549S6ONAAAAwNldOeuGG24wEwAAAFBma1xHjx4tx44dK53WAAAAAN4KrloiQHAFAABAmQ+uDoejdFoCAAAAePuSrwAAAIAVJ2e99NJLUrly5QKX6VBZAAAAgM+Da1xcnMydO7fAZQEBAQRXAAAAlI3gunfv3tJpCQAAAFBaNa56ohYnawEAAKDMBteFCxdK8+bNJTQ01EwtWrSQV1991futAwAAAM62VGDq1Kkybtw4uffee6VDhw5m3vr162XIkCHy+++/y4gRI0q6SQAAAMD7wfW5556T2bNnS//+/V3zrr/+emnatKk8+uijBFcAAACUjVKBgwcPSvv27fPN13m6DAAAACgTwbVBgwayfPnyfPNfe+01adiwobfaBQAAAJxbqcCECROkb9++8tlnn7lqXDds2CApKSkFBloAAADAJz2uffr0kU2bNkmNGjVk5cqVZtLbX375pdxwww1eaRQAAADgleGwWrVqJYsWLZItW7aYSW+3bNmyxNvRk7n0alt5p8aNG7uW5+TkyNChQ6V69ermErMamtPT08+myQAAAPC34FqhQgXJyMjwWgN0NAI9qcs56dBaTjpCwapVq2TFihWybt06SUtLk969e3vtuQEAAFCOa1y9faWsihUrSnR0dL75WVlZMm/ePFmyZIl07tzZzJs/f740adJENm7cKG3b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",
- "text/plain": [
- ""
- ]
- },
- "metadata": {},
- "output_type": "display_data"
- }
- ],
- "source": [
- "plt.figure(figsize=(8, 6))\n",
- "sns.boxplot(x='gender', y='final_score', data=df)\n",
- "plt.xlabel('Пол')\n",
- "plt.ylabel('Итоговый балл')\n",
- "plt.title('Распределение оценок по полу')\n",
- "plt.show()"
- ]
- },
{
"cell_type": "markdown",
"id": "f5c174bc-063c-4b73-b7be-02e2be3c3aca",
@@ -439,7 +692,7 @@
{
"cell_type": "code",
"execution_count": null,
- "id": "7d1e70f6-086c-4e89-8f69-a2ce0cea85fb",
+ "id": "cdb48465-78c8-4835-886c-878bb3100730",
"metadata": {},
"outputs": [],
"source": []