2478 lines
388 KiB
Plaintext
Raw Permalink Normal View History

2024-12-21 15:33:58 +04:00
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Лабораторная работа 1\n",
"\n",
"Датасет - Оценки студентов на экзаменах\n",
"\n",
"Поля \n",
"1. пол\n",
"2. раса/этническая принадлежность \n",
"3. уровень образования родителей \n",
"4. обед\n",
"5. курс подготовки к тесту\n",
"6. оценка по математике\n",
"7. оценка по чтению\n",
"8. оценка по письму"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Загрузка и сохранение данных"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import pandas as pd\n",
"\n",
"df = pd.read_csv(\"data/StudentsPerformance.csv\")\n",
"df.to_csv(\"data/StudentsPerformance_updated.csv\", index=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Получение сведений о датафрейме с данными"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Общая информация о датафрейме"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"<class 'pandas.core.frame.DataFrame'>\n",
"RangeIndex: 1000 entries, 0 to 999\n",
"Data columns (total 8 columns):\n",
" # Column Non-Null Count Dtype \n",
"--- ------ -------------- ----- \n",
" 0 gender 1000 non-null object\n",
" 1 race/ethnicity 1000 non-null object\n",
" 2 parental level of education 1000 non-null object\n",
" 3 lunch 1000 non-null object\n",
" 4 test preparation course 1000 non-null object\n",
" 5 math score 1000 non-null int64 \n",
" 6 reading score 1000 non-null int64 \n",
" 7 writing score 1000 non-null int64 \n",
"dtypes: int64(3), object(5)\n",
"memory usage: 62.6+ KB\n"
]
}
],
"source": [
"df.info()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. Статистическая информация"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {},
"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>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>count</th>\n",
" <td>1000.00000</td>\n",
" <td>1000.000000</td>\n",
" <td>1000.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>mean</th>\n",
" <td>66.08900</td>\n",
" <td>69.169000</td>\n",
" <td>68.054000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>std</th>\n",
" <td>15.16308</td>\n",
" <td>14.600192</td>\n",
" <td>15.195657</td>\n",
" </tr>\n",
" <tr>\n",
" <th>min</th>\n",
" <td>0.00000</td>\n",
" <td>17.000000</td>\n",
" <td>10.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>25%</th>\n",
" <td>57.00000</td>\n",
" <td>59.000000</td>\n",
" <td>57.750000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50%</th>\n",
" <td>66.00000</td>\n",
" <td>70.000000</td>\n",
" <td>69.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75%</th>\n",
" <td>77.00000</td>\n",
" <td>79.000000</td>\n",
" <td>79.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>max</th>\n",
" <td>100.00000</td>\n",
" <td>100.000000</td>\n",
" <td>100.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" math score reading score writing score\n",
"count 1000.00000 1000.000000 1000.000000\n",
"mean 66.08900 69.169000 68.054000\n",
"std 15.16308 14.600192 15.195657\n",
"min 0.00000 17.000000 10.000000\n",
"25% 57.00000 59.000000 57.750000\n",
"50% 66.00000 70.000000 69.000000\n",
"75% 77.00000 79.000000 79.000000\n",
"max 100.00000 100.000000 100.000000"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.describe()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Получение сведений о колонках датафрейма"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Названия колонок"
]
},
{
"cell_type": "code",
"execution_count": 4,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Index(['gender', 'race/ethnicity', 'parental level of education', 'lunch',\n",
" 'test preparation course', 'math score', 'reading score',\n",
" 'writing score'],\n",
" dtype='object')"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.columns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Вывод отдельных строк и столбцов"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Столбец \"gender\""
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"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>gender</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>male</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>male</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>995</th>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>996</th>\n",
" <td>male</td>\n",
" </tr>\n",
" <tr>\n",
" <th>997</th>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>998</th>\n",
" <td>female</td>\n",
" </tr>\n",
" <tr>\n",
" <th>999</th>\n",
" <td>female</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1000 rows × 1 columns</p>\n",
"</div>"
],
"text/plain": [
" gender\n",
"0 female\n",
"1 female\n",
"2 female\n",
"3 male\n",
"4 male\n",
".. ...\n",
"995 female\n",
"996 male\n",
"997 female\n",
"998 female\n",
"999 female\n",
"\n",
"[1000 rows x 1 columns]"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[[\"gender\"]]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. Несколько столбцокв"
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"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>race/ethnicity</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>group B</td>\n",
" <td>74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>group C</td>\n",
" <td>88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>group B</td>\n",
" <td>93</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>group A</td>\n",
" <td>44</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>group C</td>\n",
" <td>75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>995</th>\n",
" <td>group E</td>\n",
" <td>95</td>\n",
" </tr>\n",
" <tr>\n",
" <th>996</th>\n",
" <td>group C</td>\n",
" <td>55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>997</th>\n",
" <td>group C</td>\n",
" <td>65</td>\n",
" </tr>\n",
" <tr>\n",
" <th>998</th>\n",
" <td>group D</td>\n",
" <td>77</td>\n",
" </tr>\n",
" <tr>\n",
" <th>999</th>\n",
" <td>group D</td>\n",
" <td>86</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1000 rows × 2 columns</p>\n",
"</div>"
],
"text/plain": [
" race/ethnicity writing score\n",
"0 group B 74\n",
"1 group C 88\n",
"2 group B 93\n",
"3 group A 44\n",
"4 group C 75\n",
".. ... ...\n",
"995 group E 95\n",
"996 group C 55\n",
"997 group C 65\n",
"998 group D 77\n",
"999 group D 86\n",
"\n",
"[1000 rows x 2 columns]"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[[\"race/ethnicity\", \"writing score\"]]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. Первая строка"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {},
"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>gender</th>\n",
" <th>race/ethnicity</th>\n",
" <th>parental level of education</th>\n",
" <th>lunch</th>\n",
" <th>test preparation course</th>\n",
" <th>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>74</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" gender race/ethnicity parental level of education lunch \\\n",
"0 female group B bachelor's degree standard \n",
"\n",
" test preparation course math score reading score writing score \n",
"0 none 72 72 74 "
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.iloc[[0]]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"4. Вывод по условию"
]
},
{
"cell_type": "code",
"execution_count": 8,
"metadata": {},
"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>gender</th>\n",
" <th>race/ethnicity</th>\n",
" <th>parental level of education</th>\n",
" <th>lunch</th>\n",
" <th>test preparation course</th>\n",
" <th>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>106</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>master's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>87</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>114</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>99</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>165</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>96</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>179</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>some high school</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>97</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>377</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>master's degree</td>\n",
" <td>free/reduced</td>\n",
" <td>completed</td>\n",
" <td>85</td>\n",
" <td>95</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>403</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>high school</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>88</td>\n",
" <td>99</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>458</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>566</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>bachelor's degree</td>\n",
" <td>free/reduced</td>\n",
" <td>completed</td>\n",
" <td>92</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>594</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>92</td>\n",
" <td>100</td>\n",
" <td>99</td>\n",
" </tr>\n",
" <tr>\n",
" <th>625</th>\n",
" <td>male</td>\n",
" <td>group D</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>100</td>\n",
" <td>97</td>\n",
" <td>99</td>\n",
" </tr>\n",
" <tr>\n",
" <th>685</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>master's degree</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>94</td>\n",
" <td>99</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>712</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>98</td>\n",
" <td>100</td>\n",
" <td>99</td>\n",
" </tr>\n",
" <tr>\n",
" <th>717</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>associate's degree</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>96</td>\n",
" <td>96</td>\n",
" <td>99</td>\n",
" </tr>\n",
" <tr>\n",
" <th>903</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>bachelor's degree</td>\n",
" <td>free/reduced</td>\n",
" <td>completed</td>\n",
" <td>93</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>916</th>\n",
" <td>male</td>\n",
" <td>group E</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>957</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>master's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>92</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>962</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>associate's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>970</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>89</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" gender race/ethnicity parental level of education lunch \\\n",
"106 female group D master's degree standard \n",
"114 female group E bachelor's degree standard \n",
"165 female group C bachelor's degree standard \n",
"179 female group D some high school standard \n",
"377 female group D master's degree free/reduced \n",
"403 female group D high school standard \n",
"458 female group E bachelor's degree standard \n",
"566 female group E bachelor's degree free/reduced \n",
"594 female group C bachelor's degree standard \n",
"625 male group D some college standard \n",
"685 female group E master's degree standard \n",
"712 female group D some college standard \n",
"717 female group C associate's degree standard \n",
"903 female group D bachelor's degree free/reduced \n",
"916 male group E bachelor's degree standard \n",
"957 female group D master's degree standard \n",
"962 female group E associate's degree standard \n",
"970 female group D bachelor's degree standard \n",
"\n",
" test preparation course math score reading score writing score \n",
"106 none 87 100 100 \n",
"114 completed 99 100 100 \n",
"165 completed 96 100 100 \n",
"179 completed 97 100 100 \n",
"377 completed 85 95 100 \n",
"403 completed 88 99 100 \n",
"458 none 100 100 100 \n",
"566 completed 92 100 100 \n",
"594 completed 92 100 99 \n",
"625 completed 100 97 99 \n",
"685 completed 94 99 100 \n",
"712 none 98 100 99 \n",
"717 completed 96 96 99 \n",
"903 completed 93 100 100 \n",
"916 completed 100 100 100 \n",
"957 none 92 100 100 \n",
"962 none 100 100 100 \n",
"970 none 89 100 100 "
]
},
"execution_count": 8,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[df[\"writing score\"] > 98]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Группировка и агрегация данных"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Средняя скорость письма по полу"
]
},
{
"cell_type": "code",
"execution_count": 9,
"metadata": {},
"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>writing score</th>\n",
" </tr>\n",
" <tr>\n",
" <th>gender</th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>female</th>\n",
" <td>72.467181</td>\n",
" </tr>\n",
" <tr>\n",
" <th>male</th>\n",
" <td>63.311203</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" writing score\n",
"gender \n",
"female 72.467181\n",
"male 63.311203"
]
},
"execution_count": 9,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.groupby([\"gender\"])[[\"writing score\"]].mean()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. Группировка по уровню образования родителей - сумма баллов по математике, среднее по оценкам чтения и письма"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {},
"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>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" <tr>\n",
" <th>parental level of education</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>associate's degree</th>\n",
" <td>15070</td>\n",
" <td>70.927928</td>\n",
" <td>69.896396</td>\n",
" </tr>\n",
" <tr>\n",
" <th>bachelor's degree</th>\n",
" <td>8188</td>\n",
" <td>73.000000</td>\n",
" <td>73.381356</td>\n",
" </tr>\n",
" <tr>\n",
" <th>high school</th>\n",
" <td>12179</td>\n",
" <td>64.704082</td>\n",
" <td>62.448980</td>\n",
" </tr>\n",
" <tr>\n",
" <th>master's degree</th>\n",
" <td>4115</td>\n",
" <td>75.372881</td>\n",
" <td>75.677966</td>\n",
" </tr>\n",
" <tr>\n",
" <th>some college</th>\n",
" <td>15171</td>\n",
" <td>69.460177</td>\n",
" <td>68.840708</td>\n",
" </tr>\n",
" <tr>\n",
" <th>some high school</th>\n",
" <td>11366</td>\n",
" <td>66.938547</td>\n",
" <td>64.888268</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" math score reading score writing score\n",
"parental level of education \n",
"associate's degree 15070 70.927928 69.896396\n",
"bachelor's degree 8188 73.000000 73.381356\n",
"high school 12179 64.704082 62.448980\n",
"master's degree 4115 75.372881 75.677966\n",
"some college 15171 69.460177 68.840708\n",
"some high school 11366 66.938547 64.888268"
]
},
"execution_count": 10,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.groupby(\"parental level of education\").agg({\"math score\": \"sum\", \"reading score\": \"mean\", \"writing score\": \"mean\"})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Сортировка данных"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Сортировка по результатам по математике по убыванию"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {},
"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>gender</th>\n",
" <th>race/ethnicity</th>\n",
" <th>parental level of education</th>\n",
" <th>lunch</th>\n",
" <th>test preparation course</th>\n",
" <th>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>451</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>100</td>\n",
" <td>92</td>\n",
" <td>97</td>\n",
" </tr>\n",
" <tr>\n",
" <th>458</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>962</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>associate's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>149</th>\n",
" <td>male</td>\n",
" <td>group E</td>\n",
" <td>associate's degree</td>\n",
" <td>free/reduced</td>\n",
" <td>completed</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>93</td>\n",
" </tr>\n",
" <tr>\n",
" <th>623</th>\n",
" <td>male</td>\n",
" <td>group A</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>100</td>\n",
" <td>96</td>\n",
" <td>86</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>145</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>some college</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>22</td>\n",
" <td>39</td>\n",
" <td>33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>787</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>19</td>\n",
" <td>38</td>\n",
" <td>32</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>some high school</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>18</td>\n",
" <td>32</td>\n",
" <td>28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>980</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>high school</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>8</td>\n",
" <td>24</td>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>59</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>some high school</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>0</td>\n",
" <td>17</td>\n",
" <td>10</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1000 rows × 8 columns</p>\n",
"</div>"
],
"text/plain": [
" gender race/ethnicity parental level of education lunch \\\n",
"451 female group E some college standard \n",
"458 female group E bachelor's degree standard \n",
"962 female group E associate's degree standard \n",
"149 male group E associate's degree free/reduced \n",
"623 male group A some college standard \n",
".. ... ... ... ... \n",
"145 female group C some college free/reduced \n",
"787 female group B some college standard \n",
"17 female group B some high school free/reduced \n",
"980 female group B high school free/reduced \n",
"59 female group C some high school free/reduced \n",
"\n",
" test preparation course math score reading score writing score \n",
"451 none 100 92 97 \n",
"458 none 100 100 100 \n",
"962 none 100 100 100 \n",
"149 completed 100 100 93 \n",
"623 completed 100 96 86 \n",
".. ... ... ... ... \n",
"145 none 22 39 33 \n",
"787 none 19 38 32 \n",
"17 none 18 32 28 \n",
"980 none 8 24 23 \n",
"59 none 0 17 10 \n",
"\n",
"[1000 rows x 8 columns]"
]
},
"execution_count": 11,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sort_values(\"math score\", ascending=False)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. Сортировка по нескольким столбцам - по оценке по математике по возрастанию, по оценке по чтению по убыванию"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"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>gender</th>\n",
" <th>race/ethnicity</th>\n",
" <th>parental level of education</th>\n",
" <th>lunch</th>\n",
" <th>test preparation course</th>\n",
" <th>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>59</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>some high school</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>0</td>\n",
" <td>17</td>\n",
" <td>10</td>\n",
" </tr>\n",
" <tr>\n",
" <th>980</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>high school</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>8</td>\n",
" <td>24</td>\n",
" <td>23</td>\n",
" </tr>\n",
" <tr>\n",
" <th>17</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>some high school</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>18</td>\n",
" <td>32</td>\n",
" <td>28</td>\n",
" </tr>\n",
" <tr>\n",
" <th>787</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>19</td>\n",
" <td>38</td>\n",
" <td>32</td>\n",
" </tr>\n",
" <tr>\n",
" <th>145</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>some college</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>22</td>\n",
" <td>39</td>\n",
" <td>33</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>916</th>\n",
" <td>male</td>\n",
" <td>group E</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>962</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>associate's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" <td>100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>625</th>\n",
" <td>male</td>\n",
" <td>group D</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>100</td>\n",
" <td>97</td>\n",
" <td>99</td>\n",
" </tr>\n",
" <tr>\n",
" <th>623</th>\n",
" <td>male</td>\n",
" <td>group A</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>100</td>\n",
" <td>96</td>\n",
" <td>86</td>\n",
" </tr>\n",
" <tr>\n",
" <th>451</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>100</td>\n",
" <td>92</td>\n",
" <td>97</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1000 rows × 8 columns</p>\n",
"</div>"
],
"text/plain": [
" gender race/ethnicity parental level of education lunch \\\n",
"59 female group C some high school free/reduced \n",
"980 female group B high school free/reduced \n",
"17 female group B some high school free/reduced \n",
"787 female group B some college standard \n",
"145 female group C some college free/reduced \n",
".. ... ... ... ... \n",
"916 male group E bachelor's degree standard \n",
"962 female group E associate's degree standard \n",
"625 male group D some college standard \n",
"623 male group A some college standard \n",
"451 female group E some college standard \n",
"\n",
" test preparation course math score reading score writing score \n",
"59 none 0 17 10 \n",
"980 none 8 24 23 \n",
"17 none 18 32 28 \n",
"787 none 19 38 32 \n",
"145 none 22 39 33 \n",
".. ... ... ... ... \n",
"916 completed 100 100 100 \n",
"962 none 100 100 100 \n",
"625 completed 100 97 99 \n",
"623 completed 100 96 86 \n",
"451 none 100 92 97 \n",
"\n",
"[1000 rows x 8 columns]"
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.sort_values([\"math score\", \"reading score\"], ascending=[True, False])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Удаление строк/столбцов"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Удаление столбца"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"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>gender</th>\n",
" <th>parental level of education</th>\n",
" <th>lunch</th>\n",
" <th>test preparation course</th>\n",
" <th>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>female</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>74</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>female</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>69</td>\n",
" <td>90</td>\n",
" <td>88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>female</td>\n",
" <td>master's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>90</td>\n",
" <td>95</td>\n",
" <td>93</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>male</td>\n",
" <td>associate's degree</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>47</td>\n",
" <td>57</td>\n",
" <td>44</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>male</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>76</td>\n",
" <td>78</td>\n",
" <td>75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>995</th>\n",
" <td>female</td>\n",
" <td>master's degree</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>88</td>\n",
" <td>99</td>\n",
" <td>95</td>\n",
" </tr>\n",
" <tr>\n",
" <th>996</th>\n",
" <td>male</td>\n",
" <td>high school</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>62</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>997</th>\n",
" <td>female</td>\n",
" <td>high school</td>\n",
" <td>free/reduced</td>\n",
" <td>completed</td>\n",
" <td>59</td>\n",
" <td>71</td>\n",
" <td>65</td>\n",
" </tr>\n",
" <tr>\n",
" <th>998</th>\n",
" <td>female</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>68</td>\n",
" <td>78</td>\n",
" <td>77</td>\n",
" </tr>\n",
" <tr>\n",
" <th>999</th>\n",
" <td>female</td>\n",
" <td>some college</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>77</td>\n",
" <td>86</td>\n",
" <td>86</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1000 rows × 7 columns</p>\n",
"</div>"
],
"text/plain": [
" gender parental level of education lunch test preparation course \\\n",
"0 female bachelor's degree standard none \n",
"1 female some college standard completed \n",
"2 female master's degree standard none \n",
"3 male associate's degree free/reduced none \n",
"4 male some college standard none \n",
".. ... ... ... ... \n",
"995 female master's degree standard completed \n",
"996 male high school free/reduced none \n",
"997 female high school free/reduced completed \n",
"998 female some college standard completed \n",
"999 female some college free/reduced none \n",
"\n",
" math score reading score writing score \n",
"0 72 72 74 \n",
"1 69 90 88 \n",
"2 90 95 93 \n",
"3 47 57 44 \n",
"4 76 78 75 \n",
".. ... ... ... \n",
"995 88 99 95 \n",
"996 62 55 55 \n",
"997 59 71 65 \n",
"998 68 78 77 \n",
"999 77 86 86 \n",
"\n",
"[1000 rows x 7 columns]"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.drop(\"race/ethnicity\", axis=1)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Удаление строки"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"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>gender</th>\n",
" <th>race/ethnicity</th>\n",
" <th>parental level of education</th>\n",
" <th>lunch</th>\n",
" <th>test preparation course</th>\n",
" <th>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>69</td>\n",
" <td>90</td>\n",
" <td>88</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>master's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>90</td>\n",
" <td>95</td>\n",
" <td>93</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>male</td>\n",
" <td>group A</td>\n",
" <td>associate's degree</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>47</td>\n",
" <td>57</td>\n",
" <td>44</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>male</td>\n",
" <td>group C</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>76</td>\n",
" <td>78</td>\n",
" <td>75</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>associate's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>71</td>\n",
" <td>83</td>\n",
" <td>78</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>995</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>master's degree</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>88</td>\n",
" <td>99</td>\n",
" <td>95</td>\n",
" </tr>\n",
" <tr>\n",
" <th>996</th>\n",
" <td>male</td>\n",
" <td>group C</td>\n",
" <td>high school</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>62</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" </tr>\n",
" <tr>\n",
" <th>997</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>high school</td>\n",
" <td>free/reduced</td>\n",
" <td>completed</td>\n",
" <td>59</td>\n",
" <td>71</td>\n",
" <td>65</td>\n",
" </tr>\n",
" <tr>\n",
" <th>998</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>68</td>\n",
" <td>78</td>\n",
" <td>77</td>\n",
" </tr>\n",
" <tr>\n",
" <th>999</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>some college</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>77</td>\n",
" <td>86</td>\n",
" <td>86</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>999 rows × 8 columns</p>\n",
"</div>"
],
"text/plain": [
" gender race/ethnicity parental level of education lunch \\\n",
"1 female group C some college standard \n",
"2 female group B master's degree standard \n",
"3 male group A associate's degree free/reduced \n",
"4 male group C some college standard \n",
"5 female group B associate's degree standard \n",
".. ... ... ... ... \n",
"995 female group E master's degree standard \n",
"996 male group C high school free/reduced \n",
"997 female group C high school free/reduced \n",
"998 female group D some college standard \n",
"999 female group D some college free/reduced \n",
"\n",
" test preparation course math score reading score writing score \n",
"1 completed 69 90 88 \n",
"2 none 90 95 93 \n",
"3 none 47 57 44 \n",
"4 none 76 78 75 \n",
"5 none 71 83 78 \n",
".. ... ... ... ... \n",
"995 completed 88 99 95 \n",
"996 none 62 55 55 \n",
"997 completed 59 71 65 \n",
"998 completed 68 78 77 \n",
"999 none 77 86 86 \n",
"\n",
"[999 rows x 8 columns]"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.drop(0, axis=0)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Создание новых столбцов"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Создание нового столбца со средним баллом каждого студента по всем предметам "
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
" average rating\n",
"0 72.666667\n",
"1 82.333333\n",
"2 92.666667\n",
"3 49.333333\n",
"4 76.333333\n",
".. ...\n",
"995 94.000000\n",
"996 57.333333\n",
"997 65.000000\n",
"998 74.333333\n",
"999 83.000000\n",
"\n",
"[1000 rows x 1 columns]\n"
]
}
],
"source": [
"df[\"average rating\"] = (df[\"math score\"] + df[\"reading score\"] + df[\"writing score\"]) / 3\n",
"print(df[[\"average rating\"]])"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Удаление строк с пустыми значениями"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Удаление строк с NaN"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {},
"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>gender</th>\n",
" <th>race/ethnicity</th>\n",
" <th>parental level of education</th>\n",
" <th>lunch</th>\n",
" <th>test preparation course</th>\n",
" <th>math score</th>\n",
" <th>reading score</th>\n",
" <th>writing score</th>\n",
" <th>average rating</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>bachelor's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>72</td>\n",
" <td>72</td>\n",
" <td>74</td>\n",
" <td>72.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>69</td>\n",
" <td>90</td>\n",
" <td>88</td>\n",
" <td>82.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>female</td>\n",
" <td>group B</td>\n",
" <td>master's degree</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>90</td>\n",
" <td>95</td>\n",
" <td>93</td>\n",
" <td>92.666667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>male</td>\n",
" <td>group A</td>\n",
" <td>associate's degree</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>47</td>\n",
" <td>57</td>\n",
" <td>44</td>\n",
" <td>49.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>male</td>\n",
" <td>group C</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>none</td>\n",
" <td>76</td>\n",
" <td>78</td>\n",
" <td>75</td>\n",
" <td>76.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>...</th>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" <td>...</td>\n",
" </tr>\n",
" <tr>\n",
" <th>995</th>\n",
" <td>female</td>\n",
" <td>group E</td>\n",
" <td>master's degree</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>88</td>\n",
" <td>99</td>\n",
" <td>95</td>\n",
" <td>94.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>996</th>\n",
" <td>male</td>\n",
" <td>group C</td>\n",
" <td>high school</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>62</td>\n",
" <td>55</td>\n",
" <td>55</td>\n",
" <td>57.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>997</th>\n",
" <td>female</td>\n",
" <td>group C</td>\n",
" <td>high school</td>\n",
" <td>free/reduced</td>\n",
" <td>completed</td>\n",
" <td>59</td>\n",
" <td>71</td>\n",
" <td>65</td>\n",
" <td>65.000000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>998</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>some college</td>\n",
" <td>standard</td>\n",
" <td>completed</td>\n",
" <td>68</td>\n",
" <td>78</td>\n",
" <td>77</td>\n",
" <td>74.333333</td>\n",
" </tr>\n",
" <tr>\n",
" <th>999</th>\n",
" <td>female</td>\n",
" <td>group D</td>\n",
" <td>some college</td>\n",
" <td>free/reduced</td>\n",
" <td>none</td>\n",
" <td>77</td>\n",
" <td>86</td>\n",
" <td>86</td>\n",
" <td>83.000000</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>1000 rows × 9 columns</p>\n",
"</div>"
],
"text/plain": [
" gender race/ethnicity parental level of education lunch \\\n",
"0 female group B bachelor's degree standard \n",
"1 female group C some college standard \n",
"2 female group B master's degree standard \n",
"3 male group A associate's degree free/reduced \n",
"4 male group C some college standard \n",
".. ... ... ... ... \n",
"995 female group E master's degree standard \n",
"996 male group C high school free/reduced \n",
"997 female group C high school free/reduced \n",
"998 female group D some college standard \n",
"999 female group D some college free/reduced \n",
"\n",
" test preparation course math score reading score writing score \\\n",
"0 none 72 72 74 \n",
"1 completed 69 90 88 \n",
"2 none 90 95 93 \n",
"3 none 47 57 44 \n",
"4 none 76 78 75 \n",
".. ... ... ... ... \n",
"995 completed 88 99 95 \n",
"996 none 62 55 55 \n",
"997 completed 59 71 65 \n",
"998 completed 68 78 77 \n",
"999 none 77 86 86 \n",
"\n",
" average rating \n",
"0 72.666667 \n",
"1 82.333333 \n",
"2 92.666667 \n",
"3 49.333333 \n",
"4 76.333333 \n",
".. ... \n",
"995 94.000000 \n",
"996 57.333333 \n",
"997 65.000000 \n",
"998 74.333333 \n",
"999 83.000000 \n",
"\n",
"[1000 rows x 9 columns]"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.dropna()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. Заполнить пустые значения для определённого столбца"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {},
"outputs": [],
"source": [
"df.fillna({\"writing score\": df[\"writing score\"].mean()}, inplace=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Заполнение пустых значений"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Заполнение средним значением (только для числовых значений)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"metadata": {},
"outputs": [],
"source": [
"df.fillna(df.select_dtypes(include='number').mean(), inplace=True)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Визуализация данных с Pandas и Matplotlib"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"1. Линейная диаграмма (plot). Распределение оценок по математике в зависимости от пола"
]
},
{
"cell_type": "code",
"execution_count": 19,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"import matplotlib.pyplot as plt\n",
"df.plot(x=\"gender\", y=\"math score\", kind=\"line\")\n",
"\n",
"plt.xlabel(\"Пол\") \n",
"plt.ylabel(\"Балл по математике\")\n",
"plt.title(\"Распределение оценок по математике в зависимости от пола\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"2. Столбчатая диаграмма (bar). Средний балл по математике по полу"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjIAAAHpCAYAAACY3dYoAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABN80lEQVR4nO3dd3RU5f7+/WsISUidGAhJkFANvQh4hIA0QREUka6ItAgWijTRHA9VFA8eAVHQL4qgAhYMoNhAQBAQEOkIREroJDRJaEkw2c8f/JiHMYXsFCY7eb/WmrWYe7dPMjPMlb3v+942wzAMAQAAWFAxVxcAAACQUwQZAABgWQQZAABgWQQZAABgWQQZAABgWQQZAABgWQQZAABgWQQZAABgWQQZwMX+/vtvnT59WkePHnV1KQBgOQQZIAfmzZunw4cPO57PnTtXJ06cyPb2+/fvV//+/RUaGioPDw8FBwcrIiJCTLQNAOYUd3UBsJ6DBw9q8uTJ+umnn3Ty5El5eHiodu3a6tatmwYMGCAvLy9Xl5jv1q5dq2+++UaTJ09WTEyMBg4cqAMHDmRr240bN6pt27YKDAzUyy+/rBo1ashms8lut8tms+Vz5QBQuNi41xLM+O6779S1a1d5enqqV69eqlWrllJSUrRu3TpFR0erT58+mjVrlqvLzHf79u1TixYtFB8fL0kaPny43nrrrVtul5KSorp168rf31/Lly+X3W7P71IBoFAjyCDbYmNjVadOHZUtW1arVq1SaGio0/IDBw7ou+++0wsvvOCiCm+vy5cva/fu3SpVqpQqV66crW2io6PVtWtX7du3T1WqVMnnCgGg8KOPDLJt8uTJunTpkmbPnp0uxEjSXXfd5RRibDabBg0apPnz56tq1aoqUaKEGjRooF9++SXdtidOnFC/fv0UHBwsT09P1axZUx999FGGdYwbN042my3do0WLFk7rtWjRQrVq1Uq3/f/+9z/ZbDanPi4VKlRQnz59nNZbuHChbDabKlSo4Gg7fPiwbDab5s6dKx8fHzVs2FCVK1fWwIEDZbPZ0u3jnzZu3KiKFSsqOjpalStXloeHh8qVK6dRo0bp6tWrTut+/fXXevjhh1WmTBl5enqqcuXKevXVV5WamppuvzfqyuiR3d/frWpfvXp1psfIaPtDhw6pa9euCgwMlLe3txo1aqTvvvsuy2PccGOf06ZNS7esWrVqjvfWDefPn9fIkSNVu3Zt+fr6yt/fX23bttWOHTuyXb/NZtO4ceMc62fnPXnzPrdv3+607MSJE3Jzc5PNZtNXX33laN+5c6f69OmjSpUqqUSJEgoJCVG/fv107tw5xzqZvUY3P1avXi3p+vv8n+/9zZs3Z/j6//Nn/Pvvv9WuXTsFBgZqz549TuvOmzdPDRo0kJeXlwIDA/X444/r2LFj6V6Pf7pV7XPnznVaf9WqVWratKl8fHwUEBCgDh06aO/evbc8Tn6+H/v06ZPl+2POnDmy2Wzatm1bum1ff/11ubm5meozh9yhjwyybenSpapUqZIaN26c7W3WrFmjL774QkOGDJGnp6dmzpyphx56SL/99psjZMTHx6tRo0aOL6egoCD98MMPioyMVGJiooYOHZrhvt977z35+vpKkqKionL9893s77//1iuvvJKtdQ8cOKAPPvggW+ueO3dOhw4d0r///W916tRJI0aM0O+//64333xTu3fv1nfffef48pk7d658fX01fPhw+fr6atWqVRozZowSExP15ptvZrj/AQMGqGnTppKkRYsWafHixZnW8umnnzr+PWzYsGzVL0lDhgzRv/71L6e2p59+2ul5fHy8GjdurCtXrmjIkCEqWbKkPv74Yz366KP66quv1LFjx1sep0SJEpozZ47T6//rr7/qyJEj6dY9dOiQlixZoq5du6pixYqKj4/X//3f/6l58+bas2ePypQpo+rVqzv9zLNmzdLevXs1depUR1udOnUc9Zt5T96o9e2333a0ffzxx/Lw8FBSUpLTuj/99JMOHTqkvn37KiQkRH/88YdmzZqlP/74Qxs3bpTNZlOnTp101113ObYZNmyYqlevrgEDBjjaqlevnunv7qWXXsp02c2efvpprV69Wj/99JNq1KjhaH/ttdc0evRodevWTU8//bTOnDmjd955R82aNdO2bdsUEBBwy33f/PmUrp/RHTNmjNM6K1asUNu2bVWpUiWNGzdOV69e1TvvvKMmTZpo69atTn9EZCa/3o+lSpVyem889dRTjn936dJFAwcO1Pz581WvXj2n7ebPn68WLVrozjvvvGXtyCMGkA0JCQmGJKNDhw7Z3kaSIcn4/fffHW1HjhwxSpQoYXTs2NHRFhkZaYSGhhpnz5512v7xxx837Ha7ceXKFaf2f//734Ykp/Vr1qxpNG/e3Gm95s2bGzVr1kxX15tvvmlIMmJjYx1t5cuXN3r37u14PnPmTMPT09No2bKlUb58eUd7bGysIcmYM2eOo61bt25GrVq1jLCwMKd9ZKR3796GJKNPnz5O7WPHjjUkGUuXLnW0/fPnNgzDeOaZZwxvb28jKSnJqX3//v2GJOPjjz9Ot89/euWVVwybzebU9s+fPyM///yzIclYuHBhumU+Pj5O2w8dOtSQZKxdu9bRdvHiRaNixYpGhQoVjNTU1CyPJcno0qWLUbx4caf3T2RkpNGjRw9DkjFw4EBHe1JSUrp9xsbGGp6ensaECRMyPEbv3r2dXtubZfc9eeN38sQTTxglS5Y0kpOTHeuGh4c7ar35d5bR6/rZZ58Zkoxffvklw3qyen2aN2/u9N7//vvvDUnGQw89lO71l2SMHTvWMAzDiIqKMtzc3IwlS5Y4rXP48GHDzc3NeO2115zad+3aZRQvXjxd+z/deN+dOXPGqX3z5s3pPjt33323Ubp0aePcuXOOth07dhjFihUzevXqleVx8vP9+OSTTxoVK1Z0arv5d2cYhvHEE08YZcqUcdp269at6X5G5D8uLSFbEhMTJUl+fn6mtouIiFCDBg0cz8uVK6cOHTpo2bJlSk1NlWEYio6OVvv27WUYhs6ePet4tGnTRgkJCdq6davTPm/8hVuiRIlbHj81NdVpn2fPntWVK1ey3ObKlSuaMGGCBg0apHLlymW57pYtW7Rw4UJNmjRJxYpl/+P04osvOj0fNmyY3NzcnE513zz66+LFizp79qyaNm2qK1euaN++fU7bp6SkSJI8PT1veeyUlJRsrZcb33//ve69917dd999jjZfX18NGDBAhw8fTncZIyPBwcF6+OGHNWfOHEnXX5cvv/xSffv2Tbeup6en4/efmpqqc+fOydfXV1WrVk33/rmVnLwn27dvL5vNpm+++UbS9VFtx48fV/fu3dPt/+bXNSkpSWfPnlWjRo0kyXStGdUeFRWlzp07q2HDhpmu9+6772rSpEmaPn26OnTo4LRs0aJFSktLU7du3Zx+9pCQEIWHh+vnn3/OVY03nDp1Stu3b1efPn0UGBjoaK9Tp44eeOABff/993lyHMn8+zE7n5FevXrp5MmTTr+P+fPny8vLS507d86z2nFrBBlki7+/v6TrX6hmhIeHp2urUqWKrly5ojNnzujMmTO6cOGCZs2apaCgIKfHjS+s06dPO21/9uxZubu7y9vb+5bH37dvX7r9jh07NsttpkyZoqSkJP373/++5f5ffvllNW3aVI888sgt15Wu91EoVqxYut+L3W5XaGioU7+dP/74Qx07dpTdbpe/v7+CgoLUs2dPSVJCQoLT9hcuXJAkp1P5mblw4UK21suNI0eOqGrVqunab1wOyejyUEb69u2rBQsWKDk5WQsXLtQdd9yh+++/P916aWlpmjp1qsLDw+Xp6alSpUopKChIO3fuTPe7upWcvCfd3d3Vs2dPRx+ajz76SJ07d3Z8bm52/vx5vfDCCwoODpaXl5eCgoJUsWJFSelfV7Pmz5+vP/74Q6+//nqm6/zwww+Ovmznz59Pt3z//v0yDEPh4eHpfv69e/em+9lz6sZ7ILP3ydmzZ3X58uU8O5aZ92N2PiMPPPCAQkNDNX/+fEn
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Группируем по полу, находим средний балл по математике\n",
"grouped_df = df.groupby('gender')['math score'].mean().reset_index()\n",
"\n",
"grouped_df.plot(x='gender', y='math score', kind='bar', color=['blue', 'orange'])\n",
"\n",
"plt.xlabel('Пол')\n",
"plt.ylabel('Средний балл по математике')\n",
"plt.title('Средний балл по математике по полу')\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"3. Гистограмма (hist). Распределение оценок по математике"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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amRq1qxpXz59+rSRZMaOHWtvO3r0qHF1dTWTJk1yeO7PP/9sihQp4tR+6NAhI8n85z//sbeNHTvWXP9W3bhxo5Fk5s+f7/Dc5cuXO7WXL1/eREZGOtUeExNjbnz731j78OHDTWBgoKlTp47DnH700UfGxcXFbNy40eH5s2fPNpLM5s2bnbaXITU11QQGBpqaNWuav/76y96+dOlSI8mMGTPG3hYdHW2KFSvmNMaCBQuMJLN27dpc1STJxMTEOI0bGRlpypcvb19evHixkWQmTpzo0O+JJ54wNpvNHD582GHMjLkbOXKkcXV1NYsXL85yHq7XvHlzU6NGDaf2KVOmGEkmPj7eGGPMqVOnjLu7u3nkkUcc3kszZswwkswHH3xw0+1kvI66detm2rdvb2///fffjYuLi+nWrZuRZE6fPm1fd/nyZadx+vbta4oWLWpSUlKc1mW8N+fOneu0LifvhYw5qV27tnnjjTfs7R999JEpU6aMadq0qdOc3VhramqqqVmzpnn44YcznY+Mn10Z83u9jJ8b17/GGjRoYNq2bev0Prn+/Xn06FETEhJimjRp4vD6NsaYXr16mZCQEHPmzBmH9q5duxpfX99M5xp5h9NYyBMREREqVaqUypYtq65du8rb21uLFi1S6dKlJUkeHh5ycfn75ZaWlqazZ8/K29tb9957r3bu3Gkf56uvvlLJkiX1/PPPO23jxkPFOfH000+rePHi9uUnnnhCISEh9r/Udu/erUOHDukf//iHzp49qzNnzujMmTO6dOmSWrZsqQ0bNig9Pd1hzJSUlEz/wrzewoULlZ6eri5dutjHPHPmjIKDg1WlShWtXbvWoX9qaqqkv+crKwsWLJCvr69atWrlMGadOnXk7e3tNObVq1cd+p05c8bpL/gbnThxQm+//bZGjx7tdCppwYIFqlatmqpWreowZsapyxu3f73t27fr1KlT6t+/v8PcRUZGqmrVqlq2bNlN68pKTmtKSUlxmpMbT+18++23cnV11QsvvODQPnToUBlj9N133znVMWPGDMXGxuqtt97SY489lqt9ycqqVauUmpqqQYMG2d9LktS7d2/5+Phke+569uyp5cuXKyEhQZL0n//8R+Hh4brnnnuc+mYc9ZT+PiJ05swZNW3aVJcvX9Yvv/ySo/pz+l6QpB49emju3Ln25blz5yo6Otph/zOr9c8//1RSUpKaNm3q8PMltxYuXKht27Zp8uTJWfY5e/asWrdureLFi+vrr792eH0bY/TVV1+pQ4cOMsY47H/r1q2VlJSUJ3Uia5zGQp6YOXOm7rnnHhUpUkRBQUG69957HX4gpaena/r06Zo1a5bi4+MdzvlnnOqS/j79de+996pIkbx9aVapUsVh2WazqXLlyvbrIQ4dOiRJio6OznKMpKQklShRwr585swZp3FvdOjQIRljsux342mHjGsvMrtW5foxk5KS7If2b3Tq1CmH5e+//16lSpW6aZ03Gjt2rEJDQ9W3b1+n6x4OHTqkAwcOZDnmjdu/3u+//y5Juvfee53WVa1aVZs2bcpRnbmt6f3339f777/v1K98+fIOtYaGhjqEZEmqVq2aff31vvvuO23fvl3S39eo5bWs5s7d3V0VK1Z0qicr999/v2rWrKkPP/xQw4YN07x58/Tyyy9neg3Zvn3
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[\"math score\"].plot(kind=\"hist\")\n",
"\n",
"plt.xlabel(\"Оценки по математике\") \n",
"plt.ylabel(\"Частота\") \n",
"plt.title(\"Распределение оценок по математике\")\n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"4. Ящик с усами (box). Оценки по математике"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df[\"math score\"].plot(kind=\"box\")\n",
"\n",
"plt.ylabel(\"Оценки по математике\") \n",
"plt.title(\"Box Plot оценок по математике\") \n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"5. Диаграмма с областями (area). "
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.plot(x=\"parental level of education\", y=\"math score\", kind=\"area\")\n",
"\n",
"plt.xlabel(\"Уровень образования родителей\") \n",
"plt.ylabel(\"Балл по математике\")\n",
"plt.title(\"Балл по математике по Уровню образования родителей\")\n",
"\n",
"plt.xticks(rotation=45) # Поворот меток оси X для лучшей читабельности\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"6. Диаграмма рассеяния (scatter). Зависимость оценок по математике от оценко по чтению"
]
},
{
"cell_type": "code",
"execution_count": 24,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHHCAYAAABZbpmkAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAACK2klEQVR4nO3dd3gU5doG8HtDQgqQQkISElpCQhOQJhpCUWkqCoiKIioClnPEgxT1yFGwgAZFaSoiHA+IxwIIRLDCQaRGARNABUIggVBMJYUQavJ+f/DturuZnZ2ZnS3Z3L/rynWZ3dmZd2Y37svMPc9jEEIIEBEREXkpH3cPgIiIiMiZONkhIiIir8bJDhEREXk1TnaIiIjIq3GyQ0RERF6Nkx0iIiLyapzsEBERkVfjZIeIiIi8Gic7RERE5NU42SEiIiKvxskOEREReTVOdrzMH3/8gYceegixsbHw9/dHTEwMRo8ejT/++MPdQyMiG86fP4+ZM2eic+fOCAoKQkhICPr06YMVK1aA7QuJHGdgI1DvsXbtWowaNQqNGzfG+PHjERcXh+PHj+Ojjz5CcXExvvjiC9x9993uHiYRmcnPz0f//v1x6NAhPPDAA+jXrx8uXryINWvWYNu2bbj//vvx6aefol69eu4eKlGtxcmOlzh27Bg6d+6MFi1aYNu2bWjSpInpuaKiIvTp0wcnT57EgQMHEB8f78aREpG52267DZs2bcK6deswdOhQi+eee+45vP3225g9ezb++c9/ummERF5AkFd48sknBQCxbds2yee3bt0qAIgnn3zS9NjLL78sAIjCwkKLZffs2SMAiGXLllk8XlVVJebNmyc6dOgg/P39RWRkpHjiiSfE2bNnLZZr2bKlGDJkSI0xTJgwQVh/5ACIl19+2fT7lStXxO233y7CwsLEH3/8YXM5IYR46623BADRr18/yX223o6tn5YtW1osW1FRIaZMmSKaNWsm6tevL9q0aSPmzJkjqqur7W6nX79+AoAYNmxYjeeeeOIJAUBcd911Fo/PmTNHJCUlicaNG4uAgADRrVs3sXr1asXjtz4GFy9eFDNmzBCtW7cW9evXF82aNRPPPfecuHjxouQ6582bV2Osbdu2FQDEhAkTTI8VFxeLqVOnio4dO4oGDRqIRo0aidtuu03s27fPtMyWLVvsjtX4Pho/f+bOnTsnoqKiBACxZcsWi+Nq/T7PmjVLGAwG8emnn1o8/vPPP4vBgweL4OBgERgYKPr27St27NhRYx/N5eXliXr16olXXnmlxnOHDx8WAMS7774rhBDi8uXL4pVXXhEJCQnC399fNG7cWCQnJ4uNGzfKbkNKWlqaACDGjRsn+fyVK1dEYmKiCAsLE5WVlUIIIXJycgQAMWfOnBrLX3fddZJ/D0qOiZr/H4wZM6bG380nn3wiDAaDSElJkV0uNzdXBAQECAAiJydHcr/NXy/3WTL/jAghxKpVq0S3bt1EQECACA8PF6NHjxanTp2S3YatcQohJD+vSsfjimNu61ha/71cvnxZvPTSS6JVq1bCz89PNG/eXDz33HOmz1Rd4KvDfIk8wIYNG9CqVSv06dNH8vm+ffuiVatW+OabbzRv48knn8Ty5csxduxYTJw4ETk5OXjvvfeQkZGBnTt3ws/PT/O6jR577DH89NNP2LRpEzp06GBzudLSUqSkpKha98CBA/HII49YPPbOO++gpKTE9LsQAkOHDsWWLVswfvx4dOnSBT/88AOee+45nD59GvPmzbO7nYCAAHzzzTcoKChAZGQkAODChQtYuXIlAgICaiy/YMECDB06FKNHj8bly5fxxRdf4L777sPXX3+NIUOGAAA++eQT0/Lbt2/HkiVLMG/ePERERAAAoqKiAADV1dUYOnQoduzYgSeeeALt27fHb7/9hnnz5uHIkSNITU2tMdZly5Zh0qRJpsd27dqFEydO1BhndnY2UlNTcd999yEuLg75+fn48MMP0a9fPxw8eBAxMTFo3769xViXLFmCQ4cOWRy3zp072zx277zzDvLz820+b7Rs2TK89NJLeOedd/Dggw+aHv/xxx9x++23o3v37nj55Zfh4+ODZcuW4dZbb8X27dvRs2dPyfVFRUWhX79+WLVqFV5++WWL51auXIl69erhvvvuAwC88sorSElJwWOPPYaePXuivLwce/fuRXp6OgYOHGh37OY2bNgAADU+l0a+vr548MEH8eqrr2Lnzp0YMGCAqvUD2o+JGhs3bsS4cePw9NNP44UXXpBddsaMGbh48aLidfv7++Pf//63xWN79uzBwoULLR4z/r/phhtuQEpKCvLz87FgwQLs3LkTGRkZCA0NVbxNKSNGjEBCQoLp98mTJ6N9+/Z44oknTI+1b98egGuOOaD8WE6YMAFLly7F0KFD8eyzzyIjIwNz5szB77//jm+++QYGg0GX8Xg0d8+2yHGlpaU2zyaYGzp0qAAgysvLhRDq/lWxfft2AaDGv6K///77Go9rPbMzbdo0Ua9ePZGamlrjtebLCSHE888/LyIjI0X37t0Vn9kxP0thNGTIEIt/LaWmpgoAYtasWRbL3XvvvcJgMIijR4/Kbqdfv37iuuuuE507dxZvv/226fFPPvlENGvWTPTp06fGmR3rf11dvnxZdOzYUdx6662S21i2bJnNfxV/8sknwsfHR2zfvt3i8cWLFwsAYufOnabHAIh7771X+Pr6ir1795oeHz9+vHjwwQdrHLOLFy+Kqqoqi/Xm5OQIf39/8dprr0mO1da/mIWoeWanoKBANGrUSNx+++2yZ3a++eYb4evrK6ZOnWqxvurqapGYmCgGDx5scRausrJSxMXFiYEDB0qOw+jDDz8UAMRvv/1m8XiHDh0s3ovrr79e8vOtxfDhwwUAUVJSYnOZtWvXCgBi4cKFQgh1Z3bUHBOtZxn27t0rGjZsKO67774anw/r9//3338XPj4+pvdYyZmdBg0a1Hh89erVFp+Ry5cvi8jISNGxY0dx4cIF03Jff/21ACBmzJghu52xY8eKFi1a1Hjc+v875lq2bCnGjBlT43FXHHMh5I+l+d/LgQMHhMFgEA888IDFNl555RUBQGzYsEFy/7wN78byAufOnQMANGrUSHY54/Pl5eWqt7F69WqEhIRg4MCBKCoqMv10794dDRs2xJYtWyyWv3LlisVyRUVFsv8Cee+995CSkoKFCxdi2LBhsmM5ffo03n33XUyfPh0NGzZUvS9yvv32W9SrVw8TJ060eHzq1KkQQuC7775TtJ6xY8di2bJlpt+XLVuGMWPGwMen5p9cYGCg6b9LSkpQVlaGPn36ID09XfX4V69ejfbt26Ndu3YWx/7WW28FgBrvU1RUFIYMGWIaa2VlJVatWoWxY8fWWLe/v79p/FVVVSguLkbDhg3Rtm1bTWO1NnPmTISEhNQ49uZ2796NkSNH4p577sGcOXMsntu3bx+ysrLw4IMPori42LTv58+fR//+/bFt2zZUV1fbXPeIESPg6+uLlStXmh77/fffcfDgQdx///2mx0JDQ/HHH38gKyvLgb29RsnfriN/t1qOydmzZy0+O2VlZTbXn52djSFDhqBLly745JNPJD/f5qZNm4Zu3bqZzpLpZe/evSgoKMBTTz1lcfZ0yJAhaNeund0z2pGRkSgoKMDly5cdHouzj7mRvWNp/H/wunXrIITAlClTLJ6fNGkS6tWr59DZ/tqEl7G8gPF/hsb/cdqidFIkJSsrC2VlZabLMtYKCgosft+4caNFSFrOd999h7179wK49kdvz8svv4yYmBg8+eST+PLLLxVtQ6kTJ04gJiamxjEynp6WurwjZfTo0Xj++eexe/duREZG4qeffsKHH36IHTt21Fj266+/xqxZs7Bv3z5cunTJ9LiWU8tZWVk4dOiQzWNv/T4B1yZmY8eOxTvvvIPVq1cjLCzMNDkyV11djQULFmDRokXIyclBVVWV6bnw8HDVYzWXk5ODDz/8EB988IHkpT7g2iR3yJAhOH/+PIqLi2scH+PkY8yYMTa3U1ZWhrCwMMnnIiIi0L9/f6xatQozZ84EcO0
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"df.plot(kind=\"scatter\", x=\"math score\", y=\"reading score\")\n",
"\n",
"plt.xlabel(\"Оценки по математике\") \n",
"plt.ylabel(\"Оценки по чтению\")\n",
"plt.title(\"Оценки по математике vs. Оценки по чтению\") \n",
"\n",
"plt.show()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"7. Круговая диаграмма (pie). Количество товаров"
]
},
{
"cell_type": "code",
"execution_count": 25,
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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
"text/plain": [
"<Figure size 640x480 with 1 Axes>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# Определение порога для объединения редких значений\n",
"threshold = 0.02 # Порог 2%\n",
"\n",
"# Подсчёт количества уникальных значений и расчёт частот\n",
"value_counts = df[\"parental level of education\"].value_counts()\n",
"total_count = value_counts.sum()\n",
"\n",
"# Условие для агрегации значений ниже порога\n",
"other_values = value_counts[value_counts / total_count < threshold].sum()\n",
"main_values = value_counts[value_counts / total_count >= threshold]\n",
"\n",
"# Добавление категории \"Other\"\n",
"main_values[\"Other\"] = other_values\n",
"\n",
"# Построение диаграммы\n",
"main_values.plot(kind=\"pie\", \n",
" autopct='%1.1f%%', # Проценты\n",
" startangle=90, # Начальный угол\n",
" counterclock=False, # По часовой стрелке\n",
" cmap=\"Set3\", # Цветовая схема\n",
" wedgeprops={'edgecolor': 'black'}) # Границы сегментов\n",
"\n",
"plt.title(\"Распределение уровня образования родителей (агрегированные данные)\")\n",
"plt.subplots_adjust(left=0.3, right=0.7, top=0.9, bottom=0.1)\n",
"plt.show()"
]
}
],
"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.11.5"
}
},
"nbformat": 4,
"nbformat_minor": 2
}