{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Päivitetty 2023-04-30 / Aki Taanila\n" ] } ], "source": [ "from datetime import datetime\n", "print(f'Päivitetty {datetime.now().date()} / Aki Taanila')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Dummy-muuttujien yhteenveto selittävän muuttujan mukaan\n", "\n", "Dummy-muuttujaksi (binäärinen, dikotominen) kutsutaan muuttujaa, joka saa arvokseen joko 0 (joskus tämän sijasta käytetään tyhjää solua) tai 1. \n", "\n", "Esimerkiksi kyselytutkimuksessa monivalintakysymys, jonka vaihtoehdoista vastaaja saa valita useammankin kuin yhden, koodataan dummy-muuttujiksi: Jokainen kysymyksen vaihtoehto on muuttuja, joka saa arvokseen 1, jos vastaaja on sen valinnut. Muussa tapauksessa arvo on 0 tai tyhjä.\n", "\n", "Usein valintakysymyksiä (saa valita vain yhden vaihtoehdon) kutsutaan virheellisesti monivalintakysymyksiksi. Valintakysmystä ei kannata koodata dummy-muuttujiksi paitsi koneoppimisen malleja käytettäessä." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [], "source": [ "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "import seaborn as sns\n", "\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": "code", "execution_count": 4, "metadata": {}, "outputs": [], "source": [ "# Yhteenvetoon otettavien dikotomisten muuttujien nimet\n", "dikot = ['työterv', 'lomaosa', 'kuntosa', 'hieroja']\n", "\n", "# 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}'" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Lukumäärät taulukkona ja grafiikkana\n", "\n", "Seabornin barplot sopii hyvin yhteenvedon graafiseen esittämiseen, koska kaaviolle voi estimator-parametrilla määrittää laskentamenetelmäksi summan (summaa yhteen muuttujan arvoina olevia ykkösiä)." ] }, { "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", "
 työtervlomaosakuntosahieroja
Miehet, n = 633516813
Naiset, n = 1912419
\n" ], "text/plain": [ "" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Valintojen lukumäärät sukupuolen mukaan\n", "df1 = df.groupby('sukup')[dikot].sum()\n", "\n", "# Riviotsikot\n", "df1.index = [miehet, naiset]\n", "\n", "# Ulkoasun viimeistely\n", "df1.style.format('{:.0f}')" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "Text(0, 0.5, 'Lukumäärä')" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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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", "sns.barplot(data=df[dikot][df['sukup']==1].fillna(0), ax=axs[0], estimator=sum)\n", "sns.barplot(data=df[dikot][df['sukup']==2].fillna(0), 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": "markdown", "metadata": {}, "source": [ "## Prosenttiyhteenveto" ] }, { "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", "
 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": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Valintojen lukumäärät sukupuolen mukaan\n", "df1 = df.groupby('sukup')[dikot].sum()\n", "\n", "# Prosenttien laskenta: iloc[0] viittaa df1:n ensimmäiseen riviin ja iloc[1] toiseen riviin\n", "df1.iloc[0] = df1.iloc[0]/miehet_n*100\n", "df1.iloc[1] = df1.iloc[1]/naiset_n*100\n", "\n", "# Riviotsikoiden viimeistely\n", "df1.index = [miehet, naiset]\n", "\n", "# Prosenttilukujen ulkoasun viimeistely\n", "df1.style.format('{:.1f} %')" ] }, { "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 }