{ "cells": [ { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [], "source": [ "import numpy as np\n", "import pandas as pd\n", "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Kolikon heittoa

\n", "\n", "Simuloin kolikon heittoa miljoona kertaa tuottamalla sattumanvaraisesti nollia ja ykkösiä. Tulokset tallennan heitot-nimiseen muuttujaan." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Kruunuja: 500117 Klaavoja: 499883\n" ] } ], "source": [ "heitot = np.random.randint(2, size = 1000000)\n", "\n", "print('Kruunuja:', str(np.sum(heitot)), 'Klaavoja:', str(np.sum(1 - heitot)))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Muodostan listan, joka kertoo kuinka monta kertaa sama tulos tulee peräkkäin. Jos esimerkiksi tulee kolme klaavaa, sitten yksi kruunu ja sen jälkeen neljä klaavaa, niin listaan tulee 3, 1, 4. Listan nimeksi annan sarjat." ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [], "source": [ "sarjat = []\n", "sarja = 1\n", "\n", "for i in range(len(heitot) - 1):\n", " if heitot[i] == heitot[i + 1]:\n", " sarja += 1\n", " else:\n", " sarjat.append(sarja)\n", " sarja = 1\n", "sarjat.append(sarja)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Lasken sarjat-listassa esiintyvien lukujen lukumäärät. Kuten huomaat, niin jopa yli kymmenen peräkkäisen kruunun tai klaavan sarjoja on melko paljon." ] }, { "cell_type": "code", "execution_count": 4, "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", "
lkm
1250083
2124863
362490
431445
515410
67813
73906
81926
91023
10499
11257
12122
1365
1427
1519
162
174
186
192
211
\n", "
" ], "text/plain": [ " lkm\n", "1 250083\n", "2 124863\n", "3 62490\n", "4 31445\n", "5 15410\n", "6 7813\n", "7 3906\n", "8 1926\n", "9 1023\n", "10 499\n", "11 257\n", "12 122\n", "13 65\n", "14 27\n", "15 19\n", "16 2\n", "17 4\n", "18 6\n", "19 2\n", "21 1" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from collections import Counter\n", "\n", "laskuri = Counter(sarjat)\n", "\n", "pd.DataFrame(data = Counter(laskuri).values(), index = Counter(laskuri).keys(), columns = ['lkm']).sort_index()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "

Kahden nopan heittoa

\n", "\n", "Seuraavassa heitän kahta noppaa tuhat kertaa ja tallennan tulokset heitot-nimiseen muuttujaan.\n", "\n", "Lasken eri silmälukujen määrät kummallekin nopalle ja parien määrät." ] }, { "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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
TulosEkaTokaPareja
0116915829
1217616124
2316917724
3414817324
4517117729
5616715424
\n", "
" ], "text/plain": [ " Tulos Eka Toka Pareja\n", "0 1 169 158 29\n", "1 2 176 161 24\n", "2 3 169 177 24\n", "3 4 148 173 24\n", "4 5 171 177 29\n", "5 6 167 154 24" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# random.randint(6) tuottaa lukuja 0 - 5; lisätään 1, jotta saadaan nopan silmälukuja 1 - 6\n", "heitot = np.random.randint(6, size = (1000, 2)) + 1\n", "\n", "# dataframe tulosten esittämistä varten\n", "tulokset = pd.DataFrame(columns = ['Tulos', 'Eka', 'Toka', 'Pareja'])\n", "\n", "# for silmukka käy läpi i:n arvot 1 - 6\n", "for i in range(1, 7):\n", " \n", " eka = heitot[:,0] == i # ensimmäinen noppa\n", " \n", " toka = heitot[:,1] == i # toinen noppa\n", " \n", " parit = eka & toka # pari (molemmilla sama tulos)\n", " \n", " # Lisätään silmälukuun liittyvät lukumäärät dataframeen\n", " tulokset = tulokset.append({'Tulos' : i, 'Eka' : eka.sum(), 'Toka' : toka.sum(),\n", " 'Pareja' : parit.sum()}, ignore_index = True)\n", "\n", "tulokset" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Esitän lopuksi kahden nopan silmälukujen summan jakauman" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "image/png": "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\n", "text/plain": [ "
" ] }, "metadata": { "needs_background": "light" }, "output_type": "display_data" } ], "source": [ "df = pd.DataFrame(heitot)\n", "df['sum'] = df.sum(axis=1)\n", "\n", "ax = df['sum'].value_counts(sort = False).plot.bar()\n", "\n", "#Pientä tuunausta\n", "ax.set_xlabel('Silmälukujen summa')\n", "ax.set_ylabel('Esiintymiskertojen lukumäärä')\n", "ax.grid(axis = 'y')\n", "ax.set_axisbelow(True)" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.7.3" } }, "nbformat": 4, "nbformat_minor": 2 }