201 lines
6.5 KiB
Plaintext
201 lines
6.5 KiB
Plaintext
{
|
||
"cells": [
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": 13,
|
||
"id": "e49a4fbc-f85f-47c0-b3a0-4af25468faa3",
|
||
"metadata": {
|
||
"scrolled": true
|
||
},
|
||
"outputs": [
|
||
{
|
||
"name": "stdout",
|
||
"output_type": "stream",
|
||
"text": [
|
||
"Основная таблица с бонусами:\n",
|
||
" Имя Возраст Баллы Результат с бонусом Категория\n",
|
||
"0 Анна 21 89 102.35 Младше\n",
|
||
"1 Борис 22 76 87.40 Младше\n",
|
||
"2 Виктор 23 95 109.25 Старше\n",
|
||
"3 Галина 24 82 94.30 Старше\n",
|
||
"4 Дмитрий 21 91 104.65 Младше\n",
|
||
"\n",
|
||
"Статистика по группам:\n",
|
||
" Баллы Имя\n",
|
||
" mean max min count\n",
|
||
"Категория \n",
|
||
"Младше 85.33 91 76 3\n",
|
||
"Старше 88.50 95 82 2\n",
|
||
"\n",
|
||
"Отфильтрованные студенты:\n",
|
||
" Имя Возраст Баллы Результат с бонусом Категория\n",
|
||
"2 Виктор 23 95 109.25 Старше\n",
|
||
"4 Дмитрий 21 91 104.65 Младше\n",
|
||
"0 Анна 21 89 102.35 Младше\n",
|
||
"3 Галина 24 82 94.30 Старше\n",
|
||
"1 Борис 22 76 87.40 Младше\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>Имя</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>Анна</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>89</td>\n",
|
||
" <td>102.35</td>\n",
|
||
" <td>Младше</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>1</th>\n",
|
||
" <td>Борис</td>\n",
|
||
" <td>22</td>\n",
|
||
" <td>76</td>\n",
|
||
" <td>87.40</td>\n",
|
||
" <td>Младше</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>2</th>\n",
|
||
" <td>Виктор</td>\n",
|
||
" <td>23</td>\n",
|
||
" <td>95</td>\n",
|
||
" <td>109.25</td>\n",
|
||
" <td>Старше</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>3</th>\n",
|
||
" <td>Галина</td>\n",
|
||
" <td>24</td>\n",
|
||
" <td>82</td>\n",
|
||
" <td>94.30</td>\n",
|
||
" <td>Старше</td>\n",
|
||
" </tr>\n",
|
||
" <tr>\n",
|
||
" <th>4</th>\n",
|
||
" <td>Дмитрий</td>\n",
|
||
" <td>21</td>\n",
|
||
" <td>91</td>\n",
|
||
" <td>104.65</td>\n",
|
||
" <td>Младше</td>\n",
|
||
" </tr>\n",
|
||
" </tbody>\n",
|
||
"</table>\n",
|
||
"</div>"
|
||
],
|
||
"text/plain": [
|
||
" Имя Возраст Баллы Результат с бонусом Категория\n",
|
||
"0 Анна 21 89 102.35 Младше\n",
|
||
"1 Борис 22 76 87.40 Младше\n",
|
||
"2 Виктор 23 95 109.25 Старше\n",
|
||
"3 Галина 24 82 94.30 Старше\n",
|
||
"4 Дмитрий 21 91 104.65 Младше"
|
||
]
|
||
},
|
||
"execution_count": 13,
|
||
"metadata": {},
|
||
"output_type": "execute_result"
|
||
}
|
||
],
|
||
"source": [
|
||
"import pandas as pd\n",
|
||
"import numpy as np\n",
|
||
"\n",
|
||
"students_info = {\n",
|
||
" \"Имя\": [\"Анна\", \"Борис\", \"Виктор\", \"Галина\", \"Дмитрий\"],\n",
|
||
" \"Возраст\": [21, 22, 23, 24, 21],\n",
|
||
" \"Баллы\": [89, 76, 95, 82, 91]\n",
|
||
"}\n",
|
||
"df = pd.DataFrame(students_info)\n",
|
||
"\n",
|
||
"df[\"Результат с бонусом\"] = df[\"Баллы\"].apply(lambda x: round(x * 1.15, 2))\n",
|
||
"\n",
|
||
"df[\"Категория\"] = df[\"Возраст\"].apply(lambda age: \"Младше\" if age < 23 else \"Старше\")\n",
|
||
"\n",
|
||
"grouped_stats = df.groupby(\"Категория\").agg({\n",
|
||
" \"Баллы\": [\"mean\", \"max\", \"min\"],\n",
|
||
" \"Имя\": \"count\"\n",
|
||
"}).round(2)\n",
|
||
"\n",
|
||
"filtered_df = df[(df[\"Возраст\"] > 21) | (df[\"Баллы\"] > 80)]\n",
|
||
"\n",
|
||
"filtered_df = filtered_df.sort_values(\"Баллы\", ascending=False)\n",
|
||
"\n",
|
||
"print(\"Основная таблица с бонусами:\")\n",
|
||
"print(df)\n",
|
||
"\n",
|
||
"print(\"\\nСтатистика по группам:\")\n",
|
||
"print(grouped_stats)\n",
|
||
"\n",
|
||
"print(\"\\nОтфильтрованные студенты:\")\n",
|
||
"print(filtered_df)\n",
|
||
"\n",
|
||
"df"
|
||
]
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "3edb05fc-37ae-44df-b4a2-9abdc9c8f541",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
},
|
||
{
|
||
"cell_type": "code",
|
||
"execution_count": null,
|
||
"id": "f808c922-f97c-4d19-aab9-5447d932cc71",
|
||
"metadata": {},
|
||
"outputs": [],
|
||
"source": []
|
||
}
|
||
],
|
||
"metadata": {
|
||
"kernelspec": {
|
||
"display_name": "Python 3 (ipykernel)",
|
||
"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.13.5"
|
||
}
|
||
},
|
||
"nbformat": 4,
|
||
"nbformat_minor": 5
|
||
}
|