{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Päivitetty 2023-05-02 / Aki Taanila\n" ] } ], "source": [ "from datetime import datetime\n", "print(f'Päivitetty {datetime.now().date()} / Aki Taanila')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Lukumäärä- ja prosenttiyhteenvedot\n", "\n", "Tämä muistio sisältää likimain kaiken mitä sinun tarvitsee tietää lukumäärien ja prosenttien laskemisesta Pythonin pandas-kirjastoa käyttäen." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "# Tuon tarvittavat kirjastot\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "from matplotlib.ticker import PercentFormatter\n", "\n", "# Jos prosentit desimaalilukuina, niin käytän tätä akselin muotoiluun \n", "myFmt1 = PercentFormatter(xmax=1, decimals=0, symbol=' %')\n", "\n", "# Jos prosentit on jo valmiiksi kerrottu sadalla, niin käytän tätä akselin muotoiluun\n", "myFmt100 = PercentFormatter(xmax=100, decimals=0, symbol=' %')\n", "\n", "# Grafiikan tyylimääritys\n", "sns.set_style('whitegrid')" ] }, { "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": "markdown", "metadata": {}, "source": [ "## Muuttujien tekstimuotoiset arvot\n", "\n", "Muuttujien mahdolliset tektimuotoiset arvot kannattaa tallentaa lista-muuttujiin. Listoja on myöhemmin helppo lisätä tulostaulukoihin." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "koulutus = ['Peruskoulu', '2. aste', 'Korkeakoulu', 'Ylempi korkeakoulu']\n", "perhe = ['Perheetön', 'Perheellinen']\n", "sukup = ['Mies', 'Nainen']\n", "tyytyväisyys = ['Erittäin tyytymätön', 'Jokseenkin tyytymätön', 'Ei tyytymätön eikä tyytyväinen', \n", " 'Jokseenkin tyytyväinen', 'Erittäin tyytyväinen']\n", "\n", "# Monivalintakysymyksen (mitä etuisuuksia olet käyttänyt?) vaihtoehtojen lista\n", "monivalinnat = ['työterv', 'lomaosa', 'kuntosa', 'hieroja']" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## crosstab-funktio laskee lukumäärät\n", "\n", "**crosstab-funktio** palauttaa dataframen. Voin helposti luoda dataframeen uuden sarakkeen, johon lasken prosentit. " ] }, { "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", "
f%
Peruskoulu2733.3
2. aste3037.0
Korkeakoulu2227.2
Ylempi korkeakoulu22.5
\n" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df1 = pd.crosstab(df['koulutus'], 'f')\n", "\n", "# Korvaan riviotsikot aiemmin määritellyllä koulutus-listalla\n", "df1.index = koulutus\n", "\n", "# Poistan vasemmasta yläkulmasta häiritsevän otsikon\n", "df1.columns.name = ''\n", "\n", "# Lisään prosentti-sarakkeen\n", "n = df1['f'].sum()\n", "df1['%'] = df1['f']/n*100\n", "\n", "# Säädän desimaalien määrät ja korvaan desimaalipisteen pilkulla\n", "# Tämä ei vaikuta dataframen sisältöön, vaan ainoastaan tässä tulostetun taulukon ulkoasuun\n", "df1.style.format({'f':'{:.0f}', '%':'{:.1f}'})" ] }, { "cell_type": "code", "execution_count": 6, "metadata": { "scrolled": false }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAoYAAAGsCAYAAABAVWa0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAxrklEQVR4nO3de1iUdf7/8RczgFqUp4TSsi41yAPLQUQNy8SKUrfyUCZKWZtpmecU08xYD6mlhradTGPJVqzUTubWpl/NVsFYD5Vo9qtWEcIUSEGUw8zn90e3s1EaaMjEzPNxXV3bzNyHz3tut57dM6iPMcYIAAAAXs/m7gUAAADgj4EwBAAAgCTCEAAAABbCEAAAAJIIQwAAAFgIQwAAAEgiDAEAAGDxdfcCULc4nU5VVFTIZrPJx8fH3csBAADVYIyR0+mUr6+vbLYz3xckDHFWKioq9MUXX7h7GQAA4ByEhobK39//jK8Thjgrp/4ro127dr/5C8tTORwOffHFFwoNDZXdbnf3cmqVN88uMT/ze+/83jy75Dnzn5rjt+4WSoQhztKpj4/tdnud/j/I7+XN83vz7BLzM7/3zu/Ns0ueM39VXwPjh08AAAAgiTAEAACAhTAEAACAJMIQAAAAFsIQAAAAkghDAAAAWAhDAAAASCIMAQAAYCEMAQAAIIkwBAAAgIUwBAAAgCTCEAAAABbCEAAAAJIIQwAAAFgIQwAAAEgiDAEAAGAhDAEAACCJMAQAAICFMAQAAIAkwhAAAAAWwhDnxG63u+W8Dqdxy3kBAPAGvu5eAOqmxFW7tCfveK2es01ggJLvjqjVcwIA4E0IQ5yTbw8f1+7cY+5eBgAAqEF8lAwAAABJhCEAAAAshCEAAAAkEYYAAACwEIYAAACQRBgCAADAQhgCAABAEmEIAAAAC2EIAAAASYQhAAAALIQhAAAAJBGGAAAAsBCGAAAAkEQYAgAAwEIYAgAAQBJhCAAAAAthCAAAAElnEYZPPvmkYmJilJ+fX+n5iooK3XXXXRo+fLiMMYqNjdXq1atrfKFV6d27t959993TvlaTa5o8ebImT55cI8f6uYyMDIWEhNT4caWanR8AAHiuaofhY489pksuuUSPPfZYpecXL16sI0eOaO7cufLx8anxBVbX2rVrddttt7nt/AAAAHVdtcOwXr16WrhwoT777DO99tprkqRt27YpJSVFzz77rBo1avSrfcrKypScnKyePXsqOjpaw4YN0/79+12vh4SEaOXKlYqLi1NYWJhGjBihL7/8UnfffbciIiLUv39/1/aLFy/Www8/rFGjRik8PFyxsbFauXKl61jVvSu2efNmdezYUevWrZMk5eTkaOzYseratatiYmI0YcIE/fDDD5J+uovXvXt3TZgwQVFRUXr55ZcrHSsnJ0c9e/bU7NmzZYypct7t27frnnvuUbdu3RQaGqp+/fpp586dv1qjMUZTp05V7969dejQIUnSxx9/rH79+ikyMlJxcXFKSUmR0+mUdPq7mCEhIcrIyPjVsRMSErR48WLX44MHDyokJEQHDx6s8r0DAACe7ay+Y9iqVSs98cQTmj9/vvbs2aPJkydr0qRJ+tOf/nTa7RcuXKiNGzcqJSVFmzdvVlhYmO6//36Vlpa6tnnvvfe0cuVK/etf/9J//vMfPfzww5o1a5b+/e9/y9/fXy+++KJr2/Xr1ysyMlKfffaZ/vrXv2rGjBnaunVrtde/adMmjR8/XgsWLNCtt96q8vJy3X///bLb7froo49csThixAhVVFRIkvLy8tSqVStt3bpV8fHxrmNlZ2crISFBt99+u6ZMmSIfH5/fnPfkyZN66KGHFBcXp08++UQZGRlq2bKl5s2bV2mNTqdTU6ZM0Z49e/Taa68pKChI6enpGjt2rB544AFt27ZNCxYs0KuvvqrU1NRqzw4AAFCVs/7hk759++rmm2923dUbPHjwabczxigtLU3jx4/XFVdcoXr16mnkyJEqLy/Xxo0bXdsNGTJEjRo1UmBgoK6++mrdfPPNat26tS644AJ16dJFOTk5rm1DQkJ03333yc/PT926dVNcXJzeeeedaq1706ZNGjlypJKSktS9e3dJUmZmprKzs5WUlKSLLrpIF198sZKSkrR37159+eWXrn0HDBggPz8/BQQESPrpTmFCQoKuv/56jR49ulrz+vn5aeXKlYqPj1dZWZlycnLUqFEj1x3BUxITE7V582alpqaqSZMmkqTVq1erZ8+e6tWrl3x9fdW+fXs9+OCDSktLq9bsAAAA1eF7Ljs98sgjeueddzRmzJgzblNQUKCSkhKNGTNGNtv/+rO8vLxS7P38I2i73a6GDRu6HttsNhljXI+vuuqqSue47LLLtGfPnmqteevWrWrfvr3WrFmj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vXv3NkVFRebpp582t912mxk+fLjJy8ur0XXXhF/O/umnn5qEhASTkZFhysrKzK5du0y3bt3O+LWKX6pLszudTrNgwQITFRVl9u7da4zxrmt/uvm96fqfOHHC5OXlmSFDhpi//OUvxhjvuf6nm92brn1VuGMIXXDBBTpx4kSl5049vvDCC6vcf/Xq1QoODtbll1+uadOm6bnnntOkSZM0duxY18etf2SXXHKJXn/9dQ0YMEANGjRQ8+bNNXHiRH3yyScqLi6ucv+6Pv8vNWjQoNIXsiXp5MmT1fq1IEnz5s3TyJEjlZmZqU2bNunNN99UeHi45syZcz6WW6NiYmKUmpqq6Oho+fn56U9/+pPuvfdeffDBB9Xav67MXlxcrNGjR+u9997T8uXLXXc4vOXan2l+b7n+klS/fn0FBQVp4sSJ2rx5s44ePeo11/90s3vTta8KYQhdffXV+vHHHyv9dO0333yjSy+9VBdddNFv7nv06FGlpKRo3LhxOnDggC644AI1b95cHTp00OHDh1VYWHi+l/+77d27V88880yliCsrK5PNZpO/v/9v7usJ8/9ScHCwvv7660rP/b//9/909dVXV7lvZmamjhw5oltvvVX79u1TcHCw/P391aFDB+3bt+98LbnGfPzxx0pLS6v0XFlZmerXr1/lvnVl9gMHDqh///4qLi7WW2+9VeljL2+49r81v6df/+3bt+uWW25RWVmZ67mysjL5+fmpQYMGHn39q5rd06/92SAMoauuukodO3bU7NmzVVxcrOzsbD3//PMaMGBAlfsuWLBAf/nLX3TxxRerRYsWOnbsmPbv368dO3aoYcOGatSo0fkf4Hdq1KiRXn/9db3yyiuqqKhQbm6unn76afXt27fKMPSE+X/ppptu0pEjR5SSkqLy8nKlp6frvffeU//+/X9zv4qKCj311FOaNm2apJ9+Xe3du1cnTpzQjh071LJly9pY/u9ijNFTTz2lrVu3yhijHTt2KDU1VQMHDvzN/erK7EePHtW9996ryMhILV261PXF+1M8/dpXNb+nX/+QkBCdPHlS8+fPV1lZmXJycjR37lwNGDBA/v7+Hn39q5rd06/9WXHbh9j4Qzl8+LAZNWqUiY6ONl26dDFz5swxFRUVv7nP559/boYMGVLpueXLl5suXbqYG264waxfv/58LrlGZWRkmIEDB5qI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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Vaakapylväskaavio prosenteista\n", "df1['%'].plot.barh()\n", "\n", "# x-akselin otsikointi; n-arvo mukaan\n", "plt.xlabel(f'Prosenttia, n = {n}')\n", "\n", "# x-akselin jakoviivojen otsikoiden muotoilu\n", "plt.gca().xaxis.set_major_formatter(myFmt100)\n", "\n", "# Vaakasuuntaisen taustaviivoituksen poisto\n", "plt.grid(axis='y')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## crosstab-funktio laskee ristiintaulukoinnit" ] }, { "cell_type": "code", "execution_count": 7, "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", "
MiesNainen
Peruskoulu225
2. aste237
Korkeakoulu157
Ylempi korkeakoulu20
\n", "
" ], "text/plain": [ " Mies Nainen\n", "Peruskoulu 22 5\n", "2. aste 23 7\n", "Korkeakoulu 15 7\n", "Ylempi korkeakoulu 2 0" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Ristiintaulukointi\n", "df2 = pd.crosstab(df['koulutus'], df['sukup'])\n", "\n", "# Otsikot kuntoon:\n", "df2.index = koulutus\n", "df2.columns = sukup\n", "\n", "df2" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "image/png": "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AAAKgVxPh85rJ06cyHY5ODhYa9ascVA1AACgMCtULS4AAAD3QnABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABAACGQXABnIB/cQ/JanF0GffHqHXnE0OfS8nYtcMQXB1dAIC/roSXq2QySxv6SwknHV1OzpUJkjotdnQVhYphz6XE+USBILgAziThpHThR0dXgbzAuQTuiq4iAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGAQXAABgGIUyuHz++eeqVauW6tevb/8vNDTU0WUBAAAHc3V0AXcTHR2tl156SWFhYY4uBQAAFCKFssUlOjpatWvXdnQZAACgkCl0LS5Wq1U//fSTvLy8tHjxYlksFjVt2lSjRo1SyZIlc/w4FoslH6v8PbPZXKDPl5cK+r0q7Ix8Lo0qv/4GOZeOwWcK7kdO/24KXXBJSkpSrVq19Pzzzys8PFzJyckaM2aMQkND9c9//jPHjxMdHZ2PVWbn5eWlWrVqFdjz5RX/4h6S1WLID3drZoaO/r9jysjIyNPHNeq5NLoTJ07o5s2befqYnEvHyY/zCWQpdMGlTJkyWrlypf2yl5eXQkND1bVrV6WkpKh48eI5epzg4GBDfiEXpBJerpLJLG3oLyWcdHQ5OVcmSKZOi/XII484uhLkkRo1aji6BOQhzifuh8ViyVGjQ6ELLsePH9eWLVv05ptvysXFRZKUnp4uk8kkd3f3HD+O2WwmuORUwknpwo+OriLXOL/Og3PpXDifyE+FbnCur6+vVq5cqcWLFyszM1NxcXGaPXu2OnTokKvgAgAAnE+hCy4BAQFauHChdu7cqYYNG6pTp04KDg7WxIkTHV0aAABwsELXVSRJDRs21Jo1axxdBgAAKGQKXYsLAADAHyG4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAAwyC4AAAMwWK1ObqE+2LUugsrV0cXAABATphNLhq+5pBOxac4upQcq1a2uD7sXt/RZTgVggsAwDBOxafop7hrji4DDkRXEQAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMAyCCwAAMIxCGVwSExM1ePBgNWjQQE888YSmT5+uzMxMR5cFAAAcrFAGl7///e/y9vbWf/7zH0VFRWnv3r2KjIx0dFkAAMDBCl1w+fXXX7V//36FhobKy8tLgYGBGjx4sFauXOno0gAAgIO5OrqA34qJiZGvr68eeOAB+7GqVasqLi5O165dU4kSJe55f5vNJklKT0+X2WzO11rvZDab9XBAMXkU3FP+ZZVKe8lisUj+j0gmD0eXk3Olq0kWy+3a8wHnsgBxLn/HsOdS4nzeRRX/YrLk43viTLLeo6zv8T/iYvuzWxSwTz/9VB988IF27dplP3bmzBm1bNlSu3fvVkBAwD3vn56erujo6HyuEgAA5Ifg4GC5u7v/4fWFrsXF29tbN2/ezHYs63KxYsX+9P6urq4KDg6WyWSSi4tLvtQIAADyls1mk9VqlavrvaNJoQsu1atX15UrV5SQkKAyZcpIkk6fPq2AgAD5+Pj86f1NJtM9kxoAADCuQjc4t1KlSnrsscc0Y8YMpaSk6OzZs/roo4/UuXNnR5cGAAAcrNCNcZGkhIQETZ06Vfv27ZPJZFL79u01atSoAh1sCwAACp9CGVwAAADuptB1FQEAAPwRggsAADAMggsAADAMggsAADAMggsAADAMggsAAEWI0fdNIrgARcAffVCxGkLRYfQvK+Qds9ms2NhYbdiwwdGl3BeCC/4yq9Xq6BJwD5mZmTKbzbLZbNq5c6e+/vpr7d27V5LYz6sIyfobmDNnjtLT0x1dDhzshx9+0FtvvaW1a9c6upRcK3R7FcF4TCaTbDabIiIi9Oyzz+rhhx92dEn4H5vNJldXV1mtVnXt2lXFihWT1WrV2bNn1bRpU02ZMsXRJaIAXbhwQR9//LFOnz6tuXPnsq9bEWK1WmUy/V9bRZcuXZSRkaHJkyfLarWqR48eDqwud2hxQZ7Yt2+fdu7cqaVLlyomJsbR5eA3Ro8erQcffFBLly7V8uXLFRgYqGPHjik5OdnRpSEfZWZmZrtcvnx5bdmyRf/v//0/DRs2jJaXIsRkMik+Pl5HjhyxH3v55Zc1YcIETZ06VevWrXNgdblDcMF9+e0HYqNGjdSvXz8lJiZq0aJFhBcHSkxMVGJioqT/6wq6ceOGevXqJUkKDQ1VamqqFi1apGnTpmnPnj0OqxX5y9XVVRaLRXv27FFGRoYkqUqVKvr444917Ngx/f3vf9etW7ccXCXyy82bN/X5558rMTFRNptNEyZMUEREhA4fPmy/Tc+ePdW3b19NnTpVy5cvd1yxuUBwwX3J6n6Ijo62H2vdurU6dOigpKQkLVq0SL/++qsDKyy6NmzYoKioKMXHx2vHjh2y2Ww6deqUjh07prCwMJ04cUKrVq2Sm5ubTpw4oUqVKjm6ZOSxqKgoHT9+XJL08ccfa/bs2dq6dav9B0fVqlU1d+5cff3117S8OLFPP/1U48eP1xdffCEXFxcNGDBA169f16pVq3Tw4EH77YKDgxUcHKxt27YZYsA+wQW5snDhQnv3wvLly9WlSxf997//tV/fpk0btWrVSjt27NCsWbN08uRJR5VaZJlMJu3YsUOdOnXSnj175OLiotdee03h4eHatm2bPvvsM3l4eOiTTz6R1WqVt7e3o0tGHjpz5oymT5+uZcuW6eLFi+rVq5eCg4O1ceNGffbZZ/aQUr58ebVp00Znzpyxt9DBuXTv3l0DBgzQokWLtGLFCjVo0EBvvvmmzp07p/Xr1+u7776TJO3Zs0fdu3fXypUr5eLiUujDC7tDI8diY2M1YsQIeXt7a+HChfLx8dH06dO1evVqRUREqEmTJpKkW7duKSQkRA8//LD69u2rBx54wMGVFw02m83eNdS6dWvFx8dr6NCh6tq1q27cuKHFixdr165devTRR2U2m7Vnzx4tWLBAjzzyiIMrR16xWCwym806fPiwxowZo7p162rUqFEqUaKEpkyZovPnz6tdu3bq0qWLoqKidPDgQb399tvy8vJydOnIQ1kDcbM+Ez766COtW7dO/fv31yuvvKLDhw9rzpw5unz5sjw9PWWxWLRx40a5ubll+xwprAguyDGr1aqDBw8qPDxcmZmZ9vDyzjvvaPXq1froo4/UtGlTrVu3Tl9//bWmT5+u0qVLO7rsIiHrC8tqtSozM1NffPGFLl++rC+++EJNmzZVr169ZDKZdOjQIe3evVuBgYF6+umnVblyZUeXjjyS9YWT9bdw5MgRvfnmm6pfv75CQ0Pl4+OjadOm6eDBg3J1dVVycrIiIiJUu3ZtR5eOfBAXF6fhw4drxowZql69+u/CS2xsrI4dO6arV6+qS5cu9vFQZrPZ0aX/KYIL/tRvE/hPP/2kmTNnymKxKCIiQiVKlFBYWJiWLl2qBg0aKCYmRpGRkUyLLiCZmZn2MUfr16/X9evX1aNHDxUrVkzh4eHas2ePWrRooYEDByopKUmlSpVydMnIR7169VLLli316quvZgsvo0aNkq+vr3744QclJCSofv36CgwMdHS5yEfPP/+83NzcFB4eripVquijjz7S+vXr1b9/f7300ksqXry4/bZGCS0SwQW5MHHiRPn4+Cg0NFRHjx7VzJkzZbVa7eFl9+7dSk5OVoMGDfTggw86utwiIStUWq1WdenSRWXKlNGVK1c0b948+fv7S5KWLFmizZs3y8PDQ5cuXdKGDRvk5+dX6JuDcX/ee+89RUZGatKkSerSpYs9vDRo0EADBgyglc1J/bZ7KEuXLl107do1LViwQFWqVFFERITmz5+vOXPm6LnnnnNgxfeP4IIcuX79uhYvXqzvvvtOzz77rAYNGqSjR49q1qxZstlsCg8P55e8Aw0dOlTFixdXWFiYJGn79u36+eefVb58ebVv316ff/65Tp48qTZt2igoKMjB1SKv/HZRsSwLFixQeHi4pk6dag8v/fv3V9u2bTV27FgWnnNSFy9eVFRUlF599VWVKFHCfrxbt266ceOGPvzwQ1WtWlWbNm3Siy++aJgWlt8iuOCu7tZsmJSUpKioKH311Vdq1qyZBg8erKNHj2rChAkqXbq0Fi1aJBcXF37JF7CUlBSNGzdOPXr0kLu7u+bPn69Tp06pUqVKunDhghYuXKiqVasaqikYOWez2TRv3jw1btxYDRo0sB9fuHChwsPDNX36dLVv314//fSTihcvrooVKzqwWuSHrAAbGRmpTz75RM8884xCQkLk4+MjSTp//rzatGmjSpUqad68efYuQqN+JrDkP+4qa1+TGTNmaPjw4SpevLhKlSqlzp07y8XFRZs3b1bx4sX16quvKiwsTCVKlLjrLz/kvd9+2BQvXlyurq7q27evHn/8cfn4+OjLL7+Up6enXnnlFV25ckWSDPkBhT93+PBhffvtt/r555/l5uamunXrSpJef/117dy5U2+//bbc3d3Vpk0bB1eKvJYVWLI+e1999VWZzWZt375dFotFAwcOlI+Pj3x8fNS+fXuZTCZVqFDBfn+jfibQ4oI/lJCQoJYtW6pu3bqaP3++ihUrJkmKj49X//79deHCBYWEhGjAgAEOrrTouHMg7rJly5Senq6ePXuqWLFiOnDggEqXLq3AwECZzWatW7dOERERWr16NVPSncjdfiX/8MMPWrRokTw8PNSvXz97eJk7d66uXbumPn36MBDXyWT9HZw9e1Z79uxRcnKyqlWrplatWmn16tXaunWrqlWrpv79+2v+/Pmy2WwKCwuzj4kz8g9Nggvs7vaBGBcXp379+tm7grLWe5g5c6YeeOABtW7dWgEBAY4ot8jJ+rCxWq166aWX5OvrqxMnTujBBx/U7NmzVaVKFZ06dUoTJkzQgw8+qL179+qf//wn012dyJ3T3lesWKELFy6oTJkyateuna5cuaLZs2fL3d1d7du3V2JiohYvXqx169Yx/szJZA3APXHihPr27atmzZopNjZW165dU2BgoH3q89q1a3XlyhUFBAQoMjLSMOu0/BmCCyRl/0BcunSprly5omLFiumll16SxWLRgAEDVLJkSY0YMUI//vij1q1bp8jISJUrV87RpRcpNptNgwYNUunSpTV9+nTt379fQ4YMUbVq1fTOO+/ooYce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fviho0tHHiC4AAAMxWw2y2w2Kz4+XpLUoUMHubi42FtXBg4cqHXr1mnp0qU6ffq0ypcvr1mzZsnV1VWZmZnZWl1gPJw9AIBhZA2qrVSpkpKSkuzH27dvL0n64IMPJEmDBg1SWFjY7+5LaDE+ziAAwBBsNpt9XMpjjz2mFStWKDMzUzabTW5ubvbwEh4ertTUVL3++usqU6aM/f6MaXEOBBcAQKGWmpqqgwcPqkKFCnrwwQdls9kUEBCgixcv6tatWypWrJhsNptcXFzUvn173bx5U99++619ijScC+u4AAAKLZvNpjFjxuizzz5T6dKl5erqqrJly+qpp55SVFSUVq9ercDAQEl3X/02K9DAeRBcAACFWkpKitLT03X16lUdOnRIFy5cUGxsrHbv3q1GjRrpvffek4eHh6TsQYXQ4pwILgAAQ7pw4YJ69Oihhx9+WHPnzrWHFzg3FqADABiOxWJRuXLltGTJEu3Zs4c1WooQWlwAAIZ24cIFlS1blllDRQTBBQDgFNg4sWgguAAAAMNgjAsAADAMggsAADAMggsAADAMggsAADAMggsAADAMggsAADAMggsAADAMggsAADAMggsAADAMggsAADAMggsAADAMggsAADCM/w/kCVkY7ePijQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Lukumäärät pylväinä\n", "df2.plot.bar(width=0.8, rot=45)\n", "\n", "plt.ylabel('lukumäärä')\n", "\n", "# Pystysuuntaisen taustaviivoituksen poisto\n", "plt.grid(axis='x')" ] }, { "cell_type": "code", "execution_count": 9, "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", "
 Mies, n = 62Nainen, n = 19
Peruskoulu35.5 %26.3 %
2. aste37.1 %36.8 %
Korkeakoulu24.2 %36.8 %
Ylempi korkeakoulu3.2 %0.0 %
\n" ], "text/plain": [ "" ] }, "execution_count": 9, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Ristiintaulukointi, prosentit (normalize) sarakkeiden mukaan\n", "df3 = pd.crosstab(df['koulutus'], df['sukup'], normalize='columns')\n", "\n", "# Otsikot kuntoon\n", "df3.index = koulutus\n", "df3.columns = sukup\n", "\n", "# Kikkailen n-arvot mukaan\n", "for muuttuja in df3.columns:\n", " df3 = df3.rename(columns={muuttuja:f'{muuttuja}, n = {df2[muuttuja].sum()}'})\n", "\n", "# Loppusilaus\n", "(df3*100).style.format('{:.1f} %')" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "data": { "image/png": "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7+zYsUMdO3ZUcHCw6tWrpzFjxig9Pd15OXOfu06dOqVGjRopLi4uy/JrzfOyZcvUqFEjBQYGKiwsTAkJCVfcx7x58xQSEqK6detqwYIFzuUZGRlq2bKl9u/ff/MHYsFonTp1sgYOHGilpqZaBw8etJo1a2a9//772a47YcIEq1+/flZqaqrVt29f64033rAsy7KSk5Otpk2bWidOnMjPoRcY58+ft+rWrWu9+eab1oULF6xTp05ZL7zwgtWjRw/LsizrzJkzVq1ataz58+dbGRkZ1oYNG6ygoCBr27Zt2W6vVatW1rx586yzZ89aoaGhVmxsrGVZlrVt2zarQ4cOlsPhyLdjK0imTp1qPfDAA1ZkZKRzGXOfdzp16mT17NnTOnv2rJWcnGz16tXL6t69u2VZzHtestvtVt26da0PP/zQstvt1p9//mk1adLEevvtty3LYu5z2+bNm60nnnjCqly5srVp0ybn8mvN86ZNm6ygoCBr8+bNVnp6uvXBBx9YISEhVmpq6mX7SE5Oth588EFr9+7d1q5du6wHH3zQOnfunGVZlvX+++9bkydPzpVj4Qybwf744w/Fx8frlVdeUeHChVWuXDm9/PLL+vjjj7Nd38Pj4q+Gtf7/dyHbbDZJ0ptvvqmOHTvqrrvuyp+BFzBHjhzRAw88oJ49e8rLy0u+vr5q27atfvrpJ0nSV199JR8fH3Xs2FEeHh6qU6eOWrRokaPbwbIs2Ww2ORwOjRkzRtHR0fwmimxs3LhRX331lRo3bpxlOXOfN3799Vdt27ZN48ePV7FixVS0aFGNHj1agwYNksS856WzZ8/q+PHjcjgczsdqd3d3FS5cWBJzn5uWLVumQYMGqX///pdddq15XrRokZo1a6YaNWrI09NTERER8vX11RdffHHZti491166Pd3c3OTm5qakpCStWLFCL730Uq4cD8FmsH379snHx0d33323c1nFihV15MgR/fXXX5et37lzZ50+fVoNGzZUSkqKIiIitHv3bm3fvl3t2rXLz6EXKP7+/po1a5bzH50krV27VlWqVJF08XaoXLlyluvcf//92r17d7bbe+WVV/TZZ5/pySefVGhoqB555BEtWLBA1atXV0BAQN4dSAF18uRJDR06VJMmTXI+aV3C3OeN7du36/7779dnn32mRo0aqV69epowYYL8/PwkMe95ydfXVxEREZowYYKqVq2q+vXr67777lNERIQk5j431atXT19//bWaNm162WXXmufffvstx7dD4cKFFR0drR49euill17SmDFjVLhwYY0bN079+/eXt7d3rhyPR65sBXni3Llzlz2BXfo5NTVVxYoVy3JZyZIlNXfuXOfPlmWpV69eGjZsmNasWaPZs2fLy8tLgwYNUnBwcJ6PvyCyLEtTp07Vt99+q/nz50vK/nbw9vZWampqttuoUaOGVq5c6fz55MmTWrBggRYuXKiJEydq/fr1KlOmjGJiYrLE+O3I4XDolVdeUdeuXfXAAw9cdjlznzfOnj2rPXv26OGHH9ayZcuUlpamwYMHKzIyUjNnzmTe85DD4ZC3t7eGDx+u1q1b648//lCvXr301ltvqV+/fsx9Lrr0H5DsXGuer/d2aNeuXZYTIz/88IMyMzNVo0YN9enTR3/88YeqV6+uIUOGyNPT84aOhzNsBitSpIjOnz+fZdmln++4445rXn/p0qWqXLmy7r33Xg0fPlxvv/22Bg8erH79+jlP3eL/pKSkqE+fPlq5cqXmz5/v/N9p4cKFlZaWlmXdtLS0HN0GkvT666+rZ8+e2rx5s2JjY7Vo0SIFBgZq/PjxuX4MBc3MmTPl5eWl8PDwbC9n7vOGl5eXJGno0KEqWrSoSpYsqX79+ik2Ntb5RMW8542vv/5aa9euVYcOHeTl5aVKlSqpZ8+ezjeqM/f541rzfDO3Q3p6ut544w0NHTpUM2bMkI+Pj5YvX66DBw9q8eLFNzxmgs1glSpV0pkzZ7J82vN///ufSpcurTvvvPOq1z179qzmzp2r/v376+DBgypSpIjuuecePfzwwzp+/LhOnz6d18MvUA4ePKhWrVopJSVFixcvzvJSQuXKlbVv374s6//222+qVKnSNbe7efNmnThxQk899ZT27t2rypUry8vLSw8//LD27t2b68dR0KxYsULx8fEKDg5WcHCwVq1apVWrVjnPADP3eeP++++Xw+FQRkaGc9mlTxdalsW856E///wzyydCpYvvQ7t01oW5zx/XmudKlSrd8O0wa9YsNW3aVGXLltW+fftUpUoVubm5qUqVKjd1OxBsBrvvvvtUo0YNjRs3TikpKTp06JDeffddtW7d+prXnTx5sp5//nkVK1ZMZcuW1V9//aU//vhDCQkJKl68uHx8fPL+AAqI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On36tLy9vXX48GEtXrxYBw4cUN++fa84hjZt2mju3Lny8/PTsWPHlJaWpjvuuOOK8wrcKngPGwCXGzFiRJb3sGWnVKlSzr+fPHlS99xzj2w2m3PZvffeK0lKTEzUCy+8IC8vLy1evFijRo1SuXLlNHDgQDVu3FiJiYmKj4/XggULnNe12+2qXbu282c/Pz/n3z08Lj5MXu8HIDw9PbVq1SotXLhQbm5uqly5slJSUpzb+6dhw4Zp5syZmj17tqKiovTAAw9o2LBhCg4OztH+Nm7cqCpVqmjZsmVq2rRpjsdZvHhx+fr6On8uU6aM86XYqzlx4oQkqVy5cs5lNptNZcqUUWJioqpVq+ZcfvjwYdnt9stC0svLS4cOHVKzZs2UkZGhRYsWafLkybrrrrv04osvqn379pft9/z58xo1apR++uknlS5dWg899JAsyzLyAypAbiLYABQIbm5uzr+XLVtWR44ckd1ud0bbwYMHJV2MrT179ig0NFQRERFKTk7WJ598ov79+2vTpk0qXbq0nnnmGXXv3t25vSNHjsjb2ztXx7tmzRrNnz9fCxYsUIUKFSRJo0eP1t69e7Ndf+fOnWrbtq169+6tU6dO6Z133lGvXr20adMmubu768KFC851s/vE5MCBA9WgQQM1a9ZMCxcuVLt27SRJ7u7uysjIcK73zw9NJCcn6/z58ypcuLCki3F1zz33OK97pf2WLVtW0sV5r1SpkqSL4XvkyJEswStJpUuXlre3t+Li4py3V3p6ug4dOqQKFSrowIEDqlKlip555hmlpaXpyy+/VGRkpIKDg53jumTYsGEqXry4fvjhBxUqVEgOh0M1a9bMdk6BWwkviQIocC6dqZk4caLS0tJ0/PhxjR07VrVr11bZsmW1aNEiDR48WCdPnlTRokVVtGhRFSlSRF5eXmrTpo3mzZun7du3S5J++eUXhYWFOd8rdS1eXl7ODzdk9/MlycnJcnd3l7e3tyzL0vfff6/ly5dniae/mzFjhkaPHq2UlBQVK1ZMhQsXdp75qlixojZv3qyjR48qLS1N77zzTpaAlS6e0bv77rv16quvasKECc6ArVixotauXavMzEwdPHhQixcvznI9u92uCRMm6MKFC9q/f79mz56t1q1bX3O/pUqVUv369TVmzBgdP35caWlpmjhxoux2uxo2bJhlH//+979VoUIF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d/ds/80GBARo3rx5CgkJybLtvz/+SMr28SI/pe/fr7SdO/N9v9dSqFAhTZkyRa1atdJHH32k8PBwxcfHa+7cufroo4/k4+Nz2XVy8vwwatQozZkzR0lJSapTp4569eqlMWPGaM+ePfL399fkyZNVoUIFTZs2Tbt27ZLNZtP69etVokQJ9ejRQ23btpV08SxSr169spxcyM769evVr18/jRkzRk899RT3dxfc3wvsS6IFTUZGhuLi4rRp0ybVrVtXU6ZM0Xfffae5c+dq/fr1qlatmp577jlduHDBeZ2DBw/qu+++0+uvv37N7cfExKhOnTqKj4/XkiVLtHPnTi1atCjLOr/++quee+45DRw4UBEREZKkPn366ODBg1q2bJliY2Pl7++viIgIpaTk/ZnL25W/v79mzZqV5aPea9euVZUqVXJ0/YkTJ+rw4cNavHixEhISNGzYME2ZMkV//PGH0tLS9Morryg6OlpbtmzRpEmT9P7772v79u0aO3asgoOD1aNHD82YMUOpqamKiIhQpUqV9P333+uTTz7Rhg0b8uTl81tBRkaGBg4cqEWLFmnhwoVZYi0jI0PPPfecbDabvvrqK61Zs0aS9OKLLyozM1PSxe+U9Pf318aNG9WhQwfndQ8dOqTw8HD95z//0ZAhQ+Tm5nbVx4e0tDS99NJLatKkib7//nvFxcWpfPnylz1OOBwODRkyRLt27dJHH32ku+++W5s2bVK/fv3UrVs3xcfHa/Lkyfrggw80b968fJjB25e/v7+io6M1adIk7dq1S1FRURo8eLD+/e9/Z7t+Tp4fVq5cqU8//VRff/21tmzZopdfflljx47Vjz/+KC8vryxn69etW6fq1avrp59+0qhRozR69Ght3Lgxx+OPjY3VgAEDNHnyZD311FPc312EYMtDMTExCg4OVnBwsOrUqaPRo0era9eu6tSpkxYuXKgBAwaoXLlyKlSokHr27KmMjAx99913zus3b95chQsXVrFixa65r0KFCmn9+vX68ssv5e7urhUrVqhr167Oy3fs2KGuXbvq+eef17PPPivp4j+c+Ph4DR8+XH5+fvL29tagQYOUmZmp2NjYXJ8PXM6yLE2ZMkXffvuthg4dmqPr9O7dW1OnTlXRokWVlJSkQoUKSZLzixq9vb21ePFibdy4URUrVtSWLVuyfWL47rvvlJ6ergEDBqhQoUIqU6aM+vbtq48//jj3DvAWMnz4cOd8//N9LZs3b9ahQ4cUExOjO++8U8WKFVNMTIx2796tX3/91ble69at5enp6TzznZiYqPDwcD322GPOt0lYlnXVxwdPT099+umn6tChg9LT05WYmCgfHx8dPXo0y5giIyO1fv16zZs3TyVKlJB08X2njz/+uJo2bSoPDw9VqVJF3bt318KFC/Ny6iCpZcuWaty4sdq1a6egoCB17Ngx2/Wudftf0qlTJ/n4+KhUqVKqVKmSGjdurIoVK6pIkSKqXbu2EhMTnesGBASoa9eu8vT0VL169dSkSROtWLEiR+OOjY1Vz549FRMTo/r160vi/u4qBfolUdONGDEi29PMJ0+eVGpqqvr27St39/9r5oyMjCz/yEqVKpXjfU2dOlXTpk3TlClTNGDAAFWvXl0jR45UpUqVJEkbNmxQUFCQVq1apS5dusjLy0snTpyQJJUrV865HZvNpjJlyigxMVHVqlW77mNGzqWkpOjVV1/Vjh07NH/+/By/cfbkyZMaO3asdu7cqXvvvVcPP/ywpIv/w/T29taCBQv07rvvauDAgUpJSVGTJk00bNgwFS9ePMt2EhMTderUKdWsWdO5zLIsZWRk6OTJk3xZ9T9Uq1ZNr7/+ujZs2KCXXnpJDz74oBo3bizp4m3i6+ub5S0IRYsWlY+PjxITE1WyZElJl/+b3rx5s+rWrat169apf//+Kl68uE6dOnXVxwebzaa4uDi98MILSk1N1f333y8PDw9ZVtYPRiUlJencuXP6/vvv1bRpU+c4H3zwwSzr3XvvvVked5B3evXqpRUrVqhv375XXOdat/8lf38p1WazZfn37e7unuX+cN9992XZR5kyZbRrV87efrBx40ZVqVJFy5Yty3I/4v6e/wg2F/D19VWhQoU0Z86cLK/B79+/X3fffbfz57+/EdXd3V3p6elZtnPpDeQOh0M7d+5U7969NWTIEP3555967bXXFBUVpSVLlkiSIiIi1KNHD7Vo0ULTpk3TwIEDVbZsWUkXX3q9FHZ2u11HjhyRn5+f8yW7v3/x35XetH5p3fT0dOf7n06fPi1fX9/rn6DbwMGDB/XCCy/onnvu0eLFi53/I8yJvn37KjQ0VLNnz5aHh4dOnz6tzz77TNLFCDx27JgmTZokSdq1a5cGDBigGTNmKDIyMst2SpcurfLly+vLL790LktJSdHJkyevazy3i/bt28vLy0sNGjRQ9+7dFRkZqQoVKiggIEBly5bV6dOnlZKS4nwSS05O1unTp+Xn5+d8cvnnm8ubNm2q119/Xe3bt1dMTIwmT558zceHbdu2afTo0Vq4cKEz1ufMmaMDBw5k2fbs2bP12WefOc/0lypVSmXLltXBgwezrHfo0CH5+flJuvg48/eX3a72yWV3d/ccPTbg/1wKkr+HyT/dyPPDtfzzbNThw4dz/CuTBg4cqAYNGqhZs2ZauHCh2rVrx/1drrm/85KoC7i7u6t169aaNGmSkpKS5HA4tGzZMjVv3lx//PFHttepWLGiTpw4oU2bNsmyLK1YsUL/+9//nNsbM2aMpk6dqgsXLqhEiRIqVKhQlljy9PTUHXfcobFjx2rOnDn6+eefVapUKdWvX19jxozR8ePHlZaWpokTJ8put6thw4a66667VLx4ca1evVqWZWnHjh1Zntz/rnz58vLw8HB+4mjDhg3atGlTLs/creHs2bPq0qWLqlevrtmzZ193HCUnJ8vb21s2m02nTp3SmDFjJF0M63PnzumFF17QypUrZVmWSpUqJXd3d+d9wcvLS8nJyZKkhg0b6ty5c5o1a5bS09P1119/KTIyUv379+fLqq+hb9++CgwMVM+ePXXmzBlVrVpV999/v0aMGKHk5GQlJydr5MiRKl++vKpXr37F7Xh6espms+m1117Tf//7X33xxRfXfHxITk6Wu7u7vL29JUlbt27VvHnzLvsPnZeXlzp27KjKlSs7X25v1aqVvvnmG61Zs0Z2u107d+7U+++/r1atWkm6+DizefNmHT16VGlpaXrnnXeueF+oWLGi1q9fr7/++kvJycl6//33c2Nqb3s38vxwLVu3btWKFStkt9sVGxurdevWOW/za/H09NTdd9+tV199VRMmTNDBgwe5v7vo/l6gz7DdX6rotVcydD+RkZGaNm2aOnTooDNnzqhcuXJ666239NBDD2W7ftWqVfXSSy8pKipK586d0xNPPKEmTZo4L586dapGjx6tevXqyeFwqGbNmho9evRl26lTp46effZZRUZGasWKFXr99dc1ceJEtWzZUqmpqQoMDNSHH37oPN0+evRovfXWW5o9e7YefvhhtWnTRlu2bLlsu6VKldKQIUP07rvvavTo0apdu7bCwsJ0/vz53JmwG1GyspH7Wbp0qY4cOaI1a9ZcFsAJCQmSpKCgIMXExOjpp5++7Pqvvfaaxo0bpzlz5qh48eJq2rSpHnroIe3du1f16tXTW2+9palTpyo6Olre3t5q2rSp80MmzzzzjEaOHKlff/1Vn3zyiebOnavx48dr1qxZcjgcCgkJ0fTp029sHm6Sf3H/ArMfd3d3TZo0SWFhYerXr59mz56tmTNnavz48WrSpInS09P1yCOP6IMPPpCHx7UfZitWrKjevXsrJiZGNWrUuOrjg2VZ6tChgzp27CiHw6F7771X4eHhmjRpkvNtDpe4ublp3Lhxevrpp51nR95880298847GjJkiHx9fdW+fXu98MILkqS2bdvql19+0dNPPy0vLy916dJF99xzT7Zj7tGjh4YOHarHH39cd955p/r06aO1a9fe9NzeKC///Ln/5Md+rvf54VoefPBBrVu3TmPGjFHJkiX1xhtvKCjo+r6qqlWrVlq7dq0iIyP18ccfc393wf3dzfrnC8EGSUtL04EDB/Svf/3LWdeX2B2WbO75dxYgv/eHm+SwX/wutlt1f7cYu8MuWz7OX37vD3nLstvllku/YNvE/d2MK30VE/LW1frlRhXYl0TzO56ItQImv5+MefK/KfkdT8TarSW/46mgxBpuLQU22AAAAG4XBfo9bAAA4MoufTM/Cj7OsAEAABiOYAMAADBcgQg2gz/ICgAAkEVedIvRwebp6SlJSk1NdfFIAAAAcuZSt1zqmNxg9IcObDabfHx8nL/UukiRInwDOwAAMJJlWUpNTdWxY8fk4+Pj/LWNucHoL86VLh58UlKSzpw54+qhAAAAXJOPj49Kly6dqyeZjA+2S+x2e5ZfvAoAAGCaS78zNbcVmGADAAC4XRn9oQMAAAAQbAAAAMYj2AAAAAxHsAEAABiOYAMAADAcwQYAAGA4gg0AAMBw/w+Tuvgaq3lZzgAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Edellinen 100 % pinottuina vaakapylväinä, T vaihtaa arvosarjat ja kategoriat päittäin\n", "df3.T.plot.barh(stacked=True)\n", "\n", "plt.xlabel('Prosenttia sukupuolesta')\n", "\n", "# Selitteen sijoittelu suhteessa origoon, selitteitä 4 vierekkäin\n", "plt.legend(loc = (-0.15, -0.25), ncol=4)\n", " \n", "# x-akselin jakoviivojen otsikoiden muotoilu\n", "plt.gca().xaxis.set_major_formatter(myFmt1)\n", "\n", "# Vaakasuuntaisen taustaviivoituksen poisto\n", "plt.grid(axis='y')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Useiden muuttujien frekvenssit yhteen taulukkoon\n", "\n", "Tässä kannattaa käyttää **value_counts**-funktiota." ] }, { "cell_type": "code", "execution_count": 11, "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", "
 johtotyötovtyöymppalkkattyöteht
Erittäin tyytymätön8.5 %-11.0 %40.2 %6.1 %
Jokseenkin tyytymätön19.5 %3.7 %11.0 %23.2 %18.3 %
Ei tyytymätön eikä tyytyväinen36.6 %19.8 %36.6 %23.2 %35.4 %
Jokseenkin tyytyväinen28.0 %43.2 %28.0 %12.2 %30.5 %
Erittäin tyytyväinen7.3 %33.3 %13.4 %1.2 %9.8 %
Yhteensä100.0 %100.0 %100.0 %100.0 %100.0 %
\n" ], "text/plain": [ "" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Lasken prosentit value_counts()-toiminnolla ja muutan tuloksen dataframeksi\n", "df4 = df['johto'].value_counts(normalize=True).sort_index().to_frame()\n", "\n", "# Lisään tietokehikkoon uusia sarakkeita\n", "df4['työtov'] = df['työtov'].value_counts(sort=False, normalize=True)\n", "df4['työymp'] = df['työymp'].value_counts(sort=False, normalize=True)\n", "df4['palkkat'] = df['palkkat'].value_counts(sort=False, normalize=True)\n", "df4['työteht'] = df['työteht'].value_counts(sort=False, normalize=True)\n", "\n", "# Riviotsikot aiemmin määritellystä tyytyväisyys-listasta\n", "df4.index = tyytyväisyys\n", "\n", "# Yhteensä-rivi\n", "df4.loc['Yhteensä'] = df4.sum()\n", "\n", "# Loppusilaus\n", "# na_rep-parametrin ansiosta puuttuva arvo näytetään viivana\n", "(df4 * 100).style.format('{:.1f} %', na_rep='-')" ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "data": { "image/png": "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5QqdOnWiXbt2ZGRksGTJEtzc8v8tCAMGDKBHjx4MGzYMq9XK9OnTiYiIoH379jd9XIsWLejVqxcvvfQS1apVY9y4cbz44os0adKE4cOH07NnT0qVKuVYhmv16dOHMWPGMHfuXOD/AmZ8fDzBwcE5pr1RW+XKlenQoQN9+vTho48+AqBixYq0adOGhIQEOnbsmKMfb29vAgMDcXNzo0WLFo77J02aRHx8PM2aNaNz585cuHCBwMDAG9Z+M7NmzaJ8+fL06NGD5s2bs23bNhYtWlSgvW0iIsXJYpjgQHpaWhq//PILf/nLXyhdurSzy3Gq33//nYCAAL788kvHIYe8tF0rPj6e/v37s2PHDsceBimYZcuW8c033+T6vTU3a7vWq6++SlpaGpGRkUVRpojcRbTdyzt9YaBJpKenc/z4cZYtW0abNm1yBJmbtV3LZrORmJjI66+/TkhIiELObUhKSuK3335j6dKlTJgwIc9t1/rtt9/49ddfiY6Odny/j4iI5I2pD12VJOnp6fTt25e4uDjGjx+f57ZrnT59mj59+nDhwgWGDRtWlCWb3tdff03//v1p2bLldYfMbtZ2rU8++YRhw4bxzDPP8Ne//rUoSxYRMR0duhIREbnLaLuXd9qjIyIiIqZlqqBjgp1TIiIit6TtXd6ZIui4uroCN/5uExERETO5ePEi8H/fYi43ZopPXbm5uVGmTBmSkpJwd3fHxcUU+U1ERCQHwzC4ePEiZ8+exdvb2/FGX27MFCcjQ9benF9++aVAX3EvIiJyN/H29qZatWp5viRPSWaaoANZFyDU4SsRETEzd3d37cnJB1MFHREREZGr6WQWERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLTdnF+BMmZmZXLlyBRcXFywWi7PLERERkTwwDIPMzEzc3Nxwcbn5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ERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdcRpPT09nl1AiadydR2PvHBp353F3d3d2CVgMwzCcXYSz2O129u3bR+PGjXF1dXV2OSLFKtMwcLFYnF2G5INhGFj0P7urGJmZWFzMv0/BsNux5LIdtWdcARdLoW9j87P9divUOd+lZrxxhGPHLzm7DJFi49+kIkOe+Qsbvjc4n+rsaiQv7q8CrRpaOHvmDOnp6c4uR/KgTJkyVKxUibQtn2D8nuTscoqMS60HKdWsI3HPjMUWf8xxv1eDOliXzcZutzuxOgUdAE4kXuLoMZuzyxApNvfVzNqVfz4Vzl5wcjGSJxW9sn6np6cr6Nwlsg/bGL8nkXku0cnVFB2Ld2UAbPHH+CPusJOruZ7596eJiIhIiaWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqZluqBz+fJlTp8+7ewyRERE5A5QrEGnf//+vPnmmwCMHz+e8ePH33K6/AoLC2PXrl0FrlFERETMw3R7dFJSUpxdgoiIiNwh8h10EhISqF+/Ph988AEtW7bE19eXF198EZvNRnp6OjNnzuSJJ57AarXSokULpk2bhmEYN+3z1KlTtG/fnldeeeW6aQ8fPkzz5s15//33ATh27BhDhgyhbdu2PPLII3Tp0oWvvvoKgEGDBpGYmMiUKVOIiorK76KJiIiIyRR4j87nn39OTEwMmzZt4vjx40RGRrJ06VK2b9/O0qVLiYuL4+233+bjjz9mz549N+zn5MmT9O/fnyeffJIJEyZgsVgcbQcPHmTQoEGMGTOGAQMGADB8+HDq1avHF198QWxsLK1atWLq1KkALF68mOrVqxMZGUlERERBF01ERERMwq2gD/znP/9JxYoVARgxYgR///vfeemllwgODqZSpUqcPXuWtLQ0ypYty5kzZ3Lt49SpU/Tv35+2bdsyYsSIHG2HDh1i2bJlPPfcc/Tq1ctx/4IFC6hatSqGYXDq1CnKly9/w/5FRESkZCtw0Kldu7bj73vvvZf09HQyMjKYNm0a3333HdWqVaNhw4YYhkFmZmaufcTGxtKyZUu2bNnC6NGjueeeexxtu3btwmq1sm7dOp599lk8PDwAiI+PZ9iwYSQlJVGnTh0qVqx4y0NjIiIiUjIV+NDV1XtREhIS8PT0ZPLkyXh6erJjxw5iYmJ49dVXbxhyALp06cKCBQu49957iYyMzNE2YMAA3n77bVJTUx2fwDpz5gwjR45k9OjR7Nmzh+XLl9O1a9eCLoKIiIiYXIGDzmuvvYbNZuPMmTO88cYbPPnkk9hsNkqVKoWLiws2m41Zs2Zhs9nIyMjItQ93d3dcXV159dVX+fLLL9mwYUOOtrJlyzJ9+nQWL17MDz/8wJ9//ondbsfT0xOA//3vf7z11lsApKenA+Dh4UFqampBF0tERERMpMBB57777qNr1650794dq9XKhAkTmDRpEvHx8TRr1ozOnTtjs9kICAjg6NGjN+2rTp06DB8+nMjIyOvOt2nRogW9evXipZdeolq1aowbN44XX3wRX19fRo4cSc+ePXF3d3fMIzQ0lLlz5zJ27NiCLpqIiIiYhMXI5wkuCQkJtG/fni1btlCzZs2iqqtY2O129u3bx7sfw6F4m7PLESk2j7fxYerYhnz4tcHZC86uRvKiQQ3o4mch4eRJxx5subOVLVuWqtWqcenTt8g8l+jscoqMa91HKN2+D9ubBfNH3GHH/eWtDQn4dg12ux1XV9dCnWf29rtx48a37Nt0XxgoIiIikk1BR0REREwr3x8vr1mzJkeOHCmKWkREREQKlfboiIiIiGkp6IiIiIhpKeiIiIiIaSnoiIiIiGkp6IiIiIhpKeiIiIiIaSnoiIiIiGkp6IiIiIhp5fsLA83ovuqe3OAC6yKmdG8VTwAqlnNyIZJn5ctk/fbw8HBuIZJn7u7uAFi8fUy9V8FSrgIAXg3q5Lj/2tvOku+LeppJfi4KJmI2mYaBi8Xi7DIkHwzDwKL/2V3FyMzE4mLmmJPFsNux5LIdtWdcAReLLurpbHa73dkllDh2u53Dhw9r7IvZ1eOukFO8CuM5r5CTf85e15SEkAPkHnLsdg7993AuUxevkvEfkDvSpUuXnF1CiaRxdx6NvXNo3J0n4w44L0RBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR5zG09PT2SWUSBp359HYO4fG3Xnc3d2dXQIWwzAMZxfhLHa7nX379tG4cWNcXV2dXU6hyDQMXCwWZ5dRaAzDwGKi5RHzMzIzsbjoPaRkMex2LCbZvhSEPeMKuFgKfRubn+23W6HO+S41440jHDt+ydll3Db/JhUZ8sxf2PC9wflUZ1dz++6vAq0aWjh75gzp6enOLkfklsqUKUPFSpVI2/IJxu9Jzi5HnMyl1oOUataRuGfGYos/5uxyip1XgzpYl83Gbrc7tQ4FHeBE4iWOHrM5u4zbdl/NrN2z51Ph7AUnF1MIKnpl/U5PT1fQkbtC9m564/ckMs8lOrkacTaLd2UAbPHH+CPusJOrKbm0f1VERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETCtfQefy5cucPn26qGoRERERKVT5CjphYWHs2rXrltMlJiZitVpJTEwkIiKCiIiIAhcoIiIiUlD5unp5SkpKnqarXr06cXFxAERFReW/KhEREZFCkOc9OoMGDSIxMZEpU6YwYMAAJk+enKN9yJAhzJs3D4DY2Fj69euHn58fgYGBvP7666Snp3P58mWaNm1KTEyM43Hp6en4+/uze/du3nzzTUaOHMlLL71EkyZNaN26NRs3buStt97iscceo1mzZrz99tuOx9avX59FixbRtm1brFYrQ4YM4cyZM7c7JiIiImISeQ46ixcvpnr16kRGRtK7d282bdpEeno6AOfOnWPnzp2EhITw888/M3DgQDp27MiuXbtYsmQJW7duZdasWZQqVYqgoCA+++wzR79fffUVZcuWpXnz5gBs3ryZdu3a8f3339O9e3fGjBmDzWZj27ZtvPLKK8ybN49Tp045Hh8dHc0HH3zAN998g4uLC6NHjy6ssREREZG7XIE+dfX444/j4uLC1q1bAYiJicFqtVKrVi1iYmKoX78+zz77LB4eHtSuXZsxY8awcuVKMjMz6dmzJ7t27SIpKQmANWvWEBISgsViAaBu3bp07twZi8VCy5YtsdvtDB06FHd3dwIDA4Gsc4CyjRw5klq1alGuXDnGjRvH999/T0JCwm0NioiIiJhDgYKOh4cHXbt2deyZWbNmDT179gQgOTmZWrVq5Zi+Zs2apKWlkZycTKNGjahTpw7r168nOTmZHTt20KNHD8e03t7e/1ecS1Z599xzT47bmZmZjmlq167t+Lt69eoAjhAlIiIiJVuBv0enZ8+ebN++nbi4OBISEujUqRMANWrU4MSJEzmmPXHiBB4eHo7A0rNnT9avX8+mTZvw8/OjZs2ajmmz9+zk1dXn5GTvyckOPCIiIlKy5SvoeHh4kJqaCkDDhg2pW7cuUVFRdOnSBU9PTwCCgoI4duwYS5cuJT09nRMnTjBnzhy6deuGh4cHAN27dyc+Pp6VK1cSEhJyWwvw1ltvkZSUxB9//MHMmTMJCAigatWqt9WniIiImEO+gk5oaChz585l7NixAISEhHD48GHHYSvIOky1aNEiNm/ezGOPPUZYWBgtW7bM8V06FStWpE2bNiQkJNCxY8fbWoCHHnqIsLAwAgMDKV++PLNnz76t/kRERMQ88vU9OoMHD2bw4MGO2zVq1OCBBx7AarXmmM7Pz48VK1bctK8aNWoQFBRE6dKlHfcNHz48xzT+/v4cOXIkx33X3u7YseN1H3UXERERgXwGnWwpKSmcPn2a+fPn89RTT+Xrsb/99hu//vor0dHRvP/++wWZvYiIiEieFOhk5IMHD9K3b198fHzo27dvvh77ySefMGzYMJ555hn++te/FmT2IiIiInlSoD06AQEB7N+/v0AzHDlyJCNHjizQY6917WEsERERkasV+OPlIiIiInc6BR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExrQJ9YaDZ3Ffdk4wMZ1dx++6tknUF+YrlnFxIISlfJut39lXvRe507u7uAFi8ffQuUrCUqwCAV4M6Tq7EOe6U5bYYhmE4uwhnsdvt7Nu3j8aNG+Pq6urscgpFpmHgYrE4u4xCYxgGFhMtj5ifkZmJxUUxR7IYdjsWk2xfCsKecQVcLIW+jc3P9luvRrIGzCzulpBjt9s5fPjwLcdeIadw5XXcpeBuFHI09s7h7HEv0SHHbufQfw87uwwFHXGeS5cuObuEEknj7jwae+fQuDtPxh1wXoiCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjjiNp6ens0sokTTuzqOxdw6Nu/O4u7s7uwQshmEYzi7CWex2O/v27aNx48a4urreVl+GYWCxWAqpMskLIzMTi4uyukheGHY7lttcz4nklz3jCrhYbnsbe12/+dh+uxXqnO9Sn+8zSE4teN67vwq0amjh7JkzpKenF2JlciNlypShYqVKpG35BOP3JGeXI3JHc6n1IKWadSTumbHY4o85uxwpIbwa1MG6bDZ2u92pdSjoACmpcPZCwR9f0Svrd3p6uoJOMcneHWr8nkTmuUQnVyNyZ7N4VwbAFn+MP+IOO7kakeKl/f4iIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYlqFGnQuX77M6dOnb7ufX3/99faLERERkRKvUINOWFgYu3btuuV0iYmJWK1WEhMTiYiIICIiwtF2+PBhunbtWphliYiISAlVqFcvT0lJydN01atXJy4uDoCoqKgcbampqWRkZBRmWSIiIlJCFdoenUGDBpGYmMiUKVMYMGAAkydPztE+ZMgQ5s2bB0BsbCz9+vXDz8+PwMBAXn/9ddLT0zl58iTh4eEAWK1W4uLiyMzM5N133+Xxxx/H19eX0NBQtm/fDsCqVato3bo1mZmZjvmsWLGCoKCgwlosERERuYsVWtBZvHgx1atXJzIykt69e7Np0ybS09MBOHfuHDt37iQkJISff/6ZgQMH0rFjR3bt2sWSJUvYunUrs2bNolatWixcuBCAuLg4rFYrb731FsuXL2fevHns3buXQYMGMWzYMA4cOECXLl2w2Wzs3r3bUceaNWsIDQ0trMUSERGRu1iRfOrq8ccfx8XFha1btwIQExOD1WqlVq1axMTEUL9+fZ599lk8PDyoXbs2Y8aMYeXKlTn2zGT79NNPee6553jooYdwc3OjS5cuBAYGsmrVKsqUKUPXrl2Jjo4G4NixY/z3v//lySefLIrFEhERkbtMkQQdDw8PunbtymeffQZk7WXp2bMnAMnJydSqVSvH9DVr1iQtLY3k5OTr+jp37lyu0586dQqAXr168eWXX/Lnn3+yevVqAgMDqVixYlEsloiIiNxliux7dHr27Mn27duJi4sjISGBTp06AVCjRg1OnDiRY9oTJ07g4eHBPffcc10/NWrU4OTJkznuO3nyJFWqVAGgUaNG1K5dmy+++IKYmBgdthIRERGHQg06Hh4epKamAtCwYUPq1q1LVFQUXbp0wdPTE4CgoCCOHTvG0qVLSU9P58SJE8yZM4du3brh4eFBqVKlABz99OrVi3fffZdDhw5ht9vZuHEjW7duJTg42DHfXr168cYbb+Di4kKrVq0Kc5FERETkLlaoQSc0NJS5c+cyduxYAEJCQjh8+LDjsBVkHXZatGgRmzdv5rHHHiMsLIyWLVs6vkunXr16+Pr6EhAQwLZt2xg4cCD9+vVj9OjR+Pn5sWDBAubMmUOzZs0cfXbr1o3k5GRCQkJwcdGXPYuIiEiWQv0encGDBzN48GDH7Ro1avDAAw9gtVpzTOfn58eKFSty7aNMmTLXtT333HM899xzN5xv+fLl2b9//21ULiIiImZUqEEnW0pKCqdPn2b+/Pk89dRTRTELERERkVsqkuM8Bw8epG/fvvj4+NC3b9+imIWIiIjILRXJHp2AgAAdShIRERGn05m7IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaRfKFgXebCuUg8zYeX75M1m8PD49CqUduzd3dHQCLt4/SusgtWMpVAMCrQR0nVyIlyZ3yfFPQATo2tuDqarmtPgzDoErVqoVUkeSFkZlJ6fa9nV2GyF3BsNuxLpvt7DKkhLFnXAGX29u+3i69GQbsdvtt92GxOPcfebex2+0cPnz4tsbe4qKnb34VxrhLwTh77C2urk6Zr7M5e9xLMrvdzqH/HnZ2GQo64jyXLl1ydgklksbdeTT2zqFxd56MjAxnl6CgIyIiIualoCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgIyIiIqaloCMiIiKmpaAjIiIipqWgI07j6enp7BJKJI2782jsnUPj7jzu7u7OLgGLYRiGs4twFrvdzr59+2jcuDGurq7OLueGMg0DF4vF2WWUGIZhYNF4y13EyMzE4qL3rZLFsNux3CHbNHvGFXCxFPo2Nj/bb7dCnfNdasYbRzh2/JKzy8iVf5OKDHnmL2z43uB8qrOrMb/7q0CrhhbOnjlDenq6s8sRuaUyZcpQsVIl0rZ8gvF7krPLESdzqfUgpZp1JO6Zsdjijzm1Fq8GdbAum43dbndqHQo6wInESxw9ZnN2Gbm6r2bWLtfzqXD2gpOLKQEqemX9Tk9PV9CRu0L2oQHj9yQyzyU6uRpxNot3ZQBs8cf4I+6wk6u5M2hfp4iIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJjWXRd0fv31V2eXICIiIneJYgk6iYmJWK1WEhNvfh2WvXv3Ur9+/Ru2Hz58mK5duxZ2eSIiImJSxXJRz+rVqxMXF3fb/aSmppKRkVEIFYmIiEhJUCx7dBISEqhfvz4JCQmcOnWKUaNG0aJFC1q2bMmYMWM4e/Zsjunfe+89OnToQOPGjRkxYgQ2m42TJ08SHh4OgNVqJS4ujszMTN59910ef/xxfH19CQ0NZfv27cWxSCIiInIXKNZzdK5cucKgQYNwdXXl888/Z+PGjQAMHTqUK1euOKY7deoU69atY/Pmzezbt4/ly5dTq1YtFi5cCEBcXBxWq5W33nqL5cuXM2/ePPbu3cugQYMYNmwYBw4cKM7FEhERkTtUsQad2NhYTp48SWRkJOXKlaN8+fJERkYSHx/PwYMHHdMNHz6cUqVKUbVqVZo2bcqJEydy7e/TTz/lueee46GHHsLNzY0uXboQGBjIqlWrimuRRERE5A5WrEEnOTmZChUq4OXl5bjPy8sLb29vTp065bivQoUKjr/d3d2x2+259nfu3Dlq1aqV476aNWvm6EtERERKrmINOs2aNSMlJQWbzea4LzU1lZSUFHx8fPLdX40aNTh58mSO+06ePEmVKlVuu1YRERG5+xVr0KlYsSJ169ZlypQppKamkpqaytSpU7nvvvto0qTJLR9fqlQpICscAfTq1Yt3332XQ4cOYbfb2bhxI1u3biU4OLhIl0NERETuDsXy8fJsrq6uLFiwgBkzZtCpUyfS09N57LHHWLJkCW5uty6lXr16+Pr6EhAQwLx58xg4cCCZmZmMHj2apKQkateuzZw5c2jWrFkxLI2IiIjc6Yol6BiGAWQFnXvvvZd58+blOp2/vz9HjhzJcd+MGTMcf5cpU4YVK1bkaH/uued47rnnCrliERERMYMiP3R1+fJljhw5gqurK97e3kU9OxERERGHIt+j8+9//5vly5cTHh6Op6dnUc9ORERExKHIg86YMWMYM2ZMUc9GRERE5Dp33dXLRURERPJKQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETKtYr15+p7qvuicZGc6uInf3Vsm6bEbFck4upIQoXybrt4eHh3MLEckjd3d3ACzePnrnKljKVQDAq0EdJ1dyZ9QAYDGyLy1eAtntdvbt20fjxo1xdXV1djk3lGkYuFgszi6jxDAMA4vGW+4iRmYmFhfFHMli2O1Y7pBtmj3jCrhYCn0bm5/tt14ZZA3YncyMIcdut3P48OE7cuzNHHLu5HE3u6Ice4WcGyuJz/k7JuTY7Rz672Fnl6GgI85z6dIlZ5dQImncnUdj7xwad+fJuAPOC1HQEREREdNS0BERERHTUtARERER01LQEREREdNS0BERERHTUtARERER01LQEREREdNS0BERERHTUtARERER01LQEREREdNS0BERERHTUtARERER01LQEREREdNS0BERERHTcnN2Ac5kGAYAdrsdu93u5GpKluzx1rgXL42782jsnUPj7jxFOfbZfWZvx2/GYuRlKpNKT0/nxx9/dHYZIiIiUgCNGjXCw8PjptOU6KCTmZnJlStXcHFxwWKxOLscERERyQPDMMjMzMTNzQ0Xl5ufhVOig46IiIiYm05GFhEREdNS0BERERHTUtARERER01LQEREREdNS0BERERHTUtARERER01LQEREREdMyZdBJTk5m2LBh+Pn54e/vz/Tp07ly5Uqu0545c4a+fftitVrp378/586dc7TFxMTw0ksvFVfZd6X4+HgGDhxIs2bNaNmyJePGjeP8+fOO9v3799OrVy+sViuBgYGsXLnyhn19++23dOjQAV9fXyZOnEhmZqajbfLkyXz66adFuix3K7vdTv/+/Rk/fnyO+zX2ReP3339n3Lhx+Pv707RpU4YNG8bZs2cd7Rr3onPo0CH69euHn58frVq14uWXXyY9Pd3RrrEvXOfPn6dDhw7s3bs3x/23Guc1a9bQoUMHGjduTEhICHFxcTecx7Jly/D396dly5Z89NFHjvszMjIIDg7m559/vv0FMUzo6aefNsaMGWNcvHjROHHihBEUFGQsXLgw12lnzpxpjBo1yrh48aIxcuRI41//+pdhGIaRmppqdOnSxTh37lxxln5XuXTpktGyZUtj3rx5xuXLl43z588b4eHhxpAhQwzDMIzff//daNasmfHhhx8aGRkZxq5duwyr1Wrs378/1/569uxpLFu2zLhw4YIRGBhobNu2zTAMw9i/f78RFhZmZGZmFtuy3U1ef/11o0GDBsZLL73kuE9jX3Sefvpp4/nnnzcuXLhgpKamGi+88ILx3HPPGYahcS9KdrvdaNmypbF06VLDbrcbv/32m9GpUyfj3//+t2EYGvvCFhsbazz++ONGvXr1jD179jjuv9U479mzx7BarUZsbKyRnp5uLFmyxPD39zcuXrx43TxSU1ONv/71r0Z8fLzx3//+1/jrX/9q/Pnnn4ZhGMbChQuNOXPmFMqymG6PzvHjx/n222958cUX8fT0pFatWgwbNozly5fnOr2bW9Z1TY3//wXRrq6uAMybN49+/fpRqVKl4in8LpSYmEiDBg14/vnn8fDwoEKFCvTp04fvvvsOgM8//xxvb2/69euHm5sbLVq0oFu3bnn6XxiGgaurK5mZmbz88stEREToMh252L17N59//jkdO3bMcb/GvmgcPHiQ/fv3M2PGDMqXL4+XlxfTpk1j7NixgMa9KF24cIGkpCQyMzMd62sXFxc8PT0BjX1hWrNmDWPHjmX06NHXtd1qnFeuXElQUBC+vr64u7szYMAAKlSowIYNG67rK3t7m/3/tFgsWCwWTp8+zWeffcbf//73Qlke0wWdn376CW9vb6pWreq4r06dOiQmJvLHH39cN/0zzzxDSkoK7dq1w2azMWDAAOLj4zlw4AB9+/YtztLvOg888ACLFi1yPFkBNm/ezEMPPQRk/S/q1auX4zF169YlPj4+1/5efPFFPvnkEzp37kxgYCCPPfYYH330EU2aNKF+/fpFtyB3qeTkZCZOnMhrr73mWNln09gXjQMHDlC3bl0++eQTOnToQKtWrZg5cyY+Pj6Axr0oVahQgQEDBjBz5kwaNWpEmzZtuP/++xkwYACgsS9MrVq14osvvqBLly7Xtd1qnP/3v//l+f/g6elJREQEQ4YM4e9//zsvv/wynp6evPLKK4wePZrSpUsXyvK4FUovd5A///zzupV+9u2LFy9Svnz5HG2VK1fm/fffd9w2DIMXXniBSZMmsXHjRt577z08PDwYO3Ysfn5+RV7/3cowDF5//XW++uorPvzwQyD3/0Xp0qW5ePFirn34+voSExPjuJ2cnMxHH33Exx9/zOzZs9m+fTv33nsvkZGROYJsSZSZmcmLL77IwIEDadCgwXXtGvuiceHCBY4cOcLDDz/MmjVrSEtLY9y4cbz00kssWLBA416EMjMzKV26NJMnTyY0NJTjx4/zwgsv8MYbbzBq1CiNfSHKDu65udU45/f/0Ldv3xw7FXbs2MGVK1fw9fVlxIgRHD9+nCZNmjBhwgTc3d0LtDym26NTpkwZLl26lOO+7Ntly5a95eNXr15NvXr1qFmzJpMnT+bf//4348aNY9SoUY7da5KTzWZjxIgRxMTE8OGHHzreDXl6epKWlpZj2rS0tDz9HwBmzZrF888/T2xsLNu2bWPlypU0btyYGTNmFPoy3G0WLFiAh4cH/fv3z7VdY180PDw8AJg4cSJeXl5UrlyZUaNGsW3bNscKXuNeNL744gs2b95MWFgYHh4ePPjggzz//POOE1g19sXjVuN8O/+H9PR0/vWvfzFx4kTeeecdvL29iY6O5sSJE6xatarANZsu6Dz44IP8/vvvOT49dezYMapVq0a5cuVu+tgLFy7w/vvvM3r0aE6cOEGZMmWoXr06Dz/8MElJSaSkpBR1+XedEydO0LNnT2w2G6tWrcqxy7devXr89NNPOab/3//+x4MPPnjLfmNjYzl37hxPPPEER48epV69enh4ePDwww9z9OjRQl+Ou81nn33Gt99+i5+fH35+fqxbt45169Y59jpq7ItG3bp1yczMJCMjw3Ff9qd1DMPQuBeh3377LccnrCDrPJvsd/ka++Jxq3F+8MEHC/x/WLRoEV26dKFGjRr89NNPPPTQQ1gsFh566KHb+j+YLujcf//9+Pr68sorr2Cz2Th58iRvv/02oaGht3zsnDlz+Nvf/kb58uWpUaMGf/zxB8ePHycuLo577rkHb2/vol+Au8iFCxd49tlnadKkCe+99x4VK1bM0d6hQwfOnTvH+++/T0ZGBnv27CEmJoaePXvetN8rV67w6quvMnnyZCDrfxofH8+lS5eIi4vjvvvuK7Jlults2rSJH374gdjYWGJjY+natStdu3YlNjYW0NgXlccee4xatWoxYcIE/vzzT86fP8/cuXN5/PHH8fLy0rgXoVatWpGUlMQ777yD3W7n5MmTzJ8/n27dugF6zheXW41zaGgoMTEx7Nmzh4yMDN5//32Sk5Pp0KHDTftNSEjgiy++YODAgUDW/2Hfvn1kZGRw4MABateuXfCiC+WzW3eYpKQkY/jw4UazZs2M5s2bGzNmzDCuXLly08ccOHDAePrpp3Pc9+GHHxrNmzc32rZta2zZsqUoS74rLV682KhXr57x6KOPGo0bN87xk+3AgQNGnz59DKvVarRv39749NNP89TvvHnzHLftdrsxfvx4w9fX1wgJCTF+/vnnIlmeu9lLL72U4+PlhqGxLyqnT582Ro0aZbRs2dLw8/Mzxo0bZ1y4cMHRrnEvOjt37jR69epl+Pr6Gm3btjXmzJljXL582dGusS9813683DBuPc7R0dFGp06djMaNGxuhoaHGvn37bjmfIUOGGLt27XLcPnPmjBEWFmY0adLEeOGFF4xLly4VeBkshqETT0RERMScTHfoSkRERCSbgo6IiIiYloKOiIiImJaCjoiIiJiWgo6IiIiYloKOiIiImJaCjoiIiJiWgo6I3BGyv+022+XLlzl9+rQTK7q148ePO3X+Z8+eveHFEkUki4KOiEkFBgbSqFEjrFYrVquVxo0b06pVK2bOnOm4PtOdZPTo0URHRztuh4WFsWvXLiDrWkRWq9VJleVu5syZzJ8/v1D6eueddxg8eDAAa9euJSgo6JaPOXfuHJ06deL8+fOFUoOIWbk5uwARKTqRkZGEhIQ4bh85coQBAwbg6enJiBEjnFjZ9a69aO7Vt/38/IiLiyvukm6qMC/yO3ToUMff3bt3p3v37rd8TFpamvbmiOSB9uiIlCD169enadOmHD58GID+/fszfvx42rVrR9u2bbHZbBw5coTw8HCaNWtG69atmTp1KqmpqQDYbDZGjx6Nv78/LVu25G9/+xvHjh1z9L9+/Xq6deuGr68vISEh7Nixw9HWv39/XnvtNfr164fVauWJJ55gw4YNAEycOJHY2FgWLFjA0KFDGTRoEImJiUyZMoWoqCj27t1L/fr1HX1t3bqVvn370qJFCx599FGefvppfv311+uW12azYbVac9Txxx9/8Mgjj3DgwAHS09OZOXMmTzzxBFarlRYtWjBt2jSyr4zz3XffERISgp+fHx06dGD69OlcuXKFt956i5iYGGJiYhyh5IcffuCZZ56hVatWNGrUiJCQEPbt2+eY76pVqwgJCcHf3x+r1cqQIUMce2PefPNN+vfvD8Dq1asJDAwEsi44OXXqVFq2bIm/vz9hYWF8//332O12unbtCkDXrl3ZsGHDLZdFpMQq8FWyROSO1q5duxwX20tPTzf27NljNG3a1Fi2bJlhGIbx9NNPGwEBAcbp06eNCxcuGOfPnzeaNWtmzJgxw7h06ZJx9uxZ45lnnjGGDh1qGIZhzJs3zxg8eLBx6dIl4/Lly8ZLL73kaPv6668NX19f49tvvzWuXLlibN261WjcuLFx9OhRx7yaNWtmHDp0yLh8+bIxZ84cw9fX10hLS3O0v/HGG7nWv2fPHqNevXqGYRjGb7/9Zjz88MOOC+2eP3/eCAsLM8aOHZvrOPzzn/80/vGPfzhuL1++3OjatathGIbx7rvvGkFBQcaZM2cMwzCMH374wWjYsKHj4oJt27Y1Vq9ebRiGYZw8edJo1aqVsWnTJsMwcl5I9dKlS0azZs2MDz/80LDb7caff/5pjBw50njqqacMwzCM/fv3G48++qixf/9+xzJ07NjRmDt3rmEYhvHGG284Lir86aefGu3atTMMwzBWrVpldO/e3bhw4YJx5coVY86cOUa3bt0c9dSrV884efJknpZFpKTSoSsRE4uMjOSVV15x3K5WrRoDBw7k6aefdtzXunVrqlatCmTtdXB3d2fs2LG4urpSunRpJk+eTFBQEElJSZQuXZr4+Hiio6Np2bIlr7zyCi4uWTuGP/zwQ5566imaNm0KQLt27QgMDOTjjz9m8uTJAHTq1ImGDRsCEBwczDvvvENycjLVq1fP8zJVrFiR9evXc99992Gz2Th9+jQVKlTgzJkzuU7fq1cvBg4ciM1mw8vLizVr1hAaGgpA7969CQ4OplKlSpw9e5a0tDTKli3r6KtUqVJs3LgRb29vmjZtyrZt2xzLezV3d3f+85//ULt2bS5fvsypU6fw9vbmxx9/BKBevXqsW7eOmjVrcuHCBc6ePUvFihVvWHO20qVLk5CQwKpVq2jdujUjR45k9OjRuU57q2URKakUdERMbMqUKTnO0clNlSpVHH9nhw5XV1fHfTVr1gTg1KlThIeH4+HhwapVq4iKiqJWrVqMGTOGjh07curUKb799ls++ugjx2PtdjvNmzd33Pbx8XH87eaWtfrJ74nR7u7urFu3jo8//hiLxUK9evWw2WyO/q5ltVqpWbMmmzdvpnHjxsTHx7Nw4UIALl26RFRUFN999x3VqlWjYcOGGIbhqGnp0qW8+eabREZGkpSUREBAAFOnTqVatWo55uHq6srevXsJDw/n4sWL1K1bFzc3N8dhIxcXF5YtW0ZMTAxlypShfv362Gy2Wx5WCgoKIiMjg5UrVzJnzhwqVarE0KFDeeqpp66b9lbLIlJSKeiIlHAWi8Xxd40aNUhMTMRutzvCzokTJ4CskHLkyBECAwMZMGAAqamprFixgtGjR7Nnzx6qVatGjx49eO655xz9JSYmUrp06UKtd+PGjXz44Yd89NFH1K5dG4Bp06Zx9OjRGz4mNDSUdevWcfz4cR5//HG8vb0BmDRpEvfccw87duygVKlSZGZmOvZIXb58mf/9739MnToVNzc3fvnlFyZNmsQrr7zCG2+8kaP//fv3M23aND7++GMefvhhABYvXswvv/wCwPvvv8/OnTuJiYmhcuXKQM4TkG/kl19+4aGHHqJHjx6kpaWxadMmXnrpJfz8/PD09Mwx7c2WRaQk08nIIuLQpk0bAGbPnk1aWhpJSUlMnz6d5s2bU6NGDVauXMm4ceNITk7Gy8sLLy8vypQpg4eHB71792bZsmUcOHAAgB9//JGQkBDWrVuXp3l7eHg4TnrO7Xa21NRUXFxcKF26NIZh8M033xAdHU1GRsYN++7Rowf79u0jOjqaXr16Oe632WyUKlUKFxcXbDYbs2bNwmazkZGRgcVi4R//+AeLFy/mypUr+Pj44ObmRoUKFa6r7+qaAPbt28eyZctIT093zMfNzQ13d3euXLnCZ599xvbt229aM8BXX33FCy+8QEJCAqVLl8bb2xs3NzfKlStHqVKlHH3fallESjLt0RERh3LlyrFkyRJmzJjhCD3t27dn3LhxAPzjH/8gKiqKoKAgLl++zAMPPMDbb79NqVKl6Ny5MxcvXmTChAkkJibi7e3NgAEDHJ8mupUePXowdepUDh48yIoVKwgNDWXu3Ln8+OOPOcJJcHAw33//PUFBQbi6uvLAAw/w7LPPsnz5ctLT0/Hw8Liub29vbwIDA4mLi6NFixaO+ydNmkRERATNmjWjbNmytG3bloCAAI4ePYqHhwfz589n5syZLFiwAFdXV1q3bs3YsWMB6NKlC6NHj6Zt27Z89dVXhIWF0a9fPzIzM6lZs6bjU2bnzp1j0KBBHD16lHbt2lGqVCkaNmxIWFgYe/bsuemYPPPMM5w5c4a+fftis9moUaMGc+fOpVq1ahiGQYcOHejTpw/jx4+/6bKIlGQW41YHiUVEpEjNmzePH374gaVLlzq7FBHT0aErEREnstls/Pzzz45zd0SkcOnQlYiIkxiGQZcuXXB1dWXu3LnOLkfElHToSkRERExLh65ERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0FHRERETEtBR0RERExLQUdERERMS0/h/9V1F2HZro7AAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Edellinen 100 % pylväinä\n", "# cmap-parametrilla voin määrittää käytettävän värikartan\n", "df4.drop('Yhteensä').T.plot.barh(stacked=True, cmap='coolwarm')\n", "\n", "plt.xlabel('Prosenttia vastaajista')\n", "\n", "# Selitteen sijainti; 2 selitettä vierekkäin\n", "plt.legend(loc=(-0.03, 1.1), ncol=2)\n", "\n", "# x-akselin jakoviivojen otsikoiden muotoilu\n", "plt.gca().xaxis.set_major_formatter(myFmt1)\n", "\n", "# Vaakasuuntaisen taustaviivoituksen poisto\n", "plt.grid(axis='y')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Värikarttoja https://matplotlib.org/stable/tutorials/colors/colormaps.html" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Matplotlib mahdollistaa monenlaisia toteutuksia. Seuraavassa laadin viiden kaavion yhdistelmän\n", "\n", "- parametrilla **subplots=True** määritän, että jokaisesta sarakkeesta oma kaavio\n", "- parametrilla **layout=(1, 5)** määritän, että kaaviot sijoitetaan 1 riville, 5 rinnakkain\n", "- parametreilla **sharex=True, sharey=True** määritän, että kaikilla kaavioilla on yhteiset akselit\n", "- parametrilla **figsize=(12, 2)** määritän kuvion koon\n", "- parametrilla **legend=False** jätän kaavioista selitteet pois" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0.08, 0.5, '%')" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA+wAAAGGCAYAAADhKQudAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABra0lEQVR4nO3de3zP9f//8fs2xkJYTtHpK40PkeMQtawcEmEjlRSVY6WjT5SQiOrjkIiISpSizDElFCpnOeeQSiGHzWFz2mzP3x/7bcyMzbxez/f2ul0vly6X9n7v/X48zf1ue772fr9efsYYIwAAAAAA4FP8bS8AAAAAAACkx4YdAAAAAAAfxIYdAAAAAAAfxIYdAAAAAAAfxIYdAAAAAAAfxIYdAAAAAAAfxIYdAAAAAAAfxIYdAAAAAAAfxIYdV5wxxvYSgAw5kU8yD19ELoGci/7iSsmJP/eQ/7TYsHtYeHi4evXqdUU/f+fOnXrooYeyuzTAEQsXLtTLL7+cpce0b99e7du3lyT16tVL4eHhae4n8/BFTmQd8Jqvv/5a5cuX1z///CPp0r1YsWKFypcvrxUrVmRrLt9XcKX40s895z5vRv7991916dJFe/bsyfLz52Z5bC8A9owaNUoFCxa8os/5zTffaN26dVf0OYEr5eOPP87yY/r165f6/927d9ejjz6a5n4yD1/kRNYBuIPvK7hSctrPPT///LN++OEHvfbaa448f07Fht3DKlasaHsJgM8rV65c6v/fcMMNFlcCOIusAwD4XuB7eEm8h537EvfY2FgNHjxY99xzjypXrqxmzZpp+vTp6R6TkJCgt99+W/Xq1VPVqlX1+OOP66+//pIkvffeexo1apQkqXz58nrvvfckSadPn9bo0aPVpEkTVa5cWY0aNdK4ceOUlJTk0p8USH4p1sqVK7Vy5UqVL19e9evX14svvpju8+6991717t1bkpSYmKgpU6aoefPmqlKliu666y7973//0+nTpyVdfubHjh2rSpUqKSYmJs3szz77TBUrVtTBgwcd+zog93Mi6z/88IPKly+vZcuWpXmOX3/9VeXLl9fKlStTXw78yy+/qH379qnPM23aNB04cEBPP/20qlWrprCwsDS/9Ul53LJly9SuXTtVqVJFDRs21OTJk537IiHXCw8P1/DhwzV48GCFhoYqNDRUPXv21OHDh1M/Z9q0aYqIiFDVqlVVpUoVtWjRQvPmzcv0jC1btqhmzZp64oknFB8fn+7++Ph4Pf744woNDdXmzZslSadOndLQoUPVqFEj3Xrrrapevbo6duyorVu3Ssr4+wqQVW7+3JOUlKRx48apYcOGuvXWW9W4cWN9+umn6WYZYzR+/HjdddddqlKlitq2bauNGzdKSn4LSso67r777iy9bTfXM/CsBg0amJdfftmcPHnSNGvWzNSpU8dMmTLFLFmyxPTt29eEhISYMWPGpPn8ChUqmCeffNIsWbLEfPXVV6ZmzZqmVatWxhhj9u3bZ1555RUTEhJi1q1bZ/bt22eSkpJMhw4dTNWqVc348ePNsmXLzNChQ81//vMf06dPH1t/dHjQjh07TMuWLU3Lli3NunXrzJtvvmmqVKliYmNjUz/n119/NSEhIWblypXGGGNeeeUVU7FiRTNs2DCzbNkyM27cOHPbbbeZxx9/3CQlJV125vfs2WPKly9vPv/88zRrfOihh8zjjz/u3hcFuZITWT9z5oy54447zEsvvZRmVt++fc3dd99tkpKSzPLly01ISIipU6eOmThxovnpp5/MY489Zv7zn/+Yxo0bm3fffdcsWbLEdOvWzYSEhJj169cbY0zq42rWrGkGDhxolixZYvr162dCQkLMpEmT3PvCIVdp0KCBqVmzpomMjDQLFiwwX3zxhQkNDTUREREmMTHRTJ482VSoUMGMGjXKLF++3MyfP99ERkaaihUrmj179hhjjPnqq69MSEiI+fvvv40xxrz88sumQYMGxhhjdu7caerUqWM6duxoTp06ZYw5m+Xly5ebhIQE0717d1OzZk2zcePG1HU988wzpk6dOmbatGlmxYoV5osvvjC33367ady4cYbfV4DL4dbPPcYY89prr5lKlSqZkSNHmqVLl5phw4al9ivFI488YipUqGDatGljvv/+ezNv3jwTFhZmbr/9dpOQkGCio6PN8OHDTUhIiPnuu+/MX3/95e4XzIexYfewlA37lClTTEhIiFm9enWa+1955RVTuXJlc/jw4dTPDwsLM/Hx8amfM2zYMBMSEpJa/pEjR5qQkJDU+3/44QcTEhJiZs6cmea5R48ebUJCQsyOHTsc+tMB6T3yyCPmkUceMcYYs2vXLhMSEmKmT5+een+/fv3MPffcY5KSksyOHTtMSEiIef/999M8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//1X3bp106OPPqp9+/Zp2LBhql+/vpo2bar//e9/mjJlikqVKqWrr75ay5Yt0yeffCJJOnny5CWf28/PT6+//roiIiL01ltvadCgQek+p23btpoxY4YGDhyo22+/XZUqVVKePHn0zjvv6PHHH1d8fLy+/vpr/fDDD5KkEydOSEr/fSXlfEFAVrnxc09ISIjuv/9+vfbaa9qzZ49uvfVW/fHHHxo+fLiuu+463XTTTVlaryQtWLBAd955p26++eYr98XIwfjpEAoKCtKnn36q8PBwjRw5Ut26ddOaNWs0aNAgPfPMM1l6rkaNGqly5crq1auXJkyYID8/P33wwQd68MEHNWnSJHXu3Fnz58/X888/f8FvboCT2rVrp7x586pTp06pv0mpWrWqihYtqvvuuy/d5mPQoEF6+umnNXfuXHXu3FlTpkxR+/btNX78+NTNdXYyHxAQoPvuu0+JiYmpJ6UDrgQnsp4i5eW7V/Ll8JL0yiuv6Mcff1S3bt20fv16jRw5Us2aNbuiM+At9913n2644QY999xzeu+999SqVSuNHj1akvT++++rZMmS6tWrl5577jn9+uuvGjNmjMqWLavVq1dn6vnLly+vRx99VNOnT9cvv/yS7v6UTf3Ro0c1ePBg3XjjjRo6dKj279+vbt26qW/fvpKkTz/9VH5+fqlzz/++AlwuN37ukaTBgwerY8eOmjp1qp588kmNHTtWTZs21cSJExUQEJDp9dauXVu33367hg4dqrfeeusKfRVyPj/DGS48q169emrUqJH69etneymANRs2bFCbNm301Vdf6dZbb7W9HMAxVyrr/fv315o1a9K9bPJyrVixQo8++qgmTZqk2rVrX5HnBMLDwxUaGqohQ4bYXgrgU/i5J+fhJfEetGXLFq1du1aHDh3ivYHwrBUrVmjFihWpZ7rmmxZyqyuV9UmTJmnXrl364osvNHjw4Cu8SgCAk/i5J+fiJfEe9PXXX2vo0KG64447rvhLGoGc4vDhw/roo490zTXXsPlArnalsr569WrNnDlT7du3T3ftdQCAb+PnnpyLl8QDAAAAAOCD+A07AAAAAAA+iA07AAAAAAA+iA07AAAAAAA+yNNniU9KStKZM2fk7+8vPz8/28uBxxhjlJSUpDx58qS7zrEbyD9sowPwMvIPr6MD8LKs5N/TG/YzZ85o48aNtpcB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u/NCjZQji7fcckvqbW4dWfSVo6teRwfsdID8+wbyT/69jg7QAS8j/97NPxv2TDhz5oyioqJSP05ISEjzcWJiomtradeundq1a+favHMdPHhQXbt21W+//aYiRYro8OHDuummmzRx4kSVKlXK8fm2jyx6GR1IRge8ifwnI//e5Ev5l+gAHXCfL3WA/Hsz/1zWLRMyOo3/uRYtWuT4Og4ePKjx48frlVde0erVq9WjRw8FBwdrxIgRKleunGNzmzdvrtmzZ+ull16SMUYDBgxQgQIFFBsbq/79++vMmTN69913HZt/rilTpuizzz7Tnj17VLJkydQji04f3atevbrWrl2b+nFoaKhWrlyZ4f25DR3wdgfIP/kn/+T/YtzIv0QHJDpgg690gPx7N//8hj0T3PpGdCkDBgzQiRMnZIzRoEGD1LRpUwUFBemNN97QJ5984tjczp07S5KWL1+u+fPnq0CBApKkQoUKqX///rr77rsdm30+W0cWfenoqg10wNsdIP/kXyL/Kci/PXSADtjgKx0g/97NPxv2HGTjxo2aN2+eDh48qN9++00TJ05UoUKFVLt2bUfnprw3Iykp6YLv28ibN6+j81PYOrIoScWKFdPIkSNTPy5atGiaj6+55hpH5yMZHbDTAfLvG8g/+fc6OkAHvIz8ezf/bNhzkJMnTyp//vxasGCBQkJCVLRoUcXFxSlPHmf/GseOHatmzZopNDRU/fv31+uvv66rrrpKx48fV//+/RUaGuro/BS2jixKvnN01evogJ0OkH/fQP7Jv9fRATrgZeTfu/nnPew5SKdOnXTttddqzZo1uvfee/Xggw9qwIABSkpK0qhRoxyfv3fvXnXs2FF79uxRkSJFdOTIEZUrV05jx4515WQTd911l+bNm6e4uDiFhYXp559/Tj2yuGbNGsfnwz46QAe8jPyTf6+jA3TAy8i/d/PPb9hzkEGDBmnYsGGqWbOmunbtqs2bNys+Pl4DBw50ZX7p0qU1d+5crVq1SjExMSpTpowqV66sgIAAV+bbOrII30EH6ICXkX/y73V0gA54Gfn3bv75DXsOcvz48dQTPZxr2bJlql+/vuPzW7ZsmeYkCynCw8NdebmI7SOLsI8O0AEvI//k3+voAB3wMvLv3fzn/kMSuUjXrl01YcIEBQYGSpJOnTqlt956S9OmTdOmTZscmbl7926N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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "(df4.drop('Yhteensä')*100).plot.bar(subplots=True, layout=(1, 5), sharex=True, sharey=True, \n", " figsize=(12, 2), legend=False)\n", "\n", "# Kuvio, jonka sisällä kaaviot sijaitsevat (gcf = get current figure)\n", "fig = plt.gcf()\n", "\n", "# %-merkki kuvion sijaintiin (0.08, 0.5)\n", "fig.text(0.08, 0.5, '%')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## sum-funktio laskee monivalintojen yhteenvedot\n", "\n", "Jos monivalinta-muuttujissa valinnan puuttuminen näkyy puuttuvana arvona ja valinta merkitään numerolla 1, niin valintojen lukumäärän voi laskea count-funktiolla tai sum-funktiolla. Jos valinnan puuttuminen merkitään numerolla 0, niin valintojen lukumäärä täytyy laskea sum-funktiolla." ] }, { "cell_type": "code", "execution_count": 14, "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", "
 f
työterv47
hieroja22
lomaosa20
kuntosa9
\n" ], "text/plain": [ "" ] }, "execution_count": 14, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Monivalintojen lukumäärät\n", "df5 = df[monivalinnat].sum()\n", "\n", "# Muutan series-tyyppisen tietorakenteen dataframeksi (to_frame) ja järjestän lukumäärien mukaiseen järjestykseen (sort_values)\n", "df5 = df5.to_frame('f').sort_values(by='f', ascending=False)\n", "\n", "df5.style.format('{:.0f}')" ] }, { "cell_type": "code", "execution_count": 15, "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", "
 f% vastaajista
työterv4757.3 %
hieroja2226.8 %
lomaosa2024.4 %
kuntosa911.0 %
\n" ], "text/plain": [ "" ] }, "execution_count": 15, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Prosenttia vastaajien kokonaismäärästä (shape[0])\n", "df5['% vastaajista'] = df5['f']/df.shape[0]*100\n", "\n", "# Ulkoasun viimeistely\n", "df5.style.format({'f':'{:.0f}', '% vastaajista':'{:.1f} %'})" ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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MjLUr18/9evXTxkZGfw7Us15uFwul9VDVEd5eXmaNm2a0tPT5enpqf79+2vChAnlbhbFzRMSEqKUlBR17txZkrRv3z699NJLOnz4sAICAvTEE08oLi7O4ilrr3feeUcvv/yy/Pz85OHhUe65zMxM1sMi33zzjWbOnKl9+/bp1ltvVWxsrPtv9rEm1rr4PYRefvllSfyeVZ0RQgAAwFh8NAYAAIxFCAEAAGMRQgAAwFiEEAAAMBYhBAAAjEUIAQAAYxFCAADAWIQQgCpTUFCg06dPu78+efIkP2gSQLVCCAEGCwkJUXp6ernHVq9erbCwML333nvux+x2uzIyMpSamqqYmJgK779Xr17un7GUl5en6OjocmH0+uuv67HHHpMkxcTEKDU11f3cY489ptdff12SNGXKFE2ZMuX6T/AacnJyFBISopycnGtum56e7v75alXN4XDIbrfL4XCUe48uunQdLn2fruZG1xCo7fjO0oDBfv6jS95880299tprmjt3riIjIyt1/zk5Obrvvvu0adMm/eY3v/nV+64M1zNTenq6hg8frq+++uomTQfgZuCKEAC5XC7NmDFDixcvVkpKSrkI2rNnj4YPH67u3bsrLCxMcXFxysrKkiQ9+uijmjx5crl9JSUlKTk5WdHR0ZKkUaNG6c0331S/fv0kSf369dOHH36o4uJivfLKK3rggQdkt9vVtWtXTZ8+XRf/22zYsGGaP3++pJ9+btPFn90kSevXr1dsbKw6dOiguLg4ffrpp+7nhg0bpjlz5igxMVF2u10PPPCAPvzwwwq9Dz+/QvbBBx8oKirqsu/XpEmTFBMToxMnTlx2u5/PP23aNCUlJclut6tXr17auXOnpk+fro4dOyoiIkIrV650v3bz5s0aMmSIunbtqrZt2+qhhx7S0aNH3cd+8803FRsbq/DwcHXs2FHjx49XUVGR+1hjx47VAw88oC5duig7O/uqawiYjhACDFdSUqLx48dr5cqVWrZsmcLCwtzPFRUVacyYMYqOjta2bduUnp6uu+66S7NmzZIkxcfH66OPPlJxcbGknz7++uyzzxQXF6ePP/5YkvTWW2/p8ccf17p16yRJ69atU9++fbV48WJt375dixcvVmZmphYsWKBly5Zp165dV51369ateuGFFzRlyhTt3r1bTz31lJ566in3R3CStGLFCk2aNEnp6enq3bu3pkyZogsXLlTK+1VWVqbnnntOX375pf75z3/q9ttvr9DrVq9erVGjRunf//63fve73+nRRx9V8+bNtXPnTiUlJWnatGkqLi7W8ePH9fTTT+vxxx/Xzp079cknn8jlcunVV1+VJG3YsEEpKSmaP3++MjIytGzZMn366adKS0tzH2v79u1KTk7Wxo0bFRQUdNU1BExHCAGGmzx5so4fP646derogw8+KPect7e3li9froSEBBUXFys3N1f+/v46ceKEJOn++++Xp6enNm/eLElKS0uT3W5X06ZNr3ncwYMH691331VgYKBOnjypoqIi1a1b173vK1myZImGDh2qjh07ymazKTIyUlFRUVq2bJl7m+joaIWGhsrHx0cDBgxQQUGBTp06db1vzWVNnDhR27dvV0pKigICAir8ui5duig8PFyenp7q0qWLbrnlFg0bNkxeXl6KjIxUcXGx8vLyFBAQoPXr1ysqKkqFhYU6fvy4GjZs6H5f7r33Xq1atUrNmzfX6dOnlZ+fX25NJKldu3Zq1aqV6tevf801BEznZfUAAKzVtm1bzZo1Szt27NCYMWN0zz33qHfv3pIkm82m9PR0jRo1SufOnVNwcLC8vLzcH1/5+PioX79+Wrt2rfr06aM1a9Zo5MiRFTru+fPnNW3aNH3++edq3LixQkND5XK5VFZWdtXX5ebmavfu3Xr//ffdjzmdTnXp0sX9dWBgoPvXXl4//TZ3rf1W1PHjx3X27Flt27ZNffv2rfDr/P393b+22WyqX7+++2sPDw/3jN7e3lq3bp2WLVsmDw8PtWrVSoWFhe7zcLlcmjdvnrZs2aKAgADdc889Kikp0aW3ewYFBZU71tXWEDAdIQQYbujQofLx8dHvf/97Pf7445o4caKaNWumkJAQ7d27V9OnT9eyZcv029/+VpK0aNEifffdd+7Xx8fHa/DgwcrMzFROTo773qBref7559WgQQN9+umnqlOnjsrKytSxY8drvq5x48bq37+/Hn/8cfdjDodDvr6+13nmv+Tp6amSkhL31/n5+b/Y5u2339aKFSs0depUhYeHKygoSJ6enu6PB6/02ouxcy0bNmzQkiVL9P7776tZs2aSpOnTp+vw4cOSpNmzZ8vhcGjz5s2qV6+eJCk2NvaKx6rIGgIm46MxAG5PP/202rVrpyeffFI//PCDCgoK5Onp6Y6MrKwspaSklPtDPzQ0VMHBwZo2bZr69u0rPz8/93M+Pj4qKCiQJNWpU0eSVFhY6P7/OnXqyNPTU4WFhZo1a5YKCwvLhcjlDB48WCkpKfriiy8kSfv27VNcXJz7HqRf4+6779bHH3+s0tJSZWdna9WqVb/YxsfHR4mJiWrVqpUmTZrkfl1eXp527doll8ultWvX6siRIzc0w6Xvucvl0rZt2/Svf/3L/b5cfN9sNpsuXLigRYsW6fDhw1d83yqyhoDJCCEAbp6enpozZ45KS0s1btw4de3aVQkJCUpMTFR4eLhefPFFjRgxQqdPn1ZeXp77dXFxcTp48KDi4+PL7e/BBx/U+PHjNW/ePDVq1Ei9evXSgw8+qPfff1/PP/+8Dh06pE6dOqlPnz46c+aMoqKi3Fc+rqRPnz76y1/+oueee07t27fX008/rREjRmjYsGG/+vxfeOEFHThwQJ06ddK4ceM0cODAy27n4eGhmTNnum9WDgsL05gxY/Tss8+qU6dO2rVrV4WvjP3cgAED1K1bN/Xr109dunTRggULNHLkSH333XcqLi7WuHHjdOHCBXXr1k2RkZHas2eP4uPjr/i+RUREVGgNAVPxfYQA/GqbNm3S7NmztWHDhkrbZ2Jiorp166Ynn3yy0vYJAD/HPUIAblh+fr6OHz+u1157TUOHDq2UfZaVlSk/P1///e9/1ahRo0rZJwBcCR+NAbhh+/fv15AhQxQYGKghQ4ZUyj6/+eYbRUVFKTAwUL169aqUfQLAlfDRGAAAMBZXhAAAgLEIIQAAYCxCCAAAGIsQAgAAxiKEAACAsQghAABgLEIIAAAYixACAADGIoQAAICx/h+3r6NnDAAmFwAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Lukumäärät pylväinä\n", "df5['f'].plot.barh(legend=False)\n", "\n", "plt.xlabel('Käyttäjien lukumäärä')\n", "\n", "# Vaakasuuntaisen taustaviivoituksen poisto\n", "plt.grid(axis='y')" ] }, { "cell_type": "code", "execution_count": 17, "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", "
 työtervlomaosakuntosahieroja
Miehet, n = 633516813
Naiset, n = 1912419
\n" ], "text/plain": [ "" ] }, "execution_count": 17, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Miesten ja naisten lukumäärät\n", "miehet_n = len(df[df['sukup']==1])\n", "naiset_n = len(df[df['sukup']==2])\n", "\n", "# Miesten ja naisten otsikoinnit\n", "miehet = f'Miehet, n = {miehet_n}'\n", "naiset = f'Naiset, n = {naiset_n}'\n", "\n", "# Monivalinnat sukupuolen mukaan\n", "df6 = df.groupby('sukup')[monivalinnat].sum()\n", "\n", "# Sukupuolet sukup-listasta, jonka määrittelin aiemmin\n", "df6.index = [miehet, naiset]\n", "\n", "df6.style.format('{:.0f}')" ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Lukumäärä')" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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fr7C9JUrV8ptW0RUOuXZ54lIUYWHh40bN8LAwAABAQHvLDM2NkZWVpbCvLy8PJiamorejpOTEyQSyQfXWRIDAwOFaWdn53LZDpEqyWQyjfqHXJ59nqiyKG2/r/DwcODAATx9+hStWrUC8CocAMAff/yBKVOm4MyZMwrr37t3D/b29qK3I5FIKuyNhG9YRKpXkX2eqLKr8AGT0dHRuHTpkvxbKbt3747u3bsjJiYGnTt3RkpKCrZt2wapVIrz588jKioKvXr1qugyiYiIqBhqdZOoKlWqYMuWLYiOjoa7uztmzpyJmTNnok2bNqoujYiIiP6lkqst3rRkyRKFx05OToiIiFBRNURERPQ+anXkgYiIiNQfwwMRERGJwvBAREREojA8EBERkSgMD0RERCQKwwMRERGJwvBAREREojA8EBERkSgMD0RERCQKwwMRERGJwvBAREREojA8EBERkSgMD0RERCQKwwMRERGJwvBAREREojA8EBERkSgMD0RERCQKwwMRERGJwvBAREREojA8EBERkSgMD0RERCRKpQkPssJCVZdQKppSJxERVV56qi6gokh0dTHzp9N48DSjzG09y8xVmPZf9WuZ2wSAj6tZYkG/9kppi4iIqLxUmvAAAA+eZuBWQmqZ27GQyeSHbApkMqW0SUREpCkqzWkLIiIiUg6GByIiIhKF4YGIiIhEYXggIiIiURgeiIiISBSGByIiIhKF4YGIiIhEYXggIiIiURgeiIiISBSGByIiIhKF4YGIiIhEYXggIiIiURgeiIiISBSGByIiIhKF4YGIiIhEYXggIiIiURgeiIiISBSGByIiIhKF4YGIiIhEUUl4OHfuHPz8/NCyZUt4eHhg/vz5yMvLAwDExsbCz88PLi4u8PLywp49e1RRIhERERWjwsNDamoqgoKC0LdvX8TExGD//v34888/sWnTJmRkZGDYsGHw9fXFxYsXsXDhQixevBhXr16t6DKJiIioGHoVvUFra2ucPXsWZmZmEAQB6enpePnyJaytrXH06FFYWVnB398fANC2bVv4+PggPDwczZs3r+hSiYiIqAgVHh4AwMzMDADg6emJ5ORktGrVCj179sSqVavg4OCgsK6dnR0iIyNFb0Mmkyk8lkgkH15wBXu7diJV0LTXoabVS6SOStuPVBIeXjt69CgyMjIwadIkjBkzBtWrV4exsbHCOkZGRnjx4oXotq9duyafNjY2RpMmTcpcb0W5ffs2cnNzVV0GkUZ5s88TUflSaXgwMjKCkZERJk+eDD8/PwQEBCArK0thnby8PJiamopu28nJSaOONrzJ0dFR1SUQQSaTadQ/ZE3u80TqorT9vsLDw6VLlzB9+nQcPHgQBgYGAID8/Hzo6+vDzs4OZ86cUVj/3r17sLe3F70diUSisW8kmlo3kSppcp8n0jQVfrWFo6Mj8vLysHz5cuTn5yMhIQHfffcdvv76a3h7eyMlJQXbtm2DVCrF+fPnERUVhV69elV0mURERFSMCj/yYGpqirCwMCxatAgeHh4wNzeHj48PRo0aBQMDA2zZsgULFy7EmjVrYG1tjZkzZ6JNmzYVXSYREREVQyVjHuzs7LBly5Yilzk5OSEiIqKCKyIiIqLS4u2piYiISBSGByIiIhKF4YGIiIhEYXggIiIiUT5owOT58+eRnJwMQRAAAFKpFLdv38bMmTOVWhwRERGpn1KHh19//RXdu3fHggULEBERIb/ro0wmQ05ODry8vMqtSCIiIlIfpT5t8d///hcA8Ntvv2Hnzp1YtWoVvLy8cPHiRXz77bewtLQstyKJiIhIfYg68gC8+q4JZ2dnPHv2DDdu3ICOjg5Gjx6NL774otyKJCIiIvVR6iMPw4YNAwDUqFEDz58/h42NDZKSkiCVSmFkZIScnJxyK5KIiIjUR6mPPLi6ugIAPD09ERgYiO3bt6N169aYPn06DA0N8fHHH5dbkepGZmQF3fwc+TQREVFlUuojD0FBQQCACRMm4Msvv4S+vj5mz56N9PR03Lt3D/Pnzy+3ItVNbp3WkJrXgtS8FnLrtFZ1OURERBVK9KWaS5Yswfjx42FmZgZzc3P88MMP5VGXWis0skSOfWdVl0FERKQSom8SFRUVBWNj4/KohYiIiDSA6CMPvXr1QkhICHr27AkbGxvo6OjIl9WqVUupxREREZH6ER0etm7dCgDYvXu3PDgIggAdHR3cvHlTudURERGR2hEdHo4dO1YedRAREZGGEB0eateu/c68goIC3Llzp8hlREREpF1Eh4eTJ08iJCRE4YuxAMDQ0BBXrlxRZm1ERESkhkodHlq2bIlLly5h6dKl6NKlCywsLHD79m10794d69evx9dff12edRIREZGaKPWlmps2bQIAPH78GJMnT0a3bt2QlpaGLl26YPny5YiIiCi3IomIiEh9lDo8JCUlAQCsra2hq6uLWrVq4f79+wAAOzs7JCcnl0+FREREpFZEfyW3o6MjVq9eDQCoWrUqTp06hQsXLvDGUURERJVEqcPD66/knjx5Mv744w88e/YMY8aMwciRIxEYGIhBgwaVW5FERESkPkRfbdGwYUMcOnQIwKvLNk+cOIGcnJxK9a2aRERElZno8AAA8fHxCpdqSqVSnDp1CoGBgcqsjYiIiNRQqcPDX3/9BVdXV2zcuBErV65859bULVq0YHggIiKqBEo95mHIkCEAgPDwcKxZswYbNmyAn58fzp8/j65du8LFxaXciiQiIiL1UerwcPnyZQBAVlYWunTpgkaNGuH69euwsrLCjBkzEB0dXW5FEhERkfoodXiYO3cuAKBatWrIzs5G9erV8fjxYwiCAGtra2RmZpZXjVQB4uPjMXXqVEydOhXx8fGqLoeIiNRYqcPD68GRrVu3xpgxY5CVlYUmTZpgxYoVWLduHapXr15uRVL5W79+PWJiYhATE4PQ0FBVl0NERGqs1OEhJCQEABAcHIx69eqhoKAA06dPxx9//IFdu3Zh+vTp5VYklb+4uDj59KNHj1RYCRERqTvRl2qamZlhzpw5AF7dqvrw4cNKL4qIiIjUl+jwkJ6ejp9++gkJCQkoLCxUWLZ48WKlFUZERETqSXR4GDduHJ48eQJnZ2fo6pb6rAcRERFpCdHhITY2FidOnICVlVU5lENERETqTvShg7p160IqlZZHLURERKQBRB95mD17NoYNGwZfX19YWloqLPP19VVWXURERKSmRIeHyMhI3LlzB1u3blUY86Cjo8PwQEREVAmIDg/R0dE4cOAA7OzsyqMeIiIiUnOixzxUqVIFdevWLY9aiIiISAOIPvIwZswYTJs2DYMHD4alpaX8q7kBoFatWkotjoiIiNSP6PAQHBwMADh06JA8OAiCAB0dHdy8eVO51REREZHaER0ejh07VuaN3rp1C9999x1u3LgBfX19eHh4IDg4GNbW1oiNjcWCBQtw7949VKlSBSNGjICfn1+Zt0lERETKIXrMQ+3atYv9KY28vDwMGTIELi4u+H//7//h119/RXp6OqZPn46MjAz5ZaAXL17EwoULsXjxYly9elX0jhEREVH5EH3koVGjRgrjHN5UmtMWiYmJaNSo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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Luodaan kahden kaavion kuvio\n", "fig, axs = plt.subplots(nrows=1, ncols=2, sharey=True, figsize=(6, 3))\n", "\n", "# fillna(0) korvaa puuttuvat arvot nollilla\n", "sns.barplot(data=df[monivalinnat].fillna(0)[df['sukup']==1], ax=axs[0], estimator=sum)\n", "sns.barplot(data=df[monivalinnat].fillna(0)[df['sukup']==2], ax=axs[1], estimator=sum)\n", "\n", "axs[0].set_title(miehet)\n", "axs[1].set_title(naiset)\n", "axs[0].set_ylabel('Lukumäärä')" ] }, { "cell_type": "code", "execution_count": 19, "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", "
 työtervlomaosakuntosahieroja
Miehet, n = 6355.6 %25.4 %12.7 %20.6 %
Naiset, n = 1963.2 %21.1 %5.3 %47.4 %
\n" ], "text/plain": [ "" ] }, "execution_count": 19, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Monivalinnat sukupuolen mukaan\n", "df7 = df.groupby('sukup')[monivalinnat].sum()\n", "\n", "# Prosentit\n", "# iloc[0] viittaa indeksin mukaiselle 0-riville (miesten rivi)\n", "df7.iloc[0] = df7.iloc[0] / miehet_n * 100\n", "df7.iloc[1] = df7.iloc[1] / naiset_n * 100\n", "\n", "# Kikkailen n-arvot mukaan\n", "df7.index = [miehet, naiset]\n", "\n", "# Loppusilaus\n", "(df7).style.format('{:.1f} %')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Luokiteltu jakauma\n", "\n", "Pandas-kirjaston **cut**-toiminnolla voin luokitella muuttujan. Oletuksena luokan yläraja kuuluu luokkaan. Parametrilla **right = False** voin vaihtaa luokan alarajan kuulumaan luokkaan (histogrammi-kaaviossa käytetään tätä tapaa)." ] }, { "cell_type": "code", "execution_count": 20, "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", "
f%
palkkaluokka  
[1000, 2000)1923.2 %
[2000, 3000)5061.0 %
[3000, 4000)89.8 %
[4000, 7000)56.1 %
Yhteensä82100.0 %
\n" ], "text/plain": [ "" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Määrittelen luokkarajat palkan luokittelemiseksi\n", "rajat = [1000, 2000, 3000, 4000, 7000]\n", "\n", "# Lisään dataan palkkaluokka-sarakkeen\n", "df['palkkaluokka'] = pd.cut(df['palkka'], bins=rajat, right=False)\n", "\n", "# Palkkaluokkiin kuuluvien lukumäärät\n", "df8 = pd.crosstab(df['palkkaluokka'], 'f')\n", "df8.columns.name = ''\n", "\n", "# Prosentit\n", "df8['%'] = df8['f']/df8['f'].sum()*100\n", "\n", "df8.loc['Yhteensä'] = df8.sum()\n", "\n", "# Loppusilaus\n", "df8.style.format({'f':'{:.0f}', '%':'{:.1f} %'})" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'lukumäärä')" ] }, "execution_count": 21, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Luokiteltu jakauma histogrammina\n", "sns.histplot(data=df['palkka'], bins=rajat)\n", "\n", "plt.ylabel('lukumäärä')" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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UMXHx8vhcPi1PQAACD5jjLxeb+MjMc1pV+EnJiZGJ06cUFlZmXr37i1Jev/999W3b1995zvfaXbfyspKrV+/Xps2bdL//d//qWvXrurXr5969+6tzz//XF988YV69ep1wR4cDscFEyMAAOi42tUDz1FRUUpKStJjjz2mqqoqffTRR1q9erXuvPPOC+771FNP6ac//akuvfRSXX755fryyy/14YcfqqCgQN27d1ePHj0CfwAAAKDda1dXfiRp1apV+tWvfqWbbrpJDodDkyZN0v3339/sPkVFRTp8+LAWL14sSerdu7fmzZunH/3oRwoPD9fy5cvlcLSrnAcAAIKkXT3wDAAAEGhcDgEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEn2+poqJCycnJevPNNxuXHTp0SCkpKUpISNCNN96oF154wWefF198UcnJyRo8eLAmT56sgoKCxnUej0ePP/64Ro4cqYSEBM2cOVOfffZZmx1PIBQXFys1NVVDhw7VqFGjNHfuXFVUVEhiVl+3f/9+paSkKDExUaNGjdKSJUtUW1sriVmdj8fj0bRp0zR//vzGZczK16uvvqq4uDglJCQ0/kpLS5PErL7uxIkTmjt3roYNG6ZrrrlG999/f+MxMStfr7zyis97KiEhQQMHDtTAgQMltfN5GVy0/Px8M3bsWBMbG2vy8vKMMcacOHHCDB061GzcuNHU19ebffv2mYSEBHPo0CFjjDF5eXkmISHB5Ofnm7q6OvO73/3ODBs2zFRXVxtjjHnmmWfMxIkTzbFjx8zJkyfNgw8+aH72s58F7Ri/rZqaGjNq1Cjz9NNPm9OnT5uKigrzs5/9zNx3333M6mvKy8tNfHy8ycnJMR6Pxxw/ftxMmDDBPP3008yqGb/+9a/NVVddZebNm2eM4RxsyvLly838+fO/sZxZfdM999xjZs2aZSorK83JkyfN7NmzzYwZM5iVHz799FMzatQo89JLL7X7eRF+LtLvf/97c/3115s//OEPPuHn+eefNzfffLPPto8++qiZO3euMcaYhx9+2CxcuNBn/a233mq2bt1qjDHmuuuuM6+88krjus8//9wMGDDAHDlyJJCHEzDvv/+++elPf2oaGhoal/35z382iYmJzKoJJ0+eNMYY4/V6zbvvvmuSk5PNhg0bmNV57Nu3z9x2221mzpw5jeGHWX3T1KlTzcaNG7+xnFn5KioqMvHx8Y3noTHGfPHFF+a9995jVhfg9XrNtGnTTHp6ujGm/b+3uO11ka699lq99tpruu2223yWl5SUKDY21mdZdHS0iouLJUmlpaXnXX/y5El9+umnPut79+6t7t2769133w3QkQTWD37wA61bt05Op7Nx2Z/+9CddffXVzKoJERERkqQxY8Zo4sSJuuyyyzR58mRm1YTy8nKlp6frySeflMvlalzOrHx5vV6988472rVrl2644QZdd911ysjIUGVlJbP6msLCQkVHR+v5559XcnKyrr32Wj3++OO67LLLmNUFvPzyyyotLW28/dze50X4uUiXXXZZk1+edurUKZ+/iCUpPDxc1dXVF1x/6tQpSWe+4PXr68+u68iMMVq5cqV27typ9PR0ZtWMHTt26C9/+YscDofmzJnDrL7G6/UqLS1Nqampuuqqq3zWMStfFRUViouL0y233KJXX31V2dnZ+uCDD5SWlsasvqayslLvvvuuPvjgA7344ot66aWXdPz4cc2bN49ZNcPr9erf//3f9W//9m+NP8C193kRflqZy+VqfED1rNra2sZvpW9u/dk3wte/2f7c/TuqqqoqzZkzR7m5udq4caMGDBjArJoRHh6uPn36KC0tTXv27GFWX7NmzRqFhYVp2rRp31jHrHz17t1bmzZt0p133imXy6V+/fopLS1Nf/nLX2SMYVbnOPul1unp6YqIiFDv3r314IMPavfu3cyqGW+++aY+++wzn+/hbO/nIeGnlcXGxqqkpMRnWWlpqWJiYiSd+eb6863v3r27+vTpo9LS0sZ1n3/+uU6cOPGNy4MdyZEjRzRlyhRVVVVp69atGjBggCRm9XVvvfWWbr31VtXV1TUuq6urU5cuXRQdHc2szvHyyy/rwIEDGjJkiIYMGaJt27Zp27ZtGjJkCO+rrykuLtaKFStkzvkmo7q6OjkcDg0aNIhZnSM6Olper1f19fWNy7xeryTpH//xH5nVefzpT39ScnKyz5Wadn8etsqTQ5Y794HniooKM2TIEPO73/3O1NXVmf3795uEhASzf/9+Y4xpfOJ9//79jU+4X3PNNeaLL74wxhizcuVKM2HCBHPkyJHGJ9zvueeeYB3at3bixAlz/fXXm/nz5xuPx+Ozjln5qqqqMmPGjDGPPfaYOX36tPn444/NnXfeaX75y18yqwuYN29e4wPPzMrXJ598YgYPHmzWrl1r6uvrzdGjR81dd91lFixYwKy+pq6uziQnJ5sHHnjAVFVVmfLycjN9+nQza9YsZtWMCRMmmOeff95nWXufF+GnFZwbfowxprCw0Nx9990mISHB3HTTTSYnJ8dn+5deesnccsstZvDgwebOO+80b7/9duO6uro688QTT5jRo0ebxMREM3PmTFNWVtZmx9LasrKyTGxsrPmnf/onM3jwYJ9fxjCrryspKTGpqalmyJAh5oYbbjBPPfWUOX36tDGGWTXn3PBjDLP6ujfffLNxHsOHDzdLliwxtbW1xhhm9XWffvqpefDBB82oUaPMkCFDzNy5c01lZaUxhlmdz+DBg82uXbu+sbw9z4tvdQcAAFbhmR8AAGAVwg8AALAK4QcAAFiF8AMAAKxC+AEAAFYh/AAAAKsQfgAAgFUIPwAAwCqEHwCd2rRp0/TMM89IkubPn6/58+dfcDsAnRvhBwAAWIXwA6Dd+/jjjzVgwABt2LBBo0aNUlJSktLS0lRVVaW6ujo9/vjjGjdunBISEjRixAgtWbJEF/rmnqNHj+qmm27SY4899o1t//d//1fDhw/X+vXrJUnvv/++7rvvPl1//fUaNGiQbrvtNu3cuTNQhwsgwAg/ADqMHTt2KDc3V9u3b9eHH36oxYsX67nnntOePXv03HPPqaCgQKtXr1Z2drby8vLOW+ejjz7StGnTdPvtt2vBggUKCQlpXPe3v/1NP/nJT/Twww/r3nvvlSQ98MADio2N1Wuvvab8/Hxde+21WrRoUYCPFkCghAa7AQDw1y9+8Qv16tVLkjRnzhzNnDlT8+bN0x133KHvfve7+uyzz1RbW6tu3brp+PHjTdY4evSopk2bpuuvv15z5szxWffOO+/ov/7rvzRjxgylpKQ0Ll+zZo369OkjY4yOHj2qSy+99Lz1AbR/hB8AHcaVV17Z+N+RkZGqq6tTfX29lixZooMHD6pv376Ki4uTMUZer7fJGvn5+Ro1apRef/11PfTQQ+revXvjun379ikhIUHbtm3Tj3/8Y4WFhUmSiouLdf/99+vzzz/XD3/4Q/Xq1euCt9UAtF/c9gLQYZx7teXjjz+Wy+VSRkaGXC6X9u7dq9zcXLnd7vMGH0m67bbbtGbNGkVGRmrx4sU+6+69916tXr1aJ0+ebPzk1/Hjx/Xzn/9cDz30kPLy8rRp0yZNmDAhMAcIoE0QfgB0GE8++aSqqqp0/PhxrVq1Srfffruqqqp0ySWXyOFwqKqqSpmZmaqqqlJ9fX2TNbp06SKn0ym3260///nPevXVV33WdevWTcuWLVNWVpbeeustnTp1Sh6PRy6XS5JUWlqq3/zmN5Kkurq6wB80gFZH+AHQYfTv318TJkzQP//zPyshIUELFizQwoULVVxcrKFDh+rWW29VVVWVRo8erffee6/ZWj/84Q/1wAMPaPHixd94fmfEiBFKSUnRvHnz1LdvX82dO1dpaWlKSkrSz3/+c02ZMkVdunS54J8BoH0KMdy4BtDOffzxx7rpppv0+uuv64orrgh2OwA6OK78AAAAqxB+AACAVbjtBQAArMKVHwAAYBXCDwAAsArhBwAAWIXwAwAArEL4AQAAViH8AAAAqxB+AACAVQg/AADAKv8ftqGiM/eA6gwAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Luokiteltu jakauma histogrammina, jossa pystyakselilla prosentit\n", "sns.histplot(data=df['palkka'], bins=rajat, stat='percent')\n", "\n", "# y-akselin jakoviivojen otsikoiden muotoilu\n", "plt.gca().yaxis.set_major_formatter(myFmt100)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**histplot**-toiminnolla tehdyssä histogrammissa pylvään leveys riippuu oikeaoppisesti luokkavälin pituudesta (tässä luokkaan (4000, 7000] liittyvä pylväs on muita leveämpi." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Lisätietoa\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.10.9" } }, "nbformat": 4, "nbformat_minor": 2 }