{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Päivitetty 2025-05-14 / Aki Taanila\n" ] } ], "source": [ "from datetime import datetime\n", "print(f'Päivitetty {datetime.now().date()} / Aki Taanila')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Frekvenssijakauma\n", "\n", "Kategorisen muuttujan frekvenssijakauman esitän frekvenssitaulukkona tai pylväskaaviona.\n", "\n", "Frekvenssitaulukolla tarkoitan taulukkoa, joka sisältää muuttujan arvojen esiintymiskerrat (frekvenssit) ja esiintymiskertojen prosenttiosuudet.\n", "\n", "Seuraavassa yksi tapa frekvenssitaulukon ja pylväskaavion laatimiseen." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "\n", "# Grafiikkapaketit ja grafiikan tyylimäärittely\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "sns.set_style('white')" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
nrosukupikäperhekoulutuspalveluvpalkkajohtotyötovtyöymppalkkattyötehttyötervlomaosakuntosahieroja
0113811.022.0358733.0333NaNNaNNaNNaN
1212922.010.0296315.0213NaNNaNNaNNaN
2313011.07.0198934.01131.0NaNNaNNaN
3413621.014.0214433.03331.0NaNNaNNaN
4512412.04.0218323.02121.0NaNNaNNaN
...................................................
777812213.00.0159844.0434NaN1.01.0NaN
787913311.02.0163813.02121.0NaNNaNNaN
798012712.07.0261234.03331.0NaN1.0NaN
808113522.016.0280834.0333NaNNaNNaNNaN
818223523.015.0218334.04341.0NaNNaNNaN
\n", "

82 rows × 16 columns

\n", "
" ], "text/plain": [ " nro sukup ikä perhe koulutus palveluv palkka johto työtov työymp \\\n", "0 1 1 38 1 1.0 22.0 3587 3 3.0 3 \n", "1 2 1 29 2 2.0 10.0 2963 1 5.0 2 \n", "2 3 1 30 1 1.0 7.0 1989 3 4.0 1 \n", "3 4 1 36 2 1.0 14.0 2144 3 3.0 3 \n", "4 5 1 24 1 2.0 4.0 2183 2 3.0 2 \n", ".. ... ... ... ... ... ... ... ... ... ... \n", "77 78 1 22 1 3.0 0.0 1598 4 4.0 4 \n", "78 79 1 33 1 1.0 2.0 1638 1 3.0 2 \n", "79 80 1 27 1 2.0 7.0 2612 3 4.0 3 \n", "80 81 1 35 2 2.0 16.0 2808 3 4.0 3 \n", "81 82 2 35 2 3.0 15.0 2183 3 4.0 4 \n", "\n", " palkkat työteht työterv lomaosa kuntosa hieroja \n", "0 3 3 NaN NaN NaN NaN \n", "1 1 3 NaN NaN NaN NaN \n", "2 1 3 1.0 NaN NaN NaN \n", "3 3 3 1.0 NaN NaN NaN \n", "4 1 2 1.0 NaN NaN NaN \n", ".. ... ... ... ... ... ... \n", "77 3 4 NaN 1.0 1.0 NaN \n", "78 1 2 1.0 NaN NaN NaN \n", "79 3 3 1.0 NaN 1.0 NaN \n", "80 3 3 NaN NaN NaN NaN \n", "81 3 4 1.0 NaN NaN NaN \n", "\n", "[82 rows x 16 columns]" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_excel('https://taanila.fi/data1.xlsx')\n", "df" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Koulutuksen numeroarvoja [1, 2, 3, 4] vastaavat tekstimuotoiset arvot listana\n", "koulutus = ['Peruskoulu', '2. aste', 'Korkeakoulu', 'Ylempi korkeakoulu']" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/html": [ "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
f%
Peruskoulu2733.3 %
2. aste3037.0 %
Korkeakoulu2227.2 %
Ylempi korkeakoulu22.5 %
Yhteensä81100.0 %
\n" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Frekvenssit crosstab-funktiolla\n", "# Frekvenssi-sarakkeen otsikkona käytän f-kirjainta\n", "df1 = pd.crosstab(df['koulutus'], columns='f')\n", "\n", "# Häiritsevän otsikon poisto\n", "df1.columns.name=''\n", "\n", "# Tekstimuotoiset arvot numeroiden tilalle\n", "df1.index = koulutus\n", "\n", "# Prosentit\n", "n = df1['f'].sum()\n", "df1['%'] = (df1['f']/n)*100\n", "\n", "# Yhteensä-rivi\n", "df1.loc['Yhteensä'] = df1.sum()\n", "\n", "# Tyylimäärittely: f-sarake ilman desimaaleja, %-sarakkeeseen yksi desimaali \n", "df1.style.format({'f':'{:.0f}', '%':'{:.1f} %'})" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Vaakapylväskaavio lukumääristä. Yhteensä-rivin tietoja en ota mukaan.\n", "df1.drop('Yhteensä')['f'].plot(kind='barh')\n", "\n", "# x-akselin otsikko (n-arvo laskettu edellisessä solussa)\n", "plt.xlabel(f'Lukumäärä, n = {n}')\n", "\n", "# x-akselilta lähtevä taustaviivoitus\n", "plt.grid(axis='x')" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoYAAAGsCAYAAABAVWa0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAANPBJREFUeJzt3Xl0VPXdgPEnC0nQIIsSUNwOIFEWIWEXFAnVVEBFQC0gih5RlAICahCxGlFUKiLQuqFIEWvcwJ1qhYK0SpC1KiDWhSU0IAQ1YUtI7vuHw7xGQJYCI8nzOcdznJk7d76/e1Py9M4MRgVBECBJkqRyLzrSA0iSJOnXwTCUJEkSYBhKkiQpxDCUJEkSYBhKkiQpxDCUJEkSYBhKkiQpJDbSA+joUlJSwoYNGzj22GOJioqK9DiSJGk/BEHAli1bSEpKIjp679cFDUMdkA0bNtCuXbtIjyFJkg7CnDlzqFmz5l4fNwx1QI499lgAZs2aReXKlSM8zZFXXFzMv//9b84++2xiYmIiPc4RVZ7XDq7f9Zff9ZfntUPZWX9BQQHt2rUL/x7fG8NQB2TX28eJiYkkJiZGeJojr7i4mGOOOYbExMSj+g+Ig1Ge1w6u3/WX3/WX57VD2Vv/vj4G5pdPJEmSBBiGkiRJCjEMJUmSBBiGkiRJCjEMJUmSBBiGkiRJCjEMJUmSBBiGkiRJCjEMJUmSBBiGkiRJCjEMJUmSBBiGkiRJCjEMJUmSBBiGkiRJCjEMJUmSBBiGkiRJCjEMJUmSBBiGkiRJCjEMJUmSBBiGkiRJCjEMdVBiYmIi8rrFJUFEXleSpPIgNtID6OiU8cpSvvmh5Ii+Zt2kRMb9LuWIvqYkSeWJYaiD8tXGLSzfWBTpMSRJ0iHkW8mSJEkCDENJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSFGIaSJEkCDiAM77nnHtq0acOmTZtK3b9z506uuOIKbrzxRoIgIC0tjWnTph3yQfelU6dOvPHGG3t87FDONGzYMIYNG3ZI9vVT2dnZJCcnH/L9wqFdvyRJKrv2OwzvuOMOTjjhBO64445S90+YMIGNGzfy0EMPERUVdcgH3F9vv/02l1xyScReX5Ik6Wi332EYHx/P2LFj+fjjj3nuuecAmD9/PpMnT+bRRx+lSpUquz2nsLCQcePG0aFDB1q0aEHfvn1ZtWpV+PHk5GRefPFF0tPTady4Mf369ePTTz/ld7/7HSkpKXTr1i28/YQJE7j55psZMGAATZo0IS0tjRdffDG8r/29KjZ37lyaNm3KjBkzAMjJyeGWW26hdevWtGnThqFDh7Jhwwbgx6t47dq1Y+jQoTRr1oynnnqq1L5ycnLo0KEDo0aNIgiCfa530aJFXH311bRt25ZGjRrRtWtXlixZstuMQRBw55130qlTJ9avXw/A+++/T9euXUlNTSU9PZ3JkydTUlIC7PkqZnJyMtnZ2bvtu3fv3kyYMCF8e+3atSQnJ7N27dp9HjtJklS2HdBnDGvXrs0f/vAHxowZw/Llyxk2bBi33347Z5999h63Hzt2LLNnz2by5MnMnTuXxo0bc91117Fjx47wNm+++SYvvvgif//731m4cCE333wz999/P//617+Ii4vjiSeeCG87c+ZMUlNT+fjjj7n33nsZOXIkH3300X7PP2fOHIYMGcIjjzzCRRddRFFREddddx0xMTG899574Vjs168fO3fuBCA3N5fatWvz0Ucf0bNnz/C+1qxZQ+/evbn00ksZPnw4UVFRv7je7du3c9NNN5Gens4HH3xAdnY2p556KqNHjy41Y0lJCcOHD2f58uU899xz1KhRg3nz5nHLLbdw/fXXM3/+fB555BGeffZZpkyZst9rlyRJ2pcD/vLJZZddxoUXXhi+qterV689bhcEAVlZWQwZMoRTTjmF+Ph4+vfvT1FREbNnzw5vd9VVV1GlShWSkpI444wzuPDCC6lTpw7HHHMMrVq1IicnJ7xtcnIy1157LRUqVKBt27akp6fz+uuv79fcc+bMoX///mRmZtKuXTsAFixYwJo1a8jMzKRSpUocd9xxZGZmsmLFCj799NPwc7t3706FChVITEwEfrxS2Lt3b8477zwGDhy4X+utUKECL774Ij179qSwsJCcnByqVKkSviK4S0ZGBnPnzmXKlClUq1YNgGnTptGhQwc6duxIbGwsDRo04IYbbiArK2u/1i5JkrQ/Yg/mSb///e95/fXXGTRo0F63ycvLY+vWrQwaNIjo6P/vz6KiolKx99O3oGNiYqhcuXL4dnR0NEEQhG+ffvrppV7jxBNPZPny5fs180cffUSDBg2YPn06HTt2BGDTpk1UrVo1HHwAiYmJVKlShZycHE444QQAkpKSSu1rwYIFtGnThpkzZzJ48GAqV668z/XGxMSQnZ1N37592bp1K3Xr1iU2NrbU+uDHK5Rbtmzhgw8+KDXnWWedVWq7k08+udRxlCRJ+l8dVBjuCp+fBtDPVa1alfj4eCZNmkSTJk3C93/11VfUqFEjfPtAvrDy86tra9eu5cQTT9yv5w4dOpTzzz+fTp06kZWVxe9+9ztq1arF5s2bKSgoCMdhfn4+mzdvpnr16uFo+/mMHTt2ZPTo0fTo0YPMzEweeeSRfa536dKljBw5kqysLBo2bAjApEmT+Prrr0vt+5lnnuGll14iMzOTZs2akZSURK1atVi9enWp7dasWUP16tWBH8/DT9+ez8vL2+txiI6OpqioKHx78+bN+3X8JElS2XfY/h7D6OhounfvzpgxY8jNzaWkpITp06fTuXPnUl/IOBBLlizh9ddfp7i4mDlz5jBz5ky6deu2X8+tUKECNWrU4I477uChhx5i9erVNGrUiLp163L33XeTn59Pfn4+99xzD6eeeiqpqam/uK+YmBgeeOAB3n//fd555519rjc/P5/o6GgSEhLCa5kyZQqFhYWl9h0XF0evXr2oV68ed955JwDdunVj1qxZzJgxg+LiYpYtW8bEiRPDa69Tpw4LFixg/fr1bN++nT//+c97De46deowd+5cfvjhB/Lz85k4ceJ+HT9JklT2Hda/4DojI4PGjRvTs2dPmjVrxuTJkxk/fjz169c/qP2dddZZzJw5k1atWvHggw/yxz/+kZSUlAPaR7du3WjevDkZGRlER0fz5JNPsnPnTtLT02nfvj1FRUU8++yzxMbu+2JqnTp1GDBgAJmZmaxfv/4X19umTRt69uxJr169aN68OZmZmfTu3Zu8vDw2btxYar9RUVGMGjWKBQsWkJWVRePGjRk3bhwTJ06kWbNm/P73v6dHjx7069cPgCuvvJKUlBQuueQSLrjgAk488UROOumkPc584403cvzxx9OhQwcuvfRS0tLSDuj4SZKksisq+PmH3H6lJkyYwPz588N/VY4io6CggKZNm1K77wSWbyza9xMOoQYnHcfbA889oq/5c8XFxSxZsoQmTZoQExMT0VmOtPK8dnD9rr/8rr88rx3Kzvp3/f5euHBhqe9W/Jz/STxJkiQBhqEkSZJCDupbyZEwYMCASI8gSZJUpnnFUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpJDYSA+go1PtE44lOq7kiL5m3aTEI/p6kiSVN4ahDspD3RuTmHjkQ624JCAmOuqIv64kSeWBbyXroBQXF0fkdY1CSZIOH8NQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQOkAVK1aM9AgRU57XDq7f9Zfv9at8iI30ADo6xcTERHqEiIiJiaF+/fqRHiMiyvPawfW7/iO7/uKSgJjoqCP2etIuhqEOSsYrS/nmh5JIjyFJZU7dpETG/S4l0mOonDIMdVC+2riF5RuLIj2GJEk6hPyMoSRJkgDDUJIkSSGGoSRJkgDDUJIkSSGGoSRJkgDDUJIkSSGGoSRJkgDDUJIkSSGGoSRJkgDDUJIkSSGGoSRJkgDDUJIkSSGGoSRJkgDDUJIkSSGGoSRJkgDDUJIkSSFlOgyTk5PJzs4udd+rr75Ko0aN+Otf/3pQ+xw2bBjDhg07FOOVkp2dTXJy8iHfL0BaWhrTpk07LPuWJEllR2ykBziSnnrqKR5//HHGjx9P+/btIz2OJEnSr0qZvmK4SxAE3HffffzlL39hypQppaIwJyeHW265hdatW9OmTRuGDh3Khg0bgB+v4rVr146hQ4fSrFkznnrqqVL7zcnJoUOHDowaNYogCCgsLGTcuHF06NCBFi1a0LdvX1atWhXeftGiRVx99dW0bduWRo0a0bVrV5YsWbLHee+88046derE+vXrAXj//ffp2rUrqamppKenM3nyZEpKSoA9X8Xc09VSgN69ezNhwoTw7bVr15KcnMzatWsP8KhKkqSypsyHYVFREUOHDuXll18mKyuLRo0alXrsuuuuIyYmhvfee48ZM2YA0K9fP3bu3AlAbm4utWvX5qOPPqJnz57h565Zs4bevXtz6aWXMnz4cKKiohg7diyzZ89m8uTJzJ07l8aNG3PdddexY8cOtm/fzk033UR6ejoffPAB2dnZnHrqqYwePbrUvCUlJQwfPpzly5fz3HPPUaNGDebNm8ctt9zC9ddfz/z583nkkUd49tlnmTJlyhE4gpIkqbwo82F41113kZubS3x8/G6fs1uwYAFr1qwhMzOTSpUqcdxxx5GZmcmKFSv49NNPw9t1796dChUqkJiYCPx4pbB3796cd955DBw4EPjxKl9WVhZDhgzhlFNOIT4+nv79+1NUVMTs2bOpUKECL774Ij179qSwsJCcnByqVKkSviK4S0ZGBnPnzmXKlClUq1YNgGnTptGhQwc6duxIbGwsDRo04IYbbiArK+twHjpJklTOlPnPGDZu3JjRo0fz4YcfctNNN3HWWWdx4YUXArBp0yaqVq0aDj6AxMREqlSpQk5ODieccAIASUlJpfa5YMEC2rRpw8yZMxk8eDCVK1cmLy+PrVu3MmjQIKKj/7+3i4qKyMnJISYmhuzsbPr27cvWrVupW7cusbGxBEFQat+5ubls2bKFDz74gI4dO4bnPOuss0ptd/LJJ5OTk3PoDpQkSSr3ynwY9ujRg7i4OM4//3xuuOEGMjIyOO2000hOTqZWrVps3ryZgoKCcBzm5+ezefNmqlevHo62qKioUvvs2LEjo0ePpkePHmRmZvLII49QtWpV4uPjmTRpEk2aNAlv+9VXX1GjRg2WLl3KyJEjycrKomHDhgBMmjSJr7/+utS+n3nmGV566SUyMzNp1qwZSUlJ1KpVi9WrV5fabs2aNVSvXh2A6OhoduzYEX4sLy9vr8cjOjqaoqKi8O3Nmzfv76GUJEllXJl/K/mnBg0aRJMmTejfvz/fffcdjRo1om7dutx9993k5+eTn5/PPffcw6mnnkpqaupe91OhQgViYmJ44IEHeP/993nnnXeIjo6me/fujBkzhtzcXEpKSpg+fTqdO3dm1apV5OfnEx0dTUJCAgBLlixhypQpFBYWltp3XFwcvXr1ol69etx5550AdOvWjVmzZjFjxgyKi4tZtmwZEydOpFu3bgDUqVOHBQsWsH79erZv386f//zn3WJ2lzp16jB37lx++OEH8vPzmThx4qE4tJIkqQwoV2EYHR3NmDFj2LlzJ7fccgtRUVE8+eST7Ny5k/T0dNq3b09RURHPPvsssbH7vphap04dBgwYQGZmJuvXrycjI4PGjRvTs2dPmjVrxuTJkxk/fjz169enTZs29OzZk169etG8eXMyMzPp3bs3eXl5bNy4sdR+o6KiGDVqFAsWLCArK4vGjRszbtw4Jk6cSLNmzfj9739Pjx496NevHwBXXnklKSkpXHLJJVxwwQWceOKJnHTSSXuc+cYbb+T444+nQ4cOXHrppaSlpf3vB1aSJJUJUcHPP+Qm/YKCggKaNm1K7b4TWL6xaN9PkCQdkAYnHcfbA8+N9BhhxcXFLFmyhCZNmhATExPpcY64srL+Xb+/Fy5cWOq7FT9Xrq4YSpIkae8MQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAEQG+kBdHSqfcKxRMeVRHoMSSpz6iYlRnoElWOGoQ7KQ90bk5joH16SdDgUlwTEREdFegyVQ76VrINSXFwc6REiori4mGXLlpXL9ZfntYPrd/1Hdv1GoSLFMJQO0LZt2yI9QsSU57WD63f95Xv9Kh8MQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ0mSJAGGoSRJkkIMQ+kAVaxYMdIjREx5Xju4ftdfftdfntcO5Wv9UUEQBJEeQkePgoICmjZtysKFC0lMTIz0OJIklRnFJQEx0VGHZd/7+/s79rC8usq8jFeW8s0PJZEeQ5KkMqFuUiLjfpcS6TEMQx2crzZuYfnGokiPIUmSDiE/YyhJkiTAMJQkSVKIYShJkiTAMJQkSVKIYShJkiTAMJQkSVKIYShJkiTAMJQkSVKIYShJkiTAMJQkSVKIYShJkiTAMJQkSVKIYShJkiTAMJQkSVKIYShJkiTAMJQkSVKIYVjGFRcXs2bNmkiPIUmSjgKG4RGyYsUKrr32Wlq0aEGbNm24/fbbycvLO+yvO3jwYF577bXD/jqSJOnoZxgeAdu3b+f6668nJSWFf/7zn7z11lt89913DB8+/LC/9ubNmw/7a0iSpLLBMDwC1q1bx5lnnkn//v2Ji4ujatWqXHnllXz88cf79fyCggJGjBjBhRdeSJMmTTj33HN54oknwo+/++67dOrUiaZNm3LRRRfx2GOPAXDnnXeyYMECnnzySfr16wfA6tWr6devHy1btqR9+/aMHTuWwsLCQ79oSZJ01ImN9ADlQe3atXn66adL3ffuu+/SoEGD/Xr+ww8/zNq1a3nllVeoVKkS7733HgMHDuSiiy6iRo0a3HbbbUycOJGWLVuybNkyevXqRdu2bbn//vtZvXo1LVq0YMCAAWzdupU+ffrQqVMnxo0bR15eHgMHDqSkpIShQ4cejqVLkqSjiGF4hAVBwKOPPso//vEPpk6dul/PGTBgADExMSQmJpKbm0t8fDwAGzZsoEaNGiQkJPDKK69QUlJCamoqCxcuJDp694vBs2fPprCwkCFDhhAVFcWJJ57IoEGDGDhwoGEoSZIMwyOpoKCAO+64g88++4ypU6eSnJy8X8/btGkT999/P8uWLePkk0+mYcOGAJSUlJCQkMALL7zAY489xtChQykoKCA9PZ0RI0ZQuXLlUvvJyckhLy+P5s2bh+8LgoCioiI2bdrE8ccff+gWK0mSjjqG4RGyevVq+vbty0knncQrr7xCtWrV9vu5gwYNIi0tjWeeeYbY2Fg2b97MSy+9BPwYmxs2bGDMmDEALF++nCFDhvDEE0+QkZFRaj81a9bk1FNP5W9/+1v4voKCAjZt2nRA80iSpLLJL58cAd9//z3XXHMNqampPPPMMwccYfn5+SQkJBATE0NeXh733XcfAEVFRWzZsoW+ffvy5ptvEgQBSUlJREdHU7VqVQDi4uLIz88HoH379mzZsoWnn36awsJCfvjhBzIyMhg8eDBRUVGHdtGSJOmoYxgeAdOmTWPdunXMmDGDpk2bkpKSEv5nl5SUFN544409Pv+BBx7gnXfeITU1la5du1KjRg3q16/PypUrqVGjBuPHj2fixImkpqbSuXNnWrVqRZ8+fQDo0qULr776Kj179iQxMZHJkyeTnZ3Neeedx29+8xuio6N5/PHHj8RhkCRJv3JRQRAEkR5CR4+CggKaNm1K7b4TWL6xKNLjSJJUJjQ46TjeHnjuYdv/rt/fCxcuJDExca/becVQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJgGEoSZKkEMNQkiRJAMRGegAdnWqfcCzRcSWRHkOSpDKhblJipEcADEMdpIe6NyYx8dfxQyxJUllQXBIQEx0V0Rl8K1kHpbi4ONIjRERxcTHLli0rl+svz2sH1+/6y+/6y/Pa4ciuP9JRCIahdMC2bdsW6REipjyvHVy/6y+/6y/Pa4fytX7DUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUDpAFStWjPQIEVOe1w6u3/WX3/WX57WXN7GRHkBHp5iYmEiPEBExMTHUr18/0mNERHleO7h+119+13+0rb24JCAmOirSYxy1DEMdlIxXlvLNDyWRHkOSpLC6SYmM+11KpMc4qhmGOihfbdzC8o1FkR5DkiQdQn7GUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSUA5D8O0tDQaNWpESkoKKSkpNGnShLZt2/LQQw9RUlJyRGfp3bs3EyZMOOT7nTZtGmlpaYd8v5IkqeyJjfQAkZaZmUnXrl3Dtz///HP69OlDxYoVGThwYAQnkyRJOrLK9RXDPUlOTqZ58+YsW7aMwsJCxo0bR4cOHWjRogV9+/Zl1apVpba97777aNmyJf369dvj1bmfXgn84osv6NWrF82bN6d9+/ZkZGRQUFCw2wzLli2jVatWTJ48GYDNmzdz11130bZtW1q2bMmNN97IN998A8DatWtJTk5m7dq14edPmDCB3r1777bf7OxskpOTS903bNgwhg0bdlDHSpIklS2G4U8UFRWRnZ3NvHnzaNOmDWPHjmX27NlMnjyZuXPn0rhxY6677jp27NgRfs7q1auZPXs2o0eP3uf+MzMzad26NfPnz+fVV19l2bJlvPzyy6W2+fTTT7nuuusYOnQoffr0AWDgwIGsXr2a6dOnM2fOHGrXrk2fPn32GJWSJEkHy7eSMzMZNWpU+HbNmjW59tprueqqq0hNTWX8+PGccsopAPTv35+XXnqJ2bNnk56eDkDnzp2pWLEiFStW3OdrxcfHM3fuXOrUqUPr1q15/fXXiY7+/zb/7LPPmDJlCjfccAOXX345AGvWrGH+/Pm8/fbbVK9eHYBbb72VN998kzlz5tC4ceNDdiwkSVL5Vu7D8O677y71GcNdNm3axNatWxk0aFCpeCsqKiInJyd8Oykpab9f69FHH2XChAmMHTuWIUOGkJqayj333MMZZ5wBwIcffkhKSgpvvfUW11xzDXFxcWzcuBEgHKcAMTExnHjiieTk5BiGkiTpkPGt5L2oWrUq8fHxTJo0iQULFoT/mT59OldeeWV4u6ioqPC/R0dHU1hYWGo/mzdvBqCkpIRly5YxYMAA3nvvPWbNmsXxxx9f6vN9ffr04bHHHiM/Pz/8ucRatWoBP75lvUtxcTHr1q2jevXqxMTEAD8G689f8+d2bfvTGfe2rSRJKn8Mw72Ijo6me/fujBkzhtzcXEpKSpg+fTqdO3cu9QWUn6pTpw4bN25k3rx5BEHA66+/zpdffhne33333cejjz7Kjh07qFatGvHx8VStWjX8/AoVKnDsscdy//33M2nSJBYtWkRSUhLt2rXjvvvu49tvv2X79u08/PDDFBcX0759e44//ngqV67M22+/TRAEfPbZZ/ztb3/b43ynnnoqsbGxvP3228CPVyjnzZt3iI+cJEk6WhmGvyAjI4PGjRvTs2dPmjVrxuTJkxk/fjz169ff4/aNGjXipptuYtiwYbRo0YJ58+aFP4sIP76V/OWXX9K2bVvOOecc8vPzGTly5G77ad26NZdffjkZGRls3bqV0aNHc8opp3DZZZdxzjnn8Pnnn/OXv/yFKlWqEBcXx8iRI5kxYwapqak8+OCDXHHFFXucLykpieHDh/PYY4+RmprK1KlT9/g2uiRJKp+igiAIIj2Ejh4FBQU0bdqU2n0nsHxj0b6fIEnSEdLgpON4e+C5h3SfxcXFLFmyhCZNmoQ/knU02vX7e+HChSQmJu51O68YSpIkCTAMJUmSFGIYSpIkCTAMJUmSFGIYSpIkCTAMJUmSFGIYSpIkCTAMJUmSFGIYSpIkCTAMJUmSFGIYSpIkCTAMJUmSFGIYSpIkCTAMJUmSFGIYSpIkCTAMJUmSFBIb6QF0dKp9wrFEx5VEegxJksLqJiVGeoSjnmGog/JQ98YkJvo/QEnSr0txSUBMdFSkxzhq+VayDkpxcXGkR4iI4uJili1bVi7XX57XDq7f9Zff9R9tazcK/zeGoXSAtm3bFukRIqY8rx1cv+svv+svz2svbwxDSZIkAYahJEmSQgxDSZIkAYahJEmSQgxDSZIkAYahJEmSQgxDSZIkAYahJEmSQgxDSZIkAYahJEmSQgxDSZIkAYahJEmSQgxDSZIkAYahJEmSQgxDSZIkAYahJEmSQgxDSZIkAYahJEmSQgxDSZIkARAb6QF0dAmCAICCggJiYmIiPM2RV1xczNatW8vl+svz2sH1u/7yu/7yvHYoO+svKCgA/v/3+N4YhjogW7ZsASAtLS3Ck0iSpAO1ZcsWKlWqtNfHo4J9paP0EyUlJWzYsIFjjz2WqKioSI8jSZL2QxAEbNmyhaSkJKKj9/5JQsNQkiRJgF8+kSRJUohhKEmSJMAwlCRJUohhKEmSJMAwlCRJUohhKEmSJMAwlCRJUohhqP22adMmbr75Zpo1a0bLli25//772blzZ6THOiLeeecd6tevT0pKSvif2267LdJjHXZ5eXlccMEFZGdnh+9bunQpl19+OSkpKaSlpfHyyy9HcMLDa0/rv/vuu2nYsGGpn4UXX3wxglMeeitWrODaa6+lRYsWtGnThttvv528vDyg7J//X1p7eTj3H330EZdffjmpqam0adOGkSNHsn37dqDsn3v45fWXh/MPQCDtp6uuuioYOnRosHXr1mD16tVBp06dgokTJ0Z6rCPiwQcfDIYNGxbpMY6oBQsWBL/5zW+CevXqBfPmzQuCIAi+++67oEWLFsHUqVODoqKi4MMPPwxSUlKCpUuXRnjaQ29P6w+CILjsssuCadOmRXCyw2vbtm1BmzZtgnHjxgU7duwI8vLygr59+wY33nhjmT//v7T2ICj7537Tpk1Bo0aNgldffTUoLi4O1q9fH3Tu3DkYN25cmT/3QfDL6w+Csn/+d/GKofbLqlWrmD9/PrfddhsVK1bklFNO4eabb+b555+P9GhHxCeffELDhg0jPcYRM336dG699VYGDx5c6v733nuPKlWq0KtXL2JjY2ndujUXX3xxmfs52Nv6CwsLWblyZZn+WVi3bh1nnnkm/fv3Jy4ujqpVq3LllVfy8ccfl/nz/0trLw/nvlq1anz44Yd07dqVqKgovvvuO3bs2EG1atXK/LmHX15/eTj/uxiG2i9ffPEFVapUoUaNGuH76tSpw7p16/jhhx8iONnhV1JSwmeffcbs2bNp37495513HnfddRfff/99pEc7bNq2bcvf//53OnbsWOr+L774gnr16pW6r27duqxYseJIjnfY7W39K1asYOfOnYwfP55zzjmH9PR0nnrqKUpKSiI06aFXu3Ztnn76aWJiYsL3vfvuuzRo0KDMn/9fWnt5OPcAiYmJALRr146LL76Y6tWr07Vr1zJ/7nfZ2/rLy/kHw1D7acuWLVSsWLHUfbtub926NRIjHTF5eXnUr1+f9PR03nnnHbKysvjmm2/K9GcMq1evTmxs7G737+nnICEhocz9DOxt/fn5+bRo0YLevXszZ84c/vjHP/Lcc88xadKkCEx5+AVBwNixY/nHP/7BnXfeWW7OP+y+9vJ27t977z0++OADoqOjGThwYLk697D7+svT+TcMtV+OOeYYtm3bVuq+XbePPfbYSIx0xJxwwgk8//zzdO/enYoVK3LSSSdx22238cEHH1BQUBDp8Y6oihUrhj+Ivcv27dvL/M/ALm3atGHKlCm0aNGCChUqcPbZZ3PNNdfwzjvvRHq0Q66goICBAwfy5ptvMnXqVJKTk8vN+d/T2svTuYcfo69GjRrcdtttzJ07t9yc+11+vv6GDRuWm/NvGGq/nHHGGXz33Xds3LgxfN+XX35JzZo1qVSpUgQnO/xWrFjBww8/TBAE4fsKCwuJjo4mLi4ugpMdefXq1eOLL74odd9//vMfzjjjjAhNdGS9//77ZGVllbqvsLCQhISECE10eKxevZpu3bpRUFDAK6+8QnJyMlA+zv/e1l4ezv2iRYv47W9/S2FhYfi+wsJCKlSoQN26dcv8uf+l9f/rX/8q8+d/F8NQ++X000+nadOmjBo1ioKCAtasWcNjjz1G9+7dIz3aYVelShWef/55nn76aXbu3Mm6dev44x//yGWXXVbuwvCCCy5g48aNTJ48maKiIubNm8ebb75Jt27dIj3aEREEAQ888AAfffQRQRCwePFipkyZwpVXXhnp0Q6Z77//nmuuuYbU1FSeeeYZqlWrFn6srJ//X1p7eTj3ycnJbN++nTFjxlBYWEhOTg4PPfQQ3bt3Jz09vUyfe/jl9VeoUKHMn/9dooKfXgaRfsHGjRu59957yc7OJjo6mi5dunDrrbeW+qB2WTV//nweeeQRVq5cSXx8PJ06deK2224jPj4+0qMddsnJyUyZMoWWLVsCP35D+/7772flypVUq1aNm2++ma5du0Z4ysPn5+vPysri2WefZf369Zxwwglce+219OrVK8JTHjrPPvssDz74IBUrViQqKqrUY4sXLy7T539fay/r5x5+vAo4atQoPvnkEypVqsTFF18c/pZ2WT73u/zS+svD+QfDUJIkSSG+lSxJkiTAMJQkSVKIYShJkiTAMJQkSVKIYShJkiTAMJQkSVKIYShJkiTAMJSk/1lxcTFr1qwJ396xYwe5ubkRnGjfVq1aFekRDsjPj7Gkw8MwlPSrk5aWRqNGjUhJSSElJYUmTZrQtm1bHnroIUpKSiI93m4GDx7Ma6+9Fr7ds2dPPvzwQwAWLFhASkpKhCbbs4ceeojHH3880mMAkJKSwoIFC/a53c+P8a/ZmjVr6Nu3Ly1atKB169bcfvvt/PDDD7ttt2rVKlq2bMnatWsjMKW0Z4ahpF+lzMxMFi9ezOLFi1myZAnPPPMMr732Gn/6058iPdpuNm/evNfbzZo1Y/HixUd6pF/083kjafHixTRr1myf2/2aZt6XIUOGULduXf71r38xY8YM1q1bx4MPPlhqm5kzZ9KjRw++++67yAwp7UVspAeQpP2RnJxM8+bNWbZsGQC9e/emVq1aZGdnEwQBb731Fjk5OTz88MMsXbqUhIQE0tLSGDp0KJUqVaKgoIC77rqLDz/8kNjYWM4880yGDx9OnTp1AHj77bd54oknWLduHaeddhpDhgyhbdu24ddq0qQJixYtYtmyZdSsWZMBAwbQsWNH7rzzThYsWMDixYv57LPPKCwsZN26ddx99918+umnpKenc/XVV/P5558DMGvWLJ566ilWrVrF1q1badSoEffddx+nn356qfUWFBRw7rnnMmHChPAcP/zwA23btmXq1KmceeaZjB07ltmzZ5Obm0tCQgIdO3ZkxIgRREVF8fHHH/PAAw+wevVqqlatyvnnn09GRgZPPvkkb775JgDLli3jjTfeYNGiRTz66KN89dVXfP/995xxxhn84Q9/oEmTJmRnZ3PHHXdw+eWX89e//pUdO3bQsmVLHnjgARITE5kwYQJffPEFcXFxzJ49m2OOOYZLL72UoUOHAlBYWMjjjz/OG2+8QX5+Po0bN2bEiBGcdtpp4fO6679F/e677zJ+/Hhyc3NJSkri4osv5uabb97tGD/xxBP7fRz3ZNiwYcTFxbFhwways7OpVq0a11xzDVdfffVu265bt45OnTrtcT833ngj/fr12+3+L7/8kqZNmxIEAUEQEBUVRcWKFcOP/+lPf2LGjBkMHjyYESNG7HNe6YgKJOlXpn379sGrr74avl1YWBjMmzcvaN68eTBlypQgCILgqquuCs4999wgNzc3+P7774O8vLygRYsWwYMPPhhs27Yt2LBhQ3D11VcH/fr1C4IgCMaNGxdcf/31wbZt24IdO3YEGRkZ4cdmz54dNG3aNJg/f36wc+fOYNasWUGTJk2ClStXhl+rRYsWwWeffRbs2LEjeOSRR4KmTZsG27dvDz8+fvz4Pc4/b968oF69ekEQBMF///vfoGHDhsHMmTODIAiCvLy8oGfPnsGtt966x+Nwxx13BEOGDAnffv7554POnTsHQRAETz31VNCpU6dg/fr1QRAEwaJFi4L69esHH374YRAEQXD++ecH06ZNC4IgCNasWRO0bds2+Nvf/hYEQRBkZGQEGRkZQRAEwbZt24IWLVoEU6dODYqLi4MtW7YEgwYNCnr06FFq/rvvvjvYtm1b8M033wRt2rQJnnzyySAIgmD8+PFBcnJyMH369GDnzp3B7Nmzg+Tk5GDx4sVBEATBgw8+GHTp0iVYvXp1sH379mDChAlBWlpa+NjVq1cvmDdvXrBt27agUaNGwbx584IgCILPPvssaNKkSbB06dLdjvGBHsefy8jICBo0aBD885//DIqKioIXXnghOOuss4Lc3Nz9ev6+TJo0KWjQoEFw1llnBfXq1QuuuOKKYOvWreHHc3Nzg5KSkmDNmjVBvXr1gjVr1hyS15UOBd9KlvSrlJmZSbNmzWjWrBmtW7dm5MiRXHvttVx11VXhbc477zxq1KjBcccdx8yZM6lQoQK33norCQkJVK9enbvuuotZs2bx7bffkpCQwIoVK3jttddYv349o0aNCn/OburUqfTo0YPmzZsTExND+/btSUtLIysrK/xa6enp1K9fn7i4OC677DLy8/PZtGnTAa2pWrVqvP3226SlpVFQUEBubi5Vq1Zl/fr1e9z+8ssvZ+bMmRQUFAAwffp0unfvDsAVV1zB5MmTqV69Ohs2bGD79u0ce+yx4X3Fx8czY8YM/vGPf1ClShXmzJlDenr6bq9RoUIFXnzxRXr27ElhYSE5OTlUqVJlt5n69+9PQkICp512Gi1btuTrr78OP3b66afTpUsXYmJiaNeuHdWrV+ebb74hCAKysrIYMmQIp5xyCvHx8fTv35+ioiJmz5692ywJCQm88sorfPTRR9SpU4eFCxdy9tln/8/HcU9atmxJmzZtiI2NpVu3bhQXF7N69er9fv4viYqK4qabbmLBggXMmjULgD/84Q/hx2vUqEFUVNQheS3pUPOtZEm/SnfffTddu3b9xW2SkpLC/75p0yZOOukkYmJiwvedfPLJAOTk5NC3b1/i4uJ45ZVXuPfeeznllFMYOnQoF154ITk5OcyfP58XXngh/Nzi4mJatWoVvl29evXwv8fG/vhH54F+EaZChQq89dZbZGVlERUVRb169SgoKAjv7+dSUlI4+eSTeffdd2nSpAkrVqxg4sSJAGzbto17772Xjz/+mJo1a1K/fn2CIAjP9Je//IUJEyaQmZnJt99+y7nnnss999xDzZo1S71GTEwM2dnZ9O3bl61bt1K3bl1iY2MJgqDUdj9df4UKFUo9/tPHdj1eUlJCXl4eW7duZdCgQURH//91iKKiInJycko9JyEhgRdeeIHHHnuMoUOHUlBQQHp6OiNGjKBy5cr/03Hck5+vB/Z8PtetW8cll1yyx33ccMMN3HDDDaXu+/TTTxk3bhwff/wxsbGxHHPMMdx+++306tWLu+++m8TExP2eUYoEw1DSUeunV11q1arFunXrKC4uDsfhritA1atX5/PPPyctLY0+ffqQn5/PX//6VwYPHsy8efOoWbMmXbp0KfVLft26dSQkJBzSeWfMmMHUqVN54YUXwp+xGzlyJCtXrtzrc7p3785bb73FqlWr+M1vfkOVKlUAwsH0z3/+k/j4eEpKSmjevDnw41+X85///Id77rmH2NhYvv76a0aMGMGoUaMYP358qf0vXbqUkSNHkpWVRcOGDQGYNGlSqSuCB6tq1arEx8czadIkmjRpEr7/q6++okaNGqW2LSgoYMOGDYwZMwaA5cuXM2TIEJ544gkyMjJKbXswx/FgnXTSSfv1reld/vvf/1JcXFwqMitUqEBUVFSp/9Mi/Vr5VrKkMqFdu3YAPPzww2zfvp1vv/2W+++/n1atWlGrVi1efvllbr/9djZt2kRiYiKJiYkcc8wxxMXFccUVVzBlyhT+/e9/A/DJJ5/QtWtX3nrrrf167bi4OPLz8/d6e5f8/Hyio6NJSEggCAI++OADXnvtNYqKiva67y5durBkyRJee+01Lr/88vD9BQUFxMfHEx0dTUFBAaNHj6agoICioiKioqIYMmQIkyZNYufOnVSvXp3Y2FiqVq2623w/nQlgyZIlTJkyhcLCwv1a+y+Jjo6me/fujBkzhtzcXEpKSpg+fTqdO3fe7e9R3LJlC3379uXNN98kCAKSkpKIjo7e58z7exyPlKZNm1KxYkVGjRrFjh072LRpE2PGjOGCCy4o9QUU6dfKMJRUJlSqVIlnn32WlStX0q5dOzp37kytWrUYN24c8ONfIXLaaafRqVMnUlNTmTZtGo899hjx8fH89re/ZciQIQwfPpzU1FQGDRpEnz596N279369dpcuXXj11Vfp2bMn8ONVvrFjx3LrrbeW2u6yyy7jnHPOoVOnTrRq1YrHH3+ca665hq+//nqvIValShXS0tKIjY2ldevW4ftHjBjBihUraNGiBb/97W/D32JeuXIlcXFxPP7448ycOZOWLVuSlpZG9erVw/N07NiRRYsWcf7559OmTRt69uxJr169aN68OZmZmfTu3Zu8vDw2btx4wOfh5zIyMmjcuDE9e/akWbNmTJ48mfHjx1O/fv1S29WoUYPx48czceJEUlNT6dy5M61ataJPnz67HeP9OY4pKSm88cYb//P8B6patWo888wzfPPNN5x77rl06dKF008/nVGjRh3xWaSDERX8/IMkkiQd5bKysqhcuTIXXXRRpEeRjipeMZQklSlBEPDJJ59w3nnnRXoU6ajjFUNJkiQBXjGUJElSiGEoSZIkwDCUJElSiGEoSZIkwDCUJElSiGEoSZIkwDCUJElSiGEoSZIkwDCUJElSyP8BebvGVBl4sS4AAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Vaakapylväskaavio prosenteista\n", "df1.drop('Yhteensä')['%'].plot(kind='barh')\n", "\n", "plt.xlabel(f'Prosenttia vastanneista, n = {n}')\n", "plt.grid(axis='x')" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoYAAAGsCAYAAABAVWa0AAAAOnRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjEwLjAsIGh0dHBzOi8vbWF0cGxvdGxpYi5vcmcvlHJYcgAAAAlwSFlzAAAPYQAAD2EBqD+naQAANOlJREFUeJzt3XuczXX+wPHX3KmRSxlKtwcy5RIz7o2SsTUbKqFapNQjpSxCNZK2JqWySdjtpmSlbbrR3dbGkt0yct0Kabu4jEWMasZtxsz390fH+TUhl8XJzOv5ePR4dG7f8/58+m7z2u85o6ggCAIkSZJU7kVHegBJkiT9OhiGkiRJAgxDSZIkhRiGkiRJAgxDSZIkhRiGkiRJAgxDSZIkhcRGegAdXUpKStiwYQPHHnssUVFRkR5HkiTthyAI2LJlC0lJSURH7/26oGGoA7Jhwwbatm0b6TEkSdJBmD17NjVr1tzr44ahDsixxx4LwMyZM6lcuXKEpznyiouL+fe//83ZZ59NTExMpMeJCPfAPSjv6wf3oLyvH46+PSgoKKBt27bhn+N7YxjqgOz6+DgxMZHExMQIT3PkFRcXc8wxx5CYmHhU/IvgcHAP3IPyvn5wD8r7+uHo3YN9fQ3MXz6RJEkSYBhKkiQpxDCUJEkSYBhKkiQpxDCUJEkSYBhKkiQpxDCUJEkSYBhKkiQpxDCUJEkSYBhKkiQpxDCUJEkSYBhKkiQpxDCUJEkSYBhKkiQpxDCUJEkSYBhKkiQpxDCUJEkSYBhKkiQpxDCUJEkSYBhKkiQpxDDUQYmJiYnI+xaXBBF5X0mSyoPYSA+go1PmK0v45oeSI/qedZMSGfu7lCP6npIklSeGoQ7KVxu3sGxjUaTHkCRJh5AfJUuSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAk4gDC85557SEtLY9OmTaXu37lzJ1dccQU33ngjQRCQnp7O1KlTD/mg+9KxY0feeOONPT52KGcaOnQoQ4cOPSTH+qmcnBySk5MP+XHh0K5fkiSVXfsdhnfccQcnnHACd9xxR6n7x48fz8aNG3nooYeIioo65APur7fffptLLrkkYu8vSZJ0tNvvMExISGDMmDF8/PHHPPfccwDMmzePSZMm8eijj1KlSpXdXlNYWMjYsWNp3749LVq0oE+fPqxcuTL8eHJyMi+++CIZGRk0btyYvn378umnn/K73/2OlJQUunbtGn7++PHjufnmm+nfvz9NmjQhPT2dF198MXys/b0qNmfOHJo2bcr06dMByM3N5ZZbbqF169akpaUxZMgQNmzYAPx4Fa9t27YMGTKEZs2a8dRTT5U6Vm5uLu3bt2fkyJEEQbDP9S5cuJCrr76aNm3a0KhRI7p06cLixYt3mzEIAu688046duzI+vXrAXj//ffp0qULqampZGRkMGnSJEpKSoA9X8VMTk4mJydnt2P36tWL8ePHh2+vWbOG5ORk1qxZs8+9kyRJZdsBfcewdu3a/OEPf2D06NEsW7aMoUOHcvvtt3P22Wfv8fljxoxh1qxZTJo0iTlz5tC4cWOuu+46duzYEX7Om2++yYsvvsjf//53FixYwM0338z999/Pv/71L+Lj43niiSfCz50xYwapqal8/PHH3HvvvYwYMYKPPvpov+efPXs2gwcP5pFHHuGiiy6iqKiI6667jpiYGN57771wLPbt25edO3cCsG7dOmrXrs1HH31Ejx49wsdavXo1vXr14tJLL2XYsGFERUX94nq3b9/OTTfdREZGBh988AE5OTmceuqpjBo1qtSMJSUlDBs2jGXLlvHcc89Ro0YN5s6dyy233ML111/PvHnzeOSRR3j22WeZPHnyfq9dkiRpXw74l08uu+wyLrzwwvBVvZ49e+7xeUEQkJ2dzeDBgznllFNISEigX79+FBUVMWvWrPDzrrrqKqpUqUJSUhJnnHEGF154IXXq1OGYY46hVatW5Obmhp+bnJzMtddeS1xcHG3atCEjI4PXX399v+aePXs2/fr1Iysri7Zt2wIwf/58Vq9eTVZWFpUqVeK4444jKyuL5cuX8+mnn4Zf261bN+Li4khMTAR+vFLYq1cvzjvvPAYMGLBf642Li+PFF1+kR48eFBYWkpubS5UqVcJXBHfJzMxkzpw5TJ48mWrVqgEwdepU2rdvT4cOHYiNjaVBgwbccMMNZGdn79faJUmS9kfswbzo97//Pa+//joDBw7c63Py8vLYunUrAwcOJDr6//uzqKioVOz99CPomJgYKleuHL4dHR1NEATh26effnqp9zjxxBNZtmzZfs380Ucf0aBBA6ZNm0aHDh0A2LRpE1WrVg0HH0BiYiJVqlQhNzeXE044AYCkpKRSx5o/fz5paWnMmDGDQYMGUbly5X2uNyYmhpycHPr06cPWrVupW7cusbGxpdYHP16h3LJlCx988EGpOc8666xSzzv55JNL7aMkSdL/6qDCcFf4/DSAfq5q1aokJCQwceJEmjRpEr7/q6++okaNGuHbB/ILKz+/urZmzRpOPPHE/XrtkCFDOP/88+nYsSPZ2dn87ne/o1atWmzevJmCgoJwHObn57N582aqV68ejrafz9ihQwdGjRpF9+7dycrK4pFHHtnnepcsWcKIESPIzs6mYcOGAEycOJGvv/661LGfeeYZXnrpJbKysmjWrBlJSUnUqlWLVatWlXre6tWrqV69OvDjP4effjyfl5e3132Ijo6mqKgofHvz5s37tX+SJKnsO2x/jmF0dDTdunVj9OjRrFu3jpKSEqZNm0anTp1K/ULGgVi8eDGvv/46xcXFzJ49mxkzZtC1a9f9em1cXBw1atTgjjvu4KGHHmLVqlU0atSIunXrcvfdd5Ofn09+fj733HMPp556Kqmpqb94rJiYGB544AHef/993nnnnX2uNz8/n+joaCpUqBBey+TJkyksLCx17Pj4eHr27Em9evW48847AejatSszZ85k+vTpFBcXs3TpUiZMmBBee506dZg/fz7r169n+/bt/PnPf95rcNepU4c5c+bwww8/kJ+fz4QJE/Zr/yRJUtl3WP+A68zMTBo3bkyPHj1o1qwZkyZNYty4cdSvX/+gjnfWWWcxY8YMWrVqxYMPPsgf//hHUlJSDugYXbt2pXnz5mRmZhIdHc2TTz7Jzp07ycjIoF27dhQVFfHss88SG7vvi6l16tShf//+ZGVlsX79+l9cb1paGj169KBnz540b96crKwsevXqRV5eHhs3bix13KioKEaOHMn8+fPJzs6mcePGjB07lgkTJtCsWTN+//vf0717d/r27QvAlVdeSUpKCpdccgkXXHABJ554IieddNIeZ77xxhs5/vjjad++PZdeeinp6ekHtH+SJKnsigp+/iW3X6nx48czb9688B+Vo8goKCigadOm1O4znmUbi/b9gkOowUnH8faAc4/oe/5ccXExixcvpkmTJsTExER0lkhxD9yD8r5+cA/K+/rh6NuDXT+/FyxYUOp3K37O/ySeJEmSAMNQkiRJIQf1W8mR0L9//0iPIEmSVKZ5xVCSJEmAYShJkqQQw1CSJEmAYShJkqQQw1CSJEmAYShJkqQQw1CSJEmAYShJkqQQw1CSJEmAYShJkqQQw1CSJEmAYShJkqSQ2EgPoKNT7ROOJTq+5Ii+Z92kxCP6fpIklTeGoQ7KQ90ak5h45EOtuCQgJjrqiL+vJEnlgR8l66AUFxdH5H2NQkmSDh/DUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUJIkSYBhKEmSpBDDUDpAFStWjPQIEeceuAflff3gHqhsio30ADo6xcTERHqEiIiJiaF+/fqRHiOi3AP3oLyvHw7/HhSXBMRERx2240t7YxjqoGS+soRvfiiJ9BiSVObUTUpk7O9SIj2GyinDUAflq41bWLaxKNJjSJKkQ8jvGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRiGEqSJAkwDCVJkhRSpsMwOTmZnJycUve9+uqrNGrUiL/+9a8HdcyhQ4cydOjQQzFeKTk5OSQnJx/y4wKkp6czderUw3JsSZJUdsRGeoAj6amnnuLxxx9n3LhxtGvXLtLjSJIk/aqU6SuGuwRBwH333cdf/vIXJk+eXCoKc3NzueWWW2jdujVpaWkMGTKEDRs2AD9exWvbti1DhgyhWbNmPPXUU6WOm5ubS/v27Rk5ciRBEFBYWMjYsWNp3749LVq0oE+fPqxcuTL8/IULF3L11VfTpk0bGjVqRJcuXVi8ePEe573zzjvp2LEj69evB+D999+nS5cupKamkpGRwaRJkygpKQH2fBVzT1dLAXr16sX48ePDt9esWUNycjJr1qw5wF2VJEllTZkPw6KiIoYMGcLLL79MdnY2jRo1KvXYddddR0xMDO+99x7Tp08HoG/fvuzcuROAdevWUbt2bT766CN69OgRfu3q1avp1asXl156KcOGDSMqKooxY8Ywa9YsJk2axJw5c2jcuDHXXXcdO3bsYPv27dx0001kZGTwwQcfkJOTw6mnnsqoUaNKzVtSUsKwYcNYtmwZzz33HDVq1GDu3LnccsstXH/99cybN49HHnmEZ599lsmTJx+BHZQkSeVFmQ/Du+66i3Xr1pGQkLDb9+zmz5/P6tWrycrKolKlShx33HFkZWWxfPlyPv300/DzunXrRlxcHImJicCPVwp79erFeeedx4ABA4Afr/JlZ2czePBgTjnlFBISEujXrx9FRUXMmjWLuLg4XnzxRXr06EFhYSG5ublUqVIlfEVwl8zMTObMmcPkyZOpVq0aAFOnTqV9+/Z06NCB2NhYGjRowA033EB2dvbh3DpJklTOlPnvGDZu3JhRo0bx4YcfctNNN3HWWWdx4YUXArBp0yaqVq0aDj6AxMREqlSpQm5uLieccAIASUlJpY45f/580tLSmDFjBoMGDaJy5crk5eWxdetWBg4cSHT0//d2UVERubm5xMTEkJOTQ58+fdi6dSt169YlNjaWIAhKHXvdunVs2bKFDz74gA4dOoTnPOuss0o97+STTyY3N/fQbZQkSSr3ynwYdu/enfj4eM4//3xuuOEGMjMzOe2000hOTqZWrVps3ryZgoKCcBzm5+ezefNmqlevHo62qKioUsfs0KEDo0aNonv37mRlZfHII49QtWpVEhISmDhxIk2aNAk/96uvvqJGjRosWbKEESNGkJ2dTcOGDQGYOHEiX3/9daljP/PMM7z00ktkZWXRrFkzkpKSqFWrFqtWrSr1vNWrV1O9enUAoqOj2bFjR/ixvLy8ve5HdHQ0RUVF4dubN2/e362UJEllXJn/KPmnBg4cSJMmTejXrx/fffcdjRo1om7dutx9993k5+eTn5/PPffcw6mnnkpqaupejxMXF0dMTAwPPPAA77//Pu+88w7R0dF069aN0aNHs27dOkpKSpg2bRqdOnVi5cqV5OfnEx0dTYUKFQBYvHgxkydPprCwsNSx4+Pj6dmzJ/Xq1ePOO+8EoGvXrsycOZPp06dTXFzM0qVLmTBhAl27dgWgTp06zJ8/n/Xr17N9+3b+/Oc/7xazu9SpU4c5c+bwww8/kJ+fz4QJEw7F1kqSpDKgXIVhdHQ0o0ePZufOndxyyy1ERUXx5JNPsnPnTjIyMmjXrh1FRUU8++yzxMbu+2JqnTp16N+/P1lZWaxfv57MzEwaN25Mjx49aNasGZMmTWLcuHHUr1+ftLQ0evToQc+ePWnevDlZWVn06tWLvLw8Nm7cWOq4UVFRjBw5kvnz55OdnU3jxo0ZO3YsEyZMoFmzZvz+97+ne/fu9O3bF4Arr7ySlJQULrnkEi644AJOPPFETjrppD3OfOONN3L88cfTvn17Lr30UtLT0//3jZUkSWVCVPDzL7lJv6CgoICmTZtSu894lm0s2vcLJEkHpMFJx/H2gHMjPcYvKi4uZvHixTRp0oSYmJhIjxMRR9se7Pr5vWDBglK/W/Fz5eqKoSRJkvbOMJQkSRJgGEqSJCnEMJQkSRJgGEqSJCnEMJQkSRJgGEqSJCnEMJQkSRJgGEqSJCnEMJQkSRJgGEqSJCnEMJQkSRJgGEqSJCnEMJQkSRJgGEqSJCnEMJQkSRIAsZEeQEen2iccS3R8SaTHkKQyp25SYqRHUDlmGOqgPNStMYmJ/stLkg6H4pKAmOioSI+hcsiPknVQiouLIz1CRBQXF7N06dJyu35wD8A9KO/rh8O/B0ahIsUwlA7Qtm3bIj1CxLkH7kF5Xz+4ByqbDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDENJkiQBhqEkSZJCDEPpAFWsWDHSI0Sce+AelPf1g3tQ3tcPZXMPooIgCCI9hI4eBQUFNG3alAULFpCYmBjpcSRJKjOKSwJioqMOy7H39+d37GF5d5V5ma8s4ZsfSiI9hiRJZULdpETG/i4l0mMYhjo4X23cwrKNRZEeQ5IkHUJ+x1CSJEmAYShJkqQQw1CSJEmAYShJkqQQw1CSJEmAYShJkqQQw1CSJEmAYShJkqQQw1CSJEmAYShJkqQQw1CSJEmAYShJkqQQw1CSJEmAYShJkqQQw1CSJEmAYShJkqQQw7CMKy4uZvXq1ZEeQ5IkHQUMwyNk+fLlXHvttbRo0YK0tDRuv/128vLyDvv7Dho0iNdee+2wv48kSTr6GYZHwPbt27n++utJSUnhn//8J2+99Rbfffcdw4YNO+zvvXnz5sP+HpIkqWwwDI+AtWvXcuaZZ9KvXz/i4+OpWrUqV155JR9//PF+vb6goIDhw4dz4YUX0qRJE84991yeeOKJ8OPvvvsuHTt2pGnTplx00UU89thjANx5553Mnz+fJ598kr59+wKwatUq+vbtS8uWLWnXrh1jxoyhsLDw0C9akiQddWIjPUB5ULt2bZ5++ulS97377rs0aNBgv17/8MMPs2bNGl555RUqVarEe++9x4ABA7jooouoUaMGt912GxMmTKBly5YsXbqUnj170qZNG+6//35WrVpFixYt6N+/P1u3bqV379507NiRsWPHkpeXx4ABAygpKWHIkCGHY+mSJOkoYhgeYUEQ8Oijj/KPf/yDKVOm7Ndr+vfvT0xMDImJiaxbt46EhAQANmzYQI0aNahQoQKvvPIKJSUlpKamsmDBAqKjd78YPGvWLAoLCxk8eDBRUVGceOKJDBw4kAEDBhiGkiTJMDySCgoKuOOOO/jss8+YMmUKycnJ+/W6TZs2cf/997N06VJOPvlkGjZsCEBJSQkVKlTghRde4LHHHmPIkCEUFBSQkZHB8OHDqVy5cqnj5ObmkpeXR/PmzcP3BUFAUVERmzZt4vjjjz90i5UkSUcdw/AIWbVqFX369OGkk07ilVdeoVq1avv92oEDB5Kens4zzzxDbGwsmzdv5qWXXgJ+jM0NGzYwevRoAJYtW8bgwYN54oknyMzMLHWcmjVrcuqpp/K3v/0tfF9BQQGbNm06oHkkSVLZ5C+fHAHff/8911xzDampqTzzzDMHHGH5+flUqFCBmJgY8vLyuO+++wAoKipiy5Yt9OnThzfffJMgCEhKSiI6OpqqVasCEB8fT35+PgDt2rVjy5YtPP300xQWFvLDDz+QmZnJoEGDiIqKOrSLliRJRx3D8AiYOnUqa9euZfr06TRt2pSUlJTwX7ukpKTwxhtv7PH1DzzwAO+88w6pqal06dKFGjVqUL9+fVasWEGNGjUYN24cEyZMIDU1lU6dOtGqVSt69+4NQOfOnXn11Vfp0aMHiYmJTJo0iZycHM477zx+85vfEB0dzeOPP34ktkGSJP3KRQVBEER6CB09CgoKaNq0KbX7jGfZxqJIjyNJUpnQ4KTjeHvAuYft+Lt+fi9YsIDExMS9Ps8rhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIgNtID6OhU+4RjiY4vifQYkiSVCXWTEiM9AmAY6iA91K0xiYm/jpNYkqSyoLgkICY6KqIz+FGyDkpxcXGkR4iI4uJili5dWm7XD+4BuAflff3gHpT39cPh2YNIRyEYhtIB27ZtW6RHiDj3wD0o7+sH96C8rx/K5h4YhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhtIBqlixYqRHiDj3wD0o7+sH96C8r7+sio30ADo6xcTERHqEiIiJiaF+/fqRHiOi3AP3oLyvH9yDX/P6i0sCYqKjIj3GUcsw1EHJfGUJ3/xQEukxJEkKq5uUyNjfpUR6jKOaYaiD8tXGLSzbWBTpMSRJ0iHkdwwlSZIEGIaSJEkKMQwlSZIEGIaSJEkKMQwlSZIEGIaSJEkKMQwlSZIEGIaSJEkKMQwlSZIEGIaSJEkKMQwlSZIEGIaSJEkKMQwlSZIEGIaSJEkKMQwlSZIEGIaSJEkKMQwlSZIElPMwTE9Pp1GjRqSkpJCSkkKTJk1o06YNDz30ECUlJUd0ll69ejF+/PhDftypU6eSnp5+yI8rSZLKnthIDxBpWVlZdOnSJXz7888/p3fv3lSsWJEBAwZEcDJJkqQjq1xfMdyT5ORkmjdvztKlSyksLGTs2LG0b9+eFi1a0KdPH1auXFnquffddx8tW7akb9++e7w699MrgV988QU9e/akefPmtGvXjszMTAoKCnabYenSpbRq1YpJkyYBsHnzZu666y7atGlDy5YtufHGG/nmm28AWLNmDcnJyaxZsyb8+vHjx9OrV6/djpuTk0NycnKp+4YOHcrQoUMPaq8kSVLZYhj+RFFRETk5OcydO5e0tDTGjBnDrFmzmDRpEnPmzKFx48Zcd9117NixI/yaVatWMWvWLEaNGrXP42dlZdG6dWvmzZvHq6++ytKlS3n55ZdLPefTTz/luuuuY8iQIfTu3RuAAQMGsGrVKqZNm8bs2bOpXbs2vXv33mNUSpIkHSw/Ss7KYuTIkeHbNWvW5Nprr+Wqq64iNTWVcePGccoppwDQr18/XnrpJWbNmkVGRgYAnTp1omLFilSsWHGf75WQkMCcOXOoU6cOrVu35vXXXyc6+v/b/LPPPmPy5MnccMMNXH755QCsXr2aefPm8fbbb1O9enUAbr31Vt58801mz55N48aND9leSJKk8q3ch+Hdd99d6juGu2zatImtW7cycODAUvFWVFREbm5u+HZSUtJ+v9ejjz7K+PHjGTNmDIMHDyY1NZV77rmHM844A4APP/yQlJQU3nrrLa655hri4+PZuHEjQDhOAWJiYjjxxBPJzc01DCVJ0iHjR8l7UbVqVRISEpg4cSLz588P/zVt2jSuvPLK8POioqLCfx8dHU1hYWGp42zevBmAkpISli5dSv/+/XnvvfeYOXMmxx9/fKnv9/Xu3ZvHHnuM/Pz88PcSa9WqBfz4kfUuxcXFrF27lurVqxMTEwP8GKw/f8+f2/Xcn864t+dKkqTyxzDci+joaLp168bo0aNZt24dJSUlTJs2jU6dOpX6BZSfqlOnDhs3bmTu3LkEQcDrr7/Ol19+GT7efffdx6OPPsqOHTuoVq0aCQkJVK1aNfz6uLg4jj32WO6//34mTpzIwoULSUpKom3bttx33318++23bN++nYcffpji4mLatWvH8ccfT+XKlXn77bcJgoDPPvuMv/3tb3uc79RTTyU2Npa3334b+PEK5dy5cw/xzkmSpKOVYfgLMjMzady4MT169KBZs2ZMmjSJcePGUb9+/T0+v1GjRtx0000MHTqUFi1aMHfu3PB3EeHHj5K//PJL2rRpwznnnEN+fj4jRozY7TitW7fm8ssvJzMzk61btzJq1ChOOeUULrvsMs455xw+//xz/vKXv1ClShXi4+MZMWIE06dPJzU1lQcffJArrrhij/MlJSUxbNgwHnvsMVJTU5kyZcoeP0aXJEnlU1QQBEGkh9DRo6CggKZNm1K7z3iWbSza9wskSTpCGpx0HG8POPeIvFdxcTGLFy+mSZMm4a9q/Zrt+vm9YMECEhMT9/o8rxhKkiQJMAwlSZIUYhhKkiQJMAwlSZIUYhhKkiQJMAwlSZIUYhhKkiQJMAwlSZIUYhhKkiQJMAwlSZIUYhhKkiQJMAwlSZIUYhhKkiQJMAwlSZIUYhhKkiQJMAwlSZIUEhvpAXR0qn3CsUTHl0R6DEmSwuomJUZ6hKOeYaiD8lC3xiQm+j9ASdKvS3FJQEx0VKTHOGr5UbIOSnFxcaRHiIji4mKWLl1abtcP7gG4B+V9/eAe/JrXbxT+bwxD6QBt27Yt0iNEnHvgHpT39YN7UN7XX1YZhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIMQ0mSJIUYhpIkSQIgNtID6OgSBAEABQUFxMTERHiaI6+4uJitW7eW2/WDewDuQXlfP7gH5X39cPTtQUFBAfD/P8f3xjDUAdmyZQsA6enpEZ5EkiQdqC1btlCpUqW9Ph4V7CsdpZ8oKSlhw4YNHHvssURFRUV6HEmStB+CIGDLli0kJSURHb33bxIahpIkSQL85RNJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSFGIbab5s2beLmm2+mWbNmtGzZkvvvv5+dO3dGeqwj5p133qF+/fqkpKSE/7rtttsiPdYRkZeXxwUXXEBOTk74viVLlnD55ZeTkpJCeno6L7/8cgQnPLz2tP67776bhg0bljofXnzxxQhOeXgsX76ca6+9lhYtWpCWlsbtt99OXl4eUD7OgV9af3k5Bz766CMuv/xyUlNTSUtLY8SIEWzfvh0oH+cA/PIelLnzIJD201VXXRUMGTIk2Lp1a7Bq1aqgY8eOwYQJEyI91hHz4IMPBkOHDo30GEfc/Pnzg9/85jdBvXr1grlz5wZBEATfffdd0KJFi2DKlClBUVFR8OGHHwYpKSnBkiVLIjztoben9QdBEFx22WXB1KlTIzjZ4bdt27YgLS0tGDt2bLBjx44gLy8v6NOnT3DjjTeWi3Pgl9YfBOXjHNi0aVPQqFGj4NVXXw2Ki4uD9evXB506dQrGjh1bLs6BIPjlPQiCsnceeMVQ+2XlypXMmzeP2267jYoVK3LKKadw88038/zzz0d6tCPmk08+oWHDhpEe44iaNm0at956K4MGDSp1/3vvvUeVKlXo2bMnsbGxtG7dmosvvrjMnQ97W39hYSErVqwo8+fD2rVrOfPMM+nXrx/x8fFUrVqVK6+8ko8//rhcnAO/tP7ycg5Uq1aNDz/8kC5duhAVFcV3333Hjh07qFatWrk4B+CX96AsngeGofbLF198QZUqVahRo0b4vjp16rB27Vp++OGHCE52ZJSUlPDZZ58xa9Ys2rVrx3nnncddd93F999/H+nRDqs2bdrw97//nQ4dOpS6/4svvqBevXql7qtbty7Lly8/kuMddntb//Lly9m5cyfjxo3jnHPOISMjg6eeeoqSkpIITXp41K5dm6effpqYmJjwfe+++y4NGjQoF+fAL62/vJwDAImJiQC0bduWiy++mOrVq9OlS5dycQ7ssrc9KIvngWGo/bJlyxYqVqxY6r5dt7du3RqJkY6ovLw86tevT0ZGBu+88w7Z2dl88803Zf47htWrVyc2Nna3+/d0PlSoUKHMnQt7W39+fj4tWrSgV69ezJ49mz/+8Y8899xzTJw4MQJTHhlBEDBmzBj+8Y9/cOedd5abc2CXn6+/PJ4D7733Hh988AHR0dEMGDCg3J0DsPselMXzwDDUfjnmmGPYtm1bqft23T722GMjMdIRdcIJJ/D888/TrVs3KlasyEknncRtt93GBx98QEFBQaTHO+IqVqwY/uL1Ltu3by8X5wJAWloakydPpkWLFsTFxXH22WdzzTXX8M4770R6tMOioKCAAQMG8OabbzJlyhSSk5PL1Tmwp/WXt3MAfoy+GjVqcNtttzFnzpxydQ7s8vM9aNiwYZk7DwxD7ZczzjiD7777jo0bN4bv+/LLL6lZsyaVKlWK4GRHxvLly3n44YcJgiB8X2FhIdHR0cTHx0dwssioV68eX3zxRan7/vOf/3DGGWdEaKIj6/333yc7O7vUfYWFhVSoUCFCEx0+q1atomvXrhQUFPDKK6+QnJwMlJ9zYG/rLy/nwMKFC/ntb39LYWFh+L7CwkLi4uKoW7duuTgHfmkP/vWvf5W588Aw1H45/fTTadq0KSNHjqSgoIDVq1fz2GOP0a1bt0iPdkRUqVKF559/nqeffpqdO3eydu1a/vjHP3LZZZeVyzC84IIL2LhxI5MmTaKoqIi5c+fy5ptv0rVr10iPdkQEQcADDzzARx99RBAELFq0iMmTJ3PllVdGerRD6vvvv+eaa64hNTWVZ555hmrVqoUfKw/nwC+tv7ycA8nJyWzfvp3Ro0dTWFhIbm4uDz30EN26dSMjI6PMnwPwy3sQFxdX5s6DqOCnl0CkX7Bx40buvfdecnJyiI6OpnPnztx6662lvphdls2bN49HHnmEFStWkJCQQMeOHbnttttISEiI9GhHRHJyMpMnT6Zly5bAj7+lff/997NixQqqVavGzTffTJcuXSI85eHz8/VnZ2fz7LPPsn79ek444QSuvfZaevbsGeEpD61nn32WBx98kIoVKxIVFVXqsUWLFpX5c2Bf6y8P5wD8eBVw5MiRfPLJJ1SqVImLL744/JvaZf0c2OWX9qCsnQeGoSRJkgA/SpYkSVKIYShJkiTAMJQkSVKIYShJkiTAMJQkSVKIYShJkiTAMJQkSVKIYShJ/6Pi4mJWr14dvr1jxw7WrVsXwYn2beXKlZEe4YD8fI8lHR6GoaRfnfT0dBo1akRKSgopKSk0adKENm3a8NBDD1FSUhLp8XYzaNAgXnvttfDtHj168OGHHwIwf/58UlJSIjTZnj300EM8/vjjkR4DgJSUFObPn7/P5/18j3/NVq9eTZ8+fWjRogWtW7fm9ttv54cfftjteStXrqRly5asWbMmAlNKe2YYSvpVysrKYtGiRSxatIjFixfzzDPP8Nprr/GnP/0p0qPtZvPmzXu93axZMxYtWnSkR/pFP583khYtWkSzZs32+bxf08z7MnjwYOrWrcu//vUvpk+fztq1a3nwwQdLPWfGjBl0796d7777LjJDSnsRG+kBJGl/JCcn07x5c5YuXQpAr169qFWrFjk5OQRBwFtvvUVubi4PP/wwS5YsoUKFCqSnpzNkyBAqVapEQUEBd911Fx9++CGxsbGceeaZDBs2jDp16gDw9ttv88QTT7B27VpOO+00Bg8eTJs2bcLv1aRJExYuXMjSpUupWbMm/fv3p0OHDtx5553Mnz+fRYsW8dlnn1FYWMjatWu5++67+fTTT8nIyODqq6/m888/B2DmzJk89dRTrFy5kq1bt9KoUSPuu+8+Tj/99FLrLSgo4Nxzz2X8+PHhOX744QfatGnDlClTOPPMMxkzZgyzZs1i3bp1VKhQgQ4dOjB8+HCioqL4+OOPeeCBB1i1ahVVq1bl/PPPJzMzkyeffJI333wTgKVLl/LGG2+wcOFCHn30Ub766iu+//57zjjjDP7whz/QpEkTcnJyuOOOO7j88sv561//yo4dO2jZsiUPPPAAiYmJjB8/ni+++IL4+HhmzZrFMcccw6WXXsqQIUMAKCws5PHHH+eNN94gPz+fxo0bM3z4cE477bTwP9dd/w3qd999l3HjxrFu3TqSkpK4+OKLufnmm3fb4yeeeGK/93FPhg4dSnx8PBs2bCAnJ4dq1apxzTXXcPXVV+/23LVr19KxY8c9HufGG2+kb9++u93/5Zdf0rRpU4IgIAgCoqKiqFixYvjxP/3pT0yfPp1BgwYxfPjwfc4rHVGBJP3KtGvXLnj11VfDtwsLC4O5c+cGzZs3DyZPnhwEQRBcddVVwbnnnhusW7cu+P7774O8vLygRYsWwYMPPhhs27Yt2LBhQ3D11VcHffv2DYIgCMaOHRtcf/31wbZt24IdO3YEmZmZ4cdmzZoVNG3aNJg3b16wc+fOYObMmUGTJk2CFStWhN+rRYsWwWeffRbs2LEjeOSRR4KmTZsG27dvDz8+bty4Pc4/d+7coF69ekEQBMF///vfoGHDhsGMGTOCIAiCvLy8oEePHsGtt966x3244447gsGDB4dvP//880GnTp2CIAiCp556KujYsWOwfv36IAiCYOHChUH9+vWDDz/8MAiCIDj//PODqVOnBkEQBKtXrw7atGkT/O1vfwuCIAgyMzODzMzMIAiCYNu2bUGLFi2CKVOmBMXFxcGWLVuCgQMHBt27dy81/9133x1s27Yt+Oabb4K0tLTgySefDIIgCMaNGxckJycH06ZNC3bu3BnMmjUrSE5ODhYtWhQEQRA8+OCDQefOnYNVq1YF27dvD8aPHx+kp6eH965evXrB3Llzg23btgWNGjUK5s6dGwRBEHz22WdBkyZNgiVLluy2xwe6jz+XmZkZNGjQIPjnP/8ZFBUVBS+88EJw1llnBevWrduv1+/LxIkTgwYNGgRnnXVWUK9eveCKK64Itm7dGn583bp1QUlJSbB69eqgXr16werVqw/J+0qHgh8lS/pVysrKolmzZjRr1ozWrVszYsQIrr32Wq666qrwc8477zxq1KjBcccdx4wZM4iLi+PWW2+lQoUKVK9enbvuuouZM2fy7bffUqFCBZYvX85rr73G+vXrGTlyZPh7dlOmTKF79+40b96cmJgY2rVrR3p6OtnZ2eH3ysjIoH79+sTHx3PZZZeRn5/Ppk2bDmhN1apV4+233yY9PZ2CggLWrVtH1apVWb9+/R6ff/nllzNjxgwKCgoAmDZtGt26dQPgiiuuYNKkSVSvXp0NGzawfft2jj322PCxEhISmD59Ov/4xz+oUqUKs2fPJiMjY7f3iIuL48UXX6RHjx4UFhaSm5tLlSpVdpupX79+VKhQgdNOO42WLVvy9ddfhx87/fTT6dy5MzExMbRt25bq1avzzTffEAQB2dnZDB48mFNOOYWEhAT69etHUVERs2bN2m2WChUq8Morr/DRRx9Rp04dFixYwNlnn/0/7+OetGzZkrS0NGJjY+natSvFxcWsWrVqv1//S6KiorjpppuYP38+M2fOBOAPf/hD+PEaNWoQFRV1SN5LOtT8KFnSr9Ldd99Nly5dfvE5SUlJ4b/ftGkTJ510EjExMeH7Tj75ZAByc3Pp06cP8fHxvPLKK9x7772ccsopDBkyhAsvvJDc3FzmzZvHCy+8EH5tcXExrVq1Ct+uXr16+O9jY3/8V+eB/iJMXFwcb731FtnZ2URFRVGvXj0KCgrCx/u5lJQUTj75ZN59912aNGnC8uXLmTBhAgDbtm3j3nvv5eOPP6ZmzZrUr1+fIAjCM/3lL39h/PjxZGVl8e2333Luuedyzz33ULNmzVLvERMTQ05ODn369GHr1q3UrVuX2NhYgiAo9byfrj8uLq7U4z99bNfjJSUl5OXlsXXrVgYOHEh09P9fhygqKiI3N7fUaypUqMALL7zAY489xpAhQygoKCAjI4Phw4dTuXLl/2kf9+Tn64E9//Ncu3Ytl1xyyR6PccMNN3DDDTeUuu/TTz9l7NixfPzxx8TGxnLMMcdw++2307NnT+6++24SExP3e0YpEgxDSUetn151qVWrFmvXrqW4uDgch7uuAFWvXp3PP/+c9PR0evfuTX5+Pn/9618ZNGgQc+fOpWbNmnTu3LnUD/m1a9dSoUKFQzrv9OnTmTJlCi+88EL4O3YjRoxgxYoVe31Nt27deOutt1i5ciW/+c1vqFKlCkA4mP75z3+SkJBASUkJzZs3B37843L+85//cM899xAbG8vXX3/N8OHDGTlyJOPGjSt1/CVLljBixAiys7Np2LAhABMnTix1RfBgVa1alYSEBCZOnEiTJk3C93/11VfUqFGj1HMLCgrYsGEDo0ePBmDZsmUMHjyYJ554gszMzFLPPZh9PFgnnXTSfv3W9C7//e9/KS4uLhWZcXFxREVFlfo/LdKvlR8lSyoT2rZtC8DDDz/M9u3b+fbbb7n//vtp1aoVtWrV4uWXX+b2229n06ZNJCYmkpiYyDHHHEN8fDxXXHEFkydP5t///jcAn3zyCV26dOGtt97ar/eOj48nPz9/r7d3yc/PJzo6mgoVKhAEAR988AGvvfYaRUVFez12586dWbx4Ma+99hqXX355+P6CggISEhKIjo6moKCAUaNGUVBQQFFREVFRUQwePJiJEyeyc+dOqlevTmxsLFWrVt1tvp/OBLB48WImT55MYWHhfq39l0RHR9OtWzdGjx7NunXrKCkpYdq0aXTq1Gm3P0dxy5Yt9OnThzfffJMgCEhKSiI6OnqfM+/vPh4pTZs2pWLFiowcOZIdO3awadMmRo8ezQUXXFDqF1CkXyvDUFKZUKlSJZ599llWrFhB27Zt6dSpE7Vq1WLs2LHAj3+EyGmnnUbHjh1JTU1l6tSpPPbYYyQkJPDb3/6WwYMHM2zYMFJTUxk4cCC9e/emV69e+/XenTt35tVXX6VHjx7Aj1f5xowZw6233lrqeZdddhnnnHMOHTt2pFWrVjz++ONcc801fP3113sNsSpVqpCenk5sbCytW7cO3z98+HCWL19OixYt+O1vfxv+LeYVK1YQHx/P448/zowZM2jZsiXp6elUr149PE+HDh1YuHAh559/PmlpafTo0YOePXvSvHlzsrKy6NWrF3l5eWzcuPGA/zn8XGZmJo0bN6ZHjx40a9aMSZMmMW7cOOrXr1/qeTVq1GDcuHFMmDCB1NRUOnXqRKtWrejdu/due7w/+5iSksIbb7zxP89/oKpVq8YzzzzDN998w7nnnkvnzp05/fTTGTly5BGfRToYUcHPv0giSdJRLjs7m8qVK3PRRRdFehTpqOIVQ0lSmRIEAZ988gnnnXdepEeRjjpeMZQkSRLgFUNJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSFGIaSJEkCDENJkiSF/B/JdsZUgBu5fQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "sns.countplot(data=df, y='koulutus', stat='percent', width=0.5, saturation=1)\n", "plt.xlabel(f'Prosenttia vastanneista, n = {n}')\n", "plt.ylabel('')\n", "# x-akselilta lähtevä taustaviivoitus\n", "plt.grid(axis='x')\n", "\n", "plt.yticks([0, 1, 2, 3], koulutus)\n", "\n", "plt.gca().invert_yaxis()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Lisätietoa\n", "\n", "https://pandas.pydata.org/docs/reference/api/pandas.crosstab.html\n", "\n", "Data-analytiikka Pythonilla https://tilastoapu.wordpress.com/python/" ] } ], "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.2" } }, "nbformat": 4, "nbformat_minor": 4 }