{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Программирование и анализ данных\n",
"## Визуализация данных с `seaborn`\n",
"\n",
"*Алла Тамбовцева, НИУ ВШЭ*"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"В этой лекции мы будем строить графики для визуализации распределения данных с помощью библиотеки `seaborn`. Эту библиотеку можно считать некоторой «надстройкой» над библиотекой `matplotlib`, которая предлагает более удобные функции для построения графиков разных видов и более симпатичный дизайн для графиков. Для начала установим её. "
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"!pip install seaborn"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Теперь импортируем эту библиотеку с сокращённым названием `sns`, а заодно импортируем модуль `pyplot` из `matplotlib`, который нам тоже понадобится для настройки графиков. "
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {},
"outputs": [],
"source": [
"import matplotlib.pyplot as plt\n",
"import seaborn as sns"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Теперь сделаем так, чтобы все графики далее строились с использованием настроек по умолчанию из `seaborn`, а не из `matplotlib` (более красиво, так как автоматически добавляется светло-серый фон графика, сетка и прочее)."
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {},
"outputs": [],
"source": [
"sns.set()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Загрузим данные из файла `Chile.csv`, сохраним их в датафрейм и удалим строки с пропущенными значениями (многие функции для графики не работают в случае, если в визуализируемых данных остались `NaN`, при желании пропуски можно не удалять, а заполнить с помощью метода `.fillna()`."
]
},
{
"cell_type": "code",
"execution_count": 5,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
Unnamed: 0
\n",
"
region
\n",
"
population
\n",
"
sex
\n",
"
age
\n",
"
education
\n",
"
income
\n",
"
statusquo
\n",
"
vote
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
1
\n",
"
N
\n",
"
175000
\n",
"
M
\n",
"
65.0
\n",
"
P
\n",
"
35000.0
\n",
"
1.00820
\n",
"
Y
\n",
"
\n",
"
\n",
"
1
\n",
"
2
\n",
"
N
\n",
"
175000
\n",
"
M
\n",
"
29.0
\n",
"
PS
\n",
"
7500.0
\n",
"
-1.29617
\n",
"
N
\n",
"
\n",
"
\n",
"
2
\n",
"
3
\n",
"
N
\n",
"
175000
\n",
"
F
\n",
"
38.0
\n",
"
P
\n",
"
15000.0
\n",
"
1.23072
\n",
"
Y
\n",
"
\n",
"
\n",
"
3
\n",
"
4
\n",
"
N
\n",
"
175000
\n",
"
F
\n",
"
49.0
\n",
"
P
\n",
"
35000.0
\n",
"
-1.03163
\n",
"
N
\n",
"
\n",
"
\n",
"
4
\n",
"
5
\n",
"
N
\n",
"
175000
\n",
"
F
\n",
"
23.0
\n",
"
S
\n",
"
35000.0
\n",
"
-1.10496
\n",
"
N
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 region population sex age education income statusquo vote\n",
"0 1 N 175000 M 65.0 P 35000.0 1.00820 Y\n",
"1 2 N 175000 M 29.0 PS 7500.0 -1.29617 N\n",
"2 3 N 175000 F 38.0 P 15000.0 1.23072 Y\n",
"3 4 N 175000 F 49.0 P 35000.0 -1.03163 N\n",
"4 5 N 175000 F 23.0 S 35000.0 -1.10496 N"
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"import pandas as pd\n",
"ch = pd.read_csv(\"Chile.csv\")\n",
"ch.dropna(inplace = True)\n",
"ch.head() "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Показатели:**\n",
"\n",
"* `region`: регион, где живет респондент (`C`, Central; `M`, Metropolitan Santiago area; `N`, North; `S`, South; `SA`, City of Santiago);\n",
"* `sex`: пол респондента;\n",
"* `population`: численность населения в регионе респондента;\n",
"* `age`: возраст респондента;\n",
"* `education`: уровень образования респондента (`P`, Primary; `PS`, Post-secondary; `S`, Secondary);\n",
"* `income`: доход респондента;\n",
"* `statusquo`: индекс отношения к статус-кво (чем больше значение, тем больше человек склонен одобрять сохранение статус-кво – нахождение Пиночета у власти);\n",
"* `vote`: как респондент собирается голосовать (`A`, will abstain; `N`, will vote no – against Pinochet; `U`, undecided; `Y`, will vote yes – for Pinochet)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Гистограмма и график плотности распределения\n",
"\n",
"Построим простенькую гистограмму для столбца `age`. В `seaborn` нет отдельной функции для гистограммы, но есть функция `distplot()`, которая по умолчанию строит гистограмму и накладывает на неё сглаженный график плотности распределения (отсюда и название, *distplot* – от *distribution*)."
]
},
{
"cell_type": "code",
"execution_count": 6,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.distplot(ch[\"age\"], kde = False, \n",
" color = \"limegreen\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Аргумент `kde` отвечает за наличие или отсутствие сглаженного графика плотности, и название его неслучайно. Аббревиатура `kde` происходит от *kernel density estimation* (ядерная оценка плотности), почитать можно [здесь](https://ru.wikipedia.org/wiki/%D0%AF%D0%B4%D0%B5%D1%80%D0%BD%D0%B0%D1%8F_%D0%BE%D1%86%D0%B5%D0%BD%D0%BA%D0%B0_%D0%BF%D0%BB%D0%BE%D1%82%D0%BD%D0%BE%D1%81%D1%82%D0%B8)."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Теперь добавим аргумент `bins` для настройки числа столбцов и особый аргумент `hist_kws` с перечнем аргументов для построения гистограммы:"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 12,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# alpha – прозрачность (1 - нет прозрачности)\n",
"# edgecolor – цвет границ столбцов\n",
"\n",
"sns.distplot(ch[\"age\"], \n",
" kde = False, \n",
" color = \"limegreen\", \n",
" bins = 10, \n",
" hist_kws = {'alpha' : 0.75, \n",
" 'edgecolor' : 'black'})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Аргументы для настройки гистограммы указываются особым образом, в виде словаря. На первый взгляд это кажется необычным, но если вспомнить про `kwargs` (*keywords arguments*) в функциях, всё встанет на свои места. Здесь внутри `hist_kws` (как раз *histogram keywords*) можно указывать сколько угодно аргументов для настройки вида гистограммы, но при этом нужно обязательно фиксировать их названия. В итоге получаем словарь с ключами в виде названий аргументов."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Если бы мы хотели сохранить наложенный график плотности на рисунке, можно было бы и его вид настроить аналогичным образом:"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.distplot(ch[\"age\"], \n",
" color = \"limegreen\", \n",
" bins = 10, \n",
" hist_kws = {'alpha' : 0.75, \n",
" 'edgecolor' : 'black'},\n",
" kde_kws = {'color' : 'red'})"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Теперь добавим заголовок графика и подписи к осям. Сделать это можно с помощью методов из модуля `pyplot`, который мы сократили до `plt`:"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Distribution of age')"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.kdeplot(ch[\"age\"], shade = True)\n",
"plt.xlabel(\"Age\")\n",
"plt.ylabel(\"Counts\")\n",
"plt.title(\"Age of responsents\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"В данном примере мы добавили опцию `shade=True`, чтобы площадь под графиком была закрашена. Сглаженные графики плотности иногда полезны, но стоит помнить, что из-за сглаживания они получаются менее точными, чем гистограммы, поэтому их не очень хорошо полезно использовать, когда данных мало или когда нам важны точные частоты или «пики» распределения.\n",
"\n",
"Иногда на такие графики добавляют так называемые *rugs* (нет точного термина на русском, можно рассматривать как засечки), которые будут показывать, сколько наблюдений на том или ином участке графика. Но такая опция есть только у `distplot()`:"
]
},
{
"cell_type": "code",
"execution_count": 38,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 1.0, 'Age of responsents')"
]
},
"execution_count": 38,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# «выключаем» гистограмму\n",
"# «включаем» rugs\n",
"\n",
"sns.distplot(ch[\"age\"], \n",
" hist = False, \n",
" rug = True)\n",
"plt.xlabel(\"Age\")\n",
"plt.ylabel(\"Counts\")\n",
"plt.title(\"Age of responsents\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Теперь попробуем построить графики по группам. Посмотрим на распределение возраста респондентов, сгруппированных по региону и по полу. Для начала создадим шаблон для графика — график с множеством ячеек-фасеток, где каждая ячейка-фасетка соответствует одной группе. По строкам у нас будут идти значения пола (их два), по столбцам – значения региона (их пять):"
]
},
{
"cell_type": "code",
"execution_count": 39,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 39,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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378/hw4dyoEDB3L69OlJZx5++OE8+uijOXr0aKqqysGDB+csMAAAALA4XdfswPDwcFavXp0VK1YkSXp6ejI4OJgHH3wwSfLKK6/k4sWLuf3225MkGzZsyL/8y79k8+bNMw7xnve0zCb7nCgpS1JWHlnKV9LPRZbplZQlKS9PCUr7mZSUR5bplZSlJCX9XGS5spLylJSlFKX9TErKI8v0SsoyW01LitHR0dRqtca6ra0tJ06cuOJ+rVbLyMjIVYW44Yb/dVXn59KNN75voSNMUlIeWcpnlqYny5WVlqcEJc1RUtYdyTK9krKUpKRZKgFsk0oAAAdmSURBVOmOSsqSlJWnpCylKGmOkrLuSJbplZRltpo+7jExMZGWlv/bxlRVNWndbB8AAABgJpqWFO3t7anX6411vV5PW1vbFffPnj07aR8AAABgJpqWFGvWrMnx48czNjaW8fHxDA0Npaurq7F/0003ZdmyZXn++eeTJIcPH560DwAAADATLVVVVc0ODQwM5IknnsilS5eyadOm9PX1pa+vL/39/eno6MipU6eyffv2XLhwIbfeemt27dqV66+/fj7yAwAAAIvEjEoKAAAAgLnW9HEPAAAAgPmgpAAAAACKoKQAAAAAiqCkAAAAAIowbyXFwMBA1q5dm+7u7uzbt2/K/smTJ7Nhw4b09PRk27ZtuXz58oJl+cUvfpHPf/7zWb9+fR544IG89tprC5blbc8880w++clPzlmOmeZ5+eWXc++992b9+vW57777FvRn8+KLL2bjxo1Zv359vvrVr+b111+fsyxJcuHChaxbty5/+MMfpuyV9PotKctSnSVzdGXm6OqzzOcczSTP28zSZGbJLF1NlrcttTmaSZ75nCVzdPVZvCeVMUslzVEyB7NUzYMzZ85Ud955Z/U///M/1RtvvFH19vZW//3f/z3pzOc+97nqP//zP6uqqqq/+7u/q/bt27cgWc6fP1/91V/9VXXmzJmqqqrq+9//fvXYY48tSJa31ev16jOf+Ux15513zkmOmeaZmJiouru7q3//93+vqqqq/vEf/7H67ne/uyBZqqqq7rnnnuqZZ56pqqqqdu3aVf3TP/3TnGSpqqr61a9+Va1bt6669dZbq9///vdT9kt5/ZaUZanOkjm6MnN09Vnmc45mkudtZsksVZVZmm2Wty21OZpJnqqav1kyR1efxXtSGbNU0hxV1dzM0rx8kmJ4eDirV6/OihUr0tramp6engwODjb2X3nllVy8eDG33357kmTDhg2T9uczy6VLl7Jjx46sXLkySbJq1aq8+uqrC5Llbdu3b8+DDz44JxmuJs+LL76Y1tbWdHV1JUnuv//+fOlLX1qQLEkyMTGRN954I0kyPj6e9773vXOSJUkOHjyYHTt2pK2tbcpeSa/fkrIs1VkyR1dmjq4+y3zO0UzyvM0smaXELM02y9uW2hzNJE8yf7Nkjq4+i/ekMmappDlK5maW5qWkGB0dTa1Wa6zb2toyMjJyxf1arTZpfz6z3HDDDfn0pz+dJLl48WL27NmTT33qUwuSJUl+8pOf5CMf+Uhuu+22OclwNXl+97vf5f3vf38eeeSR3HXXXdmxY0daW1sXJEuSfPOb38z27dvziU98IsPDw7n77rvnJEuS7Ny5M3/5l385o6wL+fotKctSnSVzdGXm6OqzzOcczSRPYpamy5KYpcQszTRLsjTnaCZ5kvmbJXN09Vm8J5UxSyXNUTI3szQvJcXExERaWloa66qqJq2b7c9nlredP38+X/nKV3LLLbfkrrvuWpAsL730UoaGhvLAAw/Myb//avNcvnw5zz77bO655578/Oc/z5//+Z/n8ccfX5AsFy9ezLZt2/Lkk0/mP/7jP7J58+Z84xvfmJMszZT0+i0py9uW2iyZo9kp6bVbUpa3zccczSSPWZo+i1ma/t9VUpa3eU9auDmaSZ5SZqmk125JWd7mPcl70kzN9vU7LyVFe3t76vV6Y12v1yd9HOT/3T979uy0HxeZjyzJ/2l8Nm/enFWrVmXnzp1zkmMmWQYHB1Ov17Nx48Z85StfaeRaqDy1Wi0333xzOjo6kiTr1q3LiRMnFiTLSy+9lGXLlqWzszNJ8sUvfjHPPvvsnGRppqTXb0lZkqU5S+Zodkp67ZaUJZm/OZpJHrM0fRaz9H+YpZllWapzNJM8pcxSSa/dkrIk3pOulMV70vRm+/qdl5JizZo1OX78eMbGxjI+Pp6hoaHG8zpJctNNN2XZsmV5/vnnkySHDx+etD+fWd56663cf//9+exnP5tt27bNWVM5kyz9/f05evRoDh8+nD179qStrS379+9fsDwf+9jHMjY2llOnTiVJjh07lltvvXVBstx88805c+ZMXn755STJL3/5y8ZfCvOtpNdvSVmW6iyZo9kp6bVbUpb5nKOZ5DFLZulPmaXZZVmqczSTPKXMUkmv3ZKyeE8qY5b+f5mj5F28fq/ud3fO3pEjR6rPfe5zVXd3d7Vnz56qqqrqb/7mb6oTJ05UVVVVJ0+erDZu3Fj19PRUf/u3f1v98Y9/XJAsQ0ND1apVq6r169c3/vfII48sSJY/9fvf/37O/+seM8nzq1/9qtq4cWO1du3a6stf/nJ19uzZBcvyzDPPVL29vdW6deuqv/7rv65+97vfzVmWt915552N31pb4uu3pCxLeZbM0TszRzPPMt9z1CzPnzJLZqmqzNJssvyppTZHM8kz37NkjmaexXtSObNU2hxV1bWdpZaqqqo5LlAAAAAAmpqXxz0AAAAAmlFSAAAAAEVQUgAAAABFUFIAAAAARVBSAAAAAEVQUgAAAABFUFIAAAAARVBSAAAAAEX43y+BCG+yBJz6AAAAAElFTkSuQmCC\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"# функция FacetGrid создает сетку\n",
"# margin_titles – наличие подписей по строкам и столбцам\n",
"\n",
"g = sns.FacetGrid(ch, row=\"sex\", \n",
" col=\"region\", \n",
" margin_titles=True)\n",
"g"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Осталось только сообщить, что за графики будут в каждой ячейке. Для этого применим метод `.map()` и укажем, что мы строим гистограмму (`hist`) для столбца `age`."
]
},
{
"cell_type": "code",
"execution_count": 41,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 41,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAABCwAAAGkCAYAAAD6ybSCAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4xLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy8QZhcZAAAgAElEQVR4nO3de5TcZZkn8G8nnSbB9ILEbuEIy5GAMItCPI7jZMIkwAAJNAFs2cNNbh4EXIVZELkkAUQCBmUmq4swDIuuooNyDwQM6iA5QHCQOKPLAg6yXN0YmnBLyLW7a//I0klDOn2r6v5V1+dzDod0db2/eurp31NV/fT7vr+6UqlUCgAAAECBjBruAAAAAADeTcMCAAAAKBwNCwAAAKBwNCwAAACAwtGwAAAAAApHwwIAAAAoHA2LEebzn/98/vCHPwzpY7788svZc889c+utt3a7/cYbb8yFF144pLHAQAxH3SRJR0dHvve976W1tTVHHnlkDjvssHzzm9/M+vXrhzwWGIjhqp1/+7d/y4knnpiZM2fm8MMPz2mnnZZnnnlmyOOAvihynWzYsCH77bdfTjvttCGPD/pjOH/H+exnP/ue71144YXZc88989prrw1pTLWofrgDoLxuuOGGYXncUaNG5aqrrsonPvGJ7LbbbsMSAwzUcNXNV7/61bz55pv5/ve/n8bGxqxevTrnnXdeZs+enW9+85vDEhP0x3DUzvr163PGGWfku9/9bvbee+8kyYIFC/L5z38+//zP/5zRo0cPeUywNUWuk5///OfZa6+98sQTT+TZZ5/NxIkThzxW6Ivh+qy2zTbb5Lnnnssf//jHfOhDH0qSrF69Or/5zW+GJZ5apGFREP/yL/+SK664Ittuu23efvvt3H777Xn44Ydz3XXXZcOGDRk7dmwuuOCCfPzjH8+aNWty6aWX5re//W0aGxuz++67J0nmzZuXAw88MN/61rfysY99LD/5yU9y0003ZdSoUfnABz6Qiy++OB/+8Idz4YUXZvz48fn973+fP/3pT9lzzz1z1VVX5X3ve1+3mObOnZtf//rX3W5raGh4z0yKJBk7dmxOPfXUnHfeefnxj3+choaGyiUL/r9qrpuXX34599xzTx5++OGMHz8+SbLtttvmsssu8yZIxVVz7axZsyYrV67M6tWru2474ogjMn78+HR0dGhYUDa1UCc333xzDjvssPzH//gf8/3vfz9f+9rXKpFKalg111GSjB49OoceemjuueeenHnmmUmSn/3sZ/mbv/mbfPe7361Q1uimRCH86le/Ku21116ll19+uVQqlUrPPfdc6fDDDy+99tprpVKpVPr3f//30pQpU0pvv/126eqrry6de+65pY6OjtLKlStLM2fOLF1wwQWlUqlUOuCAA0q/+93vSkuWLCkddNBBpRUrVpRKpVLp9ttvLx166KGlzs7O0gUXXFA65phjSuvWrSutX7++dNRRR5Vuu+22Acf+0ksvlSZNmlTq6OgonXDCCaV58+aVSqVS6X/8j//RFRdUQjXXzaJFi0qf+cxnBpkBGJhqrp1SqVT67ne/W9pnn31KBx54YOm8884r3XrrraXVq1cP6pjwbiO9Tp555pnS3nvvXXrttddKv/3tb0v77LNP13ODcqnmOnrnd5z/9b/+V2nGjBldt5988sml3//+96WPfOQjXXFQOWZYFMhOO+3UNdXokUceySuvvJJTTjml6/t1dXV58cUXs3jx4lx00UUZNWpUxo8fn09/+tP5/e9/3+1YDz30UA477LDssMMOSZLW1tZcccUVefnll5Mkf/3Xf901C+IjH/lI3nzzzffE05/uY7JxWcg3v/nNHHXUUdlvv/0GlgTop2qtm1GjRqWzs3NwTx4GoVprJ0lOPfXU/Of//J/z61//Or/+9a9zww035IYbbshtt92WxsbGgScF3mUk18nNN9+cAw44IO9///vz/ve/PzvvvHNuueWWnHHGGQNPGGxBNddRknz0ox/N6NGj88QTT2TChAl5++2385GPfGRgyaDfNCwKZNttt+36d2dnZyZPnpz/9t/+W9dty5YtS3Nzc+rr61MqlbpuHzXqvXunbukXoVKplPb29iQbl3C8o66urtvx3jFnzpx+P4eddtopl112WS644IIcddRR/R4P/VWtdbPPPvvk//yf/5NVq1Z1LQlJkuXLl+fiiy/Ot7/97W6PB+VWrbWzdOnS/Ou//mtOO+20HHDAATnggANy7rnn5vDDD88jjzySGTNm9Ok40BcjtU6mTp2aBQsWpKGhIQceeGCSZNWqVfnhD3+Yz33ucxkzZkyfHgf6olrraHNHHHFE7r777uywww458sgj+z2egXOVkIKaPHlyHnnkkTz77LNJksWLF+eII47I2rVrM23atNx+++3p7OzMmjVrsnDhwtTV1XUb/9d//de57777unauvf3227P99ttn1113rXjsM2bMyNSpU/P973+/4o8Fm6umuvngBz+YmTNnZtasWVm1alWSjR8Wv/rVr2b77bfXrGBIVVPt7LDDDrnuuuvy+OOPd93W1taWVatW+YsXFTWS6uSee+7J9ttvn4ceeigPPPBAHnjggfziF7/I6tWrs2jRorLHA++opjra3JFHHplFixblvvvuy+GHH17Rx6I7MywKavfdd8/Xvva1nHvuuSmVSqmvr891112X973vfTnjjDPyta99LTNnzkxjY2MmTJjwnl9upkyZklNOOSUnn3xyOjs7s8MOO+T666/fYqeyEubMmZOlS5cOyWPBO6qtbi699NJce+21OfbYYzN69OisX78+Bx10UM4666yKPB70pJpq58Mf/nC+853vZP78+fnTn/6UbbbZJo2NjbnyyitdpYqKGkl1cu655+bUU0/ttkntf/gP/yEnnnhi/uf//J+ZOXNm2WOCpLrqaHMf/OAHM3HixDQ2Nmb77bev6GPRXV1pS/NkKLR7770348ePz7Rp09LZ2ZmzzjorU6ZMyfHHHz/coUFhqRsYGLUDvVMnMHjqiC3RsKhC//7v/55LLrkka9asyYYNG/KpT30qs2bNst4QtkLdwMCoHeidOoHBU0dsiYYFAAAAUDg23QQAAAAKR8MCAAAAKBwNCwAAAKBwhu2ypitWrEpn58C2z3j/+7fN66+vLnNE1UkuuquWfDQ1NQ5onLopH/nYpJpyMdS1U025GQry0V215MN7zvCSi+6qJR/qZvjJxybVlIuB1k5PqnKGRX396N7vVCPkojv56JncdCcfm8hFz+SmO/noTj56JjebyEV38tEzuelOPjap5VxUZcMCAAAAGNk0LAAAAIDC6VPDYsGCBWlpaUlLS0uuuuqqJMlTTz2V1tbWTJ8+PbNnz057e3tFAwUAAABqR68NizVr1uSKK67ITTfdlAULFuTxxx/PkiVL8pWvfCWXXHJJ7r///pRKpdxyyy1DES8AAABQA3ptWHR0dKSzszNr1qxJe3t72tvbU19fn7Vr12bSpElJktbW1ixatKjiwQIAAAC1odfLmo4fPz5/+7d/m0MPPTTjxo3LJz/5yYwZMyZNTU1d92lqasry5csrGigA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csop+c53vrPVMRoWAAAAQEXtu+++efDBBzN27Nhcf/312XXXXXudYWEPCwAAAKCiTjjhhKxYsSJ1dXXZc889UyqVctFFF211jIYFAAAAUFEzZszIMccck3vvvTdPPfVUWltbs2bN1vfKsiQEAAAAqKhTTjkl++23X0499dS8/vrrmTt3bo466qitjjHDAgAAAKiot956K//wD/+QpqamHHXUUbnxxhvzzDPPbHWMGRYAAABARR1xxBGZPn165s2bl/r6+tx77705+eSTs2TJkh7HaFgAAAAAFXXZZZdl2rRpXV+3tLTkz/7sz7Y6xpIQAAAAoKI2b1a8Y7fddtvqmD7PsLjqqqvy+uuvZ968eXnqqacye/bsvP322/nzP//zXHbZZamvN1kDAIDatr69I01Njd1ue/fXfbF2fXtWvrn13fMBRro+dRkeffTR3Hnnndl///2TJF/5ylcyd+7cTJo0KbNmzcott9yS448/vpJxAgBA4TXUj870y+8d9HHuv7glK8sQD0A167Vh8cYbb2T+/Pk588wz8/TTT+ePf/xj1q5dm0mTJiVJWltb8+1vf1vDAgAAymRLMzX6yywNoKieffbZTJw4sev/Pem1YXHJJZfknHPOybJly5Ikr7zySpqamrq+39TUlOXLl5chZAAAICnPTA2zNICi+vKXv5y77rqr6/892WrD4tZbb81OO+2UyZMn54477kiSdHZ2pq6urus+pVKp29d9NWHC+H6P2dxgO84jiVx0N5LzMdi66Y+RnMd31MJz7KuRnouhrJ1yKNLPoxxr8UeykZwPdTMyFDEvRYypXPyOU17ysclIy8U7PYTeeglbbVjcd999aWtry5FHHpk333wzq1evTl1dXdra2rru8+qrr6a5ubnfAa5YsSqdnaV+j0s2/rDa2vSLE7l4t2rJx0BfcHqrm3K+kFVDHgejWs6VoVBNuaiG2imHwf48KvVaUE3nylColnyom74r2nMqh6Kdo7VeN709ZjXkZqjIxybVlIu+1k6p1Lc62WrD4nvf+17Xv++444489thj+frXv57DDz88S5cuzSc+8YksWLAgU6dO7dODAdXBulkAAGC4DehapFdffXXmzJmTVatWZe+9985JJ51U7riAYWTdLAAAUCl93Vaizw2L1tbWtLa2Jkn22muv3HbbbQOLDAAAAKhZ70x66G3yw6ih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AAAAgIoaPXp0Fi9e3PX1H/7wh65LnfZEwwIAAACoqNmzZ+f888/Pn/70p7zxxhs55ZRTcsEFF2x1jE03AQAAgIrad9998+CDD2bs2LG5/vrrs+uuu5phAQAAAAyvE044IStWrEhdXV323HPPlEqlXHTRRVsdo2EBAAAAVNSMGTNyzDHH5N57781TTz2V1tbWrFmzZqtjLAkBAAAAKuqUU07Jfvvtl1NPPTWvv/565s6dm6OOOmqrY8ywAAAAACrqrbfeyj/8wz+kqakpRx11VG688cY888wzWx1jhgUAAABQUUcccUSmT5+eefPmpb6+Pvfee29OPvnkLFmypMcxGhYAAABARV122WWZNm1a19ctLS35sz/7s62O6fOSkKuuuioXXnhhknRtkDF9+vTMnj077e3tAwwZAAAAGOk2b1a8Y7fddtvqmD7NsHj00Udz5513Zv/990+SfOUrX8ncuXMzadKkzJo1K7fcckuOP/74/kcMjFiN243L2IbBT+Jau749K9/c+u7BMJKsb+9IU1PjcIcBADDsev1t4o033sj8+fNz5pln5umnn84f//jHrF27NpMmTUqStLa25tvf/raGBdDN2Ib6TL/83kEf5/6LW7KyDPFAtWioHz3o2rn/4pYyRQMAMHx6bVhccsklOeecc7Js2bIkySuvvJKmpqau7zc1NWX58uX9fuAJE8b3e8zm/PVpE7nobiTnY7B10x9FymOlYinScxxuIz0XQ1k7I827z42Rfq7010jOR7XVzUj+WQxGEfNSxJjKxe845SUfm4y0XDz77LOZOHFi1/97stWGxa233pqddtopkydPzh133JEk6ezsTF1dXdd9SqVSt6/7asWKVensLPV7XLLxh9XW5m+uiVy8W7XkY6AvOL3VTTlfyAabxyLFsiXVcq4MhWrKRTXUzkiz+blRTefKUKiWfNRK3ZTjZ1G051QORTtHa71uenvMasjNUJGPTaopF32tnS9/+cu56667uv7fk602LO677760tbXlyCOPzJtvvpnVq1enrq4ubW1tXfd59dVX09zc3MfwAQCgvOz9Ulnl2JfKnlTA5t6Z9NDb5IetvvJ873vf6/r3HXfckcceeyxf//rXc/jhh2fp0qX5xCc+kQULFmTq1KllCBkAAPqvHHu/JPZ/6Uk59qWyJxWwuVKpbzORBtQqvfrqqzNnzpys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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"g = sns.FacetGrid(ch, row=\"sex\", \n",
" col=\"region\", \n",
" margin_titles=True)\n",
"g.map(plt.hist, \"age\", color=\"steelblue\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"**Важно:** строки с `FacetGrid()` и `.map()` должны быть в одной ячейке, они связаны. "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"### Столбиковая диаграмма\n",
"\n",
"Построим столбиковую диаграмму (*bar plot* или *bar chart*), чтобы показать, сколько респондентов из разных регионов участвовало в опросе. Для этого нам понадобится табличка с частотами для каждого названия региона. Создадим её с помощью уже знакомого метода `.value_counts()` и сохраним в переменную `tab`:"
]
},
{
"cell_type": "code",
"execution_count": 43,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"SA 848\n",
"S 655\n",
"C 548\n",
"N 305\n",
"M 75\n",
"Name: region, dtype: int64"
]
},
"execution_count": 43,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"tab = ch[\"region\"].value_counts()\n",
"tab"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Функция `barplot()`, которую мы будем использовать для построения столбиковой диаграммы, принимает на вход два набора значений: список или массив значений по оси `x` (подписи к столбикам) и список или массив значений по оси `y` (частоты). Извлечём их из `tab`:"
]
},
{
"cell_type": "code",
"execution_count": 44,
"metadata": {},
"outputs": [],
"source": [
"x = tab.index\n",
"y = tab.values"
]
},
{
"cell_type": "code",
"execution_count": 45,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"(Index(['SA', 'S', 'C', 'N', 'M'], dtype='object'),\n",
" array([848, 655, 548, 305, 75]))"
]
},
"execution_count": 45,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"x, y"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Теперь поменяем фон у графика на белый и построим диаграмму:"
]
},
{
"cell_type": "code",
"execution_count": 47,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 47,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"
"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"sns.set_style(\"whitegrid\")\n",
"sns.barplot(x, y)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Теперь попробуем построить похожий график, только с группировкой по полу. Другими словами, мы хотим получить график, где для каждого региона строится столбик отдельно для мужчин и отдельно для женщин. Опять же, сначала сгруппируем данные:"
]
},
{
"cell_type": "code",
"execution_count": 48,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
region
\n",
"
sex
\n",
"
Unnamed: 0
\n",
"
population
\n",
"
age
\n",
"
education
\n",
"
income
\n",
"
statusquo
\n",
"
vote
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
C
\n",
"
F
\n",
"
269
\n",
"
269
\n",
"
269
\n",
"
269
\n",
"
269
\n",
"
269
\n",
"
269
\n",
"
\n",
"
\n",
"
1
\n",
"
C
\n",
"
M
\n",
"
279
\n",
"
279
\n",
"
279
\n",
"
279
\n",
"
279
\n",
"
279
\n",
"
279
\n",
"
\n",
"
\n",
"
2
\n",
"
M
\n",
"
F
\n",
"
43
\n",
"
43
\n",
"
43
\n",
"
43
\n",
"
43
\n",
"
43
\n",
"
43
\n",
"
\n",
"
\n",
"
3
\n",
"
M
\n",
"
M
\n",
"
32
\n",
"
32
\n",
"
32
\n",
"
32
\n",
"
32
\n",
"
32
\n",
"
32
\n",
"
\n",
"
\n",
"
4
\n",
"
N
\n",
"
F
\n",
"
159
\n",
"
159
\n",
"
159
\n",
"
159
\n",
"
159
\n",
"
159
\n",
"
159
\n",
"
\n",
"
\n",
"
5
\n",
"
N
\n",
"
M
\n",
"
146
\n",
"
146
\n",
"
146
\n",
"
146
\n",
"
146
\n",
"
146
\n",
"
146
\n",
"
\n",
"
\n",
"
6
\n",
"
S
\n",
"
F
\n",
"
330
\n",
"
330
\n",
"
330
\n",
"
330
\n",
"
330
\n",
"
330
\n",
"
330
\n",
"
\n",
"
\n",
"
7
\n",
"
S
\n",
"
M
\n",
"
325
\n",
"
325
\n",
"
325
\n",
"
325
\n",
"
325
\n",
"
325
\n",
"
325
\n",
"
\n",
"
\n",
"
8
\n",
"
SA
\n",
"
F
\n",
"
449
\n",
"
449
\n",
"
449
\n",
"
449
\n",
"
449
\n",
"
449
\n",
"
449
\n",
"
\n",
"
\n",
"
9
\n",
"
SA
\n",
"
M
\n",
"
399
\n",
"
399
\n",
"
399
\n",
"
399
\n",
"
399
\n",
"
399
\n",
"
399
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" region sex Unnamed: 0 population age education income statusquo vote\n",
"0 C F 269 269 269 269 269 269 269\n",
"1 C M 279 279 279 279 279 279 279\n",
"2 M F 43 43 43 43 43 43 43\n",
"3 M M 32 32 32 32 32 32 32\n",
"4 N F 159 159 159 159 159 159 159\n",
"5 N M 146 146 146 146 146 146 146\n",
"6 S F 330 330 330 330 330 330 330\n",
"7 S M 325 325 325 325 325 325 325\n",
"8 SA F 449 449 449 449 449 449 449\n",
"9 SA M 399 399 399 399 399 399 399"
]
},
"execution_count": 48,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"res = ch.groupby(['region', 'sex'], as_index=False).count()\n",
"res"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Опция `as_index = False` нужна для того, чтобы `region` и `sex` не записывались как уровни (отдельный атрибут), а чтобы для каждой пары *регион-пол* создавалась отдельная строка. Сравните результат выше с результатом, полученным без `as_index=False`:"
]
},
{
"cell_type": "code",
"execution_count": 49,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
\n",
"
Unnamed: 0
\n",
"
population
\n",
"
age
\n",
"
education
\n",
"
income
\n",
"
statusquo
\n",
"
vote
\n",
"
\n",
"
\n",
"
region
\n",
"
sex
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
"
\n",
" \n",
" \n",
"
\n",
"
C
\n",
"
F
\n",
"
269
\n",
"
269
\n",
"
269
\n",
"
269
\n",
"
269
\n",
"
269
\n",
"
269
\n",
"
\n",
"
\n",
"
M
\n",
"
279
\n",
"
279
\n",
"
279
\n",
"
279
\n",
"
279
\n",
"
279
\n",
"
279
\n",
"
\n",
"
\n",
"
M
\n",
"
F
\n",
"
43
\n",
"
43
\n",
"
43
\n",
"
43
\n",
"
43
\n",
"
43
\n",
"
43
\n",
"
\n",
"
\n",
"
M
\n",
"
32
\n",
"
32
\n",
"
32
\n",
"
32
\n",
"
32
\n",
"
32
\n",
"
32
\n",
"
\n",
"
\n",
"
N
\n",
"
F
\n",
"
159
\n",
"
159
\n",
"
159
\n",
"
159
\n",
"
159
\n",
"
159
\n",
"
159
\n",
"
\n",
"
\n",
"
M
\n",
"
146
\n",
"
146
\n",
"
146
\n",
"
146
\n",
"
146
\n",
"
146
\n",
"
146
\n",
"
\n",
"
\n",
"
S
\n",
"
F
\n",
"
330
\n",
"
330
\n",
"
330
\n",
"
330
\n",
"
330
\n",
"
330
\n",
"
330
\n",
"
\n",
"
\n",
"
M
\n",
"
325
\n",
"
325
\n",
"
325
\n",
"
325
\n",
"
325
\n",
"
325
\n",
"
325
\n",
"
\n",
"
\n",
"
SA
\n",
"
F
\n",
"
449
\n",
"
449
\n",
"
449
\n",
"
449
\n",
"
449
\n",
"
449
\n",
"
449
\n",
"
\n",
"
\n",
"
M
\n",
"
399
\n",
"
399
\n",
"
399
\n",
"
399
\n",
"
399
\n",
"
399
\n",
"
399
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unnamed: 0 population age education income statusquo vote\n",
"region sex \n",
"C F 269 269 269 269 269 269 269\n",
" M 279 279 279 279 279 279 279\n",
"M F 43 43 43 43 43 43 43\n",
" M 32 32 32 32 32 32 32\n",
"N F 159 159 159 159 159 159 159\n",
" M 146 146 146 146 146 146 146\n",
"S F 330 330 330 330 330 330 330\n",
" M 325 325 325 325 325 325 325\n",
"SA F 449 449 449 449 449 449 449\n",
" M 399 399 399 399 399 399 399"
]
},
"execution_count": 49,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"ch.groupby(['region', 'sex']).count() "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Вся таблица `res` нам не нужна, поскольку в ней много одинаковых числовых столбцов. Выберем столбцы `region` и `sex` (нужны для группировки) и столбец `vote` (один из числовых столбцов, могли взять другой):"
]
},
{
"cell_type": "code",
"execution_count": 50,
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"\n",
"
\n",
" \n",
"
\n",
"
\n",
"
region
\n",
"
sex
\n",
"
vote
\n",
"
\n",
" \n",
" \n",
"
\n",
"
0
\n",
"
C
\n",
"
F
\n",
"
269
\n",
"
\n",
"
\n",
"
1
\n",
"
C
\n",
"
M
\n",
"
279
\n",
"
\n",
"
\n",
"
2
\n",
"
M
\n",
"
F
\n",
"
43
\n",
"
\n",
"
\n",
"
3
\n",
"
M
\n",
"
M
\n",
"
32
\n",
"
\n",
"
\n",
"
4
\n",
"
N
\n",
"
F
\n",
"
159
\n",
"
\n",
"
\n",
"
5
\n",
"
N
\n",
"
M
\n",
"
146
\n",
"
\n",
"
\n",
"
6
\n",
"
S
\n",
"
F
\n",
"
330
\n",
"
\n",
"
\n",
"
7
\n",
"
S
\n",
"
M
\n",
"
325
\n",
"
\n",
"
\n",
"
8
\n",
"
SA
\n",
"
F
\n",
"
449
\n",
"
\n",
"
\n",
"
9
\n",
"
SA
\n",
"
M
\n",
"
399
\n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" region sex vote\n",
"0 C F 269\n",
"1 C M 279\n",
"2 M F 43\n",
"3 M M 32\n",
"4 N F 159\n",
"5 N M 146\n",
"6 S F 330\n",
"7 S M 325\n",
"8 SA F 449\n",
"9 SA M 399"
]
},
"execution_count": 50,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"freq = res[['region', 'sex', 'vote']]\n",
"freq"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Осталось, используя табличку `freq` выше, построить график! Применим функцию `catplot()`, от *categorical plot*, график для категориальных (нечисловых) данных:"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {},
"outputs": [],
"source": [
"sns.catplot(x = \"region\", \n",
" y = \"vote\", \n",
" hue = \"sex\", \n",
" data=freq,\n",
" kind=\"bar\")\n",
"plt.ylabel(\"Counts\")\n",
"plt.xlabel(\"Region\")"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"По оси `x` указаны значения из `region`, по оси `y` – частоты из `vote`, внутри каждого региона добавляем группировку по значениям `sex` и делаем столбцы разного цвета (`hue`), сообщаем, что все эти столбцы берутся из таблицы `freq`. \n",
"\n",
"Если мы хотим поменять цвета у столбцов, можем указать другую цветовую палитру (нашли её в [документации](https://matplotlib.org/3.1.3/tutorials/colors/colormaps.html) `matplotlib`):"
]
},
{
"cell_type": "code",
"execution_count": 51,
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"Text(0.5, 22.960000000000015, 'Region')"
]
},
"execution_count": 51,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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AAD+Z+zYsdq8ebNGjBihRx55RA0NDfrVr36l/Px85efna+PGjYqOjpYkHT58WL1799Znn31m6UxG0fjyyy+9/zt27Jh2796t48ePWzoYAPR0a9asUWlpqWbPnq158+Zp37592rZtm06ePKnGxkbNnDlT1dXV2rdvn44cOaInn3xSK1euVFtbm2Uztfs1DUnq37+/0tPTLRsKAPD1x1Dcd999eu655xQcHKysrCyVlJRo5syZcrlcmjdvni699FItXLhQ2dnZGjFihK666io999xzuv322y2Zqd2vaQAAOsfgwYP18ssvn7Httttu02233XbGtldffdX756ysLEtnMoqG2+3W008/rV27dqmtrU0TJ07UggULFBBg9O0AgG7C6DWNdevWqaysTLfeeqvmzZund999V2vWrLF6NgCAnzE6VNi9e7c2bdqkwMBASdIvf/lLTZ06VWlpaZYOBwDwL0ZHGh6PxxsM6evLbk9/DADoGYyiERERoYceekifffaZjhw5ooceeohbiwBAD2QUjRUrVuj48eOaNWuWbrrpJh07dkzLly+3ejYAgJ8552saLS0tWr58ua6//nplZ2dLku644w45HA4FBwd3yoAA0B14XC7ZHA6frVtVVaXExEQNHTr0jO1//OMfNXDgQOOfd85oPPbYY2psbNQ111zj3bZq1SqtXLlSv//977llOgAYsjkcOr69uMPX7RuXYPxcp9Op/Pz8C/p55zw9tXPnTq1bt079+/f3bgsNDdWaNWv0j3/844J+MACg6znnkUZgYKB69+591vbg4GD16tXLsqEAAB2vrq5O06ZN8z5OTk5u9+1GzhkNu92uxsbGs16/aGxstPSGWACAjmf56akpU6YoIyNDp06d8m47deqUMjIyFB8ff0E/GADQ9ZwzGrfeeqsuuugiTZw4UTNnztSMGTM0ceJE9e3bVwsXLuysGQEAfuIHT0+tWrVKCxYs0Pvvvy+73a6RI0fK6XQaLf74449r27ZtkqSYmBgtXbpUe/fuVVZWlpqbm5WUlOS9AquyslLp6ek6efKkRo8erZUrV3JDRADwM0a/lcPCwhQWFtauhffu3as333xTr7zyimw2m26//XYVFBRo7dq1ev755zVw4EDdeeedeuONNxQTE6MlS5bowQcf1KhRo5SWlqacnBzNnj37vHYKAPyNx+Vq1+Wx7VnX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\n",
"text/plain": [
"