diff --git a/your-code/.ipynb_checkpoints/main-checkpoint.ipynb b/your-code/.ipynb_checkpoints/main-checkpoint.ipynb new file mode 100644 index 0000000..f600dac --- /dev/null +++ b/your-code/.ipynb_checkpoints/main-checkpoint.ipynb @@ -0,0 +1,1325 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Understanding Descriptive Statistics\n", + "\n", + "Import the necessary libraries here:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# Libraries\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from scipy import stats\n", + "import random \n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Challenge 1\n", + "#### 1.- Define a function that simulates rolling a dice 10 times. Save the information in a dataframe.\n", + "**Hint**: you can use the *choices* function from module *random* to help you with the simulation." + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "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", + "
Dice Result
11
25
36
46
51
66
73
85
92
105
\n", + "
" + ], + "text/plain": [ + " Dice Result\n", + "1 1\n", + "2 5\n", + "3 6\n", + "4 6\n", + "5 1\n", + "6 6\n", + "7 3\n", + "8 5\n", + "9 2\n", + "10 5" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "\n", + "def rolling_dice_sim():\n", + " # Simulating 10 dice rolls; a die has 6 faces (1-6)\n", + " rolls = random.choices(range(1,7),k=10)\n", + " # Creating a dataframe to store the results\n", + " df = pd.DataFrame(rolls, index=range(1,11), columns=['Dice Result'])\n", + "\n", + " return df\n", + "# Running the function to see the results: \n", + "\n", + "df = rolling_dice_sim()\n", + "\n", + "display(df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHFCAYAAADcytJ5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABDF0lEQVR4nO3deVxU9f7H8feIMIACKi6I4FoukWKmpWluSKaIGtmilprVvbeoMFssu7nc3FPT26JZqZmidQvNNBdyjUozizT3frnnkqaigIRwfn/wYHIcUAYH5gCv5+PBA873nDnz+Qyj8+ac75mxGIZhCAAAwITKubsAAACA/BBUAACAaRFUAACAaRFUAACAaRFUAACAaRFUAACAaRFUAACAaRFUAACAaRFUAACAaRFUUOLMnTtXFovF9uXt7a2goCB16tRJ48eP18mTJx1uM2rUKFkslmKt88CBA3Z1litXTpUrV1ZERIRWr159XfucO3eubSz38Thw4MB112wYhhYtWqQ777xT1atXl7e3t0JCQtS1a1e9//77173/y6WlpWnUqFFav369S/crSevXr5fFYrnmvnOfF6dOnXJ5DVcyDEPx8fHq3LmzKleuLKvVqvr16ys2NlaHDx8u9H5///13jRo1SsnJya4rFjARggpKrDlz5ui7775TYmKi3n77bTVv3lwTJ05UkyZN9NVXX9lt+9hjj+m7775zS51PP/20vvvuO3399deaPHmy9u3bp+7du2vjxo1uqedqXn75ZfXt21dNmjTR+++/rxUrVmjMmDGqUaOGPv/8c5feV1pamkaPHl0kQcVssrOz1bdvX/Xv319BQUGaO3euVq1apSFDhmjp0qVq1qyZvvnmm0Lt+/fff9fo0aMJKii1yru7AKCwbr75ZrVs2dK2fO+99+rZZ59Vu3btFBMTo3379qlGjRqSpJCQEIWEhLilztq1a6t169aSpLZt2+rGG29Uhw4d9MEHH6h9+/ZuqSkv6enpmjZtmgYMGKBZs2bZrRs0aJCys7Ndcj+GYejixYsu2VdJMXHiRH388ceaMGGChg0bZhvv2LGjHnjgAd1+++269957tXv3blWqVMl9hQImxBEVlCq1a9fWlClTdP78eb377ru28fxO/cTHx6tNmzaqWLGiKlasqObNm+uDDz6w2+arr75SRESE/P395evrq7Zt22rNmjWFrjE3XJ04ccJu/JdfflGvXr1UuXJleXt7q3nz5vrwww8LdR8//fSTevTooerVq8tqtSo4OFhRUVE6cuRIvrdJTU1VRkaGatasmef6cuXs/7v4888/9eSTT6pWrVry8vJS/fr19corrygjI8NuO4vFoqeeekozZ85UkyZNZLVa9eGHH6patWqSpNGjR9tOjw0aNMh2u3379qlfv362Hpo0aaK3337boa7du3fr7rvvlq+vr6pWrap//etfOn/+fEEfKknS4cOHFRMTI39/fwUEBOihhx7SH3/8YVv/6KOPqkqVKkpLS3O4befOnRUWFpbvvv/66y+9/vrratKkiV588UWH9TVq1ND48eN14sQJu+de3bp17R6PXB07dlTHjh0l5ZziatWqlSTpkUcesT2Oo0aNsm2/efNmRUdHKzAwUN7e3mrQoIGGDBlit8+kpCRFRETIz89Pvr6+uuOOO7R8+XK7bXJPMa5du1aPP/64AgMD5e/vrwEDBig1NVXHjx/X/fffr0qVKqlmzZp6/vnnlZmZ6fBYjBkzRo0bN5bValW1atX0yCOP2D3WwJUIKih1unfvLg8Pj2ueWhkxYoT69++v4OBgzZ07V4sXL9bAgQN18OBB2zbz58/XXXfdJX9/f3344Yf65JNPVKVKFXXt2rXQYWX//v2SpIYNG9rG9uzZozvuuEM7duzQf//7XyUkJOimm27SoEGDNGnSJKf2n5qaqsjISJ04cUJvv/22EhMTNW3aNNWuXfuqL+BVq1bVDTfcoHfeeUdTp07V7t27ld+Hq1+8eFGdOnXSvHnzNHToUC1fvlwPPfSQJk2apJiYGIftlyxZohkzZmjEiBFatWqV2rRpo5UrV0rKCQHfffedvvvuO7366quSpJ07d6pVq1b65ZdfNGXKFC1btkxRUVF65plnNHr0aNt+T5w4oQ4dOuiXX37RO++8o48++kgXLlzQU0895dRjds899+iGG27Qp59+qlGjRmnJkiXq2rWr7YU2Li5OZ86cUXx8vN3tdu7cqXXr1ik2NjbffW/dulVnzpxRz549850nFR0drXLlyikxMdGpulu0aKE5c+ZIkv7973/bHsfHHntMkrRq1SrdeeedOnTokKZOnaoVK1bo3//+t11I3rBhgzp37qxz587pgw8+0MKFC+Xn56fo6Gh9/PHHDvf52GOPKSAgQIsWLdK///1vxcfH6/HHH1dUVJTCw8P16aefauDAgZoyZYrefPNN2+2ys7PVq1cvTZgwQf369dPy5cs1YcIEJSYmqmPHjkpPT3eqd5QhBlDCzJkzx5BkbNmyJd9tatSoYTRp0sS2PHLkSOPyp/tvv/1meHh4GP379893H6mpqUaVKlWM6Ohou/GsrCwjPDzcuO22265a5/79+w1JxsSJE43MzEzj4sWLRnJystGmTRujZs2axv79+23bPvjgg4bVajUOHTpkt49u3boZvr6+xtmzZ+32OWfOHIfHI3d/P/zwgyHJWLJkyVXry8v3339v1K5d25BkSDL8/PyMHj16GPPmzTOys7Nt282cOdOQZHzyySd2t584caIhyVi9erVtTJIREBBg/Pnnn3bb/vHHH4YkY+TIkQ51dO3a1QgJCTHOnTtnN/7UU08Z3t7etn0NGzbMsFgsRnJyst12kZGRhiRj3bp1V+0393nx7LPP2o0vWLDAkGTMnz/fNtahQwejefPmdts98cQThr+/v3H+/Pl872PRokWGJGPmzJlXreXK52ydOnWMgQMHOmzXoUMHo0OHDrblLVu2ODwncjVo0MBo0KCBkZ6enu/9tm7d2qhevbpdD5cuXTJuvvlmIyQkxPZ7z32ePf3003a37927tyHJmDp1qt148+bNjRYtWtiWFy5caEgyPvvsM7vtcut/55138q0RZRtHVFAqGfkcCciVmJiorKysq/4l/O233+rPP//UwIEDdenSJdtXdna27r77bm3ZskWpqanXrGXYsGHy9PS0nc755Zdf9MUXX6hu3bq2bdauXauIiAiFhoba3XbQoEFKS0tzaiLwDTfcoMqVK2vYsGGaOXOmdu7cWeDbtmrVSr/++qtWrlyp4cOHq02bNlqzZo0GDBignj172h7XtWvXqkKFCurTp49DvZIcjjblXulSEBcvXtSaNWt0zz33yNfX1+6x7969uy5evKhNmzZJktatW6ewsDCFh4fb7aNfv34F7lmS+vfvb7d8//33q3z58lq3bp1tLC4uTsnJybZJrykpKfroo480cOBAVaxY0an7y4thGC69Mm3v3r36v//7Pz366KPy9vbOc5vU1FRt3rxZffr0sevBw8NDDz/8sI4cOaI9e/bY3aZHjx52y02aNJEkRUVFOYxffnRy2bJlqlSpkqKjo+1+p82bN1dQUFCZmFSNwiGooNRJTU3V6dOnFRwcnO82uefErzbBNvfweJ8+feTp6Wn3NXHiRBmGoT///POa9cTFxWnLli1KSkrS5MmTlZmZqV69eun06dO2bU6fPp3n3JDcHi7f9loCAgK0YcMGNW/eXMOHD1dYWJiCg4M1cuRIhzkDefH09FTXrl01duxYrVq1SocPH1bHjh21bNkyrVixwlZPUFCQwwtr9erVVb58eYd685v3kpfTp0/r0qVLevPNNx0e9+7du0uS7XLi3DqulNfY1Vy5ffny5RUYGGjXR69evVS3bl3bPJm5c+cqNTX1qmFXypk3Jf19yi8vqampOnXqlENQvR4FeY6fOXNGhmE49dyrUqWK3bKXl1e+45dPmj5x4oTOnj0rLy8vh9/r8ePHi+UScZRMXPWDUmf58uXKysqyTTjMS+5EziNHjuT74lC1alVJ0ptvvmm7audKuVcVXU1ISIhtAm3btm0VFBSkhx56SCNHjtRbb70lSQoMDNSxY8ccbvv777/b1VJQTZs21aJFi2QYhrZt26a5c+fqP//5j3x8fPTSSy85ta/AwEANGTJE69ev1y+//KLu3bsrMDBQmzdvdjgKcPLkSV26dMmhXmeOFFSuXNn2F31+IaBevXq22o4fP+6wPq+xqzl+/Lhq1aplW7506ZJOnz6twMBA21i5cuUUGxur4cOHa8qUKXrnnXcUERGhRo0aXXXft956qypXrqylS5dq/PjxeT4WS5cuVXZ2tiIjI21j3t7eDhOTpZyQVpDnw+XP8fxUrlxZ5cqVc+lzLz9Vq1ZVYGCgbW7Slfz8/FxyPyh9OKKCUuXQoUN6/vnnFRAQoH/+85/5bnfXXXfJw8NDM2bMyHebtm3bqlKlStq5c6datmyZ51fuX5PO6N+/vzp27Kj33nvPdmg8IiJCa9eutb045Jo3b558fX3zDUrXYrFYFB4erjfeeEOVKlXSjz/+mO+2mZmZ+R652bVrl6S//8qOiIjQhQsXtGTJEod6c9dfi9VqlSSHSZS+vr7q1KmTfvrpJzVr1izPxz03QHTq1Ek7duzQzz//bLePKye9XsuCBQvslj/55BNdunTJIew+9thj8vLyUv/+/bVnz54CTdr18vLSCy+8oF27dun11193WH/y5Em9/PLLqlGjhm0SrJRz1c+2bdvstt27d6/DqZj8HseGDRuqQYMGmj17dp6BR5IqVKig22+/XQkJCXa3z87O1vz58xUSEmI36ft69OjRQ6dPn1ZWVlaev9NrBT6UXRxRQYn1yy+/2M5znzx5Ul9//bXmzJkjDw8PLV682PYXZV7q1q2r4cOH67XXXlN6err69u2rgIAA7dy5U6dOndLo0aNVsWJFvfnmmxo4cKD+/PNP9enTR9WrV9cff/yhn3/+WX/88cdVg87VTJw4Ubfffrtee+01vf/++xo5cqSWLVumTp06acSIEapSpYoWLFig5cuXa9KkSQoICCjwvpctW6Z33nlHvXv3Vv369WUYhhISEnT27Fm7v9ivdO7cOdWtW1f33XefunTpotDQUF24cEHr16/X9OnT1aRJE9sVPQMGDNDbb7+tgQMH6sCBA2ratKmSkpI0btw4de/eXV26dLlmnX5+fqpTp44+//xzRUREqEqVKqpatarq1q2r6dOnq127drrzzjv1xBNPqG7dujp//rx+/fVXffHFF1q7dq0kaciQIZo9e7aioqJsb0y3YMEC7d69u8CPlyQlJCSofPnyioyM1I4dO/Tqq68qPDxc999/v912lSpV0oABAzRjxgzVqVNH0dHRBdr/sGHD9PPPP9u+P/DAAwoICNC2bdv0+uuv6/z581q2bJnd7/nhhx/WQw89pCeffFL33nuvDh48qEmTJjk8rxs0aCAfHx8tWLBATZo0UcWKFRUcHKzg4GC9/fbbio6OVuvWrfXss8+qdu3aOnTokFatWmULZ+PHj1dkZKQ6deqk559/Xl5eXnrnnXf0yy+/aOHChS6bN/Pggw9qwYIF6t69u+Li4nTbbbfJ09NTR44c0bp169SrVy/dc889LrkvlDLum8cLFE7u1Qe5X15eXkb16tWNDh06GOPGjTNOnjzpcJsrr/rJNW/ePKNVq1aGt7e3UbFiReOWW25xuHpiw4YNRlRUlFGlShXD09PTqFWrlhEVFWX873//u2qduVfovP7663muv++++4zy5csbv/76q2EYhrF9+3YjOjraCAgIMLy8vIzw8HCHWgpy1c/u3buNvn37Gg0aNDB8fHyMgIAA47bbbjPmzp171XozMjKMyZMnG926dTNq165tWK1Ww9vb22jSpInx4osvGqdPn7bb/vTp08a//vUvo2bNmkb58uWNOnXqGC+//LJx8eJFu+0kGbGxsXne51dffWXccssthtVqNSTZ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vGJipE8/lWrVsh8PCckZj4lxT10AUAI4feonLCxMX3/9terUqWM3/r///U+33HKLU/v64IMPnL17oGSKiZF69cq5uiclJWdOSgk93QMAxcnpoDJy5Eg9/PDDOnr0qLKzs5WQkKA9e/Zo3rx5WrZsWVHUCJQOHh45E2a//DLnOyEFAK7J6VM/0dHR+vjjj/Xll1/KYrFoxIgR2rVrl7744gtO2QAAAJcq1Bu+de3aVV27dnV1LQAAAHacPqKyZcsWbd682WF88+bN+uGHH1xSFAAAgFSIoBIbG6vDhw87jB89elSxsbEuKQoAAEAqRFDZuXOnWrRo4TB+yy23aOfOnS4pCgAAQCpEULFarTpx4oTD+LFjx1S+vNs/4xAAAJQiTgeVyMhIvfzyyzp37pxt7OzZsxo+fDhX/QAAAJdy+hDIlClT1L59e9WpU8f2Bm/JycmqUaOGPvroI5cXCAAAyi6ng0qtWrW0bds2LViwQD///LN8fHz0yCOPqG/fvqXig5cAAIB5FGpSSYUKFfSPf/zD1bUAAADYKVBQWbp0qbp16yZPT08tXbr0qtv27NnTJYUBAAAUKKj07t1bx48fV/Xq1dW7d+98t7NYLMrKynJVbQAAoIwrUFDJzs7O82cAAICi5PTlyQAAAMXFqcm02dnZmjt3rhISEnTgwAFZLBbVq1dPffr00cMPPyyLxVJUdQIAgDKowEdUDMNQz5499dhjj+no0aNq2rSpwsLCdPDgQQ0aNEj33HNPUdYJAADKoAIfUZk7d642btyoNWvWqFOnTnbr1q5dq969e2vevHkaMGCAy4sEAABlU4GPqCxcuFDDhw93CCmS1LlzZ7300ktasGCBS4sDAABlW4GDyrZt23T33Xfnu75bt276+eefXVIUAACA5ERQ+fPPP1WjRo1819eoUUNnzpxxSVEAAACSE0ElKytL5cvnP6XFw8NDly5dcklRAAAAkhOTaQ3D0KBBg2S1WvNcn5GR4bKiAAAAJCeCysCBA6+5DVf8AAAAVypwUJkzZ05R1gEAAOCAt9AHAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACm5dagMn78eLVq1Up+fn6qXr26evfurT179rizJJhRVpaUlJTzc1JSzjIAoExwa1DZsGGDYmNjtWnTJiUmJurSpUu66667lJqa6s6yYCYJCVLdulJUVM5yVFTOckKCO6sCABST8u6885UrV9otz5kzR9WrV9fWrVvVvn17N1UF00hIkPr0kQxD8vH5e/zo0ZzxTz+VYmLcVx8AoMiZao7KuXPnJElVqlRxcyVwu6wsKS4uJ6RcKXdsyBBOAwFAKefWIyqXMwxDQ4cOVbt27XTzzTfnuU1GRoYyMjJsyykpKZKkzMxMZWZmurSe3P25er/FrcT2kZQknT5tO5KSecV3SdKpU9LGjVK7du6osFBK7O/jCvRhLvRhPqWll6Lqw5n9WQwjrz9Zi19sbKyWL1+upKQkhYSE5LnNqFGjNHr0aIfx+Ph4+fr6FnWJAADABdLS0tSvXz+dO3dO/v7+V93WFEHl6aef1pIlS7Rx40bVq1cv3+3yOqISGhqqU6dOXbNRZ2VmZioxMVGRkZHy9PR06b6LU4ntIynp7wm0yjmSkjh7tiIHD5Znevrf2y1fXuKOqJTI38cV6MNc6MN8SksvRdVHSkqKqlatWqCg4tZTP4Zh6Omnn9bixYu1fv36q4YUSbJarbJarQ7jnp6eRfZEKMp9F6cS10f79lJgYM7E2cuytGd6ek5QsVikkJCc7Tw83Fho4ZS430c+6MNc6MN8Sksvru7DmX25dTJtbGys5s+fr/j4ePn5+en48eM6fvy40i//ixllk4eHNH16zs8Wi/263OVp00pkSAEAFJxbg8qMGTN07tw5dezYUTVr1rR9ffzxx+4sC2YRE5NzCXKtWvbjISFcmgwAZYTbT/0AVxUTI/XqlXN1T0pKzpyUEnq6BwDgPFO9jwqQJw+PvyfMtmtHSAGAMoSgAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugkpesLCkpKefnpKSc5ZKotPQBACiz3BpUNm7cqOjoaAUHB8tisWjJkiXuLCdHQoJUt64UFZWzHBWVs5yQ4M6qnFda+gAAlGluDSqpqakKDw/XW2+95c4y/paQIPXpIx05Yj9+9GjOeEl5kS8tfQAAyrzy7rzzbt26qVu3bu4s4W9ZWVJcnGQYjusMQ7JYpCFDpF69JA+PYi+vwEpLHwAAyM1BxVkZGRnKyMiwLaekpEiSMjMzlZmZeX07T0qSTp+WfHxy9nnFd0nSqVPSxo1Su3bXd19FqbT0cYXc3+91/57djD7MhT7MpbT0IZWeXoqqD2f2ZzGMvP70Ln4Wi0WLFy9W7969891m1KhRGj16tMN4fHy8fH19i7A6AADgKmlpaerXr5/OnTsnf3//q25booJKXkdUQkNDderUqWs2ek1JSX9PPFXOEYjE2bMVOXiwPNPT/95u+XJzH4koLX1cITMzU4mJiYqMjJSnp6e7yyk0+jAX+jCX0tKHVHp6Kao+UlJSVLVq1QIFlRJ16sdqtcpqtTqMe3p6Xv8D2L69FBiYM+H0suzmmZ6e8wJvsUghITnbmXluR2npIx8u+V2bAH2YC32YS2npQyo9vbi6D2f2xfuo5PLwkKZPz/nZYrFfl7s8bZr5X9xLSx8AAMjNQeXChQtKTk5WcnKyJGn//v1KTk7WoUOH3FNQTIz06adSrVr24yEhOeMxMe6py1mlpQ8AQJnn1lM/P/zwgzp16mRbHjp0qCRp4MCBmjt3rnuKionJuXR340YpJSVnLkdJPE1SWvoAAJRpbg0qHTt2lEnm8trz8MiZaPrllznfS+qLe2npAwBQZjFHBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmFaJ+vTkK+W+q21KSorL952Zmam0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MrRr1y67/8BKgrZt2zpcsr93717VqVPHTRVdnzlz5qh69eqKiopydymFkpaWpnLl7F+OPDw8SuTlybkqVKigmjVr6syZM1q1apV69erl7pIKpV69egoKCrJdUSblzIfasGGD7rjjjmKpgSMqV7hw4YJ+/fVX2/L+/fuVnJysKlWqqHbt2m6srOBiY2MVHx+vzz//XH5+frZzjAEBAfLx8XFzdc4ZPny4unXrptDQUJ0/f16LFi3S+vXrtXLlSneXVmB+fn4O84MqVKigwMDAEjdv6Pnnn1d0dLRq166tkydPasyYMUpJSSlxf/U+++yzuuOOOzRu3Djdf//9+v777zVr1izNmjXL3aU5LTs7W3PmzNHAgQNVvnzJ/C89OjpaY8eOVe3atRUWFqaffvpJU6dO1eDBg91dmtNWrVolwzDUqFEj/frrr3rhhRfUqFEjPfLII+4uLV/Xet0bMmSIxo0bpxtvvFE33nijxo0bJ19fX/Xr1694CiyWa4tKkHXr1hmSHL4GDhzo7tIKLK/6JRlz5sxxd2lOGzx4sFGnTh3Dy8vLqFatmhEREWGsXr3a3WVdt5J6efIDDzxg1KxZ0/D09DSCg4ONmJgYY8eOHe4uq1C++OIL4+abbzasVqvRuHFjY9asWe4uqVBWrVplSDL27Nnj7lIKLSUlxYiLizNq165teHt7G/Xr1zdeeeUVIyMjw92lOe3jjz826tevb3h5eRlBQUFGbGyscfbsWXeXdVXXet3Lzs42Ro4caQQFBRlWq9Vo3769sX379mKrz2IYhlE8kQgAAMA5zFEBAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABcN0sFouWLFni7jKu6fI6Dxw4IIvFouTkZLfWBODqCCoA8jRo0CBZLBZZLBZ5enqqRo0aioyM1OzZsx0+g+XYsWN2n6zsaqNGjbLVUq5cOQUHB6t///46fPhwkd0nAHMgqADI1913361jx47pwIEDWrFihTp16qS4uDj16NFDly5dsm0XFBQkq9VapLWEhYXp2LFjOnLkiD7++GNt375d999/f5HeJwD3I6gAyJfValVQUJBq1aqlFi1aaPjw4fr888+1YsUKzZ0717bdlad+jhw5ogcffFBVqlRRhQoV1LJlS23evNm2/osvvtCtt94qb29v1a9fX6NHj7YLPnkpX768goKCFBwcrDvvvFOPP/64Nm3apJSUFNs2M2bMUIMGDeTl5aVGjRrpo48+KnCvZ86cUf/+/VWtWjX5+Pjoxhtv1Jw5cwp8ewBFo2R+1CYAt+ncubPCw8OVkJCgxx57zGH9hQsX1KFDB9WqVUtLly5VUFCQfvzxR9vpolWrVumhhx7Sf//7X9155536v//7P/3jH/+QJI0cObJANRw/flwJCQny8PCQh4eHJGnx4sWKi4vTtGnT1KVLFy1btkyPPPKIQkJC1KlTp2vu89VXX9XOnTu1YsUKVa1aVb/++qvS09ML+rAAKCIEFQBOa9y4sbZt25bnuvj4eP3xxx/asmWLqlSpIkm64YYbbOvHjh2rl156SQMHDpQk1a9fX6+99ppefPHFqwaV7du3q2LFisrOzrYFiGeeeUYVKlSQJE2ePFmDBg3Sk08+KUkaOnSoNm3apMmTJxcoqBw6dEi33HKLWrZsKUmqW7fuNW8DoOhx6geA0wzDkMViyXNdcnKybrnlFltIudLWrVv1n//8RxUrVrR9Pf744zp27JjS0tLyvc9GjRopOTlZW7Zs0dixY9W8eXONHTvWtn7Xrl1q27at3W3atm2rXbt2FainJ554QosWLVLz5s314osv6ttvvy3Q7QAULY6oAHDarl27VK9evTzX+fj4XPW22dnZGj16tGJiYhzWeXt753s7Ly8v25GZsLAw7du3T0888YTdPJQrw9PVAtWVunXrpoMHD2r58uX66quvFBERodjYWE2ePLlAtwdQNDiiAsApa9eu1fbt23Xvvffmub5Zs2ZKTk7Wn3/+mef6Fi1aaM+ePbrhhhscvsqVK/h/Sa+++qoWLlyoH3/8UZLUpEkTJSUl2W3z7bffqkmTJgXeZ7Vq1TRo0CDNnz9f06ZN06xZswp8WwBFgyMqAPKVkZGh48ePKysrSydOnNDKlSs1fvx49ejRQwMGDMjzNn379tW4cePUu3dvjR8/XjVr1tRPP/2k4OBgtWnTRiNGjFCPHj0UGhqq++67T+XKldO2bdu0fft2jRkzpsC11a9fX7169dKIESO0bNkyvfDCC7r//vvVokULRURE6IsvvlBCQoK++uqrAu1vxIgRuvXWWxUWFqaMjAwtW7bMqZADoGhwRAVAvlauXKmaNWuqbt26uvvuu7Vu3Tr997//1eeff2672uZKXl5eWr16tapXr67u3buradOmmjBhgm37rl27atmyZUpMTFSrVq3UunVrTZ06VXXq1HG6vueee07Lly/X5s2b1bt3b02fPl2vv/66wsLC9O6772rOnDnq2LFjgfbl5eWll19+Wc2aNVP79u3l4eGhRYsWOV0TANeyGIZhuLsIAACAvHBEBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmNb/AzIC/JrgbOa9AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + " \n", + "\n", + "# Sort the dataframe by 'Dice Rolls' and reset index\n", + "sorted_df = df.sort_values(by='Dice Result').reset_index(drop=True)\n", + "# change index to start at 1\n", + "sorted_df.index = sorted_df.index + 1\n", + "\n", + "# Plotting the sorted results\n", + "plt.scatter(sorted_df.index, sorted_df['Dice Result'], color='red') # Create a scatter plot, I first chose bar plot but with scatter it is easier to see the dice result for each roll\n", + "plt.xlabel('Dice Rolls') # Label for x-axis\n", + "plt.ylabel('Dice Roll Outcome') # Label for y-axis\n", + "plt.title('Dice Rolls Sorted by Outcome') # Title of the plot\n", + "plt.xticks(range(1, 11)) # Set x-ticks to show original roll numbers\n", + "plt.grid(True) # add a grid for readability\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Calculate the frequency distribution and plot it. What is the relation between this plot and the plot above? Describe it with words." + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+J0lEQVR4nO3de3zP9f//8fubHTGHjZ3CTJjzOTVyauWwkqTSQSaHPkJkfPQlhepjySEdHQpLPkk1wsc5hgplziGpMIctZ2Mytj1/f3TZ+9fbZuxtvLeX2/Vyef/xer6er9fr8X7ujbvn6/na22aMMQIAALCIIq4uAAAAID8RbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQblBgxcbGymaz5fgaMmSIq8u7LYwaNUo2m82hrVKlSurevXuezrN+/XqNGjVKZ86cydNxV15rzZo1stls+vrrr/N0ntxcuHBBo0aN0po1a7Lty/oMHjhwIN+udzOMGDFCFStWlJubm0qXLp3n47t3765KlSo5tNlsNo0aNSpf6ruVrqw76zOT088X1uXm6gKAa5k5c6aqV6/u0BYcHOyiajB//nyVLFkyT8esX79eo0ePVvfu3fP0j68z18qrCxcuaPTo0ZKkVq1aOex78MEHtWHDBgUFBd3UGm7EggUL9J///EevvPKK2rdvL09Pz3w574YNG1S+fPl8ORdwqxFuUODVrl1bjRs3vq6+ly9fls1mk5sbH+2bpUGDBjf9Gn/99Ze8vb1vybVyU65cOZUrV86lNVzLzz//LEkaMGCA/P398+2899xzT76d60ZcuHBBxYoVc3UZKGS4LYVCK2u6+bPPPtPgwYN1xx13yNPTU7/99psk6dtvv1VERIRKliypYsWKqVmzZlq1alW28yxevFj169eXp6enQkNDNX78+Gy3Yw4cOCCbzabY2Nhsx+c0fb9v3z49/fTT8vf3l6enp2rUqKEPP/wwx/rnzJmjV155RcHBwSpZsqTuv/9+7d27N9t1li1bpoiICJUqVUrFihVTjRo1FBMTI0n67LPPZLPZtGHDhmzHvf7663J3d9fRo0dzHc+cxiEnV94qyszM1JtvvqmwsDB5e3urdOnSqlu3rt59911Jf9/a+ve//y1JCg0Ntd9azLpNUKlSJT300EOaN2+eGjRoIC8vL/tMytVugV28eFHR0dEKDAyUt7e3WrZsqa1btzr0adWqVbaZGMnxFsyBAwfs4WX06NH22rKuebXbUjNmzFC9evXk5eUlX19fderUSXv27Ml2nRIlSui3335TZGSkSpQooQoVKmjw4MFKS0vLcWz/KTMzU2+//baqV68uT09P+fv7q1u3bjp8+LC9T6VKlTRixAhJUkBAwHXdSoqNjVVYWJj9czlr1qwc++V0riNHjuj5559XhQoV5OHhoeDgYD322GP6888/7X1SUlI0ZMgQhYaGysPDQ3fccYdeeuklpaamXvM9t2rVSrVr19a6devUtGlTFStWTD169JAkJSYmqmvXrg5/piZMmKDMzMxrnvdKf/zxh5588kkFBwfL09NTAQEBioiI0LZt2/J8LhRM/PcWBV5GRobS09Md2v45MzNs2DCFh4drypQpKlKkiPz9/TV79mx169ZNHTt21Keffip3d3dNnTpVbdu21fLlyxURESFJWrVqlTp27Kjw8HB98cUXysjI0Ntvv+3wl3Ve7d69W02bNlXFihU1YcIEBQYGavny5RowYIBOnDihkSNHOvQfPny4mjVrpk8++UQpKSl6+eWX1aFDB+3Zs0dFixaVJE2fPl29e/dWy5YtNWXKFPn7++vXX3+1/6+9S5cuGjp0qD788EOFh4fbz52enq6pU6eqU6dOud7Ku5FxePvttzVq1CiNGDFCLVq00OXLl/XLL7/Y19f06tVLp06d0vvvv6958+bZb/HUrFnTfo4tW7Zoz549GjFihEJDQ1W8ePFcrzl8+HA1bNhQn3zyic6ePatRo0apVatW2rp1qypXrnzNmrMEBQVp2bJlateunXr27KlevXpJUq6zNTExMRo+fLieeuopxcTE6OTJkxo1apTCw8O1adMmVa1a1d738uXLevjhh9WzZ08NHjxY69at0xtvvKFSpUrptddey7W2F154QdOmTVP//v310EMP6cCBA3r11Ve1Zs0abdmyRWXLltX8+fP14Ycfavr06Vq2bJlKlSqV662k2NhYPffcc+rYsaMmTJhgH7u0tDQVKZL7/3WPHDmiu+66S5cvX9bw4cNVt25dnTx5UsuXL9fp06cVEBCgCxcuqGXLljp8+LC9z65du/Taa69p586d+vbbb7Ot4bpSUlKSunbtqqFDh2rMmDEqUqSIjh8/rqZNm+rSpUt64403VKlSJf3vf//TkCFD9Pvvv+ujjz7K9ZxXioyMtH/GK1asqBMnTmj9+vV5XhOGAswABdTMmTONpBxfly9fNvHx8UaSadGihcNxqampxtfX13To0MGhPSMjw9SrV880adLE3nb33Xeb4OBg89dff9nbUlJSjK+vr/nnH4/9+/cbSWbmzJnZ6pRkRo4cad9u27atKV++vDl79qxDv/79+xsvLy9z6tQpY4yx1x8ZGenQ78svvzSSzIYNG4wxxpw7d86ULFnS3HvvvSYzM/Oq4zVy5Ejj4eFh/vzzT3vb3LlzjSSzdu3aqx6Xl3EwxpiQkBATFRVl337ooYdM/fr1cz3/uHHjjCSzf//+bPtCQkJM0aJFzd69e3Pc989rZY1Zw4YNHcbiwIEDxt3d3fTq1cve1rJlS9OyZcts54yKijIhISH27ePHj2f7GWbJ+gxm1X369Gnj7e2d7WeWmJhoPD09zdNPP+1wHUnmyy+/dOgbGRlpwsLCsl3rn/bs2WMkmb59+zq0//jjj0aSGT58uL1t5MiRRpI5fvx4rufMyMgwwcHBVx27f46JMdk/1z169DDu7u5m9+7dV71GTEyMKVKkiNm0aZND+9dff20kmSVLluRaY8uWLY0ks2rVKof2//u//zOSzI8//ujQ/sILLxibzebw2bmy7qzPTHx8vDHGmBMnThhJZtKkSbnWgsKN21Io8GbNmqVNmzY5vP45c9O5c2eH/uvXr9epU6cUFRWl9PR0+yszM1Pt2rXTpk2blJqaqtTUVG3atEmPPvqovLy87Mf7+PioQ4cOTtV68eJFrVq1Sp06dVKxYsUcrh8ZGamLFy9q48aNDsc8/PDDDtt169aVJB08eND+flJSUtS3b99c/9f7wgsvSJI+/vhje9sHH3ygOnXqqEWLFlc97kbHoUmTJtq+fbv69u2r5cuXKyUl5ZrHXKlu3bqqVq3adfd/+umnHcYiJCRETZs2VXx8fJ6vnRcbNmzQX3/9le1WWYUKFXTfffdlu+1ps9myjWHdunXtP9uryXofV16nSZMmqlGjRo63V69l7969Onr06FXH7lqWLl2q1q1bq0aNGlft87///U+1a9dW/fr1HT77bdu2ve4nlsqUKaP77rvPoW316tWqWbOmmjRp4tDevXt3GWO0evXqa543i6+vr+68806NGzdOEydO1NatW526tYWCjXCDAq9GjRpq3Lixw+ufrnySJetWymOPPSZ3d3eH19ixY2WM0alTp3T69GllZmYqMDAw2zVzarseJ0+eVHp6ut5///1s146MjJQknThxwuEYPz8/h+2sp13++usvSdLx48cl6ZpPrgQEBKhLly6aOnWqMjIytGPHDn333Xfq379/rsfd6DgMGzZM48eP18aNG9W+fXv5+fkpIiJCCQkJ1zw2S16fRrparSdPnszTefIq6/w51RscHJzt+sWKFXMIjNLfP9+LFy/m63WuR9Yxzv6cjx8/fs3P4J9//qkdO3Zk++z7+PjIGJPts5+TnN7zyZMnrzoWWfuvl81m06pVq9S2bVu9/fbbatiwocqVK6cBAwbo3Llz130eFGysuUGhd+VsRtmyZSVJ77///lWf+AgICLA/WZWcnJxt/5VtWf9AXbkQ9Mq/VMuUKaOiRYvq2WefVb9+/XK8dmhoaC7vJrus9R//XEh6NQMHDtRnn32mBQsWaNmyZSpdurSeeeaZXI8pU6bMdY9DTtzc3BQdHa3o6GidOXNG3377rYYPH662bdvq0KFD1/Wky7XWYVxPXcnJyQ5B0cvLS2fPns3W73r+gb2arPMnJSVl23f06FH7Z+9G/fM6VwYKZ6+TdU5nf87lypW75mewbNmy8vb21owZM666/1py+iz4+flddcyv97z/FBISounTp0uSfv31V3355ZcaNWqULl26pClTpuTpXCiYmLmB5TRr1kylS5fW7t27s834ZL08PDxUvHhxNWnSRPPmzXP4n/S5c+e0aNEih3MGBATIy8tLO3bscGhfsGCBw3axYsXUunVrbd26VXXr1s3x2lfO1FxL06ZNVapUKU2ZMkXGmFz7NmrUSE2bNtXYsWP13//+V927d7/m4ty8jMO1lC5dWo899pj69eunU6dO2Z8yunI26kbNmTPHYSwOHjyo9evXOzwdValSJf36668OgfTkyZNav369w7nyUlt4eLi8vb01e/Zsh/bDhw9r9erV9oXqNyrrtsyV19m0aZP27Nnj1HXCwsIUFBR01bG7lvbt2ys+Pj7HJ/myPPTQQ/r999/l5+eX42f/yl8UeL0iIiK0e/dubdmyxaF91qxZstlsat26tVPnlaRq1appxIgRqlOnTrbzo/Bi5gaWU6JECb3//vuKiorSqVOn9Nhjj8nf31/Hjx/X9u3b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TZqkSpUqqVatWrp06ZJmz56tuLg4xcXFuex9AACAgsOl4Wby5MmSpFatWjm0z5w5U927d5ckJSUlKTEx0b7v0qVLGjJkiI4cOSJvb2/VqlVLixcvVmRk5K0qGwAAFGAuvy11LbGxsQ7bQ4cO1dChQ29SRQAAoLArEAuKAQAA8gvhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWIpLw01MTIzuuusu+fj4yN/fX4888oj27t17zePWrl2rRo0aycvLS5UrV9aUKVNuQbUAAKAwcGm4Wbt2rfr166eNGzdq5cqVSk9PV5s2bZSamnrVY/bv36/IyEg1b95cW7du1fDhwzVgwADFxcXdwsoBAEBB5ebKiy9btsxhe+bMmfL399fmzZvVokWLHI+ZMmWKKlasqEmTJkmSatSooYSEBI0fP16dO3e+2SUDAIACrkCtuTl79qwkydfX96p9NmzYoDZt2ji0tW3bVgkJCbp8+XK2/mlpaUpJSXF4AQAA63LpzM0/GWMUHR2te++9V7Vr175qv+TkZAUEBDi0BQQEKD09XSdOnFBQUJDDvpiYGI0ePfqm1JyT0bZbd62CZKQZ6eoSAACQVIBmbvr3768dO3Zozpw51+xrs9kcto0xObZL0rBhw3T27Fn769ChQ/lTMAAAKJAKxMzNiy++qIULF2rdunUqX758rn0DAwOVnJzs0Hbs2DG5ubnJz88vW39PT095enrma70AAKDgcunMjTFG/fv317x587R69WqFhoZe85jw8HCtXLnSoW3FihVq3Lix3N3db1apAACgkHBpuOnXr59mz56tzz//XD4+PkpOTlZycrL++usve59hw4apW7du9u0+ffro4MGDio6O1p49ezRjxgxNnz5dQ4YMccVbAAAABYxLw83kyZN19uxZtWrVSkFBQfbX3Llz7X2SkpKUmJho3w4NDdWSJUu0Zs0a1a9fX2+88Ybee+89HgMHAACSXLzmJmshcG5iY2OztbVs2VJbtmy5CRUBAIDCrsA8LQUAAJAfCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSnAo3+/fvz+86AAAA8oVT4aZKlSpq3bq1Zs+erYsXL+Z3TQAAAE5zKtxs375dDRo00ODBgxUYGKh//etf+umnn/K7NgAAgDxzKtzUrl1bEydO1JEjRzRz5kwlJyfr3nvvVa1atTRx4kQdP348v+sEAAC4Lje0oNjNzU2dOnXSl19+qbFjx+r333/XkCFDVL58eXXr1k1JSUn5VScAAMB1uaFwk5CQoL59+yooKEgTJ07UkCFD9Pvvv2v16tU6cuSIOnbsmF91AgAAXBc3Zw6aOHGiZs6cqb179yoyMlKzZs1SZGSkihT5OyuFhoZq6tSpql69er4WCwAAcC1OhZvJkyerR48eeu655xQYGJhjn4oVK2r69Ok3VBwAAEBeORVu9u3bd80+Hh4eioqKcub0AAAATnNqzc3MmTP11VdfZWv/6quv9Omnn95wUQAAAM5yKty89dZbKlu2bLZ2f39/jRkz5oaLAgAAcJZT4ebgwYMKDQ3N1h4SEqLExMQbLgoAAMBZToUbf39/7dixI1v79u3b5efnd8NFAQAAOMupcPPkk09qwIABio+PV0ZGhjIyMrR69WoNHDhQTz75ZH7XCAAAcN2celrqzTff1MGDBxURESE3t79PkZmZqW7durHmBgAAuJRT4cbDw0Nz587VG2+8oe3bt8vb21t16tRRSEhIftcHAACQJ06FmyzVqlVTtWrV8qsWAACAG+ZUuMnIyFBsbKxWrVqlY8eOKTMz02H/6tWr86U4AACAvHIq3AwcOFCxsbF68MEHVbt2bdlstvyuCwAAwClOhZsvvvhCX375pSIjI/O7HgAAgBvi1KPgHh4eqlKlSn7XAgAAcMOcCjeDBw/Wu+++K2NMftcDAABwQ5y6LfX9998rPj5eS5cuVa1ateTu7u6wf968eflSHAAAQF45FW5Kly6tTp065XctAAAAN8ypcDNz5sz8rgMAACBfOLXmRpLS09P17bffaurUqTp37pwk6ejRozp//ny+FQcAAJBXTs3cHDx4UO3atVNiYqLS0tL0wAMPyMfHR2+//bYuXryoKVOm5HedAAAA18WpmZuBAweqcePGOn36tLy9ve3tnTp10qpVq/KtOAAAgLxy+mmpH374QR4eHg7tISEhOnLkSL4UBgAA4AynZm4yMzOVkZGRrf3w4cPy8fG54aIAAACc5VS4eeCBBzRp0iT7ts1m0/nz5zVy5Ei+kgEAALiUU7el3nnnHbVu3Vo1a9bUxYsX9fTTT2vfvn0qW7as5syZk981AgAAXDenwk1wcLC2bdumOXPmaMuWLcrMzFTPnj31zDPPOCwwBgAAuNWcCjeS5O3trR49eqhHjx75WQ8AAMANcSrczJo1K9f93bp1c6oYAACAG+VUuBk4cKDD9uXLl3XhwgV5eHioWLFihBsAAOAyTj0tdfr0aYfX+fPntXfvXt17770sKAYAAC7l9HdLXalq1ap66623ss3q5GbdunXq0KGDgoODZbPZ9M033+Taf82aNbLZbNlev/zyyw1WDwAArMLpBcU5KVq0qI4ePXrd/VNTU1WvXj0999xz6ty583Uft3fvXpUsWdK+Xa5cuTzVCQAArMupcLNw4UKHbWOMkpKS9MEHH6hZs2bXfZ727durffv2eb6+v7+/SpcunefjAACA9TkVbh555BGHbZvNpnLlyum+++7ThAkT8qOuXDVo0EAXL15UzZo1NWLECLVu3fqmXxMAABQOToWbzMzM/K7jugQFBWnatGlq1KiR0tLS9NlnnykiIkJr1qxRixYtcjwmLS1NaWlp9u2UlJRbVS4AAHCBfF1zc7OFhYUpLCzMvh0eHq5Dhw5p/PjxVw03MTExGj169K0qEQAAuJhT4SY6Ovq6+06cONGZS1y3e+65R7Nnz77q/mHDhjnUm5KSogoVKtzUmgAAgOs4FW62bt2qLVu2KD093T6T8uuvv6po0aJq2LChvZ/NZsufKq9RS1BQ0FX3e3p6ytPT86bXAQAACganwk2HDh3k4+OjTz/9VGXKlJH09y/2e+6559S8eXMNHjz4us5z/vx5/fbbb/bt/fv3a9u2bfL19VXFihU1bNgwHTlyxP51D5MmTVKlSpVUq1YtXbp0SbNnz1ZcXJzi4uKceRsAAMCCnAo3EyZM0IoVK+zBRpLKlCmjN998U23atLnucJOQkODwpFPW7aOoqCjFxsYqKSlJiYmJ9v2XLl3SkCFDdOTIEXl7e6tWrVpavHixIiMjnXkbAADAgpwKNykpKfrzzz9Vq1Yth/Zjx47p3Llz132eVq1ayRhz1f2xsbEO20OHDtXQoUPzVCsAALi9OPX1C506ddJzzz2nr7/+WocPH9bhw4f19ddfq2fPnnr00Ufzu0YAAIDr5tTMzZQpUzRkyBB17dpVly9f/vtEbm7q2bOnxo0bl68FAgAA5IVT4aZYsWL66KOPNG7cOP3+++8yxqhKlSoqXrx4ftcHAACQJzf0reBJSUlKSkpStWrVVLx48VzXzwAAANwKToWbkydPKiIiQtWqVVNkZKSSkpIkSb169bruJ6UAAABuBqfCzaBBg+Tu7q7ExEQVK1bM3t6lSxctW7Ys34oDAADIK6fW3KxYsULLly9X+fLlHdqrVq2qgwcP5kthAAAAznBq5iY1NdVhxibLiRMn+KoDAADgUk6FmxYtWti/EkH6+zukMjMzNW7cOIffOAwAAHCrOXVbaty4cWrVqpUSEhJ06dIlDR06VLt27dKpU6f0ww8/5HeNAAAA182pmZuaNWtqx44datKkiR544AGlpqbq0Ucf1datW3XnnXfmd40AAADXLc8zN5cvX1abNm00depUjR49+mbUBAAA4LQ8z9y4u7vr559/ls1muxn1AAAA3BCnbkt169ZN06dPz+9aAAAAbphTC4ovXbqkTz75RCtXrlTjxo2zfafUxIkT86U4AACAvMpTuPnjjz9UqVIl/fzzz2rYsKEk6ddff3Xow+0qAADgSnkKN1WrVlVSUpLi4+Ml/f11C++9954CAgJuSnEAAAB5lac1N1d+6/fSpUuVmpqarwUBAADcCKcWFGe5MuwAAAC4Wp7Cjc1my7amhjU2AACgIMnTmhtjjLp3727/csyLFy+qT58+2Z6WmjdvXv5VCAAAkAd5CjdRUVEO2127ds3XYgAAAG5UnsLNzJkzb1YdAAAA+eKGFhQDAAAUNIQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKYQbAABgKS4NN+vWrVOHDh0UHBwsm82mb7755prHrF27Vo0aNZKXl5cqV66sKVOm3PxCAQBAoeHScJOamqp69erpgw8+uK7++/fvV2RkpJo3b66tW7dq+PDhGjBggOLi4m5ypQAAoLBwc+XF27dvr/bt2193/ylTpqhixYqaNGmSJKlGjRpKSEjQ+PHj1blz55tUJQAAKEwK1ZqbDRs2qE2bNg5tbdu2VUJCgi5fvpzjMWlpaUpJSXF4AQAA63LpzE1eJScnKyAgwKEtICBA6enpOnHihIKCgrIdExMTo9GjR9+qEuGk0bbb82c00ox0+tjbdcykGxs3ANZXqGZuJMlmszlsG2NybM8ybNgwnT171v46dOjQTa8RAAC4TqGauQkMDFRycrJD27Fjx+Tm5iY/P78cj/H09JSnp+etKA8AABQAhWrmJjw8XCtXrnRoW7FihRo3bix3d3cXVQUAAAoSl4ab8+fPa9u2bdq2bZukvx/13rZtmxITEyX9fUupW7du9v59+vTRwYMHFR0drT179mjGjBmaPn26hgwZ4oryAQBAAeTS21IJCQlq3bq1fTs6OlqSFBUVpdjYWCUlJdmDjiSFhoZqyZIlGjRokD788EMFBwfrvffe4zFwAABg59Jw06pVK/uC4JzExsZma2vZsqW2bNlyE6sCAACFWaFacwMAAHAthBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGApLg83H330kUJDQ+Xl5aVGjRrpu+++u2rfNWvWyGazZXv98ssvt7BiAABQkLk03MydO1cvvfSSXnnlFW3dulXNmzdX+/btlZiYmOtxe/fuVVJSkv1VtWrVW1QxAAAo6FwabiZOnKiePXuqV69eqlGjhiZNmqQKFSpo8uTJuR7n7++vwMBA+6to0aK3qGIAAFDQuSzcXLp0SZs3b1abNm0c2tu0aaP169fnemyDBg0UFBSkiIgIxcfH59o3LS1NKSkpDi8AAGBdLgs3J06cUEZGhgICAhzaAwIClJycnOMxQUFBmjZtmuLi4jRv3jyFhYUpIiJC69atu+p1YmJiVKpUKfurQoUK+fo+AABAweLm6gJsNpvDtjEmW1uWsLAwhYWF2bfDw8N16NAhjR8/Xi1atMjxmGHDhik6Otq+nZKSQsABAMDCXDZzU7ZsWRUtWjTbLM2xY8eyzebk5p577tG+ffuuut/T01MlS5Z0eAEAAOtyWbjx8PBQo0aNtHLlSof2lStXqmnTptd9nq1btyooKCi/ywMAAIWUS29LRUdH69lnn1Xjxo0VHh6uadOmKTExUX369JH09y2lI0eOaNasWZKkSZMmqVKlSqpVq5YuXbqk2bNnKy4uTnFxca58GwAAoABxabjp0qWLTp48qddff11JSUmqXbu2lixZopCQEElSUlKSw++8uXTpkoYMGaIjR47I29tbtWrV0uLFixUZGemqtwAAAAoYly8o7tu3r/r27ZvjvtjYWIftoUOHaujQobegKgAAUFi5/OsXAAAA8hPhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWIrLw81HH32k0NBQeXl5qVGjRvruu+9y7b927Vo1atRIXl5eqly5sqZMmXKLKgUAAIWBS8PN3Llz9dJLL+mVV17R1q1b1bx5c7Vv316JiYk59t+/f78iIyPVvHlzbd26VcOHD9eAAQMUFxd3iysHAAAFlUvDzcSJE9WzZ0/16tVLNWrU0KRJk1ShQgVNnjw5x/5TpkxRxYoVNWnSJNWoUUO9evVSjx49NH78+FtcOQAAKKhcFm4uXbqkzZs3q02bNg7tbdq00fr163M8ZsOGDdn6t23bVgkJCbp8+fJNqxUAABQebq668IkTJ5SRkaGAgACH9oCAACUnJ+d4THJyco7909PTdeLECQUFBWU7Ji0tTWlpafbts2fPSpJSUlJu9C3k6KIu3pTzFnQ3Op6MW97drmMm3bw/v7i62/Xzxt9tzrkZf0azzmmMuWZfl4WbLDabzWHbGJOt7Vr9c2rPEhMTo9GjR2drr1ChQl5LRS7eKvWWq0solBg35zBuuFX4rDnnZo7buXPnVKpUqVz7uCzclC1bVkWLFs02S3Ps2LFsszNZAgMDc+zv5uYmPz+/HI8ZNmyYoqOj7duZmZk6deqU/Pz8cg1RhU1KSooqVKigQ4cOqWTJkq4up9Bg3JzDuOUdY+Ycxs05Vhw3Y4zOnTun4ODga/Z1Wbjx8PBQo0aNtHLlSnXq1MnevnLlSnXs2DHHY8LDw7Vo0SKHthUrVqhx48Zyd3fP8RhPT095eno6tJUuXfrGii/ASpYsaZkP8q3EuDmHccs7xsw5jJtzrDZu15qxyeLSp6Wio6P1ySefaMaMGdqzZ48GDRqkxMRE9enTR9Lfsy7dunWz9+/Tp48OHjyo6Oho7dmzRzNmzND06dM1ZMgQV70FAABQwLh0zU2XLl108uRJvf7660pKSlLt2rW1ZMkShYSESJKSkpIcfudNaGiolixZokGDBunDDz9UcHCw3nvvPXXu3NlVbwEAABQwLl9Q3LdvX/Xt2zfHfbGxsdnaWrZsqS1bttzkqgofT09PjRw5MtstOOSOcXMO45Z3jJlzGDfn3O7jZjPX80wVAABAIeHy75YCAADIT4QbAABgKYQbAABgKYQbAABgKYSbQm7dunXq0KGDgoODZbPZ9M0337i6pAIvJiZGd911l3x8fOTv769HHnlEe/fudXVZBd7kyZNVt25d+y8FCw8P19KlS11dVqETExMjm82ml156ydWlFGijRo2SzWZzeAUGBrq6rALvyJEj6tq1q/z8/FSsWDHVr19fmzdvdnVZtxzhppBLTU1VvXr19MEHH7i6lEJj7dq16tevnzZu3KiVK1cqPT1dbdq0UWpqqqtLK9DKly+vt956SwkJCUpISNB9992njh07ateuXa4urdDYtGmTpk2bprp167q6lEKhVq1aSkpKsr927tzp6pIKtNOnT6tZs2Zyd3fX0qVLtXv3bk2YMMHSv5X/alz+e25wY9q3b6/27du7uoxCZdmyZQ7bM2fOlL+/vzZv3qwWLVq4qKqCr0OHDg7b//nPfzR58mRt3LhRtWrVclFVhcf58+f1zDPP6OOPP9abb77p6nIKBTc3N2Zr8mDs2LGqUKGCZs6caW+rVKmS6wpyIWZucNs7e/asJMnX19fFlRQeGRkZ+uKLL5Samqrw8HBXl1Mo9OvXTw8++KDuv/9+V5dSaOzbt0/BwcEKDQ3Vk08+qT/++MPVJRVoCxcuVOPGjfX444/L399fDRo00Mcff+zqslyCcIPbmjFG0dHRuvfee1W7dm1Xl1Pg7dy5UyVKlJCnp6f69Omj+fPnq2bNmq4uq8D74osvtGXLFsXExLi6lELj7rvv1qxZs7R8+XJ9/PHHSk5OVtOmTXXy5ElXl1Zg/fHHH5o8ebKqVq2q5cuXq0+fPhowYIBmzZrl6tJuOW5L4bbWv39/7dixQ99//72rSykUwsLCtG3bNp05c0ZxcXGKiorS2rVrCTi5OHTokAYOHKgVK1bIy8vL1eUUGv+83V6nTh2Fh4frzjvv1Keffqro6GgXVlZwZWZmqnHjxhozZowkqUGDBtq1a5cmT57s8CXUtwNmbnDbevHFF7Vw4ULFx8erfPnyri6nUPDw8FCVKlXUuHFjxcTEqF69enr33XddXVaBtnnzZh07dkyNGjWSm5ub3NzctHbtWr333ntyc3NTRkaGq0ssFIoXL646depo3759ri6lwAoKCsr2H40aNWo4fAH17YKZG9x2jDF68cUXNX/+fK1Zs0ahoaGuLqnQMsYoLS3N1WUUaBEREdme8nnuuedUvXp1vfzyyypatKiLKitc0tLStGfPHjVv3tzVpRRYzZo1y/ZrLX799VeFhIS4qCLXIdwUcufPn9dvv/1m396/f7+2bdsmX19fVaxY0YWVFVz9+vXT559/rgULFsjHx0fJycmSpFKlSsnb29vF1RVcw4cPV/v27VWhQgWdO3dOX3zxhdasWZPt6TM48vHxybaeq3jx4vLz82OdVy6GDBmiDh06qGLFijp27JjefPNNpaSkKCoqytWlFViDBg1S06ZNNWbMGD3xxBP66aefNG3aNE2bNs3Vpd16BoVafHy8kZTtFRUV5erSCqycxkuSmTlzpqtLK9B69OhhQkJCjIeHhylXrpyJiIgwK1ascHVZhVLLli3NwIEDXV1GgdalSxcTFBRk3N3dTXBwsHn00UfNrl27XF1Wgbdo0SJTu3Zt4+npaapXr26mTZvm6pJcwmaMMS7KVQAAAPmOBcUAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDfAbc5ms+mbb75xdRnX9M86Dxw4IJvNpm3btrm0JgAFE+EGsKDu3bvLZrPJZrPJ3d1dAQEBeuCBBzRjxgxlZmY69E1KSnL4Bub8NmrUKHstRYoUUXBwsJ555hkdOnTopl0zy65du/TEE0+oXLly8vT0VNWqVfXqq6/qwoULeTrPmjVrZLPZdObMmZtTKIB8RbgBLKpdu3ZKSkrSgQMHtHTpUrVu3VoDBw7UQw89pPT0dHu/wMBAeXp63tRaatWqpaSkJB0+fFhz587Vzp079cQTT9zUa27cuFF33323Ll26pMWLF+vXX3/VmDFj9Omnn+qBBx7QpUuXbur1AbgO4QawKE9PTwUGBuqOO+5Qw4YNNXz4cC1YsEBLly5VbGysvd+Vt6UOHz6sJ598Ur6+vipevLgaN26sH3/80b5/0aJFatSokby8vFS5cmWNHj3aISzlxM3NTYGBgQoODlbz5s3Vu3dvbdy4USkpKfY+kydP1p133ikPDw+FhYXps88+c/q9G2PUs2dP1ahRQ/PmzVOTJk0UEhKixx9/XIsWLdKGDRv0zjvvSMr5FteZM2dks9m0Zs0aHThwQK1bt5YklSlTRjabTd27d5ckZWZmauzYsapSpYo8PT1VsWJF/ec//7GfZ+fOnbrvvvvk7e0tPz8/Pf/88zp//rx9f/fu3fXII49ozJgxCggIUOnSpe3j+e9//1u+vr4qX768ZsyY4fD+jhw5oi5duqhMmTLy8/NTx44ddeDAAafHC7Aawg1wG7nvvvtUr149zZs3L8f958+fV8uWLXX06FEtXLhQ27dv19ChQ+23spYvX66uXbtqwIAB2r17t6ZOnarY2FiHf9CvJTk5WfPmzVPRokVVtGhRSdL8+fM1cOBADR48WD///LP+9a9/6bnnnlN8fLxT73Pbtm3avXu3oqOjVaSI419z9erV0/333685c+Zc17kqVKiguLg4SdLevXuVlJSkd999V5I0bNgwjR07Vq+++qp2796tzz//XAEBAZKkCxcuqF27dipTpow2bdqkr776St9++6369+/vcP7Vq1fr6NGjWrdunSZOnKhRo0bpoYceUpkyZfTjjz+qT58+6tOnj/023oULF9S6dWuVKFFC69at0/fff68SJUqoXbt2zEYBWVz8xZ0AboKoqCjTsWPHHPd16dLF1KhRw74tycyfP98YY8zUqVONj4+POXnyZI7HNm/e3IwZM8ah7bPPPjNBQUFXrWXkyJGmSJEipnjx4sbb29v+LewDBgyw92natKnp3bu3w3GPP/64iYyMzLHO/fv3G0lm69atOV7ziy++yHX/gAEDjLe391XPdfr0aSPJxMfHG2OMiY+PN5LM6dOn7X1SUlKMp6en+fjjj3O8xrRp00yZMmXM+fPn7W2LFy82RYoUMcnJycaYv39OISEhJiMjw94nLCzMNG/e3L6dnp5uihcvbubMmWOMMWb69OkmLCzMZGZm2vukpaUZb29vs3z58hxrAW43bi5LVQBcwhgjm82W475t27apQYMG8vX1zXH/5s2btWnTJoeZmoyMDF28eFEXLlxQsWLFcjwuLCxMCxcuVFpamhYsWKCvvvrK4Rx79uzR888/73BMs2bN7DMk+S23Mbhee/bsUVpamiIiIq66v169eipevLi9rVmzZsrMzNTevXvtMzy1atVymF0KCAhQ7dq17dtFixaVn5+fjh07Junvn8Fvv/0mHx8fh+tdvHhRv//++w29J8AqCDfAbWbPnj0KDQ3NcZ+3t3eux2ZmZmr06NF69NFHs+3z8vK66nEeHh6qUqWKpL//Md+3b59eeOEFh3U1V4aNGwkg1apVkyTt3r1b9evXz7b/l19+UdWqVSXJHiyMMfb9ly9fvuY1rjVWudX/z3Z3d/ds+3Jqy7o1mJmZqUaNGum///1vtvOWK1fumnUDtwPW3AC3kdWrV2vnzp3q3Llzjvvr1q2rbdu26dSpUznub9iwofbu3asqVapke125tiU3r776qubMmaMtW7ZIkmrUqKHvv//eoc/69etVo0aN6z7nP9WvX1/Vq1fXO++8k+3R9+3bt+vbb7/VU089Jen/B4KkpCR7nyt/f46Hh4ekv2epslStWlXe3t5atWpVjjXUrFlT27ZtU2pqqr3thx9+UJEiRezhyxkNGzbUvn375O/vn+1nUKpUKafPC1gJ4QawqLS0NCUnJ+vIkSPasmWLxowZo44dO+qhhx5St27dcjzmqaeeUmBgoB555BH98MMP+uOPPxQXF6cNGzZIkl577TXNmjVLo0aN0q5du7Rnzx7NnTtXI0aMyFNtlStXVseOHfXaa69Jkv79738rNjZWU6ZM0b59+zRx4kTNmzdPQ4YMceq922w2ffLJJ9q9e7c6d+6sn376SYmJifrqq6/UoUMHhYeH66WXXpL09wzMPffco7feeku7d+/WunXrsr2fkJAQ2Ww2/e9//9Px48d1/vx5eXl56eWXX9bQoUM1a9Ys/f7779q4caOmT58uSXrmmWfk5eWlqKgo/fzzz4qPj9eLL76oZ5991n5LyhnPPPOMypYtq44dO+q7777T/v37tXbtWg0cOFCHDx92+ryApbh0xQ+AmyIqKsq+cNfNzc2UK1fO3H///WbGjBkOi1eNcVyoa4wxBw4cMJ07dzYlS5Y0xYoVM40bNzY//vijff+yZctM06ZNjbe3tylZsqRp0qSJmTZt2lVrGTlypKlXr1629h9++MFIMhs3bjTGGPPRRx+ZypUrG3d3d1OtWjUza9asq9Z5rQXFWXbs2GE6d+5s/Pz8jLu7u7nzzjvNiBEjTGpqqkO/3bt3m3vuucd4e3ub+vXrmxUrVjgsKDbGmNdff90EBgYam81moqKijDHGZGRkmDfffNOEhIQYd3d3U7FiRYcF1zt27DCtW7c2Xl5extfX1/Tu3ducO3fOvj+nhd8tW7Y0AwcOdGgLCQkx77zzjn07KSnJdOvWzZQtW9Z4enqaypUrm969e5uzZ8/mOh7A7cJmzD9uNAMAABRy3JYCAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACW8v8AuT0Z4JG/5HUAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "# Calculating the frequency distribution of the dice rolls\n", + "frequency = df['Dice Result'].value_counts().sort_index()\n", + "frequency\n", + "# plotting the frequency results: \n", + "\n", + "plt.bar(frequency.index, frequency,color='purple') # create a bar plot using frequency data\n", + "plt.xlabel('Dice Roll Outcome') # setting x label as the roll results (numbers in the dice)\n", + "plt.ylabel('Frequency') # setting y label as the fequency of each number\n", + "plt.title('Frequency distribution of dice rolls') # setting a title for the plot\n", + "plt.xticks(range(1, 7)) # Set x-ticks to show all possible dice roll outcomes\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "While the plot of sorted values gives a detailed view of each roll's outcome in a specific order, \n", + "the frequency plot provides an overview of the overall outcomes, summarizing the entire set of rolls.\n", + "The sorted values plot displays each dice roll's outcome in a visually sorted order.\n", + "Each point or bar represents a specific dice roll, showing how each outcome compares to the others when arranged sequentially.\n", + "The frequency plot aggregates the results to show how many times each possible outcome occurred across all rolls. \n", + "It summarizes the data by counting occurrences rather than showing each roll individually, as the plot of sorted values.\n", + "Providing complementary perspectives, together both plots allow us to see a fuller picture of the data's characteristics than either could alone.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 2\n", + "Now, using the dice results obtained in *challenge 1*, your are going to define some functions that will help you calculate the mean of your data in two different ways, the median and the four quartiles. \n", + "\n", + "#### 1.- Define a function that computes the mean by summing all the observations and dividing by the total number of observations. You are not allowed to use any methods or functions that directly calculate the mean value. " + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.0" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "def mean_calculation(column):\n", + " \"\"\"\n", + " Takes a column with numerical values that can be summed and counted, sums and counts them without using built-in functions, \n", + " then divides the sum by the count, and returns the mean of the data provided\n", + " \"\"\"\n", + " #Check if the data list is not empty\n", + " if len(column) == 0:\n", + " return None # handling empty data\n", + " \n", + " total_sum = 0 # Initialize a variable to store the sum of all elements\n", + " count = 0 # Initialize a counter to count the number of elements\n", + " \n", + " # Loop through each element in the data list\n", + " for value in column:\n", + " total_sum += value # Add each element to total_sum\n", + " count += 1 # Increment the count for each element\n", + " \n", + " # Calculate the mean by dividing the total sum by the number of elements\n", + " mean = total_sum / count\n", + " \n", + " return mean\n", + "\n", + "mean_calculation(df['Dice Result'])\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- First, calculate the frequency distribution. Then, calculate the mean using the values of the frequency distribution you've just computed. You are not allowed to use any methods or functions that directly calculate the mean value. " + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.0" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def calculate_mean_from_frequency(data):\n", + " # Calculating the frequency distribution using another method\n", + " frequency_distribution = {} # create an empty dictionary\n", + " for number in data:\n", + " if number in frequency_distribution:\n", + " frequency_distribution[number] += 1\n", + " else:\n", + " frequency_distribution[number] = 1\n", + " # Calculating the mean using the frequency distribution\n", + " total_sum = 0 # start the sum at 0\n", + " total_count = 0 # start the count at 0\n", + " for number, frequency in frequency_distribution.items():\n", + " total_sum += number * frequency # sum it dice value multiplied by it's frequency\n", + " total_count += frequency # sum the frequencies\n", + "\n", + " # Calculating the mean\n", + " mean = total_sum / total_count\n", + " return mean\n", + "\n", + "calculate_mean_from_frequency(df['Dice Result'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Define a function to calculate the median. You are not allowed to use any methods or functions that directly calculate the median value. \n", + "**Hint**: you might need to define two computation cases depending on the number of observations used to calculate the median." + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "def calculate_median(data):\n", + " # Step 1: Sort the data\n", + " sorted_data = sorted(data)\n", + " \n", + " # Step 2: Determine the number of observations\n", + " n = len(sorted_data)\n", + " \n", + " # Step 3: Compute the median\n", + " if n % 2 == 1:\n", + " # If odd, the median is the middle element\n", + " median = sorted_data[n // 2]\n", + " else:\n", + " # If even, the median is the average of the two middle elements\n", + " mid_index = n // 2\n", + " median = (sorted_data[mid_index - 1] + sorted_data[mid_index]) / 2\n", + " \n", + " return median" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- Define a function to calculate the four quartiles. You can use the function you defined above to compute the median but you are not allowed to use any methods or functions that directly calculate the quartiles. " + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "\n", + "def calculate_quartiles(data):\n", + " sorted_data = sorted(data)\n", + " n = len(sorted_data)\n", + " # Calculate Q2 (Median)\n", + " Q2 = calculate_median(sorted_data)\n", + "\n", + " # Find the split index for odd and even length datasets\n", + " if n % 2 == 0:\n", + " lower_half = sorted_data[:n // 2]\n", + " upper_half = sorted_data[n // 2:]\n", + " else:\n", + " lower_half = sorted_data[:n // 2]\n", + " upper_half = sorted_data[n // 2 + 1:]\n", + "\n", + " # Calculate Q1 and Q3 using the median function on halves\n", + " Q1 = calculate_median(lower_half)\n", + " Q3 = calculate_median(upper_half)\n", + " Q4 = sorted_data[-1] # Maximum value\n", + "\n", + " return Q1, Q2, Q3, Q4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 3\n", + "Read the csv `roll_the_dice_hundred.csv` from the `data` folder.\n", + "#### 1.- Sort the values and plot them. What do you see?" + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "metadata": { + "scrolled": true + }, + "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", + "
rollvalue
001
1471
2561
391
4731
\n", + "
" + ], + "text/plain": [ + " roll value\n", + "0 0 1\n", + "1 47 1\n", + "2 56 1\n", + "3 9 1\n", + "4 73 1" + ] + }, + "execution_count": 148, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "roll_the_dice_hundred = pd.read_csv('data/roll_the_dice_hundred.csv', index_col=0)\n", + "roll_the_dice_hundred.head()\n", + "#sort the values\n", + "sorted_roll_hundred = roll_the_dice_hundred.sort_values(by='value').reset_index(drop=True)\n", + "\n", + "sorted_roll_hundred.head()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0EAAAIhCAYAAACIfrE3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRn0lEQVR4nO3deXgV5d3G8XvIRhISBMKSBQEREJFNsRYiBgpRWRQNKIqy62sVBaRaXN4KuICiILRUwFah1qJWQIooS9QQoKAsGhe0gq+grEIQCAQJWeb94/QEDsnJRs7MHOb7ua5cOZln5pzf/EhC7swzTwzTNE0BAAAAgEvUsLsAAAAAALASIQgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKIQjAOZs/f74Mw9DmzZv97rNz504ZhqH58+dbV9h/eevzvoWGhiopKUnDhw/Xnj17ivdbvXq1DMPQ6tWrK/0a69ev18SJE3XkyJHqK/y/3nrrLbVp00aRkZEyDENZWVml7uet3/sWHh6u+vXrKzk5WY8//rh++OGHEsd4e7Nz585qr7ssZ9ZpGIZiY2PVpUsXvfHGG+f0nBMnTiz++Fz+PUuzcuVKXXvttUpISFBERIQSEhLUrVs3Pfvss9Xy/GeaPHmylixZUu3PW9Gvw4p8TZ+rjh07KjExUYWFhX73SU5OVlxcnE6dOlWh57Tz+wyA4EIIAmCJ+Ph4bdiwQX369LGthnnz5mnDhg1KT0/X3XffrTfeeENdu3ZVbm7uOT/3+vXrNWnSpGoPQQcPHtTgwYPVvHlzrVixQhs2bFDLli3LPGby5MnasGGDMjIy9Morr6hbt2569dVX1bp1a/3jH//w2bdPnz7asGGD4uPjq7XuihgwYIA2bNig9evXa86cOcrJydGgQYO0YMECy2spz5w5c3T99dcrNjZWs2bN0sqVK/Xcc8+pdevWWrhwYbW/XqBCkJOMHDlSe/fu1cqVK0sd37Ztm9avX6/BgwcrPDzc4uoAnO9C7S4AgDtERETo17/+ta01XHbZZerUqZMkqXv37iosLNRTTz2lJUuW6I477rC1Nn+2bdum/Px83XnnnUpJSanQMS1atPDp9Y033qjf/e536tmzp4YNG6Z27dqpbdu2kqT69eurfv36Aam9PA0bNiyus3PnzkpOTlbTpk01d+5cDRo0yJaa/JkyZYquueaaEoFn8ODBKioqqrbX+eWXXxQZGVltz+dkd9xxhx5++GG9+uqr6t27d4nxV199VZI0YsQIq0sD4AJcCQJgidKmqUycOFGGYWjr1q26/fbbVbt2bTVs2FAjRozQ0aNHfY43TVMvvfSSOnTooMjISNWpU0cDBgzQ999/X+WavD+AlzZN7ExLly5V586dFRUVpZiYGKWmpmrDhg0+5/Hwww9Lkpo1a1Y8xau8aVjlPe+wYcN09dVXS5IGDhwowzDUrVu3KpypVLduXc2dO1cFBQV68cUXi7f7mw63YsUK9ejRQ7Vr11ZUVJRat26tKVOm+OyzefNm3Xjjjapbt65q1qypjh076p///GeV6pOkJk2aqH79+vrpp598tv/444+688471aBBA0VERKh169aaNm1alcLH999/r9tuu614SlvDhg3Vo0cPv1MMvQ4dOuT3almNGr7/lZ48eVKPPvqomjVrpvDwcCUmJmrUqFElrhI2bdpUffv21eLFi9WxY0fVrFlTkyZNkmEYys3N1d/+9rfiz6Uz/93379+ve+65R0lJSQoPD1ezZs00adIkFRQU+Dz/3r17deuttyomJka1a9fWwIEDtX///gr3SpIOHz6s4cOHq27duoqOjtYNN9zg8zX31FNPKTQ0VLt27Spx7IgRI1SvXj2dPHmy1OeuU6eObr75Zr377rs6dOiQz1hhYaH+/ve/68orr1Tbtm313Xffafjw4WrRooWioqKUmJioG264QV9++WW55zBs2DA1bdq0xHbv958zVfT7zGeffaa+ffsWf04mJCSoT58+2r17d7n1AHAGQhAA2/Xv318tW7bUokWL9Mgjj2jBggV68MEHffa55557NHbsWPXs2VNLlizRSy+9pK1bt6pLly4lfmiuqO+++06SyrwSsmDBAvXr10+xsbF644039Morr+jw4cPq1q2b1q1bJ0m666679MADD0iSFi9erA0bNmjDhg26/PLLz+l5//CHP+jPf/6zpNNT3F566aUqnaskXXnllYqPj9eaNWvK3O+VV15R7969VVRUpDlz5ujdd9/V6NGjfX7Ay8jIUHJyso4cOaI5c+boX//6lzp06KCBAwdW+X6Mo0eP6ueff/aZ7nfw4EF16dJFq1at0lNPPaWlS5eqZ8+eeuihh3T//fdX+jV69+6tLVu2aOrUqUpPT9fs2bPVsWPHcqcxdu7cWYsWLdLEiRP1+eef+72PxTRN3XTTTXrhhRc0ePBgvffeexo3bpz+9re/6Te/+Y3y8vJ89v/000/18MMPa/To0VqxYoX69++vDRs2KDIyUr179y7+XPL+u+/fv1+/+tWvtHLlSj3xxBNavny5Ro4cqSlTpujuu+8uft5ffvlFPXv21KpVqzRlyhS9/fbbatSokQYOHFipfo0cOVI1atTQggULNGPGDG3cuFHdunUr7tc999yj0NBQzZ071+e4n3/+WW+++aZGjhypmjVrlvn8p06d0uuvv+6zfeXKldq7d69GjhwpyRPo6tWrp2effVYrVqzQn//8Z4WGhuqqq67St99+W6lzKktFvs/k5uYqNTVVP/30k/785z8rPT1dM2bM0IUXXqhjx45VWy0AAswEgHM0b948U5K5adMmv/vs2LHDlGTOmzeveNuECRNMSebUqVN99r3vvvvMmjVrmkVFRaZpmuaGDRtMSea0adN89tu1a5cZGRlp/v73v69QfR9//LGZn59vHjt2zFy2bJlZv359MyYmxty/f79pmqaZkZFhSjIzMjJM0zTNwsJCMyEhwWzbtq1ZWFhY/HzHjh0zGzRoYHbp0qV42/PPP29KMnfs2FFmLZV9Xm9Nb7/9drnPW5F9r7rqKjMyMrJEb7x1Hzt2zIyNjTWvvvrq4v6X5pJLLjE7duxo5ufn+2zv27evGR8f73NepZFk3nfffWZ+fr556tQpc9u2beaNN95oxsTEmJs3by7e75FHHjElmZ988onP8ffee69pGIb57bff+jznhAkTSvTD+++ZnZ1tSjJnzJhRZm2l+e6778zLLrvMlGRKMiMjI80ePXqYs2bNMk+dOlW834oVK0r9nH7rrbdMSebLL79cvK1JkyZmSEiIzzl4RUdHm0OHDi2x/Z577jFr1apl/vDDDz7bX3jhBVOSuXXrVtM0TXP27NmmJPNf//qXz3533313ia/D0ng/L26++Waf7f/+979NSebTTz9dvG3o0KFmgwYNzLy8vOJtzz33nFmjRo1yvx6KiorMZs2ame3atfPZ3r9/fzMqKso8evRoqccVFBSYp06dMlu0aGE++OCDxdtL+z4zdOhQs0mTJiWew/v9x6ui32c2b95sSjKXLFlS5rkBcDauBAGw3Y033ujzcbt27XTy5EkdOHBAkrRs2TIZhqE777xTBQUFxW+NGjVS+/btK7z6169//WuFhYUpJiZGffv2VaNGjbR8+XI1bNiw1P2//fZb7d27V4MHD/aZ8lSrVi31799fH3/8sU6cOFHp8w3U81aEaZpljq9fv145OTm67777SkwV8vruu+/0n//8p/g+qjP/TXr37q19+/ZV6LfzL730ksLCwhQeHq6WLVtq+fLleuONN3TFFVcU7/PRRx/p0ksv1a9+9SufY4cNGybTNPXRRx+V+zpedevWVfPmzfX8889r+vTp+uyzzyo8pa558+b6/PPPlZmZqUmTJqlnz57atGmT7r//fnXu3Ll4ype3nmHDhvkcf8sttyg6Oloffvihz/Z27dqVu9DFmZYtW6bu3bsrISHBp++9evWSJGVmZkryXKmLiYkp8bVV2Xutzr5XrkuXLmrSpIkyMjKKt40ZM0YHDhzQ22+/LUkqKirS7Nmz1adPn1KnoZ3JMAwNHz5cX3zxhbZs2SLJM/Xw3XffVf/+/RUbGyvJ8zk2efJkXXrppQoPD1doaKjCw8O1fft2ffPNN5U6J38q+n3m4osvVp06dTR+/HjNmTNHX3/9dbW8PgBrEYIA2K5evXo+H0dEREjyTOmRpJ9++kmmaaphw4YKCwvzefv444+VnZ1dodd57bXXtGnTJn322Wfau3evvvjiCyUnJ/vd33ufQmn3giQkJKioqEiHDx+u0Gtb8bwV8eOPPyohIcHv+MGDByVJSUlJfvfxTgt66KGHSvx73HfffZJUoX+TW2+9VZs2bdL69es1d+5cxcTE6LbbbtP27duL9/F3L473HM6+l6QshmHoww8/1HXXXaepU6fq8ssvV/369TV69OgKTWOqUaOGrrnmGj3xxBNaunSp9u7dq4EDB2rLli3FN/EfOnRIoaGhJaZYGoahRo0alai3sqvy/fTTT3r33XdL9L1NmzaSTvf90KFDpYb7Ro0aVer1Stv/7PPo2LGjunbtWjx1c9myZdq5c2eFpysOHz5cNWrU0Lx58yRJ//jHP3Tq1KniqXCSNG7cOP3hD3/QTTfdpHfffVeffPKJNm3apPbt2xd/nzhXFf0+U7t2bWVmZqpDhw567LHH1KZNGyUkJGjChAnKz8+vlloABB6rwwFwvLi4OBmGobVr1xYHpDOVtq00rVu3Ll4driK84Wzfvn0lxvbu3asaNWqoTp06FX6+QD9veTZu3Kj9+/f7/HB5Nu8P72Xd4B0XFydJevTRR5WWllbqPq1atSq3nvr16xf/e3Tu3FmtW7dWSkqKHnzwQS1btkySp1f++nRmLRXVpEkTvfLKK5I8K+/985//1MSJE3Xq1CnNmTOnUs8VHR2tRx99VG+99Za++uqr4noLCgp08OBBnyBkmqb279+vK6+80uc5/F1t8ycuLk7t2rXTM888U+q4NxzWq1dPGzduLDFe2YURStt///79uvjii322jR49Wrfccos+/fRTzZo1Sy1btlRqamqFXiMpKUnXXnutFixYoGnTpmnevHm6+OKLdc011xTv8/rrr2vIkCGaPHmyz7HZ2dm64IILynz+mjVrlrgXy3vsmSrzfaZt27Z68803ZZqmvvjiC82fP19PPvmkIiMj9cgjj1TktAHYjCtBAByvb9++Mk1Te/bsUadOnUq8eZd7rm6tWrVSYmKiFixY4DONLDc3V4sWLSpe2U0qefWqup63uvz888/67W9/q7CwsBKLTpypS5cuql27tubMmeN36lyrVq3UokULff7556X+e3Tq1EkxMTGVrrFr164aMmSI3nvvveJV8nr06KGvv/5an376qc++r732mgzDUPfu3Sv9Ol4tW7bU//7v/6pt27Ylnv9spQUxScVTsbzho0ePHpJU4kb/RYsWKTc3t3i8PBEREaV+LvXt21dfffWVmjdvXmrfvXV0795dx44d09KlS32Or+zfYDr770qtX79eP/zwQ4lVCm+++WZdeOGF+t3vfqcPPvigzOmUpRk5cqQOHz6sJ554QllZWRo+fLjP8YZhlAgm7733ns8fO/anadOmOnDggM8CKqdOnSrx94mq8n3GMAy1b99eL774oi644IJyP48AOAdXggBUm48++qjEUsuSSv0bIJWRnJys//mf/9Hw4cO1efNmXXPNNYqOjta+ffu0bt06tW3bVvfee+85vUZpatSooalTp+qOO+5Q3759dc899ygvL0/PP/+8jhw5omeffbZ4X+8PSDNnztTQoUMVFhamVq1alRoGKvO8VbF9+3Z9/PHHKioq0qFDh/TJJ5/olVdeUU5Ojl577bXiqVOlqVWrlqZNm6a77rpLPXv21N13362GDRvqu+++0+eff65Zs2ZJkubOnatevXrpuuuu07Bh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4447fBZKAAAEAabDAQBcqNIhSJIiIyM1YsQIjRgxorrrAQBYielwAAAXqnQIeu2118ocHzJkSJWLAQBYjBAEAHChSoegMWPG+Hycn5+vEydOKDw8XFFRUYQgAAgWeXlSTo7nMdPhAAAuUunV4Q4fPuzzdvz4cX377be6+uqrWRgBAIKJd1GE0FDpggtsLQUAACtVOgSVpkWLFnr22WdLXCUCADjYmYsi1KiW/w4AAAgK1fa/XkhIiPbu3VtdTwcACDTvlSCmwgEAXKbS9wQtXbrU52PTNLVv3z7NmjVLycnJ1VYYACDAWBQBAOBSlQ5BN910k8/HhmGofv36+s1vfqNp06ZVV10AgEAjBAEAXKrSIaioqCgQdQAArOadDkcIAgC4DHfCAoBbnbkwAgAALlKhK0Hjxo2r8BNOnz69ysUAACzEdDgAgEtVKAR99tlnFXoywzDOqRgAgIWYDgcAcKkKhaCMjIxA1wEAsBrT4QAALsU9QQDgVkyHAwC4VKVXh5OkTZs26e2339aPP/6oU6dO+YwtXry4WgoDAARQbq504oTnMSEIAOAylb4S9Oabbyo5OVlff/213nnnHeXn5+vrr7/WRx99pNq1aweiRgBAdfPeDxQRIdWqZW8tAABYrNIhaPLkyXrxxRe1bNkyhYeHa+bMmfrmm29066236sILLwxEjQCA6nbmVDgWtQEAuEylQ9D//d//qU+fPpKkiIgI5ebmyjAMPfjgg3r55ZervUAAQABwPxAAwMUqHYLq1q2rY8eOSZISExP11VdfSZKOHDmiE9755QAAZ/NOh2NlOACAC1U4BGVlZUmSunbtqvT0dEnSrbfeqjFjxujuu+/W7bffrh49egSkSABANeNKEADAxSq8Otzll1+ujh076qabbtLtt98uSXr00UcVFhamdevWKS0tTX/4wx8CVigAoBoRggAALlbhK0H//ve/dfnll+uFF15Q8+bNdeeddyozM1O///3vtXTpUk2fPl116tQJZK0AgOrCdDgAgItVOAR17txZf/nLX7R//37Nnj1bu3fvVs+ePdW8eXM988wz2r17dyDrBABUJ64EAQBcrNILI0RGRmro0KFavXq1tm3bpttvv11z585Vs2bN1Lt370DUCACoboQgAICLVToEnal58+Z65JFH9Pjjjys2NlYrV66srroAAIHknQ5HCAIAuFCF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AQAAAHAVQpAFIiIiNGHCBEVERNhdiiPRH//ojX/0xj964x+98Y/elI3++Edv/KM3zhXUCyMAAAAAQGVxJQgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKISjA1qxZoxtuuEEJCQkyDENLliyxuyRblNeHxYsX67rrrlNcXJwMw1BWVpYtddphypQpuvLKKxUTE6MGDRropptu0rfffuuzj1v7M3v2bLVr1674j8x17txZy5cvLx53a19KM2XKFBmGobFjxxZvc3N/Jk6cKMMwfN4aNWpUPO7m3kjSnj17dOedd6pevXqKiopShw4dtGXLluJxt/anadOmJT5vDMPQqFGjJLm3L5JUUFCg//3f/1WzZs0UGRmpiy66SE8++aSKioqK93Fzf44dO6axY8eqSZMmioyMVJcuXbRp06bicTf3xqkIQQGWm5ur9u3ba9asWXaXYqvy+pCbm6vk5GQ9++yzFldmv8zMTI0aNUoff/yx0tPTVVBQoGuvvVa5ubnF+7i1P0lJSXr22We1efNmbd68Wb/5zW/Ur18/bd26VZJ7+3K2TZs26eWXX1a7du18tru9P23atNG+ffuK37788sviMTf35vDhw0pOTlZYWJiWL1+ur7/+WtOmTdMFF1xQvI9b+7Np0yafz5n09HRJ0i233CLJvX2RpOeee05z5szRrFmz9M0332jq1Kl6/vnn9ac//al4Hzf356677lJ6err+/ve/68svv9S1116rnj17as+ePZLc3RvHMmEZSeY777xjdxm2K6sPO3bsMCWZn332maU1OcmBAwdMSWZmZmaJMfpjmnXq1DH/+te/+mxzc1+OHTtmtmjRwkxPTzdTUlLMMWPGlNjHjf2ZMGGC2b59+3L3c2Nvxo8fb1599dUV2teN/TnTmDFjzObNm5tFRUU+293Ylz59+pgjRozw2ZaWlmbeeeedJfZ1W39OnDhhhoSEmMuWLfPZ3r59e/Pxxx/32ea23jgZV4IAhzl69KgkqW7dujZX4iyFhYV68803lZubq86dO9tdjmOMGjVKffr0Uc+ePe0uxXG2b9+uhIQENWvWTLfddpu+//57u0tyhKVLl6pTp0665ZZb1KBBA3Xs2FF/+ctf7C7LcU6dOqXXX39dI0aMkGEYdpdju6uvvloffvihtm3bJkn6/PPPtW7dOvXu3dvmyuxXUFCgwsJC1axZ02d7ZGSk1q1bZ1NVKE+o3QUAOM00TY0bN05XX321LrvsMrvLcYQvv/xSnTt31smTJ1WrVi298847uvTSS+0uyxHefPNNffrppz7zzuFx1VVX6bXXXlPLli31008/6emnn1aXLl20detW1atXz+7ybPX9999r9uzZGjdunB577DFt3LhRo0ePVkREhIYMGWJ3eY6xZMkSHTlyRMOGDbO7FEcYP368jh49qksuuUQhISEqLCzUM888o9tvv93u0mwXExOjzp0766mnnlLr1q3VsGFDvfHGG/rkk0/UokULu8uDH4QgwEHuv/9+ffHFF/zm6AytWrVSVlaWjhw5okWLFmno0KHKzMx0fRDatWuXxowZo1WrVpX47SOkXr16FT9u27atOnfurObNm+tvf/ubxo0bZ2Nl9isqKlKnTp00efJkSVLHjh21detWzZ49mxB0hldeeUW9evVSQkKC3aU4wltvvaXXX39dCxYsUJs2bZSVlaWxY8cqISFBQ4cOtbs82/3973/XiBEjlJiYqJCQEF1++eUaNGiQPv30U7tLgx+EIMAhHnjgAS1dulRr1qxRUlKS3eU4Rnh4uC6++GJJUqdOnbRp0ybNnDlTc+fOtbkye23ZskUHDhzQFVdcUbytsLBQa9as0axZs5SXl6eQkBAbK3SW6OhotW3bVtu3b7e7FNvFx8eX+CVC69attWjRIpsqcp4ffvhBH3zwgRYvXmx3KY7x8MMP65FHHtFtt90myfPLhR9++EFTpkwhBElq3ry5MjMzlZubq5ycHMXHx2vgwIFq1qyZ3aXBD0IQYDPTNPXAAw/onXfe0erVq/mGWQ7TNJWXl2d3Gbbr0aOHz2pnkjR8+HBdcsklGj9+PAHoLHl5efrmm2/UtWtXu0uxXXJycoll+Ldt26YmTZrYVJHzzJs3Tw0aNFCfPn3sLsUxTpw4oRo1fG8lDwkJ8VkiG55fuERHR+vw4cNauXKlpk6dandJ8IMQFGDHjx/Xd999V/zxjh07lJWVpbp16+rCCy+0sTJrldeHn3/+WT/++KP27t0rScX/QTdq1Mjnb3ucj0aNGqUFCxboX//6l2JiYrR//35JUu3atRUZGSlJru3PY489pl69eqlx48Y6duyY3nzzTa1evVorVqyQ5N6+SJ456GffNxYdHa169eoVb3dzfx566CHdcMMNuvDCC3XgwAE9/fTTysnJKf6NtZt78+CDD6pLly6aPHmybr31Vm3cuFEvv/yyXn755eJ93NyfoqIizZs3T0OHDlVoqO+PSW7uyw033KBnnnlGF154odq0aaPPPvtM06dP14gRI4r3cXN/Vq5cKdM01apVK3333Xd6+OGH1apVKw0fPlySu3vjWPYuTnf+y8jIMCWVeBs6dKjdpVmqvD7Mmzev1PEJEybYWrcVSjtvSea8efOK93Frf0aMGGE2adLEDA8PN+vXr2/26NHDXLVqVfG4W/viz9lLZLu5PwMHDjTj4+PNsLAwMyEhwUxLSzO3bt1aPO7m3pimab777rvmZZddZkZERJiXXHKJ+fLLL/uMu7k/K1euNCWZ3377bYkxN/clJyfHHDNmjHnhhReaNWvWNC+66CLz8ccfN/Py8or3cXN/3nrrLfOiiy4yw8PDzUaNGpmjRo0yjxw5Ujzu5t44lWGaplkdYQoAAAAAggF/JwgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKIQgAcN7YuXOnDMNQVlaWJGn16tUyDENHjhyxtS4AgLMQggAAjjFs2DAZhiHDMBQaGqoLL7xQ9957rw4fPmx3aQCA8wghCADgKNdff7327dunnTt36q9//aveffdd3XfffXaXBQA4jxCCAACOEhERoUaNGikpKUnXXnutBg4cqFWrVkmSioqK9OSTTyopKUkRERHq0KGDVqxYUeHn/uGHH3TDDTeoTp06io6OVps2bfT+++8H6lQAAA4VancBAAD48/3332vFihUKCwuTJM2cOVPTpk3T3Llz1bFjR7366qu68cYbtXXrVrVo0aLc5xs1apROnTqlNWvWKDo6Wl9//bVq1aoV6NMAADgMIQgA4CjLli1TrVq1VFhYqJMnT0qSpk+fLkl64YUXNH78eN12222SpOeee04ZGRmaMWOG/vznP5f73D/++KP69++vtm3bSpIuuuiiAJ0FAMDJCEEAAEfp3r27Zs+erRMnTuivf/2rtm3bpgceeEA5OTnau3evkpOTffZPTk7W559/XqHnHj16tO69916tWrVKPXv2VP/+/dWuXbtAnAYAwMG4JwgA4CjR0dG6+OKL1a5dO/3xj39UXl6eJk2aVDxuGIbP/qZpltjmz1133aXvv/9egwcP1pdffqlOnTrpT3/6U7XWDwBwPkIQAMDRJkyYoBdeeEHHjx9XQkKC1q1b5zO+fv16tW7dusLP17hxY/32t7/V4sWL9bvf/U5/+ctfqrtkAIDDMR0OAOBo3bp1U5s2bTR58mQ9/PDDmjBhgpo3b64OHTpo3rx5ysrK0j/+8Y8KPdfYsWPVq1cvtWzZUocPH9ZHH31UqQAFADg/EIIAAI43btw4DR8+XNu2bVNOTo5+97vf6cCBA7r00ku1dOnSCq0MJ0mFhYUaNWqUdu/erdjYWF1//fV68cUXA1w9AMBpDNM0TbuLAAAAAACrcE8QAAAAAFchBAEAAABwFUIQAAAAAFchBAEAAABwFUIQAAAAAFchBAEAAABwFUIQAAAAAFchBAEAAABwFUIQAAAAAFchBAEAAABwFUIQAAAAAFf5f/IwMBa3Pj5UAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#plot the results\n", + "\n", + "# Creating the plot\n", + "plt.figure(figsize=(10, 6))\n", + "plt.plot(sorted_roll_hundred.index, sorted_roll_hundred['value'],marker='o', linestyle='-', color='r') # Plot using columns\n", + "plt.title('Line Plot of Dice Rolls Sorted by Values')\n", + "plt.xlabel('Rolls')\n", + "plt.ylabel('Values')\n", + "plt.xticks(range(1, 101, 10)) # Adjust based on your actual roll numbers\n", + "plt.yticks(range(1, 7))\n", + "plt.grid(True)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "This plot displays a non-decreasing line, as the values are sorted from the smallest to the largest. \n", + "The y-axis shows dice values from 1 to 6, and each point represents a dice result in ascending order. \n", + "The x-axis now effectively becomes an index representing the position in the sorted list rather than the original roll number.\n", + "\n", + "Looking at this plot I can see that it visually demonstrates the frequency and spread of the dice outcomes in a clear, sorted manner.\n", + "I can tell that, in the 100 attempts, there seems to be a higher frequency of outcomes for number 6 and for, followed by 2, and the other numbers have a rather balanced freqency\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Using the functions you defined in *challenge 2*, calculate the mean value of the hundred dice rolls." + ] + }, + { + "cell_type": "code", + "execution_count": 159, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.74" + ] + }, + "execution_count": 159, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "mean_calculation(roll_the_dice_hundred['value'])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 162, + "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", + "
frequency
value
112
217
314
422
512
623
\n", + "
" + ], + "text/plain": [ + " frequency\n", + "value \n", + "1 12\n", + "2 17\n", + "3 14\n", + "4 22\n", + "5 12\n", + "6 23" + ] + }, + "execution_count": 162, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "frequency = roll_the_dice_hundred['value'].value_counts().sort_index()\n", + "frequency = frequency.to_frame(name='frequency')\n", + "frequency" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- Plot the histogram. What do you see (shape, values...) ? How can you connect the mean value to the histogram? " + ] + }, + { + "cell_type": "code", + "execution_count": 169, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAIhCAYAAABwnkrAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSVElEQVR4nO3dd3wUdeL/8fduskk2IYUkhBBKQLo0BRRBpIhwgnICng2QIvwsWEHlK5Yj3FEUTg7Pgu0E4Q7FAsrdiYhKUQGPIlVEUCCUhBAS0hOS7Pz+QHJkQ8uQySTL6/l47CPs7MzOe3eySd58Zj/rMAzDEAAAAACghNPuAAAAAABQ1VCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAOA85s6dK4fDoQ0bNpzx9ptvvlkNGzYstaxhw4YaMWJEufazZs0aJSQk6Pjx4+aCXoIWLlyoVq1aye12y+FwaPPmzWdd99lnn9XNN9+sunXryuFwnPP4/Prrrxo0aJAiIiJUo0YN9e7dW5s2bTrjuu+//76uuOIKBQUFKS4uTo899piys7PPm33fvn1yOBwlF5fLpaioKF111VUaO3asduzYUWablStXyuFwaOXKlee9/4rUsGHDUllDQkLUvn17vfLKKzIMw/R9nn4MTj0fc+fOrZjQAHCRKEoAYIHFixfrueeeK9c2a9as0aRJkyhKF+jo0aO6++671bhxY33++edau3atmjVrdtb1//rXv+rYsWP6/e9/r4CAgHPe73XXXaeff/5Z77zzjj744APl5+erR48e2rVrV6l1//nPf+quu+7SVVddpaVLl2rixImaO3euBg0adMGP4+GHH9batWu1atUqzZ8/XwMGDNCSJUvUrl07zZgxo9S67du319q1a9W+ffsLvv+Kcu2112rt2rVau3at5s+fr+DgYD388MOaNm1apWcBgMrgb3cAAPBFV155pd0Ryq2wsFAOh0P+/tXjV8PPP/+swsJCDR06VN27dz/v+llZWXI6T/7/4Pz588+63owZM3T06FGtWbNG8fHxkqSuXbuqcePG+uMf/6iFCxdKkoqLi/Xkk0+qT58+euuttyRJPXv2VGhoqIYMGaKlS5eqb9++583VoEEDXXPNNSXX+/Xrp3HjxmnQoEEaP368WrduXXI/YWFhpdatTBEREaX2fcMNN6hBgwZ644039PTTT9uSCQCsxIgSAFjA+7Qij8ejyZMnq3nz5nK73YqIiFDbtm310ksvSZISEhL05JNPSpIaNWpUcorTqVOsPB6Ppk+frhYtWigwMFAxMTEaNmyYDh48WGq/hmFo6tSpio+PV1BQkDp27Kjly5erR48e6tGjR8l6p07hmj9/vh5//HHVrVtXgYGB2rNnj44ePaoxY8bo8ssvV40aNRQTE6Prr79e33zzTal9nTpVasaMGXrhhRfUsGFDud1u9ejRo6TEPPXUU4qLi1N4eLgGDhyolJSUC3r+lixZos6dOys4OFihoaHq3bu31q5dW3L7iBEj1LVrV0nSHXfcIYfDUerxncmpknQ+ixcv1vXXX19SkqSTBWXQoEH617/+paKiIknSunXrlJSUpJEjR5ba/rbbblONGjW0ePHiC9rfmbjdbv3973+Xy+UqNap0tlPvvv/+e/Xv319RUVEKCgpS48aN9dhjj5VaZ/fu3Ro8eLBiYmIUGBioli1b6tVXXzWdMSwsTM2aNdORI0dKLU9LS9OYMWNUt25dBQQE6LLLLtMzzzyjgoKCcu/j6NGjuvfee1W/fn0FBgaqVq1auvbaa/Xll1+azg0AF6p6/LchAFQBxcXFJX8kn+5C3qMxffp0JSQk6Nlnn1W3bt1UWFion376qeQ0u9GjRystLU0vv/yyFi1apDp16kiSLr/8cknSAw88oDfffFMPPfSQbr75Zu3bt0/PPfecVq5cqU2bNik6OlqS9Mwzz2jatGm69957NWjQIB04cECjR49WYWHhGU9LmzBhgjp37qzXX39dTqdTMTExOnr0qCRp4sSJio2NVXZ2thYvXqwePXroq6++KlNIXn31VbVt21avvvqqjh8/rscff1z9+/dXp06d5HK59M4772j//v164oknNHr0aC1ZsuScz9WCBQs0ZMgQ9enTR++9954KCgo0ffr0kv137dpVzz33nK6++mo9+OCDmjp1qnr27KmwsLDzHofzycvL0y+//KKBAweWua1t27bKy8vTr7/+qmbNmmn79u0ly0/ncrnUokWLktvNiouLU4cOHbRmzRoVFRWddaRv2bJl6t+/v1q2bKmZM2eqQYMG2rdvn7744ouSdX788Ud16dJFDRo00IsvvqjY2FgtW7ZMjzzyiFJT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Xbt26U9/+pMaNWp0xln/KpLT6dT06dM1ZMgQ3XzzzbrvvvtUUFCgGTNm6Pjx43r++edN3/eqVatKTlUrLi7W/v379dFHH0mSunfvXjI688QTT2j+/Pm66aab9Kc//UmBgYF6/vnnlZ+fr4SEhJL78/Pz0/Tp03X33Xfrvvvu01133aXdu3dr/Pjx6t27t2688cYLypWYmKh169bJ4/EoIyNDP/zwQ8lMgS+++KL69Olzzu1fffVV9e/fX9dcc43Gjh2rBg0aKDExUcuWLdM///lPSSe/p7p27arrrrtODzzwgBo2bKisrCzt2bNH//rXv/T111+X9+ksea5ef/11TZo0SbfffruGDRumV199VcOHD9e+ffvUpk0bffvtt5o6dar69eunG2644YLvOyMjQz179tTgwYPVokULhYaGav369fr8888vqoQCwAWzeTIJAKjyTs16t379+jPeftNNN5131rsXX3zR6NKlixEdHW0EBAQYDRo0MEaNGmXs27ev1HYTJkww4uLiDKfTWWp2s+LiYuOFF14wmjVrZrhcLiM6OtoYOnSoceDAgVLbezweY/LkyUa9evWMgIAAo23btsa///1vo127dqVmrDvXjHEFBQXGE088YdStW9cICgoy2rdvb3zyySfG8OHDSz3Os83adrb7Pt/zeLpPPvnE6NSpkxEUFGSEhIQYvXr1Mr777rsL2s/ZdO/e/ayzFp4+i5xhGMaePXuMAQMGGGFhYUZwcLDRq1cvY+PGjWe83wULFhht27Y1AgICjNjYWOORRx4xsrKyzpvn1PN36uLn52fUrFnT6NChg/HYY48ZO3bsKLPNmWa9M4yTMxv27dvXCA8PNwIDA43GjRsbY8eOLbO/e+65x6hbt67hcrmMWrVqGV26dDEmT5583qzx8fHGTTfddMbbXn31VUOS8e677xqGYRjHjh0z7r//fqNOnTqGv7+/ER8fb0yYMMHIz88vc5/nmvUuPz/fuP/++422bdsaYWFhhtvtNpo3b25MnDjRyMnJOW9mALhYDsO4gA8AAQBUW3v37lWLFi00ceJEPf3003bHAQCgWqAoAYAP2bJli9577z116dJFYWFh2rVrl6ZPn67MzExt3779rLPfAQCA0niPEgD4kJCQEG3YsEF///vfdfz4cYWHh6tHjx6aMmUKJQkAgHJgRAkAAAAAvDA9OAAA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c9dddyk2NlYDBgzQd999p19//VUff/yx1q5dK0n64x//qHnz5ikhIUE7duzQzp07tXDhQj377LPnzOJwODRy5EjNnj1ba9eu1ahRo0pua9KkiTZs2KBly5bp559/1nPPPaf169ef8/6uv/56zZ8/X9988422b9+u4cOHy8/Pr+T2G264QZ07d9aAAQO0bNky7du3T2vWrNGzzz6rDRs2KC8vTw899JBWrlyp/fv367vvvtP69evVsmXLC316AQCVhKIEAKhQn3/+uerUqaOGDRvqxhtv1IoVK/S3v/1Nn376aalScbqAgAB98cUXiomJUb9+/dSmTRs9//zzJev/7ne/07///W8tX75cV111la655hrNnDlT8fHx580zYsQIZWRkqHnz5rr22mtLlt9///0aNGiQ7rjjDnXq1EnHjh0rNbp0JhMmTFC3bt108803q1+/fhowYECp9xc5HA599tln6tatm+655x41a9ZMd955p/bt26fatWvLz89Px44d07Bhw9SsWTPdfvvt6tu3b6lJJQAAVYPD8D7ZGgAAAAAucYwoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAICX/w9TmU+cOigTJgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "3.74" + ] + }, + "execution_count": 169, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(roll_the_dice_hundred['value'], bins=range(1, 8), align='left', color='purple', edgecolor='black') # \n", + "plt.title('Histogram of 100 Dice Rolls')\n", + "plt.xlabel('Dice Values')\n", + "plt.ylabel('Frequency')\n", + "plt.xticks(range(1, 7))\n", + "plt.grid(True)\n", + "plt.axvline(mean_value, color='orange', linestyle='dashed', linewidth=1) # Add a vertical line for the mean on the histogram\n", + "plt.text(mean_value+0.1, plt.ylim()[1]-5, f'Mean: {mean_value:.2f}', color = 'red')\n", + "plt.show()\n", + "# Calculate the mean value of dice rolls\n", + "mean_value = mean_calculation(roll_the_dice_hundred['value'])\n", + "mean_value\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Shape: The histogram shows bars corresponding to each of the six dice values (1 through 6). \n", + "The height of each bar represents the number of times each value was rolled.\n", + "Values: Each bar's height (frequency) shows how often that particular result was rolled in the 100 trials. \n", + "Looking at the histogram, we can see that, in these 100 rolls, the numbers 4 and 6 showed up way more often—22 and 23 times, respectively—\n", + "compared to the others, which appeared only 12 to 17 times each. \n", + "Looking at the mean in the plot, we can see that it is, indeed, slighlty skewed to the right\n", + "Normally, you'd expect each number to come up about 16 or 17 times if the dice rolls were completely random and the dice was fair. \n", + "The higher counts for 4 and 6 might just be chance, or it might mean something's off with the dice or how we're rolling it. \n", + "To really figure out what's happening, I'd probably need to do more rolls or check out the dice and how we're rolling more closely\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 5.- Read the `roll_the_dice_thousand.csv` from the `data` folder. Plot the frequency distribution as you did before. Has anything changed? Why do you think it changed?" + ] + }, + { + "cell_type": "code", + "execution_count": 172, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZpUlEQVR4nO3dd3xUVf7/8fekTQoJLYQkEkIH6QIuRYUg0ouASlOptpXFAqzfxbIEVwFhRVlY0VVpIsWG4iogKkUFXEBBQKV3EppAEgghydzfH/fHyJgEmCHJzcy8no/HPI63zJ3PzSEwb8+ZMzbDMAwBAAAAAK5ZgNUFAAAAAIC3IUgBAAAAgJsIUgAAAADgJoIUAAAAALiJIAUAAAAAbiJIAQAAAICbCFIAAAAA4CaCFAAAAAC4iSAFAAAAAG4iSAGAG2bPni2bzaaNGzfme7xbt26qUqWKy74qVapo8ODBbr3O2rVrlZycrDNnznhWqB9atGiR6tWrp7CwMNlsNm3evLnAc5999ll169ZNN9xwg2w22xX7Z+/everdu7fKlCmjUqVKqX379vrhhx/yPXfhwoVq3LixQkNDFR8fryeeeEIZGRl5zsvIyNATTzyh+Ph4hYaGqnHjxlq4cOE13WdycrJsNpvzER4erkqVKqljx46aNm2a0tPT8zxn8ODBef5cFrVVq1a51BkYGKgKFSqoe/fuBf7+XOs1V61a5dx36ecBAMWNIAUARWzx4sV67rnn3HrO2rVrNW7cOILUNTpx4oTuv/9+Va9eXcuWLdO6detUq1atAs9/5ZVXdOrUKfXo0UMhISFXvO5tt92mnTt3aubMmXrvvfd04cIFJSUlaceOHS7nvvvuu+rfv79uvvlmLV26VGPHjtXs2bPVu3fvPNft3bu35syZo7Fjx2rp0qW6+eab1b9/f82fP/+a7/nSfS5btkz//Oc/VblyZT311FOqV6+etmzZ4nLuc889p8WLF1/ztQvT+PHjtW7dOq1atUrPPfec1q5dqzZt2mjXrl2W1AMAhSXI6gIAwNfddNNNVpfgtuzsbNlsNgUFecc/Ezt37lR2drbuu+8+tWnT5qrnp6enKyDA/H+J77zzToHnTZ48WSdOnNDatWuVmJgoSbr11ltVvXp1/f3vf9eiRYskSbm5ufrrX/+qDh066M0335QktW3bVpGRkbr33nu1dOlSde7cWZL0+eefa8WKFZo/f7769+/vPPfAgQP661//qr59+yowMPCq99C0aVNFR0c7t/v166e//OUvatOmjXr06KGdO3fKbrdLkqpXr37V6xWVmjVrqkWLFpKk2267TWXKlNGgQYM0b948jRs3zrK6AOB6MSIFAEXsj1P7HA6HXnjhBdWuXVthYWEqU6aMGjZsqKlTp0oypyr99a9/lSRVrVrVOTXq0nQmh8OhSZMmqU6dOrLb7YqJidHAgQN1+PBhl9c1DEPjx49XYmKiQkND1axZM61YsUJJSUlKSkpynndputQ777yjUaNG6YYbbpDdbtfu3bt14sQJPfroo6pbt65KlSqlmJgY3X777frmm29cXmv//v2y2WyaPHmyXnrpJVWpUkVhYWFKSkpyhpy//e1vio+PV+nSpdWrVy8dP378mn5+S5YsUcuWLRUeHq7IyEi1b99e69atcx4fPHiwbr31VklS3759ZbPZXO4vP5dC1NUsXrxYt99+uzNESVJUVJR69+6tTz/9VDk5OZKk9evXKyUlRUOGDHF5/j333KNSpUq5jAYtXrxYpUqV0j333ONy7pAhQ3T06FF9//3311Rbfho1aqRnnnlGBw8edIY8Kf+pfQ6HQ9OmTVPjxo2dfw5btGihJUuWuJy3aNEitWzZUhERESpVqpQ6duyoH3/80eMamzVrJkk6duyYy/5vv/1W7dq1U2RkpMLDw9WqVSt99tlnHr3G119/raSkJJUvX15hYWGqXLmy7rrrLp0/f97jugHgjwhSAOCB3Nxc5eTk5HkYhnHV506aNEnJycnq37+/PvvsMy1atEjDhg1zTuN74IEHNGLECEnSRx99pHXr1mndunVq0qSJJOnPf/6z/u///k/t27fXkiVL9I9//EPLli1Tq1atdPLkSefrPPPMM3rmmWfUqVMnffLJJ3rkkUf0wAMPaOfOnfnWNWbMGB08eFCvv/66Pv30U8XExOi3336TJI0dO1afffaZZs2apWrVqikpKcnlcyqX/Pvf/9Z3332nf//733rrrbf066+/qnv37ho2bJhOnDihmTNnatKkSfryyy/1wAMPXPVnNX/+fN15552KiorSggUL9Pbbb+v06dNKSkrSt99+K8mctvbvf/9b0u/TyF577bWrXvtqMjMztWfPHjVs2DDPsYYNGyozM1N79+6VJG3bts25/3LBwcGqU6eO8/ilc2+88cY8o32Xnnv5uZ7o0aOHJGnNmjVXPG/w4MF6/PHHdfPNN2vRokVauHChevToof379zvPGT9+vPr376+6devqvffe0zvvvKP09HTddttt+vnnnz2qb9++fZLkMvVy9erVuv3223X27Fm9/fbbWrBggSIjI9W9e3eXQHgt9u/fr65duyokJEQzZ87UsmXLNHHiREVEROjixYse1QwA+TIAANds1qxZhqQrPhITE12ek5iYaAwaNMi53a1bN6Nx48ZXfJ3Jkycbkox9+/a57P/ll18MScajjz7qsv/77783JBlPP/20YRiG8dtvvxl2u93o27evy3nr1q0zJBlt2rRx7lu5cqUhyWjduvVV7z8nJ8fIzs422rVrZ/Tq1cu5f9++fYYko1GjRkZubq5z/6uvvmpIMnr06OFynSeeeMKQZJw9e7bA18rNzTXi4+ONBg0auFwzPT3diImJMVq1apXnHt5///2r3sMfRUREuPTPJUeOHDEkGRMmTMhzbP78+YYkY+3atYZhGMaLL75oSDJSUlLynNuhQwejVq1azu2aNWsaHTt2zHPe0aNHDUnG+PHjr1jv2LFjDUnGiRMn8j2emZlpSDI6d+7s3Ddo0CCXP5dr1qwxJBnPPPNMga9z8OBBIygoyBgxYoTL/vT0dCM2Ntbo06fPFeu81CeLFi0ysrOzjfPnzxvfffedUbt2baNu3brG6dOnnee2aNHCiImJMdLT0537cnJyjPr16xuVKlUyHA6HyzVXrlyZ5+dxyQcffGBIMjZv3nzF+gDgejEiBQAemDt3rjZs2JDncWmK2ZX86U9/0pYtW/Too49q+fLlSktLu+bXXblypSTlWWXuT3/6k2688UZ99dVXksypZllZWerTp4/LeS1atChw9ba77ror3/2vv/66mjRpotDQUAUFBSk4OFhfffWVfvnllzzndunSxWXa3I033ihJ6tq1q8t5l/YfPHiwgDuVduzYoaNHj+r+++93uWapUqV01113af369cUyVetKK8L98VhB517reVc7di2MaxgVXbp0qSRp+PDhBZ6zfPly5eTkaODAgS6jrqGhoWrTpk2+I5L56du3r4KDgxUeHq5bbrlFaWlp+uyzz1SmTBlJ0rlz5/T999/r7rvvVqlSpZzPCwwM1P3336/Dhw/nWdjjSho3bqyQkBA99NBDmjNnjnPUEAAKG0EKADxw4403qlmzZnkepUuXvupzx4wZo3/+859av369OnfurPLly6tdu3bXtCT0qVOnJElxcXF5jsXHxzuPX2orVqyY57z89hV0zSlTpujPf/6zmjdvrg8//FDr16/Xhg0b1KlTJ2VmZuY5v1y5ci7bl1bEK2j/hQsX8q3l8nso6F4dDodOnz5d4POvV9myZWWz2Zx1XO7SlMdL91W+fHlJKvDcy++/fPny13RNTx04cECS+TMqyIkTJxQYGKjY2NgCz7n0Gaabb75ZwcHBLo9Fixa5TCO9kpdeekkbNmzQ6tWr9cwzz+jYsWPq2bOnsrKyJEmnT5+WYRgF9rOU/8+1INWrV9eXX36pmJgYDR8+XNWrV1f16tWdn0EEgMLiHcsxAYAPCQoK0siRIzVy5EidOXNGX375pZ5++ml17NhRhw4dUnh4eIHPvfSGPSUlRZUqVXI5dvToUecqbpfO++MH+iUpNTU131Gp/EZC5s2bp6SkJM2YMcNlf37fVVTYLr/XPzp69KgCAgJUtmzZInv9sLAw1ahRQ1u3bs1zbOvWrQoLC1O1atUkSQ0aNHDur1u3rvO8nJwc/frrr87V+S6du2DBAuXk5Lh8TurS69SvX/+66r60WMSVFtyoUKGCcnNzlZqamm+AkeT8s/TBBx+4LLbhrmrVqjkXmGjdurXCwsL07LPPatq0aRo9erTKli2rgICAAvv58lqu1W233abbbrtNubm52rhxo6ZNm6YnnnhCFStWVL9+/Ty+FwC4HCNSAGChMmXK6O6779bw4cP122+/OT/of2nZ6j+O+tx+++2SzIBzuQ0bNuiXX35Ru3btJEnNmzeX3W7P80H99evXO0csroXNZnPWcslPP/3ksmpeUaldu7ZuuOEGzZ8/32W62rlz5/Thhx86V/IrSr169dLXX3+tQ4cOOfelp6fro48+Uo8ePZxBqHnz5oqLi9Ps2bNdnv/BBx8oIyPD5bukevXqpYyMDH344Ycu586ZM0fx8fFq3ry5x/Vu2bJF48ePV5UqVfJM67zcpaXY/xiQL9exY0cFBQVpz549+Y6+XgpH7nrqqadUo0YNTZw4Uenp6YqIiFDz5s310Ucfufx5dzgcmjdvnipVqnTF7wS7ksDAQDVv3ty5GElBX6QMAJ5gRAoAiln37t1Vv359NWvWTBUqVNCBAwf06quvKjExUTVr1pT0+wjH1KlTNWjQIAUHB6t27dqqXbu2HnroIU2bNk0BAQHq3Lmz9u/fr+eee04JCQl68sknJZnTw0aOHKkJEyaobNmy6tWrlw4fPqxx48YpLi7umpf/7tatm/7xj39o7NixatOmjXbs2KHnn39eVatWdS79XVQCAgI0adIk3XvvverWrZsefvhhZWVlafLkyTpz5owmTpzo8bVXr16tEydOSDJXYDxw4IA++OADSVKbNm1UoUIFSdLo0aP1zjvvqGvXrnr++edlt9s1ceJEXbhwQcnJyc7rBQYGatKkSbr//vv18MMPq3///tq1a5eeeuoptW/fXp06dXKe27lzZ7Vv315//vOflZaWpho1amjBggVatmyZ5s2bd03fISVJmzZtUunSpZWdna2jR4/qq6++0jvvvKOYmBh9+umnV/yi4dtuu03333+/XnjhBR07dkzdunWT3W7Xjz/+qPDwcI0YMUJVqlTR888/r2eeeUZ79+5Vp06dVLZsWR07dkz/+9//FBER4dH3QAUHB2v8+PHq06ePpk6dqmeffVYTJkxQ+/bt1bZtW40ePVohISF67bXXtG3bNi1YsMCtz429/vrr+vrrr9W1a1dVrlxZFy5c0MyZMyVJd9xxh9v1AkCBLF7sAgC8yqVV+zZs2JDv8a5du1511b6XX37ZaNWqlREdHW2EhIQYlStXNoYNG2bs37/f5Xljxowx4uPjjYCAAJeVynJzc42XXnrJqFWrlhEcHGxER0cb9913n3Ho0CGX5zscDuOFF14wKlWqZISEhBgNGzY0/vvf/xqNGjVyWXHvSiveZWVlGaNHjzZuuOEGIzQ01GjSpInx8ccf51kF7tKqfZMnT3Z5fkHXvtrP8XIff/yx0bx5cyM0NNSIiIgw2rVrZ3z33XfX9DoFadOmTYGrLl6+IpxhGMbu3buNnj17GlFRUUZ4eLjRrl07Y9OmTfled/78+UbDhg2NkJAQIzY21njsscdcVqK7JD093XjssceM2NhYZ98sWLDgmmq/tErdpYfdbjfi4uKMDh06GFOnTjXS0tLyPOeP/WUY5p+jV155xahfv74REhJilC5d2mjZsqXx6aefupz38ccfG23btjWioqIMu91uJCYmGnfffbfx5ZdfXrHOq/VJ8+bNjbJlyxpnzpwxDMMwvvnmG+P22283IiIijLCw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vjJlyhRVibiKqKgo/nLwMfSpb6JffQ996pvoV99Dnxa/0qVLX/Ucr19sIiQkRE2bNtWKFStc9q9YscJlqh8AAAAAFBavH5GSpJEjR+r+++9Xs2bN1LJlS/3nP//RwYMH9cgjj1hdGgAAAAAf5BNBqm/fvjp16pSef/55paSkqH79+vr888+VmJhodWm4ArvdrrFjx+aZZgnvRZ/6JvrV99Cnvol+9T30acnm9av2AQAAAEBx8/rPSAEAAABAcSNIAQAAAICbCFIAAAAA4CaCFAAAAAC4iSCFYrdmzRp1795d8fHxstls+vjjj60uCddpwoQJuvnmmxUZGamYmBj17NlTO3bssLosXIcZM2aoYcOGzi+BbNmypZYuXWp1WShEEyZMkM1m0xNPPGF1KbgOycnJstlsLo/Y2Firy0IhOHLkiO677z6VL19e4eHhaty4sTZt2mR1WbgMQQrF7ty5c2rUqJGmT59udSkoJKtXr9bw4cO1fv16rVixQjk5OerQoYPOnTtndWnwUKVKlTRx4kRt3LhRGzdu1O23364777xT27dvt7o0FIINGzboP//5jxo2bGh1KSgE9erVU0pKivOxdetWq0vCdTp9+rRuueUWBQcHa+nSpfr555/18ssvq0yZMlaXhsv4xPdIwbt07txZnTt3troMFKJly5a5bM+aNUsxMTHatGmTWrdubVFVuB7du3d32X7xxRc1Y8YMrV+/XvXq1bOoKhSGjIwM3XvvvXrzzTf1wgsvWF0OCkFQUBCjUD7mpZdeUkJCgmbNmuXcV6VKFesKQr4YkQJQ6M6ePStJKleunMWVoDDk5uZq4cKFOnfunFq2bGl1ObhOw4cPV9euXXXHHXdYXQoKya5duxQfH6+qVauqX79+2rt3r9Ul4TotWbJEzZo10z333KOYmBjddNNNevPNN60uC39AkAJQqAzD0MiRI3Xrrbeqfv36VpeD67B161aVKlVKdrtdjzzyiBYvXqy6detaXRauw8KFC/XDDz9owoQJVpeCQtK8eXPNnTtXy5cv15tvvqnU1FS1atVKp06dsro0XIe9e/dqxowZqlmzppYvX65HHnlEjz32mObOnWt1abgMU/sAFKq//OUv+umnn/Ttt99aXQquU+3atbV582adOXNGH374oQYNGqTVq1cTprzUoUOH9Pjjj+uLL75QaGio1eWgkFw+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "thousand_rolls = pd.read_csv('data/roll_the_dice_thousand.csv')\n", + "mean_thousand = mean_calculation(thousand_rolls['value'])\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(thousand_rolls['value'], bins=range(1, 8), align='left', color='green', edgecolor='black') # \n", + "plt.title('Histogram of 1000 Dice Rolls')\n", + "plt.xlabel('Dice Values')\n", + "plt.ylabel('Frequency')\n", + "plt.xticks(range(1, 7))\n", + "plt.grid(True)\n", + "plt.axvline(mean_thousand, color='blue', linestyle='dashed', linewidth=1) # Add a vertical line for the mean on the histogram\n", + "plt.text(mean_thousand+0.1, plt.ylim()[1]-5, f'Mean: {mean_thousand:.2f}', color = 'blue')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "This confirms my previous comment: by doing more rolls, \n", + "I can see how the plot is now a lot less skewed and the results are a lot more uniform and balanced\n", + "Considering that for a fair six-sided die, the theoretical mean is expected to be 3.5, calculated as (1+2+3+4+5+6)/6,\n", + "For a fair six-sided die, the theoretical mean is expected to be 3.5, calculated as (1+2+3+4+5+6)/6.\n", + "Observing the Mean in the Histogram:\n", + "A histogram with the mean close to 3.5 and nearly equal bar heights indicates a uniform distribution,\n", + "suggesting that the dice rolls are fair and random. \n", + "I can see how, as the sample size increases (e.g., 1000 rolls), the calculated mean tends to approach the theoretical mean.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 4\n", + "In the `data` folder of this repository you will find three different files with the prefix `ages_population`. These files contain information about a poll answered by a thousand people regarding their age. Each file corresponds to the poll answers in different neighbourhoods of Barcelona.\n", + "\n", + "#### 1.- Read the file `ages_population.csv`. Calculate the frequency distribution and plot it as we did during the lesson. Try to guess the range in which the mean and the standard deviation will be by looking at the plot. " + ] + }, + { + "cell_type": "code", + "execution_count": 190, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "observation\n", + "1 2\n", + "2 2\n", + "4 1\n", + "5 2\n", + "6 2\n", + " ..\n", + "69 1\n", + "70 1\n", + "71 1\n", + "73 1\n", + "82 1\n", + "Name: count, Length: 72, dtype: int64" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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mjVrZhw4cCBg3O9//3tDkrFnzx7DMAx//eeff75x+vRp/7h3333XkGSsXLnSv61z585G586dDa/XW2m/Fi9ebEgyPvjggwrHWrp0aaWPM4zver169epKx/Tv399wOp0Vzlfeo507dxqSjFdffbXKczVt2jSgX+bj3XDDDZXuO/PrMXjwYEOS8fe//z1g7C9/+UvDbrf7+19+bZs3bw4YV97/M7+nJ0+ebFT2K4X563zPPfcYkox///vfAeNuu+02w2azGXl5eQHnqcnXGQDqAh+9A4AqLFq0SE6nU9ddd50kqVmzZrrmmmv0xhtvaN++ff5xW7duVWJion74wx8GPN78LsV///tf7d271//H/adPn/bfRo4cqcOHDysvL0+SdNFFF2n9+vW65557tGXLFnm93lrV/vjjj2vHjh0Bt44dO/r3/+hHPwp416E2tW3evFmXX3652rVr5398o0aNgr6DVlOvvfaahg4dqpSUlIBzjxgxQlJZj880atQoNWrUyH+/V69ekuSfae7jjz/WJ598optvvlnx8fGVnvfnP/+52rZt6//4mCT96U9/Ups2bc7qesoZhlHl/i5duqhly5aaPn26Fi5cqI8++iik8/z0pz+t8djExET96Ec/Ctg2btw4+Xy+Kt/9CodNmzbp+9//vi666KKA7TfeeKMMw9CmTZsCtlf3dQaAukJQAoBK/Pe//9W2bds0atQoGYah48eP6/jx4/4ptstnwpOko0ePBoSGcuZtX3zxhSTprrvuUlxcXMBt0qRJkiSPxyOp7KNx06dP16uvvqqhQ4eqVatWGjNmTEBAq8p5552nfv36BdzOnKzB/NGo2tR29OhRJScnVzhnsG019cUXX+gf//hHhXP36NEj4NzlzDP4lV9beaD88ssvJUkdOnSo8rwOh0MTJ07UihUrdPz4cX355Zd6+eWXdcstt4Rlcgu3262UlJRK97do0UJbt27VD37wA913333q0aOHUlJS9MADD6ikpKTG56nNzHbBvlfLv3Y1/WhnqI4ePRq01vIemc9f3dcZAOoKf6MEAJV48cUXZRiG/vrXv+qvf/1rhf1Lly7VrFmz1KhRI7Vu3VrvvvtuhTH5+fkB95OSkiRJ9957r8aOHRv0vN26dZMkNW3aVA8++KAefPBBffHFF/53l0aPHq29e/ee7eXJZrOFXFvr1q0rXJtU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k8vl0hNPPKEnn3xSf/rTn/xj6KskA5aTZLzyyitWlxG1qurf/v37DUnGBx98UK81RbsjR44YkoytW7dW2EdPQ9eyZUvjhRdeCNhGP2vv5MmTRnp6upGTk2MMHjzYmDJlSoUx9LVmHnjgAaN3797VjqOfNTd9+nTjkksuqdFY+hqaKVOmGJ07dzZ8Pl/AdvpZc6NGjTImTJgQsG3s2LFGVlZWhbENua+8owSggq+//lqS1KpVK4sriQ2lpaVatWqVCgoKNGDAAKvLiXqTJ0/WqFGjdMUVV1hdSkzYt2+fUlJSlJaWpuuuu07/+9//rC4pqq1du1b9+vXTNddco7Zt26pPnz56/vnnrS4rZpw6dUrLly/XhAkTZLPZrC4nal1yySX617/+pY8//liSlJubqzfffFMjR460uLLI0tjqAgBEFsMwNG3aNF1yySXq2bOn1eVEtQ8//FADBgxQUVGRmjVrpldeeUXf//73rS4rqq1atUrvv/++duzYYXUpMaF///5atmyZunbtqi+++EKzZs3SwIEDtWfPHrVu3drq8qLS//73Pz3zzDOaNm2a7rvvPr377ru6/fbb5XA4dMMNN1hdXtR79dVXdfz4cd14441WlxLVpk+frq+//lrdu3dXo0aNVFpaqkceeUQ///nPrS4tohCUAAT49a9/rd27d+vNN9+0upSo161bN+3atUvHjx/X3/72N40fP15bt24lLIXos88+05QpU7Rx40bFx8dbXU5MGDFihP//zz//fA0YMECdO3fW0qVLNW3aNAsri14+n0/9+vXT7NmzJUl9+vTRnj179MwzzxCUwmDRokUaMWKEUlJSrC4lqr300ktavny5VqxYoR49emjXrl2aOnWqUlJSNH78eKvLixgEJQB+v/nNb7R27Vpt27ZNHTp0sLqcqNekSRN16dJFktSvXz/t2LFDf/jDH/Tss89aXFl0eu+993TkyBFdcMEF/m2lpaXatm2b5s2bp+LiYjVq1MjCCqNf06ZNdf7552vfvn1WlxK12rdvX+EfQzIyMvS3v/3Noopix4EDB/R///d/WrNmjdWlRL3f/va3uueee3TddddJKvuHkgMHDujRRx8lKJ2BoARAhmHoN7/5jV555RVt2bJFaWlpVpcUkwzDUHFxsdVlRK3LL788YEY2SbrpppvUvXt3TZ8+nZAUBsXFxXK5XLr00kutLiVqDRo0qMLyCh9//LE6depkUUWxY/HixWrbtq1GjRpldSlRr7CwUHZ74FQFjRo1CpgeHAQly3zzzTf673//67+/f/9+7dq1S61atVJqaqqFlUWH6vr31Vdfye1269ChQ5Lkf9FKTk4OWCMEZSZPnqwVK1bo73//uxITE5Wfny9JatGihZxOpyTR01q67777NGLECHXs2FEnT57UqlWrtGXLFr3++uuS6GcoEhMTK/zdXNOmTdW6dWv/dvpaO3fddZdGjx6t1NRUHTlyRLNmzdKJEyf8/6JMP2vvjjvu0MCBAzV79mz97Gc/07vvvqvnnntOzz33nH8Mfa09n8+nxYsXa/z48WrcOPDXV/pZe6NHj9Yjjzyi1NRU9ejRQx988IHmzJmjCRMm+MfQVzE9uFU2b95sSKpwGz9+vNWlRYXq+rd48eKg+x944AFL645UwXolyVi8eLF/DD2tnQkTJhidOnUymjRpYrRp08a4/PLLjY0bN/r308/wME8PTl9r59prrzXat29vxMXFGSkpKcbYsWONPXv2+PfTz9D84x//MHr27Gk4HA6je/fuxnPPPRewn77W3oYNGwxJRl5eXoV99LP2Tpw4YUyZMsVITU014uPjjfPOO8+YMWOGUVxc7B9DXw3DZhiGEbbUBQAAAAAxgHWUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBACIOtu3b1ejRo30wx/+0OpSAAAxymYYhmF1EQAA1MYtt9yiZs2a6YUXXtBHH32k1NRUq0sCAMQY3lECAESVgoICvfzyy7rtttt01VVXacmSJQH7165dq/T0dDmdTg0dOlRLly6VzWbT8ePH/WO2b9+uzMxMOZ1OdezYUbfffrsKCgr8+xcsWKD09HTFx8erXbt2uvrqq+vp6gAAkYKgBACIKi+99JK6deumbt26KSsrS4sXL1b5hyM+/fRTXX311RozZox27dqliRMnasaMGQGP//DDD3XllVdq7Nix2r17t1566SW9+eab+vWvfy1J2rlzp26//XY99NBDysvL0+uvv67MzMx6v04AgLX46B0AIKoMGjRIP/vZzzRlyhSdPn1a7du318qVK3XFFVfonnvu0T//+U99+OGH/vH333+/HnnkER07dkznnHOObrjhBjmdTj377LP+MW+++aYGDx6sgoICrVu3TjfddJM+//xzJSYmWnGJAIAIwDtKAICokZeXp3fffVfXXXedJKlx48a69tpr9eKLL/r3X3jhhQGPueiiiwLuv/fee1qyZImaNWvmv1155ZXy+Xzav3+/hg0bpk6dOum8887TL37xC/3lL39RYWFh/VwgACBiNLa6AAAAamrRokU6ffq0vve97/m3GYahuLg4HTt2TIZhyGazBTzG/MEJn8+niRMn6vbbb69w/NTUVDVp0kTvv/++tmzZoo0bN+p3v/udsrOztWPHDp1zzjl1cl0AgMhDUAIARIXTp09r2bJleuqppzR8+PCAfT/96U/1l7/8Rd27d9e6desC9u3cuTPgft++fbVnzx516dKl0nM1btxYV1xxha644go98MADOuecc7Rp0yaNHTs2fBcEAIhoBCUAQFR47bXXdOzYMd18881q0aJFwL6rr75aixYt0po1azRnzhxNnz5dN998s3bt2uWfFa/8nabp06fr4osv1uTJk/XLX/5STZs2lcvlUk5Ojv70pz/ptdde0//+9z9lZmaqZcuWWrdunXw+n7p161bflwwAsBB/owQAiAqLFi3SFVdcUSEkSWXvKO3atUvHjh3TX//6V61Zs0a9evXSM88845/1zuFwSJJ69eqlrVu3at++fbr00kvVp08fzZw5U+3bt5cknXPOOVqzZo0uu+wyZWRkaOHChVq5cqV69OhRfxcLALAcs94BAGLaI488ooULF+qzzz6zuhQAQBTho3cAgJiyYMECXXjhhWrdurXeeustPfnkk/41kgAAqCmCEgAgpuzbt0+zZs3SV199pdTUVN1555269957rS4LABBl+OgdAAAAAJgwmQMAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAAJP/B/NOplCbG1ZuAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages = pd.read_csv('data/ages_population.csv')\n", + "ages['observation'] = ages['observation'].astype(int)\n", + "\n", + "frequency_count = ages['observation'].value_counts().sort_index()\n", + "display(frequency_count)\n", + "\n", + "# I will use the histogram to graph it\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(ages['observation'], bins=range(1, 85), align='left', color='orange', edgecolor='black') # \n", + "plt.title('Ages Frequency Distribution')\n", + "plt.xlabel('Ages')\n", + "plt.ylabel('Frequency')\n", + "plt.xticks(range(1, 82,10))\n", + "plt.grid(True)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "By observing the plot, it seems the bulk of the data is concentrated around the middle age groups. \n", + "This suggests that the mean age might be around the center of this distribution, possibly in the range of 30 to 45 years. \n", + "The spread of the data from the youngest to the oldest ages also indicates that the standard deviation might be moderately large, \n", + "perhaps around 15 to 25 years.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Calculate the exact mean and standard deviation and compare them with your guesses. Do they fall inside the ranges you guessed?" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean of the ages is 36.56. and the standard deviation is 12.816499625976762\n" + ] + } + ], + "source": [ + "# your code here\n", + "# Calculate mean and standard deviation\n", + "mean_age = ages['observation'].mean()\n", + "std_dev_age = ages['observation'].std()\n", + "print(f\"The mean of the ages is {mean_age}. and the standard deviation is {std_dev_age}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Mean Estimate: I guessed the mean would be in the range of 30 to 50 years. The actual mean of 36.56 years falls within this range.\n", + "Standard Deviation Estimate: I estimated the standard deviation might be between 15 to 25 years. \n", + "The actual standard deviation is about 12.82 years, which is slightly below the lower end of my estimated range.\n", + "So, while the mean fell within the predicted range, the standard deviation was a bit lower, \n", + "indicating a slightly tighter clustering of ages around the mean than initially assessed. \n", + "This suggests that the ages are less spread out than I thought based on the plot. ​\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now read the file `ages_population2.csv` . Calculate the frequency distribution and plot it." + ] + }, + { + "cell_type": "code", + "execution_count": 208, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "observation\n", + "19 3\n", + "20 13\n", + "21 17\n", + "22 35\n", + "23 41\n", + "24 78\n", + "25 98\n", + "26 120\n", + "27 125\n", + "28 139\n", + "29 115\n", + "30 90\n", + "31 61\n", + "32 31\n", + "33 22\n", + "34 7\n", + "35 3\n", + "36 2\n", + "Name: count, dtype: int64" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSwklEQVR4nO3deXhTZcL+8TspXdJSloLQVqCiLDKAHVEEQQsILaJsIooisoq8Kq4wKjqOZV5ExZ/gKwyor2zKAKKDuIFaR6AiOgpCUewgMyJlKWKhUGhLCeT5/cHbDKHrKWlzAt/PdfVycvIk5z5Pkjm9OSenDmOMEQAAAACg0pyBDgAAAAAAwYYiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAVfDyyy/L4XCoXbt2gY7iY/ny5br99tvVokULuVwuXXTRRbrjjju0ffv2Sj1+5MiRcjgcpf58+OGH1Zz+/HLmXEdFRemiiy5S//79NX/+fBUVFZV4TPfu3dW9e3dL6/nxxx+VmpqqX375xdLjzlzXL7/8IofDof/3//6fpeepyNSpU7VixYoSy9esWSOHw6E1a9b4dX0A4C+1Ah0AAILRvHnzJElbt27VP/7xD3Xq1CnAiU55/vnnFRsbqyeffFIXX3yxdu3apalTp6pDhw76+uuv1bZt2wqfw+Vy6fPPPy+x/NJLL62OyOe10+e6sLBQu3bt0qpVqzR27Fi9+OKL+vjjj9WkSRPv+NmzZ1tex48//qjJkyere/fuuuiiiyr9uKqsqyqmTp2qwYMHa+DAgT7LO3TooK+++kq/+93vaiQHAFhFkQIAizZs2KCMjAzdeOON+uijjzR37lzbFKkPPvhAjRo18ll23XXX6aKLLtKMGTP0+uuvV/gcTqdTnTt3rvQ6CwoKFBkZaTkrSp/r4cOHa9SoUerbt68GDx6sr7/+2ntfTZSK4tcz0AWmTp06lt6HAFDTOLUPACyaO3euJOm5555Tly5dtHTpUhUUFJQYt3v3bg0ePFjR0dGqV6+e7rjjDn377bdyOBxasGCBz9gNGzaof//+iomJUUREhC6//HItW7bMZ0xBQYEmTpyo5s2bKyIiQjExMbryyiu1ZMkS75gzS5QkxcfHq0mTJtq1a9dZb3tqaqocDoe+++47DR48WPXr19cll1wiSTLGaPbs2fr9738vl8ul+vXra/Dgwfr55599nsMYo2nTpikhIUERERHq0KGDVq1aVeJUsgULFsjhcJQ4Ja2sU74+++wz9ezZU3Xq1FFkZKS6du2qv//976Xm37p1q26//XbVrVtXjRs31ujRo3X48GGfsR6PRzNnzvRuT7169dS5c2e9//77kqQxY8YoJiam1Nf+uuuuq9TRv7KkpKRo7Nix+sc//qH09HTv8tJO7ZszZ44SExNVu3ZtRUdH69JLL9UTTzwh6dQc3nLLLZKkHj16eE8jLH7/de/eXe3atVN6erq6dOmiyMhIjR49usx1Fc/LM888o2bNmikiIkJXXnlliXkeOXJkqUe/iue/mMPhUH5+vhYuXOjNVrzOsl7n999/X1dffbUiIyMVHR2t5ORkffXVV6WupzKvMwBUFUUKACwoLCzUkiVL1LFjR7Vr106jR4/WkSNH9Pbbb/uMy8/PV48ePbR69Wo9//zzWrZsmRo3bqwhQ4aUeM7Vq1era9euOnTokF555RW99957+v3vf68hQ4b4FK5HHnlEc+bM0QMPPKCPP/5Yb775pm655RYdOHCg3Mw///yzdu7caekX+xMnTvj8nDx50uf+QYMGqUWLFnr77bf1yiuvSJLGjRunhx56SL169dKKFSs0e/Zsbd26VV26dNGvv/7qfezkyZP12GOPKTk5WStWrNA999yjsWPHatu2bZXOd6ZFixYpJSVFderU0cKFC7Vs2TLFxMSod+/eJX7Jl6Sbb75ZrVq10t/+9jc9/vjjWrx4sR5++GGfMSNHjtSDDz6ojh076q233tLSpUvVv39/b7F78MEHlZubq8WLF/s87scff9Tq1at13333VXl7JKl///6S5FOkzrR06VLde++96tatm959912tWLFCDz/8sPLz8yVJN954o6ZOnSpJ+stf/qKvvvpKX331lW688Ubvc2RnZ2vYsGEaOnSoVq5cqXvvvbfcXLNmzdLHH3+sl156SYsWLZLT6VSfPn1KlJnK+Oqrr+RyuXTDDTd4s5V3SuHixYs1YMAA1alTR0uWLNHcuXOVm5ur7t27a926dSXGV+Z1BoAqMwCASnvjjTeMJPPKK68YY4w5cuSIqV27trn22mt9xv3lL38xksyqVat8lo8bN85IMvPnz/cuu/TSS83ll19u3G63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v0EUHh6uyy+/vFrmp2vXrrr77rs1atQobdiwQUlJSYqKilJ2drbWrVun9u3b65577lH9+vU1ceJETZkyRXfddZduueUW7dq1S6mpqSVOGevYsaNat26tiRMn6sSJE6pfv77efffdEldnq127tmbOnKkRI0bo4MGDGjx4sBo1aqTffvtNGRkZ+u233ypViE537bXX6s4779SUKVP066+/qm/fvgoPD9emTZsUGRmp+++/3zu2Xr16Gj58uObMmaOEhAT169ev0uvxeDze16ioqEhZWVlatWqVli1bpjZt2pS4BP6Zxo4dK5fLpa5duyouLk779u3Ts88+q7p166pjx46STr03Jem1115TdHS0IiIi1Lx58xKnvVVWSEiIkpOT9cgjj8jj8ej5559XXl6eJk+e7B0zZMgQ/elPf9Jtt92mP/zhDzp27JhefvnlUr9D1b59e61Zs0YffPCB4uLiFB0dXeoRPafTqWnTpumOO+5Q3759NW7cOBUVFemFF17QoUOH9Nxzz1VpewCgygJ0kQsACCoDBw40YWFhZv/+/WWOue2220ytWrXMvn37jDHGZGVlmUGDBpnatWub6Ohoc/PNN5uVK1caSea9997zeWxGRoa59dZbTaNGjUxoaKiJjY011113nffqgMYY8/jjj5srr7zS1K9f34SHh5uLL77YPPzwwyYnJ8c7JiEhodSr7kkq9SpqZ6roSnLFV0P77bffSr1/3rx5plOnTiYqKsq4XC5zySWXmOHDh5sNGzZ4x3g8HvPss8+apk2bmrCwMHPZZZeZDz74oMRV4owx5qeffjIpKSmmTp065oILLjD333+/+eijj0q9Ct3atWvNjTfeaGJiYkxoaKi58MILzY033mjefvvtCvOXdoXAkydPmhkzZph27dqZsLAwU7duXXP11VebDz74oMR2r1mzxkgyzz33XJlzd6Yzr5DocrlMs2bNTL9+/cy8efNMUVFRicecOUcLFy40PXr0MI0bNzZhYWEmPj7e3HrrrWbLli0+j3vppZdM8+bNTUhIiM9VI7t162batm1bar6yrtr3/PPPm8mTJ5smTZqYsLAwc/nll5tPPvmkxONXrlxpfv/73xuXy2UuvvhiM2vWrFKv2rd582bTtWtXExkZ6XPlxjOv2ldsxYoVplOnTiYiIsJERUWZnj17mi+//NJnjJXXGQCqymFM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c9p131O/fn3z+uuv23Kfc7rinKez037HmNIzFgv0Pud05eUM9H6n2JkZ7bbfMcY3o932Oac7Pacd9zvl4YiUDRUVFUmST/sOCQlRWFiY1q1bF6hYOnz4sCQpJiZGkrRjxw7t27dPKSkp3jHh4eHq1q2b1q9fb4uMdlWZnIcPH5bD4VC9evVqKFXJ9UtlZzx+/Lhee+011a1bV4mJiTUZzau0jB6PR3feeaf+8Ic/qG3btgHJdaay5nLNmjVq1KiRWrVqpbFjx2r//v2BiCepZEaPx6OPPvpIrVq1Uu/evdWoUSN16tSpxGnINa2i9+Wvv/6qjz76SGPGjKnJWD5Ky3jNNdfo/fff1549e2SM0erVq/XTTz+pd+/egYpZIqfd9j0nT57U0qVLlZ+fr6uvvtqW+5zSctpRZTIGep8jVZzTDvud0jLabb9T1jzaaZ8jlcxp1/1OuQLd5FDyiNTx48dNQkKCueWWW8zBgwdNUVGRefbZZ40kk5KSEpCMHo/H9OvXz1xzzTXeZV9++aWRZPbs2eMzduzYsQHJWVrG09nlXwYrymmMMYWFheaKK64wd9xxRw0m+4/yMn7wwQcmKirKOBwOEx8fb7755psAJCw749SpU01ycrLxeDzGGBPwfxksK+fSpUvNhx9+aL7//nvz/vvvm8TERNO2bVtz7NgxW2TMzs42kkxkZKSZPn262bRpk3n22WeNw+Ewa9asqfGMZeU80/PPP2/q169vCgsLazDZf5SVsaioyAwfPtxIMrVq1TJhYWHmjTfeCEhGY0rPaZd9z5YtW0xUVJQJCQkxdevWNR999JExxn77nLJyni7Q+53KZDQm8PucinLaYb9TXka77HfKy2infU5ZOe2436kIRcoGzixSxhizYcMGk5iYaCSZkJAQ07t3b9OnTx/Tp0+fgGS89957TUJCgtm1a5d3WfFObe/evT5j77rrLtO7d++ajlhqxtMFeodWrKKcx48fNwMGDDCXX365OXz4cA2nO6W8jEePHjXbt283X331lRk9erS56KKLzK+//mqLjBs2bDCNGzf2+UUr0EWqote72N69e01oaKj529/+VkPJ/qO0jHv27DGSzO233+4ztl+/fua2226r6YjGmMrNZevWrc348eNrMJWvsjK+8MILplWrVub99983GRkZZubMmaZ27domLS3NVjntsO8pKioy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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages_2 = pd.read_csv('data/ages_population2.csv')\n", + "ages_2['observation'] = ages_2['observation'].astype(int)\n", + "frequency_count_2 = ages_2['observation'].value_counts().sort_index()\n", + "display(frequency_count_2)\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(ages_2['observation'], color='magenta', edgecolor='black') # \n", + "plt.title('Ages2 Frequency Distribution')\n", + "plt.xlabel('Ages')\n", + "plt.ylabel('Frequency')\n", + "plt.xticks(range(19,37,1))\n", + "plt.grid(True)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- What do you see? Is there any difference with the frequency distribution in step 1?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "\"\"\"\n", + "This distribution is more concentrated around certain age ranges and shows a more pronounced peak, suggesting a clustering of ages in a specific range.\n", + "The peak of the second dataset is sharper and higher, which may indicate a more common specific age, \n", + "while the first dataset shows a broader peak, suggesting a less concentrated age prevalence.\n", + "The frequency distribution in step 1 covers a broader range of ages from younger to older, which is evident from the spread of the histogram.\n", + "This one, on the other hand seems to have a narrower age range and fewer outliers or extreme ages compared to the previous one.\n", + "Also, this histogram shows data slighly more skewed than the one in step 1.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 5.- Calculate the mean and standard deviation. Compare the results with the mean and standard deviation in step 2. What do you think?" + ] + }, + { + "cell_type": "code", + "execution_count": 209, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Here, the mean is 27.155, and the standard deviation is 2.969813932689186\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_age_2 = ages_2['observation'].mean()\n", + "std_dev_age_2 = ages_2['observation'].std()\n", + "\n", + "print(f\"Here, the mean is {mean_age_2}, and the standard deviation is {std_dev_age_2}\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "In this analysis, estimating the mean age is more straightforward by simply looking at the histogram, \n", + "as the data are less dispersed and predominantly concentrated within a narrower age range. \n", + "This concentration makes it easier to have a clearer estimation of the central tendency. \n", + "Additionally, the noticeably lower standard deviation reflects the reduced spread of ages, \n", + "indicating that most data points are closely clustered around the mean. \n", + "This tighter distribution highlights the homogeneity of the age range represented in the dataset.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 5\n", + "Now is the turn of `ages_population3.csv`.\n", + "\n", + "#### 1.- Read the file `ages_population3.csv`. Calculate the frequency distribution and plot it." + ] + }, + { + "cell_type": "code", + "execution_count": 216, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "observation\n", + "1 1\n", + "2 2\n", + "4 2\n", + "5 1\n", + "7 1\n", + " ..\n", + "73 6\n", + "74 6\n", + "75 2\n", + "76 1\n", + "77 2\n", + "Name: count, Length: 75, dtype: int64" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0sAAAIhCAYAAACfXCH+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABWQElEQVR4nO3dfVxUZf7/8fegMAwC3k0IpJCl4ZZpN5aphVppmVpGtpaRt7ltt5b17c7dDfdrZvXL2rbN2m9muuVNN+ZaqcWWN5m5qaWZEVmZoyW5QyqKgOhcvz9YpkbODAMOM6O8no8HD5xzLq7zmc8cZubtOZyxGWOMAAAAAAA+YiJdAAAAAABEI8ISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISABzh6aefls1mU+fOnSNdio8FCxbouuuuU4cOHeRwOHTSSSfp+uuv15YtW4L6+VGjRslms1l+vf322w1cfeNyZK+bNWumk046SVdccYVmzpypioqKGj/Tp08f9enTp07b+fLLL5WXl6fvv/++Tj935La+//572Ww2/b//9//qNE9tpkyZooULF9ZYvnz5ctlsNi1fvjyk2wOAUGsa6QIAINq8+OKLkqTNmzfr3//+t7p37x7hiqo8+uijSk1N1cSJE3XyySdr+/btmjJlis4++2ytWbNGp59+eq1zOBwOffDBBzWWd+rUqSFKbtR+3euysjJt375dS5Ys0bhx4/TEE09o6dKlatu2rXf8s88+W+dtfPnll5o0aZL69Omjk046Keifq8+26mPKlCkaOnSohgwZ4rP87LPP1scff6zTTjstLHUAQH0RlgDgV9atW6eNGzdq4MCBeueddzRjxoyoCUtvvfWWUlJSfJZddNFFOumkk/Tkk0/qhRdeqHWOmJgYnX/++UFv88CBA0pISKhzrbDu9YgRIzR69GgNGjRIQ4cO1Zo1a7zrwhEcqh/PSIeU5OTkOu2HABApnIYHAL8yY8YMSdLUqVPVs2dPzZs3TwcOHKgxbseOHRo6dKiSkpLUokULXX/99Vq7dq1sNpteeukln7Hr1q3TFVdcoVatWik+Pl5nnXWWXn31VZ8xBw4c0D333KP27dsrPj5erVq1Urdu3TR37lzvmCODkiSlp6erbdu22r59+1Hf97y8PNlsNn366acaOnSoWrZsqVNOOUWSZIzRs88+qzPPPFMOh0MtW7bU0KFD9d133/nMYYzRY489pszMTMXHx+vss8/WkiVLapz29dJLL8lms9U4fczf6Vn/+te/dPHFFys5OVkJCQnq1auX3n//fcv6N2/erOuuu07NmzdXmzZtNGbMGO3du9dnrMfj0V//+lfv/WnRooXOP/98LVq0SJI0duxYtWrVyvKxv+iii4I6iudP//79NW7cOP373//WypUrvcutTsObPn26unbtqsTERCUlJalTp0568MEHJVX18JprrpEk9e3b13vKX/X+16dPH3Xu3FkrV65Uz549lZCQoDFjxvjdVnVfHn74YWVkZCg+Pl7dunWr0edRo0ZZHsWq7n81m82m0tJSzZo1y1tb9Tb9Pc6LFi1Sjx49lJCQoKSkJPXr108ff/yx5XaCeZwB4GgRlgDgv8rKyjR37lyde+656ty5s8aMGaN9+/bptdde8xlXWlqqvn37atmyZXr00Uf16quvqk2bNho2bFiNOZctW6ZevXppz549eu655/TPf/5TZ555poYNG+YTqiZMmKDp06frjjvu0NKlS/WPf/xD11xzjYqLiwPW/N1332nbtm11evN+6NAhn6/Dhw/7rM/JyVGHDh302muv6bnnnpMk3XTTTbrzzjt1ySWXaOHChXr22We1efNm9ezZUz/99JP3ZydNmqT77rtP/fr108KFC3XzzTdr3LhxKiwsDLq+I7388svq37+/kpOTNWvWLL366qtq1aqVLr300hpv5CXp6quv1qmnnqo33nhD999/v+bMmaO77rrLZ8yoUaM0fvx4nXvuuZo/f77mzZunK664whvexo8fr927d2vOnDk+P/fll19q2bJluvXWW+t9fyTpiiuukCSfsHSkefPm6ZZbblHv3r315ptvauHChbrrrrtUWloqSRo4cKCmTJkiSfrb3/6mjz/+WB9//LEGDhzonWPnzp3Kzc3V8OHDtXjxYt1yyy0B63rmmWe0dOlSPfXUU3r55ZcVExOjAQMG1Agswfj444/lcDh0+eWXe2sLdPrfnDlzdOWVVyo5OVlz587VjBkztHv3bvXp00erVq2qMT6YxxkAjpoBABhjjJk9e7aRZJ577jljjDH79u0ziYmJ5sILL/QZ97e//c1IMkuWLPFZftNNNxlJZubMmd5lnTp1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0aOHd/ny5cuVkpKiFi1aqHfv3nr44YeVkpLid56KigpVVFR4b5eUlEiSKisrVVlZ2WD1V8/dkNuAL3oeXvQ7/ELZc4/HI4fDUfWs7+8E7KaSHFVjG+vjzH4efvQ8vOh3+NHz8AvU87o+DjZjjAlJVfW0adMm9ejRQ+Xl5UpMTNScOXN0+eWXS5Lmz5+vxMREZWZmauvWrfrjH/+oQ4cOaf369bLb7Zbz5eXladKkSTWWz5kzRwkJCQ16XwAAAABErwMHDmj48OHau3evkpOTax0f8bB08OBBuVwu7dmzR2+88YZeeOEFrVixQqeddlqNsTt37lRmZqbmzZunnJwcy/msjiy1a9dObrc7qIbUV2VlpfLz89WvXz/FxsY22HbwC3oeXvQ7/ELZ840bNyo7O1saLcnfmc1FkmZKK1euVNeuXY9qe8cq9vPwo+fhRb/Dj56HX6Cel5SUyOl0Bh2WIn4aXlxcnPcCD926ddPatWv1l7/8Rc8//3yNsWlpacrMzNSWLVv8zme32y2POsXGxoZlBw3XdvALeh5e9Dv8QtHzmJgYlZWVSYckefwMOiSprGpsY3+M2c/Dj56HF/0OP3oeflY9r+tjEHWfs2SM8Tky9GvFxcXavn270tLSwlwVAAAAgMYmokeWHnzwQQ0YMEDt2rXTvn37NG/ePC1fvlxLly7V/v37lZeXp6uvvlppaWn6/vvv9eCDD8rpdOqqq66KZNkAAAAAGoGIhqWffvpJN9xwg3bu3KnmzZurS5cuWrp0qfr166eysjJt2rRJs2fP1p49e5SWlqa+fftq/vz5SkpKimTZAAAAABqBiIalGTNm+F3ncDj07rvvhrEaAAAAAPhF1P3NEgAAAABEA8ISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACAhaaRLgAAcPxxuVxyu921jnM6ncrIyDjquYKZBwCAuiIsAQBCyuVyKatTlsrLymsdG++IV+FXhX6DTrBz1TYPAAD1QVgCAISU2+2uCjc5kpyBBkrlC8rldrv9hpyg5gpiHgAA6oOwBABoGE5J6VE4FwAAQeICDwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABgIaJhafr06erSpYuSk5OVnJysHj16aMmSJd71xhjl5eUpPT1dDodDffr00ebNmyNYMQAAAIDGIqJhqW3btpo6darWrVundevW6aKLLtKVV17pDUSPPfaYpk2bpmeeeUZr165Vamqq+vXrp3379kWybAAAAACNQETD0uDBg3X55Zfr1FNP1amnnqqHH35YiYmJWrNmjYwxeuqppzRx4kTl5OSoc+fOmjVrlg4cOKA5c+ZEsmwAAAAAjUDUfCjt4cOH9dprr6m0tFQ9evTQ1q1bVVRUpP79+3vH2O129e7dW6tXr9ZNN91kOU9FRYUqKiq8t0tKSiRJlZWVqqysbLD6q+duyG3AFz0PL/odfqHsucfjkcPhqHrW9/ffZE0lOarGHs02g9pWkNsLZ90S+3kk0PPwot/hR8/DL1DP6/o42IwxJiRV1dOmTZvUo0cPlZeXKzExUXPmzNHll1+u1atXq1evXvrhhx+Unv7Lx7b/7ne/07Zt2/Tuu+9azpeXl6dJkybVWD5nzhwlJCQ02P0AAAAAEN0OHDig4cOHa+/evUpOTq51fMSPLGVlZWnDhg3as2eP3njjDY0cOVIrVqzwrrfZbD7jjTE1lv3aAw88oAkTJnhvl5SUqF27durfv39QDamvyspK5efnq1+/foqNjW2w7eAX9Dy86Hf4hbLnGzduVHZ2tjRaUqqfQUWSZkorV65U165dG3ZbQW4vnHVL7OeRQM/Di36HHz0Pv0A9rz7rLFgRD0txcXHq0KGDJKlbt25au3at/vKXv+i+++6TJBUVFSktLc07fteuXWrTpo3f+ex2u+x2e43lsbGxYdlBw7Ud/IKehxf9Dr9Q9DwmJkZlZWXSIUkeP4MOSSqrGns02wtqW0FuL5x1/xr7efjR8/Ci3+FHz8PPqud1fQyi7nOWjDGqqKhQ+/btlZqaqvz8fO+6gwcPasWKFerZs2cEKwQAAADQGET0yNKDDz6oAQMGqF27dtq3b5/mzZun5cuXa+nSpbLZbLrzzjs1ZcoUdezYUR07dtSUKVOUkJCg4cOHR7JsAAAAAI1ARMPSTz/9pBtuuEE7d+5U8+bN1aVLFy1dulT9+vWTJN17770qKyvTLbfcot27d6t79+567733lJSUFMmyAQAAADQCEQ1LM2bMCLjeZrMpLy9PeXl54SkIAAAAAP4r6v5mCQAAAACiAWEJAAAAACwQlgAAAADAAmEJAAAAACxE/ENpAQAIF5fLJbfb7Xe9xxPoU3QBAI0NYQkA0Ci4XC5ldcpSeVm53zEOh0Nz587Vjh071L59+zBWBwCIRoQlAECj4Ha7q4JSjiSnn0F7q74VFxcTlgAAhCUAQCPjlJTuZx2vigCAX+ECDwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABaaRroAAEDjVlBQUK91AAA0NMISACAy9kuySbm5uZGuBAAAS4QlAEBklEsyknIkOf2M2SJpWdgqAgDAB2EJABBZTknpfta5w1kIAAC+uMADAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFiIaFh65JFHdO655yopKUkpKSkaMmSICgsLfcaMGjVKNpvN5+v888+PUMUAAAAAGouIhqUVK1bo1ltv1Zo1a5Sfn69Dhw6pf//+Ki0t9Rl32WWXaefOnd6vxYsXR6hiAAAAAI1FRD9naenSpT63Z86cqZSUFK1fv17Z2dne5Xa7XampqUHNWVFRoYqKCu/tkpISSVJlZaUqKytDULW16rkbchvwRc/Di36H3o4dO1RcXOx3vcfjkRSanns8HjkcjqpnfX//TdZUkqNq7NFsM6htSVJs1fYCjgtmzH/rLigo8PbMSmFh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nqe3SFoWvpqKi4ur/nGFpOZ+BvG6EbXqFZaGDBnic9tms+mEE07QRRddpCeeeCIUdQFA8JyS0o/j7QEA6ibQ83TtZ1I3jNaSUiK0bdRbvcKSx+MJdR0AAAAAEFXqdTU8AAAAADje1evI0oQJE4IeO23atPpsAgAAAAAiql5h6bPPPtOnn36qQ4cOKSsrS5L09ddfq0mTJjr77LO942w2W2iqBAAAAIAwq1dYGjx4sJKSkjRr1iy1bNlSUtUH1Y4ePVoXXnih7r777pAWCQAAAADhVq+/WXriiSf0yCOPeIOSJLVs2VKTJ0/mangAAAAAjgv1CkslJSX66aefaizftWuX9u3bd9RFAQAAAECk1SssXXXVVRo9erRef/117dixQzt27NDrr7+usWPHKicnJ9Q1AgAAAEDY1etvlp577jndc889ys3NVWVlZdVETZtq7Nixevzxx0NaIAAcqwoKCuq1Djie1LavFxYWKjExMUzVAEDd1CssJSQk6Nlnn9Xjjz+ub7/9VsYYdejQQc2aNQt1fQBw7NkvySbl5uZGuhIgcoL8PXA4HJo7d254agKAOqpXWKq2c+dO7dy5U9nZ2XI4HDLGcLlwACiXZCTlSHL6GbNF0rKwVQSEXzC/B5K0LTzlAEB91CssFRcX67e//a2WLVsmm82mLVu26OSTT9aNN96oFi1acEU8AJCq3iCm+1nnDmchQAQF+j2QpL3hKgQA6q5eF3i46667FBsbK5fLpYSEBO/yYcOGaenSpSErDgAAAAAipV5Hlt577z29++67atu2rc/yjh07ats2jqcDAAAAOPbV68hSaWmpzxGlam63W3a7/aiLAgAAAIBIq1dYys7O1uzZs723bTabPB6PHn/8cfXt2zdkxQEAAABApNTrNLzHH39cffr00bp163Tw4EHde++92rx5s37++Wd99NFHoa4RAAAAAMKuXkeWTjvtNH3++ec677zz1K9fP5WWlionJ0efffaZTjnllFDXCAAAAABhV+cjS5WVlerfv7+ef/55TZo0qSFqAgAAAICIq/ORpdjYWH3xxRd8+CwAAACA41q9/mZpxIgRmjFjhqZOnRrqegCgwRQUFARc73Q6lZGREaZqolegPtXWQzQcHpfauVwuud2BP/GZ33PURTC/WxUVFQGvBl1YWKjExMRQloUwqldYOnjwoF544QXl5+erW7duatasmc/6adOmhaQ4AAiJ/ZJsUm5ubsBh8Y54FX5V2HjfSAXZJ4QZj0tQXC6XsjplqbysPOC4Rv97juDU5ffOJsn4X+1wODR37txQVYYwq1NY+u6773TSSSfpiy++0Nlnny1J+vrrr33GcHoegKhTrqoXshxJTj9j3FL5gnK53e7G+yYqmD5tkbQsbBVB4nEJktvtrgpK/J4jFIL5vZN++d0LNG5baEtDeNUpLHXs2FE7d+7UsmVVz8jDhg3T008/rTZt2jRIcQAQUk5J6ZEu4hgQqE+Bz3BCQ+JxCQ6/5wil2vYndxDj9oa0IoRZnS7wYIzvMcYlS5aotLQ0pAUBAAAAQDSo1+csVTsyPAEAAADA8aJOYclms9X4myT+RgkAAADA8ahOf7NkjNGoUaO8l0csLy/X73//+xpXw1uwYEHoKgQAAACACKhTWBo5cqTPbS5jCgAAAOB4VaewNHPmzIaqAwAAAACiylFd4AEAAAAAjleEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwENGwtHLlSg0ePFjp6emy2WxauHChz/pRo0bJZrP5fJ1//vmRKRYAAABAoxLRsFRaWqquXbvqmWee8Tvmsssu086dO71fixcvDmOFAAAAABqrppHc+IABAzRgwICAY+x2u1JTU8NUEQAAAABUiWhYCsby5cuVkpKiFi1aqHfv3nr44YeVkpLid3xFRYUqKiq8t0tKSiRJlZWVqqysbLA6q+duyG3AFz0Pr2jst8fjkcPhqHomC3ScPFaSQ4HHNa0aU1BQII/HYzmksLAwdNsLYoyjqaPqexPHUc0TyppCNiZKtxeynv93f/J4PAF/Z4Lah8Pdp1D9LgS5vaB6HkQ/g+plkI/L8Swan8vrYseOHSouLva7PmT7ZrifV9g3QyrQfl7X/tqMMSYkVR0lm82mN998U0OGDPEumz9/vhITE5WZmamtW7fqj3/8ow4dOqT169fLbrdbzpOXl6dJkybVWD5nzhwlJCQ0VPkAAAAAotyBAwc0fPhw7d27V8nJybWOj+qwdKSdO3cqMzNT8+bNU05OjuUYqyNL7dq1k9vtDqoh9VVZWan8/Hz169dPsbGxDbYd/IKeh1c09nvjxo3Kzs6WRksKdLbuZkmLFHhc9ZgrJLX2M+ZbSStrmaeu2wswxlHo0IvXvKgx749R2Qll9d9WCGsK2Zgo3V7Iel4kaWbVhYy6du3qt6Sg9uFI9elofxeC3F5QPQ+in0H1MsjH5XgWjc/lwfI+xuHYN8P9vMK+GVKB9vOSkhI5nc6gw1LUn4b3a2lpacrMzNSWLVv8jrHb7ZZHnWJjY8PypBCu7eAX9Dy8oqnfMTExKisrkw5Jsj5bqEqlpDIFHlc9prkkf2f6FgUxT123F2jMoapvZYfLVObx8wIbzDyhrClUY6J1e6Hq+aGqMTExMQF/X4LahyPVp6P9XQh2e8H0PIh+BtXLIB+XxiCansuD5X2Mw7Fvhvt5hX2zQVjt53Xt7zH1OUvFxcXavn270tLSIl0KAAAAgONcRI8s7d+/X99884339tatW7Vhwwa1atVKrVq1Ul5enq6++mqlpaXp+++/14MPPiin06mrrroqglUDAAAAaAwiGpbWrVunvn37em9PmDBBkjRy5EhNnz5dmzZt0uzZs7Vnzx6lpaWpb9++mj9/vpKSkiJVMgAAAIBGIqJhqU+fPgp0fYl33303jNUAAAAAwC+Oqb9ZAgAAAIBwISwBAAAAgAXCEgAAAABYICwBAAAAgIVj6kNpARwbXC6X3G53wDFOp1MZGRlhqgiIjIKCgqNaD1+B+lWXXgYzlucoABJhCUCIuVwuZXXKUnlZecBx8Y54FX5VyJsRHJ/2S7JJubm5ka7k+BCqftZhHp6jAEiEJQAh5na7q4JSjiSnv0FS+YJyud1u3ojg+FQuySjw74EkbZG0LCwVHduC6WcwvQz2ceE5CsB/EZYANAynpPRIFwFEWG2/B4HPVsWRAvWzLr3k+QlAkLjAAwAAAABYICwBAAAAgAXCEgAAAABYICwBAAAAgAXCEgAAAABYICwBAAAAgAXCEgAAAABYICwBAAAAgAU+lBYAAKAeXC6X3O7An4brdDqVkZERpooAhBphCQAAoI5cLpeyOmWpvKw84Lh4R7wKvyokMAHHKMISAABAHbnd7qqglCPJ6W+QVL6gXG63m7AEHKMISwAAAPXllJQe6SIANBQu8AAAAAAAFghLAAAAAGCBsAQAAAAAFghLAAAAAGCBsAQAAAAAFghLAAAAAGCBsAQAAAAAFghLAAAAAGCBD6UFIElyuVxyu91+13s8njBWAwA4XtT2+iJJFRUVstvtAccUFBSEsiwgKIQlAHK5XMrqlKXysnK/YxwOh+bOnasdO3aoffv2YawOAHCsCub1RZJkk2TCUhJQJ4QlAHK73VUvZDmSnH4G7a36VlxcTFgCAAQlqNeXLZKWKfCYX48DwoiwBOAXTknpftbxbAEAqK9Ary/uIMb8ehwQRlzgAQAAAAAsEJYAAAAAwAJhCQAAAAAsEJYAAAAAwAJhCQAAAAAsEJYAAAAAwAJhCQAAAAAsEJYAAAAAwAIfMwmgTgoLCxUT4///WQoKCoKeq7axFRUVstvtIdkWAADRrrbXNafTqYyMjDBVA4mwBCBY+6u+jRs3TmVlZUc/l03Kzc0NPM4myRzdpgAAiHpBvi7GO+JV+FUhgSmMCEsAglPx3+9XSGoeYNwWSctqmatcVSEoR5KzlnmCGQMAwLEsmNdFt1S+oFxut5uwFEaEJQB101pSSoD17jrM5ZSUXss8wYwBAOB4EOg1DxHBBR4AAAAAwAJhCQAAAAAsEJYAAAAAwAJhCQAAAAAsEJYAAAAAwEJEw9LKlSs1ePBgpaeny2azaeHChT7rjTHKy8tTenq6HA6H+vTpo82bN0emWAAAAACNSkTDUmlpqbp27apnnnnGcv1jjz2madOm6ZlnntHatWuVmpqqfv36ad++fWGuFAAAAEBjE9HPWRowYIAGDBhguc4Yo6eeekoTJ05UTk6OJGnWrFlq06aN5syZo5tuuimcpQIAAABoZKL2Q2m3bt2qoqIi9e/f37vMbrerd+/eWr16td+wVFFRoYqKCu/tkpISSVJlZaUqKysbrN7quRtyG/BFz6vs2LFDxcXFAce0bt1abdu29bve4/HI4XBUPSP4Od7saOqo+t7EEfiYdKwkhwLOFdYxx/D2gup5NPYgGmsKclzIeh6NPYjGmhTmngfbg6ZV4zwej9/XmGCeN6vnKSgokMfj8bu52p6jQyncr51B9Ska981ofF4JYr9ElUD7eV17ZzPGmJBUdZRsNpvefPNNDRkyRJK0evVq9erVSz/88IPS03/5KOPf/e532rZtm959913LefLy8jRp0qQay+fMmaOEhIQGqR0AAABA9Dtw4ICGDx+uvXv3Kjk5udbxUXtkqZrNZvO5bYypsezXHnjgAU2YMMF7u6SkRO3atVP//v2Dakh9VVZWKj8/X/369VNsbGyDbQe/oOfSxo0blZ2dLV0hqbWfQcWSFlVdUKVr166B5xktKdV6GkehQy9e86LGvD9GZSeU+S9qc9X2As0V1jHH8PaC6nk09iAaawpyXMh6Ho09iMaaFOaeB9uDIkkzj/5507u9o3yODqVwv3bWqU/RtG9G4/NKEPslqgTaz6vPOgtW1Ial1NSqPaWoqEhpaWne5bt27VKbNm38/pzdbpfdbq+xPDY2NixPCuHaDn7RmHseExOjsrIyqbmkFD+DDkkqqxrrr0/eeQ5J8nemyKGqb2WHy1TmCRCWKqu2F3CucI45lrcXTM+jsQfRWFOw40LV82jsQTTWJIW353WpKRTPm9XbO8rn6IYQrtfOOvUpmvbNaHxeidC+ciyz2s/r2ruo/Zyl9u3bKzU1Vfn5+d5lBw8e1IoVK9SzZ88IVgYAAACgMYjokaX9+/frm2++8d7eunWrNmzYoFatWikjI0N33nmnpkyZoo4dO6pjx46aMmWKEhISNHz48AhWDQAAAKAxiGhYWrdunfr27eu9Xf23RiNHjtRLL72ke++9V2VlZbrlllu0e/dude/eXe+9956SkpIiVTIAAACARiKiYalPnz4KdDE+m82mvLw85eXlha8oAAAAAFAU/80SAAAAAEQSYQkAAAAALBCWAAAAAMACYQkAAAAALETth9ICjZ3L5ZLb7Q44pqCgIOj5Ao2tyzwA0FjwvAmAsAREIZfLpaxOWSovKz/6yfZLskm5ublHPxcANAY8bwL4L8ISEIXcbndVUMqR5AwwcIukZbVMVi7JKPBcwcwDAI0Fz5sA/ouwBEQzp6T0AOsDn6UX/Fx1mQcAGgueN4FGjws8AAAAAIAFwhIAAAAAWCAsAQAAAIAFwhIAAAAAWCAsAQAAAIAFwhIAAAAAWCAsAQAAAIAFwhIAAAAAWOBDaYEIcLlccrv9f6JhQUFBGKsBAERaMM/7TqdTGRkZAcfU9vri8XjqXBuiS6j2FQSHsASEmcvlUlanLJWXlUe6FABApO2XZJNyc3NrHRrviFfhV4V+3wQH8/ricDg0d+5c7dixQ+3bt69v1YiEEO4rCB5hCQgzt9td9UKWI8npZ9AWScvCWBQAIDLKJRkFfk2QJLdUvqBcbrfb7xvgoF5f9lZ9Ky4uJiwda0K4ryB4hCUgUpyS0v2s838GBQDgeBToNSGUc/HO79gXyn0FteICDwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABgoWmkCwAAAEBwCgoK6rXuSIWFhYqJ8f9/5hUVFbLb7bXO43Q6lZGREfR2ET617Q/BPMY8voQlAACA6Ldfkk3Kzc09+nkkjRs3TmVlZf7H2SSZ2qeLd8Sr8KvCRv+GOqoEu68E8Rjz+BKWAAAAol+5qt7Y5khy+hmzRdKyWuap+O/3KyQ1r2WeQNuSJLdUvqBcbre7Ub+Zjjp12VcCjeHxlURYAgAAOHY4JaX7WeeuwzytJaXUMk+gbSH6BbOv8BjXigs8AAAAAIAFwhIAAAAAWCAsAQAAAIAFwhIAAAAAWCAsAQAAAICFqA5LeXl5stlsPl+pqamRLgsAAABAIxD1lw4//fTT9a9//ct7u0mTJhGsBgAAAEBjEfVhqWnTphxNAgAAABB2UR+WtmzZovT0dNntdnXv3l1TpkzRySef7Hd8RUWFKioqvLdLSkokSZWVlaqsrGywOqvnbshtwFe09nzHjh0qLi72u76wsFAOh6Pqt8/fibCxkhwKPCbYcSEa42jqqPrexBE1NUVjn0I5V1A9j8YeRGNNQY4LWc+jsQfRWJPC3PNo7MGx/LzStGqcx+Px+1rs8XiOydc8nlcU1OMbrQK9R6zrfbEZY0xIqmoAS5Ys0YEDB3Tqqafqp59+0uTJk/XVV19p8+bNat26teXP5OXladKkSTWWz5kzRwkJCQ1dMgAAAIAodeDAAQ0fPlx79+5VcnJyreOjOiwdqbS0VKeccoruvfdeTZgwwXKM1ZGldu3aye12B9WQ+qqsrFR+fr769eun2NjYBtsOfhGNPd+4caOys7OlKyRZ53npW0krJY2W5O8M082SFtUyJthxIRrjKHToxWte1Jj3x6jshLKoqCka+xTKuYLqeTT2IBprCnJcyHoejT2IxpoU5p5HYw+O5eeVIkkzpZUrV6pr166WQ7yvi1HUA55XghwTxOMbrQK9RywpKZHT6Qw6LEX9aXi/1qxZM51xxhnasmWL3zF2u112u73G8tjY2LC8oQ7XdvCLaOp5TEyMysrKpOaSUvwMKpJUJumQJI+fMZVBjAl2XKjGHKr6Vna4TGWeAGEpnDVFY59COVcwPY/GHkRjTcGOC1XPo7EH0ViTFN6eR2MPjuXnlUNV42JiYvy+DntfF6OpBzyvBF93LY9vtLN6j1jX+xLVlw4/UkVFhQoKCpSWlhbpUgAAAAAc56I6LN1zzz1asWKFtm7dqn//+98aOnSoSkpKNHLkyEiXBgAAAOA4F9Wn4e3YsUPXXXed3G63TjjhBJ1//vlas2aNMjMzI10aAAAAgONcVIelefPmRboEAAAAAI1UVJ+GBwAAAACRQlgCAAAAAAuEJQAAAACwQFgCAAAAAAtRfYEHIFxcLpfcbnfAMU6nUxkZGWGqCAAAAJFGWEKj53K5lNUpS+Vl5QHHxTviVfhVIYEJAACgkSAsodFzu91VQSlHktPfIKl8QbncbjdhCQAAoJEgLAHVnJLSI10EAAAAogUXeAAAAAAAC4QlAAAAALBAWAIAAAAAC4QlAAAAALBAWAIAAAAAC4QlAAAAALBAWAIAAAAAC4QlAAAAALDAh9ICAACg3goKCuq1DscPl8slt9sdcIzT6VRGRkaYKgodwhIAAADqbr8km5SbmxvpShBBLpdLWZ2yVF5WHnBcvCNehV8VHnOBibAEAACAuiuXZCTlSHL6GbNF0rKwVYQIcLvdVUEp0H7glsoXlMvtdhOWAAAA0Ig4JaX7WRf4zCwcTwLtB8cwLvAAAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggQ+ljVIul0tud+BPcnM6nbV+CnKo5olmGzduVEyM/9xfUVEhu93ud31BQUHQ26ptbF3mAgAAiHaN/b0PYSkKuVwuZXXKUnlZecBx8Y54FX5V6DfohGqeaLVjxw5JUnZ2tsrKyvwPtEkyR7mx/VXz5ObmHuVEAAAAxwDe+0giLEUlt9tdFXByJDn9DZLKF5TL7Xb7DTmhmidaFRcXV/3jCknN/QzaImmZAvegekwg5aoKXIHmCXYuAACAaMd7H0mEpejmlJQeRfNEq9aSUvysqz4DMVAPAp+l6Ku2XtZlLgAAgGjXyN/7cIEHAAAAALBAWAIAAAAAC4QlAAAAALBAWAIAAAAAC4QlAAAAALBAWAIAAAAAC4QlAAAAALBAWAIAAAAAC3wobZi5XC653YE/vaugoCBM1dRtm06nUxkZGQHHBHP/KioqZLfbj3pMYWGhEhMTA44BAAAA6ouwFEYul0tZnbJUXlYe6VJ+sV+STcrNza11aLwjXoVfFfoNTEHfP5skU8vGghjjcDg0d+7cWiYCAAAA6oewFEZut7sqSORIcgYYuEXSsjAVVa6qUFJbTW6pfEG53G6337AU1P2rvm9HO0aStgVYBwAAABwlwlIkOCWlB1gf+Cy2hlFbTaGayx2iMZK0t+6lAQAAAMHiAg8AAAAAYIGwBAAAAAAWCEsAAAAAYIGwBAAAAAAWCEsAAAAAYOGYCEvPPvus2rdvr/j4eJ1zzjn68MMPI10SAAAAgONc1Iel+fPn684779TEiRP12Wef6cILL9SAAQPkcrkiXRoAAACA41jUh6Vp06Zp7NixuvHGG/Wb3/xGTz31lNq1a6fp06dHujQAAAAAx7Go/lDagwcPav369br//vt9lvfv31+rV6+2/JmKigpVVFR4b+/dW/XJpT///LMqKysbrNbKykodOHBAxcXFio2NtRxTUlKi+Pj4qg9d9QSYbK+keAUe93PVmPXr16ukpMRyyJYtW2rfXjDbCvf2gqwpfk+8Dhw4oHh3vMxB07DbC7ZPx/H2gup3mGuKxj6Fcq6Q7eMhrCka+xTK7YX1eSWUcx2rNYnncp5XonR7PK+Ednv/fR9ZUlKi4uLiAJOFRqD35fv27ZMkGRPgvcyv2EywIyPgxx9/1IknnqiPPvpIPXv29C6fMmWKZs2apcLCwho/k5eXp0mTJoWzTAAAAADHkO3bt6tt27a1jovqI0vVbDabz21jTI1l1R544AFNmDDBe9vj8ejnn39W69at/f5MKJSUlKhdu3bavn27kpOTG2w7+AU9Dy/6HX70PPzoefjR8/Ci3+FHz8MvUM+NMdq3b5/S09ODmiuqw5LT6VSTJk1UVFTks3zXrl1q06aN5c/Y7XbZ7XafZS1atGioEmtITk7mFyHM6Hl40e/wo+fhR8/Dj56HF/0OP3oefv563rx586DniOoLPMTFxemcc85Rfn6+z/L8/Hyf0/IAAAAAINSi+siSJE2YMEE33HCDunXrph49eujvf/+7XC6Xfv/730e6NAAAAADHsagPS8OGDVNxcbH+/Oc/a+fOnercubMWL16szMzMSJfmw26366GHHqpxCiAaDj0PL/odfvQ8/Oh5+NHz8KLf4UfPwy+UPY/qq+EBAAAAQKRE9d8sAQAAAECkEJYAAAAAwAJhCQAAAAAsEJYAAAAAwAJhKQSeffZZtW/fXvHx8TrnnHP04YcfRrqk48bKlSs1ePBgpaeny2azaeHChT7rjTHKy8tTenq6HA6H+vTpo82bN0em2OPEI488onPPPVdJSUlKSUnRkCFDVFhY6DOGvofO9OnT1aVLF+8H5/Xo0UNLlizxrqfXDe+RRx6RzWbTnXfe6V1G30MrLy9PNpvN5ys1NdW7nn6H3g8//KDc3Fy1bt1aCQkJOvPMM7V+/XrvenoeWieddFKNfdxms+nWW2+VRL8bwqFDh/SHP/xB7du3l8Ph0Mknn6w///nP8ng83jEh6bvBUZk3b56JjY01//d//2e+/PJLM378eNOsWTOzbdu2SJd2XFi8eLGZOHGieeONN4wk8+abb/qsnzp1qklKSjJvvPGG2bRpkxk2bJhJS0szJSUlkSn4OHDppZeamTNnmi+++MJs2LDBDBw40GRkZJj9+/d7x9D30Fm0aJF55513TGFhoSksLDQPPvigiY2NNV988YUxhl43tE8++cScdNJJpkuXLmb8+PHe5fQ9tB566CFz+umnm507d3q/du3a5V1Pv0Pr559/NpmZmWbUqFHm3//+t9m6dav517/+Zb755hvvGHoeWrt27fLZv/Pz840ks2zZMmMM/W4IkydPNq1btzZvv/222bp1q3nttddMYmKieeqpp7xjQtF3wtJROu+888zvf/97n2WdOnUy999/f4QqOn4dGZY8Ho9JTU01U6dO9S4rLy83zZs3N88991wEKjw+7dq1y0gyK1asMMbQ93Bo2bKleeGFF+h1A9u3b5/p2LGjyc/PN7179/aGJfoeeg899JDp2rWr5Tr6HXr33XefueCCC/yup+cNb/z48eaUU04xHo+HfjeQgQMHmjFjxvgsy8nJMbm5ucaY0O3nnIZ3FA4ePKj169erf//+Psv79++v1atXR6iqxmPr1q0qKiry6b/dblfv3r3pfwjt3btXktSqVStJ9L0hHT58WPPmzVNpaal69OhBrxvYrbfeqoEDB+qSSy7xWU7fG8aWLVuUnp6u9u3b69prr9V3330niX43hEWLFqlbt2665pprlJKSorPOOkv/93//511PzxvWwYMH9fLLL2vMmDGy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mamTTz5ZN9xwg1555RUdOHAgPHcQABBVmka6AAAAgjVjxgwdOnRIJ554oneZMUaxsbHavXu3jDGy2Ww+P3PkCRQej0c33XST7rjjjhrzZ2RkKC4uTp9++qmWL1+u9957T3/605+Ul5entWvXqkWLFg1yvwAA0YmwBAA4Jhw6dEizZ8/WE088of79+/usu/rqq/XKK6+oU6dOWrx4sc+6devW+dw+++yztXnzZnXo0MHvtpo2bapLLrlEl1xyiR566CG1aNFCH3zwgXJyckJ3hwAAUY+wBAA4Jrz99tvavXu3xo4dq+bNm/usGzp0qGbMmKEFCxZo2rRpuu+++zR27Fht2LDBe7W86iNO9913n84//3zdeuutGjdunJo1a6aCggLl5+frr3/9q95++2199913ys7OVsuWLbV48WJ5PB5lZWWF+y4DACKMv1kCABwTZsyYoUsuuaRGUJKqjixt2LBBu3fv1uuvv64FCxaoS5cumj59uvdqeHa7XZLUpUsXrVixQlu2bNGFF16os846S3/84x+VlpYmSWrRooUWLFigiy66SL/5zW/03HPPae7cuTr99NPDd2cBAFGBq+EBAI5rDz/8sJ577jlt37490qUAAI4xnIYHADiuPPvsszr33HPVunVrffTRR3r88ce9n6EEAEBdEJYAAMeVLVu2aPLkyfr555+VkZGhu+++Ww888ECkywIAHIM4DQ8AAAAALHCBBwAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAv/H0gu5BOhVGKKAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages_3 = pd.read_csv('data/ages_population3.csv')\n", + "ages_3['observation'] = ages_3['observation'].astype(int)\n", + "frequency_count_3 = ages_3['observation'].value_counts().sort_index()\n", + "display(frequency_count_3)\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(ages_3['observation'], bins=range(1,78,1), color='green', edgecolor='black') # \n", + "plt.title('Ages2 Frequency Distribution')\n", + "plt.xlabel('Ages')\n", + "plt.ylabel('Frequency')\n", + "#plt.xticks(range(1,78,2))\n", + "plt.grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Calculate the mean and standard deviation. Compare the results with the plot in step 1. What is happening?" + ] + }, + { + "cell_type": "code", + "execution_count": 214, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Here, the mean is 41.989, and the standard deviation is 16.144705959865934\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_age_3 = ages_3['observation'].mean()\n", + "std_dev_age_3 = ages_3['observation'].std()\n", + "\n", + "print(f\"Here, the mean is {mean_age_3}, and the standard deviation is {std_dev_age_3}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The mean is larger than the dataset in step 1, indicating an older average age.\n", + "The standard deviation is also larger, which confirms the wider spread of the data around the man, that can be observed in the histogram.\n", + "The histogram shows a wider distribution of ages, indicating a diverse age range within the population. \n", + "There are peaks at different age intervals, suggesting multiple modes or clusters of ages.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Calculate the four quartiles. Use the results to explain your reasoning for question in step 2. How much of a difference is there between the median and the mean?" + ] + }, + { + "cell_type": "code", + "execution_count": 218, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Q1: 30.0,\n", + "Q2 (Median): 40.0,\n", + "Q3: 53.0\n" + ] + } + ], + "source": [ + "# your code here\n", + "# Calculate quartiles for the third dataset\n", + "quartiles = ages_3['observation'].quantile([0.25, 0.5, 0.75])\n", + "median_age_3 = quartiles[0.5]\n", + "\n", + "print(f\"Q1: {quartiles[0.25]},\\nQ2 (Median): {quartiles[0.5]},\\nQ3: {quartiles[0.75]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The mean and median are relatively close. This closeness indicates a rather symmetric distribution. \n", + "Being the mean slightly higher than the median, it suggests there is a minor right skew in the data, with older individuals pulling the mean upwards.\n", + "This skewness could be due to a few older ages that are not extreme enough to significantly distort the mean.\n", + "Q1 shows that 25% percent of the data is below 30 years old, indicating a youthful segment of the population\n", + "Q3 shows that 75% of the data is under 53 years old, but there is still a significant portion (25%) of the population that is older, \n", + "up to the maximum age, which influences the skewness and the rather high standard deviation from the previous step,\n", + "which also confirms a wide spread around the mean, encompassing a diverse range of ages.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- Calculate other percentiles that might be useful to give more arguments to your reasoning." + ] + }, + { + "cell_type": "code", + "execution_count": 219, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.10 22.0\n", + "0.90 67.0\n", + "0.95 70.0\n", + "0.99 74.0\n", + "Name: observation, dtype: float64" + ] + }, + "execution_count": 219, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "# Calculate additional percentiles to enhance the analysis\n", + "additional_percentiles = ages_3['observation'].quantile([0.1, 0.9, 0.95, 0.99])\n", + "\n", + "additional_percentiles" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The 10th and 99th percentiles (22 and 74 years) outline the bounds within which most of the population lies, indicating that most of the population is between 22 ansd 74 years old (wide range)\n", + "The 90th and 95th percentiles (67 and 70 years) are relatively close together, indicating that there is a rapid increase in age towards the older segment of the population, \n", + "but it plateaus shortly after 70 years. This closeness supports the idea of a right-skewed distribution, where there is a significant presence of older individuals, but not many extremely old ages, as mentioned before.\n", + "The range between the 10th and 90th percentiles covers most of the population (80%), stretching from 22 to 67 years. \n", + "The mean being close to the median but slightly higher, and with a substantial standard deviation, reinforces the presence of a right skew. \n", + "The ages beyond the 90th percentile, particularly up to the 99th percentile, show that the tail is not extreme but does contain older ages that impact the overall mean.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Bonus challenge\n", + "Compare the information about the three neighbourhoods. Prepare a report about the three of them. Remember to find out which are their similarities and their differences backing your arguments in basic statistics." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"" + ] + } + ], + "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.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +} diff --git a/data/ages_population.csv b/your-code/data/ages_population.csv similarity index 83% rename from data/ages_population.csv rename to your-code/data/ages_population.csv index 9dc7328..64d8a0a 100644 --- a/data/ages_population.csv +++ b/your-code/data/ages_population.csv @@ -1,1001 +1,1001 @@ -observation -68.0 -12.0 -45.0 -38.0 -49.0 -27.0 -39.0 -12.0 -42.0 -33.0 -30.0 -25.0 -30.0 -44.0 -53.0 -46.0 -50.0 -22.0 -6.0 -29.0 -29.0 -27.0 -35.0 -38.0 -28.0 -26.0 -60.0 -41.0 -38.0 -41.0 -44.0 -52.0 -46.0 -39.0 -44.0 -46.0 -32.0 -23.0 -15.0 -40.0 -42.0 -32.0 -45.0 -29.0 -22.0 -41.0 -39.0 -63.0 -39.0 -31.0 -34.0 -28.0 -45.0 -33.0 -32.0 -61.0 -64.0 -37.0 -56.0 -44.0 -33.0 -38.0 -40.0 -38.0 -56.0 -14.0 -52.0 -34.0 -14.0 -34.0 -31.0 -46.0 -50.0 -37.0 -13.0 -12.0 -25.0 -28.0 -51.0 -13.0 -36.0 -52.0 -13.0 -30.0 -36.0 -35.0 -26.0 -34.0 -51.0 -52.0 -35.0 -44.0 -23.0 -29.0 -25.0 -30.0 -27.0 -42.0 -18.0 -39.0 -42.0 -48.0 -30.0 -40.0 -34.0 -28.0 -48.0 -48.0 -42.0 -53.0 -34.0 -37.0 -32.0 -29.0 -18.0 -35.0 -58.0 -37.0 -32.0 -49.0 -20.0 -42.0 -29.0 -22.0 -39.0 -41.0 -54.0 -20.0 -19.0 -39.0 -39.0 -39.0 -58.0 -23.0 -45.0 -13.0 -44.0 -39.0 -30.0 -37.0 -62.0 -45.0 -33.0 -55.0 -33.0 -39.0 -34.0 -32.0 -25.0 -21.0 -39.0 -43.0 -18.0 -40.0 -50.0 -35.0 -46.0 -36.0 -30.0 -44.0 -34.0 -58.0 -14.0 -27.0 -62.0 -42.0 -27.0 -50.0 -29.0 -41.0 -30.0 -37.0 -43.0 -43.0 -49.0 -31.0 -17.0 -42.0 -48.0 -29.0 -38.0 -31.0 -20.0 -50.0 -26.0 -45.0 -56.0 -35.0 -48.0 -35.0 -55.0 -44.0 -23.0 -39.0 -39.0 -45.0 -21.0 -43.0 -38.0 -40.0 -35.0 -25.0 -7.0 -26.0 -40.0 -52.0 -46.0 -47.0 -38.0 -1.0 -16.0 -54.0 -45.0 -35.0 -54.0 -41.0 -12.0 -37.0 -50.0 -37.0 -24.0 -47.0 -39.0 -30.0 -41.0 -31.0 -23.0 -42.0 -24.0 -23.0 -31.0 -45.0 -53.0 -21.0 -59.0 -63.0 -41.0 -53.0 -59.0 -48.0 -57.0 -39.0 -32.0 -36.0 -21.0 -40.0 -51.0 -44.0 -59.0 -25.0 -52.0 -42.0 -8.0 -34.0 -43.0 -46.0 -36.0 -42.0 -46.0 -44.0 -29.0 -17.0 -56.0 -41.0 -30.0 -67.0 -41.0 -34.0 -42.0 -22.0 -19.0 -57.0 -16.0 -24.0 -26.0 -32.0 -35.0 -36.0 -26.0 -21.0 -20.0 -28.0 -19.0 -56.0 -41.0 -38.0 -42.0 -31.0 -30.0 -41.0 -31.0 -33.0 -42.0 -45.0 -62.0 -29.0 -41.0 -19.0 -42.0 -42.0 -54.0 -2.0 -40.0 -28.0 -42.0 -28.0 -26.0 -43.0 -32.0 -54.0 -34.0 -25.0 -32.0 -14.0 -66.0 -24.0 -43.0 -33.0 -29.0 -8.0 -43.0 -30.0 -34.0 -37.0 -40.0 -42.0 -48.0 -19.0 -35.0 -41.0 -26.0 -36.0 -23.0 -46.0 -35.0 -28.0 -39.0 -21.0 -4.0 -73.0 -43.0 -48.0 -20.0 -49.0 -28.0 -26.0 -34.0 -20.0 -39.0 -46.0 -37.0 -20.0 -29.0 -63.0 -36.0 -49.0 -36.0 -36.0 -34.0 -46.0 -44.0 -15.0 -38.0 -82.0 -48.0 -29.0 -49.0 -57.0 -16.0 -12.0 -36.0 -59.0 -49.0 -17.0 -25.0 -33.0 -37.0 -40.0 -43.0 -57.0 -43.0 -38.0 -35.0 -30.0 -14.0 -48.0 -24.0 -32.0 -47.0 -29.0 -50.0 -43.0 -55.0 -36.0 -49.0 -46.0 -45.0 -52.0 -36.0 -30.0 -33.0 -34.0 -18.0 -32.0 -40.0 -37.0 -36.0 -63.0 -44.0 -57.0 -35.0 -28.0 -57.0 -15.0 -40.0 -47.0 -17.0 -53.0 -39.0 -29.0 -47.0 -37.0 -30.0 -19.0 -66.0 -56.0 -8.0 -22.0 -43.0 -39.0 -21.0 -41.0 -54.0 -51.0 -37.0 -23.0 -56.0 -70.0 -39.0 -14.0 -60.0 -26.0 -30.0 -47.0 -52.0 -30.0 -54.0 -5.0 -22.0 -23.0 -34.0 -2.0 -34.0 -45.0 -31.0 -42.0 -47.0 -35.0 -36.0 -39.0 -41.0 -60.0 -42.0 -26.0 -45.0 -25.0 -32.0 -47.0 -36.0 -37.0 -40.0 -57.0 -40.0 -59.0 -31.0 -32.0 -63.0 -38.0 -41.0 -43.0 -17.0 -34.0 -28.0 -43.0 -51.0 -8.0 -30.0 -43.0 -24.0 -1.0 -16.0 -43.0 -27.0 -71.0 -50.0 -50.0 -9.0 -30.0 -15.0 -32.0 -50.0 -39.0 -24.0 -55.0 -38.0 -17.0 -36.0 -43.0 -40.0 -42.0 -37.0 -55.0 -31.0 -31.0 -31.0 -21.0 -43.0 -45.0 -36.0 -23.0 -32.0 -14.0 -16.0 -69.0 -11.0 -33.0 -36.0 -39.0 -19.0 -31.0 -26.0 -52.0 -41.0 -30.0 -31.0 -32.0 -35.0 -43.0 -52.0 -41.0 -17.0 -38.0 -28.0 -54.0 -42.0 -24.0 -39.0 -44.0 -31.0 -48.0 -6.0 -50.0 -27.0 -45.0 -28.0 -29.0 -43.0 -44.0 -14.0 -28.0 -15.0 -37.0 -61.0 -36.0 -35.0 -32.0 -34.0 -26.0 -37.0 -41.0 -59.0 -45.0 -46.0 -32.0 -30.0 -33.0 -27.0 -10.0 -42.0 -30.0 -54.0 -36.0 -44.0 -45.0 -54.0 -37.0 -40.0 -23.0 -66.0 -32.0 -39.0 -34.0 -46.0 -39.0 -38.0 -38.0 -50.0 -55.0 -30.0 -47.0 -41.0 -56.0 -39.0 -41.0 -27.0 -23.0 -30.0 -17.0 -45.0 -29.0 -42.0 -26.0 -22.0 -39.0 -23.0 -48.0 -51.0 -39.0 -52.0 -39.0 -41.0 -56.0 -38.0 -44.0 -33.0 -39.0 -44.0 -29.0 -49.0 -13.0 -53.0 -58.0 -27.0 -23.0 -27.0 -45.0 -12.0 -30.0 -40.0 -30.0 -49.0 -40.0 -32.0 -53.0 -37.0 -31.0 -46.0 -31.0 -22.0 -19.0 -12.0 -49.0 -47.0 -42.0 -38.0 -58.0 -43.0 -38.0 -42.0 -30.0 -45.0 -26.0 -38.0 -26.0 -46.0 -20.0 -29.0 -39.0 -37.0 -42.0 -43.0 -48.0 -55.0 -22.0 -26.0 -30.0 -55.0 -35.0 -51.0 -46.0 -38.0 -65.0 -55.0 -41.0 -30.0 -37.0 -27.0 -36.0 -42.0 -38.0 -20.0 -47.0 -31.0 -34.0 -35.0 -36.0 -5.0 -40.0 -41.0 -27.0 -47.0 -63.0 -35.0 -32.0 -27.0 -50.0 -39.0 -38.0 -36.0 -17.0 -27.0 -45.0 -30.0 -28.0 -43.0 -33.0 -45.0 -20.0 -29.0 -48.0 -20.0 -44.0 -42.0 -60.0 -25.0 -48.0 -41.0 -39.0 -11.0 -35.0 -43.0 -51.0 -24.0 -33.0 -22.0 -21.0 -45.0 -48.0 -56.0 -25.0 -33.0 -36.0 -53.0 -51.0 -42.0 -15.0 -32.0 -22.0 -59.0 -54.0 -32.0 -39.0 -47.0 -17.0 -28.0 -29.0 -56.0 -34.0 -28.0 -44.0 -67.0 -26.0 -25.0 -23.0 -56.0 -52.0 -25.0 -49.0 -26.0 -39.0 -63.0 -48.0 -48.0 -30.0 -37.0 -46.0 -14.0 -15.0 -44.0 -39.0 -40.0 -22.0 -30.0 -39.0 -43.0 -46.0 -35.0 -16.0 -44.0 -18.0 -26.0 -27.0 -37.0 -20.0 -35.0 -50.0 -55.0 -45.0 -41.0 -54.0 -56.0 -46.0 -56.0 -24.0 -33.0 -12.0 -31.0 -12.0 -25.0 -49.0 -52.0 -55.0 -27.0 -49.0 -44.0 -49.0 -40.0 -34.0 -16.0 -19.0 -36.0 -32.0 -67.0 -52.0 -38.0 -33.0 -68.0 -14.0 -43.0 -10.0 -11.0 -39.0 -13.0 -54.0 -41.0 -40.0 -18.0 -16.0 -45.0 -35.0 -39.0 -34.0 -46.0 -53.0 -23.0 -55.0 -37.0 -29.0 -48.0 -35.0 -45.0 -68.0 -29.0 -40.0 -33.0 -64.0 -45.0 -10.0 -47.0 -23.0 -39.0 -20.0 -41.0 -36.0 -41.0 -25.0 -46.0 -49.0 -28.0 -40.0 -58.0 -46.0 -37.0 -41.0 -38.0 -35.0 -31.0 -30.0 -35.0 -34.0 -15.0 -58.0 -41.0 -59.0 -32.0 -12.0 -27.0 -41.0 -37.0 -47.0 -49.0 -47.0 -53.0 -35.0 -38.0 -24.0 -50.0 -27.0 -27.0 -26.0 -24.0 -30.0 -43.0 -35.0 -22.0 -22.0 -32.0 -37.0 -55.0 -27.0 -36.0 -50.0 -21.0 -45.0 -27.0 -53.0 -41.0 -28.0 -45.0 -39.0 -43.0 -29.0 -18.0 -34.0 -19.0 -26.0 -32.0 -65.0 -38.0 -24.0 -27.0 -24.0 -19.0 -49.0 -25.0 -41.0 -22.0 -31.0 -24.0 -21.0 -8.0 -56.0 -42.0 -43.0 -62.0 -22.0 -67.0 -38.0 -43.0 -41.0 -34.0 -38.0 -21.0 -35.0 -28.0 -27.0 -21.0 -40.0 -44.0 -25.0 -40.0 -29.0 -39.0 -25.0 -33.0 -37.0 -35.0 -26.0 -34.0 -43.0 -39.0 -32.0 -33.0 -24.0 -24.0 -25.0 -36.0 -49.0 -31.0 -12.0 -9.0 -35.0 -21.0 -36.0 -37.0 -34.0 -24.0 -35.0 -38.0 -33.0 -42.0 -32.0 -29.0 -36.0 -40.0 -27.0 -47.0 -53.0 -33.0 -31.0 +observation +68.0 +12.0 +45.0 +38.0 +49.0 +27.0 +39.0 +12.0 +42.0 +33.0 +30.0 +25.0 +30.0 +44.0 +53.0 +46.0 +50.0 +22.0 +6.0 +29.0 +29.0 +27.0 +35.0 +38.0 +28.0 +26.0 +60.0 +41.0 +38.0 +41.0 +44.0 +52.0 +46.0 +39.0 +44.0 +46.0 +32.0 +23.0 +15.0 +40.0 +42.0 +32.0 +45.0 +29.0 +22.0 +41.0 +39.0 +63.0 +39.0 +31.0 +34.0 +28.0 +45.0 +33.0 +32.0 +61.0 +64.0 +37.0 +56.0 +44.0 +33.0 +38.0 +40.0 +38.0 +56.0 +14.0 +52.0 +34.0 +14.0 +34.0 +31.0 +46.0 +50.0 +37.0 +13.0 +12.0 +25.0 +28.0 +51.0 +13.0 +36.0 +52.0 +13.0 +30.0 +36.0 +35.0 +26.0 +34.0 +51.0 +52.0 +35.0 +44.0 +23.0 +29.0 +25.0 +30.0 +27.0 +42.0 +18.0 +39.0 +42.0 +48.0 +30.0 +40.0 +34.0 +28.0 +48.0 +48.0 +42.0 +53.0 +34.0 +37.0 +32.0 +29.0 +18.0 +35.0 +58.0 +37.0 +32.0 +49.0 +20.0 +42.0 +29.0 +22.0 +39.0 +41.0 +54.0 +20.0 +19.0 +39.0 +39.0 +39.0 +58.0 +23.0 +45.0 +13.0 +44.0 +39.0 +30.0 +37.0 +62.0 +45.0 +33.0 +55.0 +33.0 +39.0 +34.0 +32.0 +25.0 +21.0 +39.0 +43.0 +18.0 +40.0 +50.0 +35.0 +46.0 +36.0 +30.0 +44.0 +34.0 +58.0 +14.0 +27.0 +62.0 +42.0 +27.0 +50.0 +29.0 +41.0 +30.0 +37.0 +43.0 +43.0 +49.0 +31.0 +17.0 +42.0 +48.0 +29.0 +38.0 +31.0 +20.0 +50.0 +26.0 +45.0 +56.0 +35.0 +48.0 +35.0 +55.0 +44.0 +23.0 +39.0 +39.0 +45.0 +21.0 +43.0 +38.0 +40.0 +35.0 +25.0 +7.0 +26.0 +40.0 +52.0 +46.0 +47.0 +38.0 +1.0 +16.0 +54.0 +45.0 +35.0 +54.0 +41.0 +12.0 +37.0 +50.0 +37.0 +24.0 +47.0 +39.0 +30.0 +41.0 +31.0 +23.0 +42.0 +24.0 +23.0 +31.0 +45.0 +53.0 +21.0 +59.0 +63.0 +41.0 +53.0 +59.0 +48.0 +57.0 +39.0 +32.0 +36.0 +21.0 +40.0 +51.0 +44.0 +59.0 +25.0 +52.0 +42.0 +8.0 +34.0 +43.0 +46.0 +36.0 +42.0 +46.0 +44.0 +29.0 +17.0 +56.0 +41.0 +30.0 +67.0 +41.0 +34.0 +42.0 +22.0 +19.0 +57.0 +16.0 +24.0 +26.0 +32.0 +35.0 +36.0 +26.0 +21.0 +20.0 +28.0 +19.0 +56.0 +41.0 +38.0 +42.0 +31.0 +30.0 +41.0 +31.0 +33.0 +42.0 +45.0 +62.0 +29.0 +41.0 +19.0 +42.0 +42.0 +54.0 +2.0 +40.0 +28.0 +42.0 +28.0 +26.0 +43.0 +32.0 +54.0 +34.0 +25.0 +32.0 +14.0 +66.0 +24.0 +43.0 +33.0 +29.0 +8.0 +43.0 +30.0 +34.0 +37.0 +40.0 +42.0 +48.0 +19.0 +35.0 +41.0 +26.0 +36.0 +23.0 +46.0 +35.0 +28.0 +39.0 +21.0 +4.0 +73.0 +43.0 +48.0 +20.0 +49.0 +28.0 +26.0 +34.0 +20.0 +39.0 +46.0 +37.0 +20.0 +29.0 +63.0 +36.0 +49.0 +36.0 +36.0 +34.0 +46.0 +44.0 +15.0 +38.0 +82.0 +48.0 +29.0 +49.0 +57.0 +16.0 +12.0 +36.0 +59.0 +49.0 +17.0 +25.0 +33.0 +37.0 +40.0 +43.0 +57.0 +43.0 +38.0 +35.0 +30.0 +14.0 +48.0 +24.0 +32.0 +47.0 +29.0 +50.0 +43.0 +55.0 +36.0 +49.0 +46.0 +45.0 +52.0 +36.0 +30.0 +33.0 +34.0 +18.0 +32.0 +40.0 +37.0 +36.0 +63.0 +44.0 +57.0 +35.0 +28.0 +57.0 +15.0 +40.0 +47.0 +17.0 +53.0 +39.0 +29.0 +47.0 +37.0 +30.0 +19.0 +66.0 +56.0 +8.0 +22.0 +43.0 +39.0 +21.0 +41.0 +54.0 +51.0 +37.0 +23.0 +56.0 +70.0 +39.0 +14.0 +60.0 +26.0 +30.0 +47.0 +52.0 +30.0 +54.0 +5.0 +22.0 +23.0 +34.0 +2.0 +34.0 +45.0 +31.0 +42.0 +47.0 +35.0 +36.0 +39.0 +41.0 +60.0 +42.0 +26.0 +45.0 +25.0 +32.0 +47.0 +36.0 +37.0 +40.0 +57.0 +40.0 +59.0 +31.0 +32.0 +63.0 +38.0 +41.0 +43.0 +17.0 +34.0 +28.0 +43.0 +51.0 +8.0 +30.0 +43.0 +24.0 +1.0 +16.0 +43.0 +27.0 +71.0 +50.0 +50.0 +9.0 +30.0 +15.0 +32.0 +50.0 +39.0 +24.0 +55.0 +38.0 +17.0 +36.0 +43.0 +40.0 +42.0 +37.0 +55.0 +31.0 +31.0 +31.0 +21.0 +43.0 +45.0 +36.0 +23.0 +32.0 +14.0 +16.0 +69.0 +11.0 +33.0 +36.0 +39.0 +19.0 +31.0 +26.0 +52.0 +41.0 +30.0 +31.0 +32.0 +35.0 +43.0 +52.0 +41.0 +17.0 +38.0 +28.0 +54.0 +42.0 +24.0 +39.0 +44.0 +31.0 +48.0 +6.0 +50.0 +27.0 +45.0 +28.0 +29.0 +43.0 +44.0 +14.0 +28.0 +15.0 +37.0 +61.0 +36.0 +35.0 +32.0 +34.0 +26.0 +37.0 +41.0 +59.0 +45.0 +46.0 +32.0 +30.0 +33.0 +27.0 +10.0 +42.0 +30.0 +54.0 +36.0 +44.0 +45.0 +54.0 +37.0 +40.0 +23.0 +66.0 +32.0 +39.0 +34.0 +46.0 +39.0 +38.0 +38.0 +50.0 +55.0 +30.0 +47.0 +41.0 +56.0 +39.0 +41.0 +27.0 +23.0 +30.0 +17.0 +45.0 +29.0 +42.0 +26.0 +22.0 +39.0 +23.0 +48.0 +51.0 +39.0 +52.0 +39.0 +41.0 +56.0 +38.0 +44.0 +33.0 +39.0 +44.0 +29.0 +49.0 +13.0 +53.0 +58.0 +27.0 +23.0 +27.0 +45.0 +12.0 +30.0 +40.0 +30.0 +49.0 +40.0 +32.0 +53.0 +37.0 +31.0 +46.0 +31.0 +22.0 +19.0 +12.0 +49.0 +47.0 +42.0 +38.0 +58.0 +43.0 +38.0 +42.0 +30.0 +45.0 +26.0 +38.0 +26.0 +46.0 +20.0 +29.0 +39.0 +37.0 +42.0 +43.0 +48.0 +55.0 +22.0 +26.0 +30.0 +55.0 +35.0 +51.0 +46.0 +38.0 +65.0 +55.0 +41.0 +30.0 +37.0 +27.0 +36.0 +42.0 +38.0 +20.0 +47.0 +31.0 +34.0 +35.0 +36.0 +5.0 +40.0 +41.0 +27.0 +47.0 +63.0 +35.0 +32.0 +27.0 +50.0 +39.0 +38.0 +36.0 +17.0 +27.0 +45.0 +30.0 +28.0 +43.0 +33.0 +45.0 +20.0 +29.0 +48.0 +20.0 +44.0 +42.0 +60.0 +25.0 +48.0 +41.0 +39.0 +11.0 +35.0 +43.0 +51.0 +24.0 +33.0 +22.0 +21.0 +45.0 +48.0 +56.0 +25.0 +33.0 +36.0 +53.0 +51.0 +42.0 +15.0 +32.0 +22.0 +59.0 +54.0 +32.0 +39.0 +47.0 +17.0 +28.0 +29.0 +56.0 +34.0 +28.0 +44.0 +67.0 +26.0 +25.0 +23.0 +56.0 +52.0 +25.0 +49.0 +26.0 +39.0 +63.0 +48.0 +48.0 +30.0 +37.0 +46.0 +14.0 +15.0 +44.0 +39.0 +40.0 +22.0 +30.0 +39.0 +43.0 +46.0 +35.0 +16.0 +44.0 +18.0 +26.0 +27.0 +37.0 +20.0 +35.0 +50.0 +55.0 +45.0 +41.0 +54.0 +56.0 +46.0 +56.0 +24.0 +33.0 +12.0 +31.0 +12.0 +25.0 +49.0 +52.0 +55.0 +27.0 +49.0 +44.0 +49.0 +40.0 +34.0 +16.0 +19.0 +36.0 +32.0 +67.0 +52.0 +38.0 +33.0 +68.0 +14.0 +43.0 +10.0 +11.0 +39.0 +13.0 +54.0 +41.0 +40.0 +18.0 +16.0 +45.0 +35.0 +39.0 +34.0 +46.0 +53.0 +23.0 +55.0 +37.0 +29.0 +48.0 +35.0 +45.0 +68.0 +29.0 +40.0 +33.0 +64.0 +45.0 +10.0 +47.0 +23.0 +39.0 +20.0 +41.0 +36.0 +41.0 +25.0 +46.0 +49.0 +28.0 +40.0 +58.0 +46.0 +37.0 +41.0 +38.0 +35.0 +31.0 +30.0 +35.0 +34.0 +15.0 +58.0 +41.0 +59.0 +32.0 +12.0 +27.0 +41.0 +37.0 +47.0 +49.0 +47.0 +53.0 +35.0 +38.0 +24.0 +50.0 +27.0 +27.0 +26.0 +24.0 +30.0 +43.0 +35.0 +22.0 +22.0 +32.0 +37.0 +55.0 +27.0 +36.0 +50.0 +21.0 +45.0 +27.0 +53.0 +41.0 +28.0 +45.0 +39.0 +43.0 +29.0 +18.0 +34.0 +19.0 +26.0 +32.0 +65.0 +38.0 +24.0 +27.0 +24.0 +19.0 +49.0 +25.0 +41.0 +22.0 +31.0 +24.0 +21.0 +8.0 +56.0 +42.0 +43.0 +62.0 +22.0 +67.0 +38.0 +43.0 +41.0 +34.0 +38.0 +21.0 +35.0 +28.0 +27.0 +21.0 +40.0 +44.0 +25.0 +40.0 +29.0 +39.0 +25.0 +33.0 +37.0 +35.0 +26.0 +34.0 +43.0 +39.0 +32.0 +33.0 +24.0 +24.0 +25.0 +36.0 +49.0 +31.0 +12.0 +9.0 +35.0 +21.0 +36.0 +37.0 +34.0 +24.0 +35.0 +38.0 +33.0 +42.0 +32.0 +29.0 +36.0 +40.0 +27.0 +47.0 +53.0 +33.0 +31.0 diff --git a/data/ages_population2.csv b/your-code/data/ages_population2.csv similarity index 83% rename from data/ages_population2.csv rename to your-code/data/ages_population2.csv index 3c87bd4..00860cb 100644 --- a/data/ages_population2.csv +++ b/your-code/data/ages_population2.csv @@ -1,1001 +1,1001 @@ -observation -25.0 -31.0 -29.0 -31.0 -29.0 -29.0 -28.0 -30.0 -24.0 -26.0 -30.0 -29.0 -24.0 -26.0 -30.0 -25.0 -25.0 -30.0 -21.0 -29.0 -25.0 -28.0 -27.0 -27.0 -31.0 -27.0 -26.0 -24.0 -29.0 -23.0 -31.0 -26.0 -28.0 -22.0 -28.0 -31.0 -29.0 -22.0 -28.0 -25.0 -26.0 -32.0 -26.0 -28.0 -29.0 -31.0 -27.0 -25.0 -24.0 -30.0 -27.0 -22.0 -25.0 -28.0 -25.0 -31.0 -27.0 -30.0 -28.0 -27.0 -29.0 -26.0 -28.0 -26.0 -22.0 -30.0 -27.0 -31.0 -27.0 -24.0 -27.0 -28.0 -23.0 -20.0 -23.0 -25.0 -29.0 -33.0 -27.0 -25.0 -25.0 -26.0 -31.0 -28.0 -29.0 -23.0 -30.0 -26.0 -27.0 -24.0 -29.0 -26.0 -28.0 -24.0 -25.0 -21.0 -19.0 -26.0 -28.0 -28.0 -24.0 -28.0 -30.0 -27.0 -29.0 -26.0 -28.0 -31.0 -32.0 -25.0 -30.0 -30.0 -24.0 -22.0 -29.0 -25.0 -21.0 -30.0 -30.0 -29.0 -29.0 -22.0 -33.0 -31.0 -26.0 -25.0 -28.0 -31.0 -28.0 -28.0 -31.0 -23.0 -33.0 -25.0 -33.0 -23.0 -30.0 -27.0 -24.0 -29.0 -24.0 -28.0 -23.0 -24.0 -32.0 -29.0 -31.0 -34.0 -31.0 -27.0 -26.0 -28.0 -26.0 -28.0 -26.0 -33.0 -29.0 -22.0 -26.0 -25.0 -28.0 -29.0 -28.0 -28.0 -31.0 -25.0 -30.0 -26.0 -26.0 -30.0 -27.0 -23.0 -29.0 -30.0 -25.0 -32.0 -27.0 -29.0 -28.0 -27.0 -27.0 -23.0 -23.0 -27.0 -25.0 -27.0 -35.0 -30.0 -27.0 -27.0 -28.0 -30.0 -26.0 -32.0 -21.0 -29.0 -28.0 -31.0 -31.0 -28.0 -27.0 -31.0 -26.0 -24.0 -28.0 -28.0 -26.0 -26.0 -24.0 -28.0 -25.0 -29.0 -26.0 -24.0 -30.0 -25.0 -29.0 -30.0 -29.0 -26.0 -28.0 -25.0 -29.0 -29.0 -31.0 -26.0 -23.0 -25.0 -24.0 -27.0 -23.0 -28.0 -31.0 -26.0 -25.0 -31.0 -29.0 -24.0 -28.0 -26.0 -27.0 -25.0 -27.0 -31.0 -29.0 -29.0 -29.0 -32.0 -24.0 -30.0 -28.0 -27.0 -22.0 -29.0 -21.0 -25.0 -27.0 -24.0 -23.0 -33.0 -23.0 -30.0 -25.0 -35.0 -26.0 -23.0 -27.0 -30.0 -27.0 -28.0 -24.0 -27.0 -20.0 -29.0 -31.0 -23.0 -29.0 -29.0 -31.0 -25.0 -24.0 -23.0 -23.0 -20.0 -28.0 -28.0 -28.0 -27.0 -36.0 -20.0 -31.0 -28.0 -29.0 -30.0 -33.0 -28.0 -25.0 -29.0 -28.0 -26.0 -23.0 -26.0 -34.0 -29.0 -30.0 -28.0 -29.0 -27.0 -26.0 -30.0 -33.0 -25.0 -25.0 -24.0 -25.0 -29.0 -34.0 -24.0 -34.0 -27.0 -27.0 -28.0 -30.0 -27.0 -26.0 -21.0 -21.0 -19.0 -29.0 -28.0 -32.0 -29.0 -28.0 -27.0 -24.0 -28.0 -30.0 -26.0 -29.0 -24.0 -27.0 -32.0 -29.0 -31.0 -31.0 -24.0 -30.0 -26.0 -24.0 -27.0 -23.0 -25.0 -28.0 -28.0 -31.0 -24.0 -21.0 -28.0 -23.0 -28.0 -25.0 -26.0 -24.0 -28.0 -23.0 -24.0 -24.0 -31.0 -30.0 -26.0 -28.0 -28.0 -25.0 -28.0 -25.0 -28.0 -29.0 -27.0 -27.0 -33.0 -25.0 -29.0 -25.0 -25.0 -25.0 -32.0 -26.0 -28.0 -32.0 -29.0 -25.0 -30.0 -28.0 -26.0 -27.0 -20.0 -26.0 -30.0 -31.0 -29.0 -23.0 -27.0 -29.0 -28.0 -27.0 -23.0 -26.0 -29.0 -31.0 -27.0 -26.0 -33.0 -25.0 -26.0 -26.0 -30.0 -30.0 -26.0 -28.0 -26.0 -29.0 -28.0 -31.0 -29.0 -31.0 -23.0 -23.0 -28.0 -27.0 -26.0 -29.0 -26.0 -25.0 -30.0 -27.0 -25.0 -27.0 -24.0 -28.0 -29.0 -21.0 -24.0 -27.0 -26.0 -28.0 -30.0 -22.0 -25.0 -22.0 -25.0 -31.0 -29.0 -22.0 -20.0 -30.0 -28.0 -30.0 -29.0 -32.0 -27.0 -31.0 -26.0 -30.0 -23.0 -25.0 -28.0 -26.0 -29.0 -34.0 -26.0 -27.0 -33.0 -27.0 -25.0 -30.0 -30.0 -26.0 -25.0 -26.0 -30.0 -21.0 -25.0 -27.0 -29.0 -24.0 -22.0 -30.0 -23.0 -33.0 -28.0 -29.0 -22.0 -29.0 -28.0 -27.0 -26.0 -25.0 -29.0 -27.0 -32.0 -30.0 -24.0 -24.0 -26.0 -30.0 -26.0 -24.0 -28.0 -30.0 -20.0 -20.0 -28.0 -29.0 -26.0 -24.0 -25.0 -29.0 -26.0 -30.0 -25.0 -29.0 -27.0 -28.0 -28.0 -25.0 -36.0 -25.0 -30.0 -26.0 -20.0 -26.0 -22.0 -23.0 -27.0 -25.0 -24.0 -28.0 -27.0 -25.0 -28.0 -26.0 -24.0 -29.0 -22.0 -29.0 -30.0 -25.0 -26.0 -31.0 -22.0 -29.0 -32.0 -27.0 -28.0 -30.0 -29.0 -27.0 -27.0 -26.0 -27.0 -32.0 -30.0 -29.0 -28.0 -29.0 -28.0 -31.0 -33.0 -22.0 -30.0 -27.0 -30.0 -25.0 -29.0 -30.0 -28.0 -28.0 -25.0 -26.0 -26.0 -24.0 -25.0 -26.0 -23.0 -32.0 -31.0 -22.0 -28.0 -22.0 -29.0 -27.0 -29.0 -27.0 -24.0 -27.0 -32.0 -26.0 -24.0 -24.0 -26.0 -33.0 -23.0 -23.0 -27.0 -30.0 -31.0 -27.0 -24.0 -26.0 -31.0 -27.0 -26.0 -30.0 -27.0 -28.0 -31.0 -35.0 -30.0 -30.0 -28.0 -26.0 -22.0 -32.0 -28.0 -28.0 -26.0 -22.0 -27.0 -24.0 -27.0 -30.0 -32.0 -30.0 -28.0 -27.0 -28.0 -28.0 -20.0 -32.0 -26.0 -31.0 -27.0 -25.0 -26.0 -24.0 -29.0 -31.0 -29.0 -27.0 -26.0 -23.0 -27.0 -25.0 -28.0 -28.0 -24.0 -29.0 -30.0 -26.0 -29.0 -22.0 -28.0 -28.0 -28.0 -25.0 -28.0 -25.0 -29.0 -31.0 -33.0 -28.0 -26.0 -28.0 -31.0 -29.0 -25.0 -27.0 -28.0 -30.0 -26.0 -21.0 -29.0 -22.0 -31.0 -30.0 -33.0 -29.0 -21.0 -26.0 -30.0 -32.0 -25.0 -26.0 -31.0 -24.0 -24.0 -27.0 -29.0 -28.0 -28.0 -23.0 -30.0 -29.0 -25.0 -24.0 -30.0 -22.0 -29.0 -23.0 -26.0 -30.0 -27.0 -24.0 -33.0 -31.0 -25.0 -24.0 -30.0 -23.0 -27.0 -26.0 -26.0 -25.0 -30.0 -28.0 -33.0 -23.0 -28.0 -25.0 -33.0 -28.0 -31.0 -26.0 -22.0 -30.0 -28.0 -28.0 -24.0 -29.0 -28.0 -28.0 -30.0 -21.0 -32.0 -30.0 -27.0 -24.0 -26.0 -25.0 -25.0 -31.0 -29.0 -27.0 -23.0 -29.0 -29.0 -28.0 -26.0 -24.0 -29.0 -32.0 -25.0 -25.0 -26.0 -29.0 -27.0 -27.0 -28.0 -26.0 -29.0 -25.0 -29.0 -23.0 -27.0 -31.0 -27.0 -28.0 -28.0 -25.0 -21.0 -23.0 -29.0 -24.0 -29.0 -30.0 -28.0 -30.0 -29.0 -25.0 -25.0 -28.0 -26.0 -27.0 -27.0 -28.0 -25.0 -32.0 -26.0 -29.0 -28.0 -24.0 -28.0 -27.0 -24.0 -31.0 -27.0 -29.0 -26.0 -33.0 -26.0 -30.0 -32.0 -28.0 -25.0 -25.0 -27.0 -28.0 -30.0 -25.0 -33.0 -21.0 -31.0 -30.0 -26.0 -28.0 -29.0 -27.0 -24.0 -27.0 -27.0 -27.0 -26.0 -27.0 -32.0 -25.0 -30.0 -22.0 -25.0 -34.0 -26.0 -27.0 -33.0 -26.0 -27.0 -28.0 -24.0 -26.0 -25.0 -26.0 -25.0 -24.0 -29.0 -27.0 -25.0 -26.0 -22.0 -24.0 -22.0 -26.0 -32.0 -29.0 -27.0 -31.0 -26.0 -27.0 -34.0 -32.0 -26.0 -30.0 -24.0 -27.0 -24.0 -30.0 -31.0 -28.0 -27.0 -27.0 -29.0 -30.0 -28.0 -29.0 -24.0 -24.0 -29.0 -30.0 -31.0 -28.0 -27.0 -29.0 -28.0 -30.0 -26.0 -20.0 -28.0 -24.0 -28.0 -26.0 -20.0 -28.0 -32.0 -24.0 -27.0 -28.0 -24.0 -26.0 -29.0 -26.0 -28.0 -24.0 -29.0 -29.0 -30.0 -26.0 -24.0 -27.0 -24.0 -29.0 -26.0 -22.0 -26.0 -31.0 -27.0 -24.0 -30.0 -27.0 -24.0 -27.0 -28.0 -31.0 -28.0 -27.0 -22.0 -27.0 -32.0 -26.0 -30.0 -25.0 -32.0 -25.0 -26.0 -28.0 -26.0 -27.0 -26.0 -29.0 -29.0 -24.0 -22.0 -22.0 -26.0 -27.0 -32.0 -29.0 -27.0 -27.0 -25.0 -30.0 -30.0 -27.0 -28.0 -27.0 -26.0 -23.0 -22.0 -31.0 -28.0 -25.0 -28.0 -27.0 -29.0 -28.0 -24.0 -31.0 -28.0 -28.0 -24.0 -29.0 -26.0 -30.0 -27.0 -20.0 -25.0 -22.0 -28.0 -25.0 -29.0 -21.0 -27.0 -27.0 -25.0 -27.0 -25.0 -26.0 -25.0 -27.0 -26.0 -22.0 -21.0 -19.0 -28.0 +observation +25.0 +31.0 +29.0 +31.0 +29.0 +29.0 +28.0 +30.0 +24.0 +26.0 +30.0 +29.0 +24.0 +26.0 +30.0 +25.0 +25.0 +30.0 +21.0 +29.0 +25.0 +28.0 +27.0 +27.0 +31.0 +27.0 +26.0 +24.0 +29.0 +23.0 +31.0 +26.0 +28.0 +22.0 +28.0 +31.0 +29.0 +22.0 +28.0 +25.0 +26.0 +32.0 +26.0 +28.0 +29.0 +31.0 +27.0 +25.0 +24.0 +30.0 +27.0 +22.0 +25.0 +28.0 +25.0 +31.0 +27.0 +30.0 +28.0 +27.0 +29.0 +26.0 +28.0 +26.0 +22.0 +30.0 +27.0 +31.0 +27.0 +24.0 +27.0 +28.0 +23.0 +20.0 +23.0 +25.0 +29.0 +33.0 +27.0 +25.0 +25.0 +26.0 +31.0 +28.0 +29.0 +23.0 +30.0 +26.0 +27.0 +24.0 +29.0 +26.0 +28.0 +24.0 +25.0 +21.0 +19.0 +26.0 +28.0 +28.0 +24.0 +28.0 +30.0 +27.0 +29.0 +26.0 +28.0 +31.0 +32.0 +25.0 +30.0 +30.0 +24.0 +22.0 +29.0 +25.0 +21.0 +30.0 +30.0 +29.0 +29.0 +22.0 +33.0 +31.0 +26.0 +25.0 +28.0 +31.0 +28.0 +28.0 +31.0 +23.0 +33.0 +25.0 +33.0 +23.0 +30.0 +27.0 +24.0 +29.0 +24.0 +28.0 +23.0 +24.0 +32.0 +29.0 +31.0 +34.0 +31.0 +27.0 +26.0 +28.0 +26.0 +28.0 +26.0 +33.0 +29.0 +22.0 +26.0 +25.0 +28.0 +29.0 +28.0 +28.0 +31.0 +25.0 +30.0 +26.0 +26.0 +30.0 +27.0 +23.0 +29.0 +30.0 +25.0 +32.0 +27.0 +29.0 +28.0 +27.0 +27.0 +23.0 +23.0 +27.0 +25.0 +27.0 +35.0 +30.0 +27.0 +27.0 +28.0 +30.0 +26.0 +32.0 +21.0 +29.0 +28.0 +31.0 +31.0 +28.0 +27.0 +31.0 +26.0 +24.0 +28.0 +28.0 +26.0 +26.0 +24.0 +28.0 +25.0 +29.0 +26.0 +24.0 +30.0 +25.0 +29.0 +30.0 +29.0 +26.0 +28.0 +25.0 +29.0 +29.0 +31.0 +26.0 +23.0 +25.0 +24.0 +27.0 +23.0 +28.0 +31.0 +26.0 +25.0 +31.0 +29.0 +24.0 +28.0 +26.0 +27.0 +25.0 +27.0 +31.0 +29.0 +29.0 +29.0 +32.0 +24.0 +30.0 +28.0 +27.0 +22.0 +29.0 +21.0 +25.0 +27.0 +24.0 +23.0 +33.0 +23.0 +30.0 +25.0 +35.0 +26.0 +23.0 +27.0 +30.0 +27.0 +28.0 +24.0 +27.0 +20.0 +29.0 +31.0 +23.0 +29.0 +29.0 +31.0 +25.0 +24.0 +23.0 +23.0 +20.0 +28.0 +28.0 +28.0 +27.0 +36.0 +20.0 +31.0 +28.0 +29.0 +30.0 +33.0 +28.0 +25.0 +29.0 +28.0 +26.0 +23.0 +26.0 +34.0 +29.0 +30.0 +28.0 +29.0 +27.0 +26.0 +30.0 +33.0 +25.0 +25.0 +24.0 +25.0 +29.0 +34.0 +24.0 +34.0 +27.0 +27.0 +28.0 +30.0 +27.0 +26.0 +21.0 +21.0 +19.0 +29.0 +28.0 +32.0 +29.0 +28.0 +27.0 +24.0 +28.0 +30.0 +26.0 +29.0 +24.0 +27.0 +32.0 +29.0 +31.0 +31.0 +24.0 +30.0 +26.0 +24.0 +27.0 +23.0 +25.0 +28.0 +28.0 +31.0 +24.0 +21.0 +28.0 +23.0 +28.0 +25.0 +26.0 +24.0 +28.0 +23.0 +24.0 +24.0 +31.0 +30.0 +26.0 +28.0 +28.0 +25.0 +28.0 +25.0 +28.0 +29.0 +27.0 +27.0 +33.0 +25.0 +29.0 +25.0 +25.0 +25.0 +32.0 +26.0 +28.0 +32.0 +29.0 +25.0 +30.0 +28.0 +26.0 +27.0 +20.0 +26.0 +30.0 +31.0 +29.0 +23.0 +27.0 +29.0 +28.0 +27.0 +23.0 +26.0 +29.0 +31.0 +27.0 +26.0 +33.0 +25.0 +26.0 +26.0 +30.0 +30.0 +26.0 +28.0 +26.0 +29.0 +28.0 +31.0 +29.0 +31.0 +23.0 +23.0 +28.0 +27.0 +26.0 +29.0 +26.0 +25.0 +30.0 +27.0 +25.0 +27.0 +24.0 +28.0 +29.0 +21.0 +24.0 +27.0 +26.0 +28.0 +30.0 +22.0 +25.0 +22.0 +25.0 +31.0 +29.0 +22.0 +20.0 +30.0 +28.0 +30.0 +29.0 +32.0 +27.0 +31.0 +26.0 +30.0 +23.0 +25.0 +28.0 +26.0 +29.0 +34.0 +26.0 +27.0 +33.0 +27.0 +25.0 +30.0 +30.0 +26.0 +25.0 +26.0 +30.0 +21.0 +25.0 +27.0 +29.0 +24.0 +22.0 +30.0 +23.0 +33.0 +28.0 +29.0 +22.0 +29.0 +28.0 +27.0 +26.0 +25.0 +29.0 +27.0 +32.0 +30.0 +24.0 +24.0 +26.0 +30.0 +26.0 +24.0 +28.0 +30.0 +20.0 +20.0 +28.0 +29.0 +26.0 +24.0 +25.0 +29.0 +26.0 +30.0 +25.0 +29.0 +27.0 +28.0 +28.0 +25.0 +36.0 +25.0 +30.0 +26.0 +20.0 +26.0 +22.0 +23.0 +27.0 +25.0 +24.0 +28.0 +27.0 +25.0 +28.0 +26.0 +24.0 +29.0 +22.0 +29.0 +30.0 +25.0 +26.0 +31.0 +22.0 +29.0 +32.0 +27.0 +28.0 +30.0 +29.0 +27.0 +27.0 +26.0 +27.0 +32.0 +30.0 +29.0 +28.0 +29.0 +28.0 +31.0 +33.0 +22.0 +30.0 +27.0 +30.0 +25.0 +29.0 +30.0 +28.0 +28.0 +25.0 +26.0 +26.0 +24.0 +25.0 +26.0 +23.0 +32.0 +31.0 +22.0 +28.0 +22.0 +29.0 +27.0 +29.0 +27.0 +24.0 +27.0 +32.0 +26.0 +24.0 +24.0 +26.0 +33.0 +23.0 +23.0 +27.0 +30.0 +31.0 +27.0 +24.0 +26.0 +31.0 +27.0 +26.0 +30.0 +27.0 +28.0 +31.0 +35.0 +30.0 +30.0 +28.0 +26.0 +22.0 +32.0 +28.0 +28.0 +26.0 +22.0 +27.0 +24.0 +27.0 +30.0 +32.0 +30.0 +28.0 +27.0 +28.0 +28.0 +20.0 +32.0 +26.0 +31.0 +27.0 +25.0 +26.0 +24.0 +29.0 +31.0 +29.0 +27.0 +26.0 +23.0 +27.0 +25.0 +28.0 +28.0 +24.0 +29.0 +30.0 +26.0 +29.0 +22.0 +28.0 +28.0 +28.0 +25.0 +28.0 +25.0 +29.0 +31.0 +33.0 +28.0 +26.0 +28.0 +31.0 +29.0 +25.0 +27.0 +28.0 +30.0 +26.0 +21.0 +29.0 +22.0 +31.0 +30.0 +33.0 +29.0 +21.0 +26.0 +30.0 +32.0 +25.0 +26.0 +31.0 +24.0 +24.0 +27.0 +29.0 +28.0 +28.0 +23.0 +30.0 +29.0 +25.0 +24.0 +30.0 +22.0 +29.0 +23.0 +26.0 +30.0 +27.0 +24.0 +33.0 +31.0 +25.0 +24.0 +30.0 +23.0 +27.0 +26.0 +26.0 +25.0 +30.0 +28.0 +33.0 +23.0 +28.0 +25.0 +33.0 +28.0 +31.0 +26.0 +22.0 +30.0 +28.0 +28.0 +24.0 +29.0 +28.0 +28.0 +30.0 +21.0 +32.0 +30.0 +27.0 +24.0 +26.0 +25.0 +25.0 +31.0 +29.0 +27.0 +23.0 +29.0 +29.0 +28.0 +26.0 +24.0 +29.0 +32.0 +25.0 +25.0 +26.0 +29.0 +27.0 +27.0 +28.0 +26.0 +29.0 +25.0 +29.0 +23.0 +27.0 +31.0 +27.0 +28.0 +28.0 +25.0 +21.0 +23.0 +29.0 +24.0 +29.0 +30.0 +28.0 +30.0 +29.0 +25.0 +25.0 +28.0 +26.0 +27.0 +27.0 +28.0 +25.0 +32.0 +26.0 +29.0 +28.0 +24.0 +28.0 +27.0 +24.0 +31.0 +27.0 +29.0 +26.0 +33.0 +26.0 +30.0 +32.0 +28.0 +25.0 +25.0 +27.0 +28.0 +30.0 +25.0 +33.0 +21.0 +31.0 +30.0 +26.0 +28.0 +29.0 +27.0 +24.0 +27.0 +27.0 +27.0 +26.0 +27.0 +32.0 +25.0 +30.0 +22.0 +25.0 +34.0 +26.0 +27.0 +33.0 +26.0 +27.0 +28.0 +24.0 +26.0 +25.0 +26.0 +25.0 +24.0 +29.0 +27.0 +25.0 +26.0 +22.0 +24.0 +22.0 +26.0 +32.0 +29.0 +27.0 +31.0 +26.0 +27.0 +34.0 +32.0 +26.0 +30.0 +24.0 +27.0 +24.0 +30.0 +31.0 +28.0 +27.0 +27.0 +29.0 +30.0 +28.0 +29.0 +24.0 +24.0 +29.0 +30.0 +31.0 +28.0 +27.0 +29.0 +28.0 +30.0 +26.0 +20.0 +28.0 +24.0 +28.0 +26.0 +20.0 +28.0 +32.0 +24.0 +27.0 +28.0 +24.0 +26.0 +29.0 +26.0 +28.0 +24.0 +29.0 +29.0 +30.0 +26.0 +24.0 +27.0 +24.0 +29.0 +26.0 +22.0 +26.0 +31.0 +27.0 +24.0 +30.0 +27.0 +24.0 +27.0 +28.0 +31.0 +28.0 +27.0 +22.0 +27.0 +32.0 +26.0 +30.0 +25.0 +32.0 +25.0 +26.0 +28.0 +26.0 +27.0 +26.0 +29.0 +29.0 +24.0 +22.0 +22.0 +26.0 +27.0 +32.0 +29.0 +27.0 +27.0 +25.0 +30.0 +30.0 +27.0 +28.0 +27.0 +26.0 +23.0 +22.0 +31.0 +28.0 +25.0 +28.0 +27.0 +29.0 +28.0 +24.0 +31.0 +28.0 +28.0 +24.0 +29.0 +26.0 +30.0 +27.0 +20.0 +25.0 +22.0 +28.0 +25.0 +29.0 +21.0 +27.0 +27.0 +25.0 +27.0 +25.0 +26.0 +25.0 +27.0 +26.0 +22.0 +21.0 +19.0 +28.0 diff --git a/data/ages_population3.csv b/your-code/data/ages_population3.csv similarity index 83% rename from data/ages_population3.csv rename to your-code/data/ages_population3.csv index b23c0ed..6339a1d 100644 --- a/data/ages_population3.csv +++ b/your-code/data/ages_population3.csv @@ -1,1001 +1,1001 @@ -observation -21.0 -21.0 -24.0 -31.0 -54.0 -52.0 -37.0 -69.0 -36.0 -30.0 -64.0 -30.0 -76.0 -73.0 -42.0 -52.0 -67.0 -28.0 -24.0 -50.0 -70.0 -57.0 -20.0 -27.0 -51.0 -67.0 -56.0 -30.0 -52.0 -44.0 -49.0 -31.0 -64.0 -65.0 -32.0 -37.0 -37.0 -18.0 -65.0 -42.0 -45.0 -40.0 -66.0 -72.0 -43.0 -64.0 -43.0 -54.0 -48.0 -30.0 -35.0 -41.0 -17.0 -44.0 -32.0 -37.0 -45.0 -41.0 -23.0 -45.0 -69.0 -36.0 -47.0 -31.0 -33.0 -51.0 -27.0 -20.0 -15.0 -26.0 -28.0 -67.0 -36.0 -54.0 -17.0 -51.0 -75.0 -41.0 -29.0 -55.0 -37.0 -63.0 -42.0 -49.0 -32.0 -39.0 -46.0 -50.0 -32.0 -43.0 -45.0 -26.0 -22.0 -15.0 -26.0 -24.0 -71.0 -55.0 -68.0 -35.0 -40.0 -55.0 -21.0 -60.0 -41.0 -22.0 -34.0 -30.0 -56.0 -61.0 -51.0 -33.0 -47.0 -48.0 -26.0 -30.0 -56.0 -42.0 -66.0 -50.0 -57.0 -12.0 -20.0 -69.0 -47.0 -38.0 -68.0 -41.0 -33.0 -29.0 -63.0 -38.0 -55.0 -39.0 -44.0 -74.0 -40.0 -35.0 -49.0 -37.0 -34.0 -25.0 -15.0 -70.0 -20.0 -35.0 -23.0 -54.0 -29.0 -27.0 -37.0 -27.0 -32.0 -34.0 -71.0 -38.0 -32.0 -65.0 -50.0 -23.0 -72.0 -48.0 -32.0 -52.0 -43.0 -34.0 -26.0 -42.0 -53.0 -54.0 -48.0 -23.0 -24.0 -37.0 -64.0 -70.0 -21.0 -50.0 -47.0 -67.0 -44.0 -63.0 -44.0 -12.0 -62.0 -48.0 -62.0 -70.0 -39.0 -25.0 -41.0 -59.0 -32.0 -43.0 -35.0 -63.0 -70.0 -36.0 -61.0 -38.0 -44.0 -48.0 -30.0 -31.0 -29.0 -31.0 -35.0 -50.0 -19.0 -45.0 -68.0 -18.0 -47.0 -32.0 -36.0 -36.0 -27.0 -37.0 -77.0 -64.0 -35.0 -48.0 -29.0 -37.0 -48.0 -39.0 -46.0 -72.0 -32.0 -49.0 -39.0 -20.0 -33.0 -41.0 -39.0 -52.0 -41.0 -35.0 -69.0 -25.0 -50.0 -14.0 -48.0 -30.0 -39.0 -69.0 -53.0 -43.0 -37.0 -37.0 -39.0 -32.0 -24.0 -19.0 -50.0 -17.0 -53.0 -36.0 -16.0 -29.0 -64.0 -36.0 -32.0 -1.0 -43.0 -26.0 -32.0 -40.0 -72.0 -35.0 -33.0 -24.0 -32.0 -38.0 -67.0 -29.0 -52.0 -55.0 -67.0 -22.0 -18.0 -41.0 -34.0 -65.0 -17.0 -50.0 -16.0 -45.0 -65.0 -46.0 -45.0 -31.0 -52.0 -71.0 -53.0 -52.0 -11.0 -23.0 -71.0 -52.0 -31.0 -27.0 -34.0 -51.0 -74.0 -19.0 -16.0 -25.0 -36.0 -13.0 -59.0 -50.0 -40.0 -45.0 -50.0 -43.0 -32.0 -36.0 -40.0 -42.0 -27.0 -33.0 -29.0 -75.0 -67.0 -42.0 -19.0 -47.0 -16.0 -46.0 -45.0 -35.0 -28.0 -36.0 -37.0 -59.0 -40.0 -45.0 -30.0 -35.0 -40.0 -44.0 -55.0 -28.0 -9.0 -28.0 -65.0 -31.0 -37.0 -28.0 -28.0 -40.0 -10.0 -48.0 -39.0 -69.0 -66.0 -54.0 -39.0 -65.0 -56.0 -19.0 -38.0 -21.0 -21.0 -24.0 -41.0 -50.0 -21.0 -69.0 -67.0 -27.0 -43.0 -57.0 -27.0 -39.0 -30.0 -51.0 -35.0 -20.0 -39.0 -35.0 -59.0 -60.0 -47.0 -24.0 -32.0 -46.0 -72.0 -69.0 -49.0 -33.0 -50.0 -35.0 -45.0 -52.0 -28.0 -70.0 -27.0 -67.0 -31.0 -28.0 -19.0 -71.0 -29.0 -41.0 -67.0 -32.0 -63.0 -19.0 -66.0 -71.0 -67.0 -18.0 -32.0 -2.0 -53.0 -71.0 -43.0 -70.0 -25.0 -66.0 -22.0 -33.0 -48.0 -38.0 -72.0 -24.0 -32.0 -39.0 -32.0 -22.0 -19.0 -59.0 -44.0 -36.0 -31.0 -69.0 -70.0 -46.0 -12.0 -31.0 -52.0 -25.0 -48.0 -17.0 -24.0 -40.0 -24.0 -41.0 -15.0 -46.0 -41.0 -44.0 -33.0 -64.0 -48.0 -68.0 -36.0 -41.0 -48.0 -32.0 -69.0 -66.0 -38.0 -25.0 -24.0 -43.0 -8.0 -60.0 -17.0 -23.0 -32.0 -68.0 -59.0 -39.0 -51.0 -64.0 -51.0 -25.0 -36.0 -56.0 -67.0 -56.0 -42.0 -48.0 -45.0 -14.0 -17.0 -15.0 -24.0 -60.0 -73.0 -65.0 -40.0 -35.0 -70.0 -34.0 -48.0 -45.0 -32.0 -38.0 -48.0 -49.0 -44.0 -43.0 -73.0 -69.0 -34.0 -24.0 -52.0 -46.0 -30.0 -38.0 -36.0 -34.0 -35.0 -68.0 -20.0 -45.0 -34.0 -70.0 -44.0 -56.0 -65.0 -69.0 -58.0 -72.0 -34.0 -21.0 -48.0 -20.0 -49.0 -34.0 -23.0 -67.0 -61.0 -32.0 -64.0 -49.0 -39.0 -63.0 -74.0 -67.0 -65.0 -50.0 -69.0 -34.0 -68.0 -38.0 -31.0 -37.0 -26.0 -23.0 -67.0 -29.0 -30.0 -26.0 -38.0 -68.0 -45.0 -54.0 -34.0 -32.0 -66.0 -43.0 -66.0 -27.0 -46.0 -28.0 -32.0 -32.0 -22.0 -40.0 -43.0 -63.0 -37.0 -17.0 -23.0 -27.0 -40.0 -36.0 -30.0 -29.0 -30.0 -30.0 -35.0 -42.0 -31.0 -37.0 -20.0 -30.0 -57.0 -17.0 -18.0 -68.0 -41.0 -39.0 -13.0 -69.0 -39.0 -28.0 -53.0 -42.0 -36.0 -47.0 -63.0 -42.0 -37.0 -18.0 -69.0 -35.0 -46.0 -35.0 -18.0 -49.0 -47.0 -38.0 -27.0 -34.0 -57.0 -29.0 -38.0 -39.0 -57.0 -33.0 -36.0 -40.0 -49.0 -48.0 -54.0 -39.0 -49.0 -37.0 -49.0 -66.0 -70.0 -29.0 -61.0 -4.0 -37.0 -36.0 -18.0 -38.0 -66.0 -44.0 -35.0 -31.0 -31.0 -38.0 -67.0 -52.0 -35.0 -51.0 -54.0 -43.0 -40.0 -51.0 -21.0 -40.0 -61.0 -31.0 -22.0 -41.0 -73.0 -68.0 -63.0 -30.0 -46.0 -40.0 -12.0 -15.0 -26.0 -39.0 -70.0 -36.0 -67.0 -45.0 -38.0 -68.0 -43.0 -28.0 -58.0 -52.0 -53.0 -44.0 -73.0 -49.0 -26.0 -34.0 -37.0 -38.0 -47.0 -52.0 -35.0 -29.0 -51.0 -36.0 -4.0 -28.0 -30.0 -38.0 -37.0 -22.0 -74.0 -35.0 -39.0 -73.0 -65.0 -30.0 -66.0 -70.0 -58.0 -35.0 -21.0 -61.0 -66.0 -41.0 -42.0 -64.0 -31.0 -67.0 -38.0 -46.0 -68.0 -65.0 -37.0 -36.0 -40.0 -31.0 -48.0 -46.0 -50.0 -47.0 -53.0 -28.0 -41.0 -68.0 -56.0 -26.0 -41.0 -63.0 -69.0 -67.0 -24.0 -25.0 -43.0 -67.0 -32.0 -32.0 -30.0 -65.0 -44.0 -52.0 -11.0 -25.0 -60.0 -49.0 -25.0 -33.0 -44.0 -10.0 -23.0 -22.0 -29.0 -22.0 -19.0 -58.0 -71.0 -33.0 -66.0 -31.0 -64.0 -28.0 -53.0 -33.0 -45.0 -21.0 -68.0 -37.0 -19.0 -48.0 -51.0 -35.0 -40.0 -53.0 -71.0 -51.0 -27.0 -60.0 -21.0 -45.0 -74.0 -46.0 -29.0 -44.0 -66.0 -55.0 -31.0 -48.0 -31.0 -39.0 -24.0 -55.0 -70.0 -24.0 -41.0 -68.0 -25.0 -39.0 -35.0 -39.0 -45.0 -29.0 -48.0 -65.0 -49.0 -34.0 -68.0 -43.0 -39.0 -32.0 -26.0 -47.0 -25.0 -37.0 -53.0 -37.0 -66.0 -57.0 -32.0 -44.0 -34.0 -47.0 -46.0 -24.0 -70.0 -56.0 -27.0 -28.0 -19.0 -38.0 -45.0 -35.0 -71.0 -53.0 -41.0 -65.0 -25.0 -46.0 -5.0 -14.0 -15.0 -35.0 -50.0 -30.0 -58.0 -46.0 -27.0 -45.0 -37.0 -50.0 -45.0 -40.0 -32.0 -20.0 -38.0 -46.0 -22.0 -50.0 -42.0 -66.0 -34.0 -32.0 -29.0 -30.0 -62.0 -66.0 -16.0 -63.0 -51.0 -25.0 -53.0 -41.0 -35.0 -37.0 -33.0 -25.0 -32.0 -55.0 -29.0 -36.0 -45.0 -14.0 -49.0 -32.0 -38.0 -37.0 -21.0 -29.0 -52.0 -46.0 -42.0 -57.0 -46.0 -58.0 -18.0 -48.0 -71.0 -41.0 -50.0 -43.0 -26.0 -30.0 -27.0 -47.0 -43.0 -38.0 -64.0 -36.0 -39.0 -74.0 -39.0 -56.0 -2.0 -39.0 -70.0 -34.0 -47.0 -59.0 -66.0 -36.0 -33.0 -41.0 -55.0 -66.0 -29.0 -77.0 -63.0 -68.0 -50.0 -50.0 -17.0 -24.0 -16.0 -59.0 -70.0 -16.0 -33.0 -41.0 -32.0 -40.0 -26.0 -7.0 -27.0 -29.0 -29.0 -19.0 -70.0 -23.0 -27.0 -36.0 -55.0 -21.0 -15.0 -14.0 -46.0 -37.0 -67.0 -29.0 -28.0 -33.0 -46.0 -55.0 -35.0 -49.0 -72.0 -20.0 -45.0 -69.0 -16.0 -53.0 -39.0 -38.0 -49.0 -25.0 -43.0 -28.0 -32.0 -67.0 -29.0 -70.0 -26.0 -48.0 -37.0 -16.0 -55.0 -30.0 -35.0 -43.0 +observation +21.0 +21.0 +24.0 +31.0 +54.0 +52.0 +37.0 +69.0 +36.0 +30.0 +64.0 +30.0 +76.0 +73.0 +42.0 +52.0 +67.0 +28.0 +24.0 +50.0 +70.0 +57.0 +20.0 +27.0 +51.0 +67.0 +56.0 +30.0 +52.0 +44.0 +49.0 +31.0 +64.0 +65.0 +32.0 +37.0 +37.0 +18.0 +65.0 +42.0 +45.0 +40.0 +66.0 +72.0 +43.0 +64.0 +43.0 +54.0 +48.0 +30.0 +35.0 +41.0 +17.0 +44.0 +32.0 +37.0 +45.0 +41.0 +23.0 +45.0 +69.0 +36.0 +47.0 +31.0 +33.0 +51.0 +27.0 +20.0 +15.0 +26.0 +28.0 +67.0 +36.0 +54.0 +17.0 +51.0 +75.0 +41.0 +29.0 +55.0 +37.0 +63.0 +42.0 +49.0 +32.0 +39.0 +46.0 +50.0 +32.0 +43.0 +45.0 +26.0 +22.0 +15.0 +26.0 +24.0 +71.0 +55.0 +68.0 +35.0 +40.0 +55.0 +21.0 +60.0 +41.0 +22.0 +34.0 +30.0 +56.0 +61.0 +51.0 +33.0 +47.0 +48.0 +26.0 +30.0 +56.0 +42.0 +66.0 +50.0 +57.0 +12.0 +20.0 +69.0 +47.0 +38.0 +68.0 +41.0 +33.0 +29.0 +63.0 +38.0 +55.0 +39.0 +44.0 +74.0 +40.0 +35.0 +49.0 +37.0 +34.0 +25.0 +15.0 +70.0 +20.0 +35.0 +23.0 +54.0 +29.0 +27.0 +37.0 +27.0 +32.0 +34.0 +71.0 +38.0 +32.0 +65.0 +50.0 +23.0 +72.0 +48.0 +32.0 +52.0 +43.0 +34.0 +26.0 +42.0 +53.0 +54.0 +48.0 +23.0 +24.0 +37.0 +64.0 +70.0 +21.0 +50.0 +47.0 +67.0 +44.0 +63.0 +44.0 +12.0 +62.0 +48.0 +62.0 +70.0 +39.0 +25.0 +41.0 +59.0 +32.0 +43.0 +35.0 +63.0 +70.0 +36.0 +61.0 +38.0 +44.0 +48.0 +30.0 +31.0 +29.0 +31.0 +35.0 +50.0 +19.0 +45.0 +68.0 +18.0 +47.0 +32.0 +36.0 +36.0 +27.0 +37.0 +77.0 +64.0 +35.0 +48.0 +29.0 +37.0 +48.0 +39.0 +46.0 +72.0 +32.0 +49.0 +39.0 +20.0 +33.0 +41.0 +39.0 +52.0 +41.0 +35.0 +69.0 +25.0 +50.0 +14.0 +48.0 +30.0 +39.0 +69.0 +53.0 +43.0 +37.0 +37.0 +39.0 +32.0 +24.0 +19.0 +50.0 +17.0 +53.0 +36.0 +16.0 +29.0 +64.0 +36.0 +32.0 +1.0 +43.0 +26.0 +32.0 +40.0 +72.0 +35.0 +33.0 +24.0 +32.0 +38.0 +67.0 +29.0 +52.0 +55.0 +67.0 +22.0 +18.0 +41.0 +34.0 +65.0 +17.0 +50.0 +16.0 +45.0 +65.0 +46.0 +45.0 +31.0 +52.0 +71.0 +53.0 +52.0 +11.0 +23.0 +71.0 +52.0 +31.0 +27.0 +34.0 +51.0 +74.0 +19.0 +16.0 +25.0 +36.0 +13.0 +59.0 +50.0 +40.0 +45.0 +50.0 +43.0 +32.0 +36.0 +40.0 +42.0 +27.0 +33.0 +29.0 +75.0 +67.0 +42.0 +19.0 +47.0 +16.0 +46.0 +45.0 +35.0 +28.0 +36.0 +37.0 +59.0 +40.0 +45.0 +30.0 +35.0 +40.0 +44.0 +55.0 +28.0 +9.0 +28.0 +65.0 +31.0 +37.0 +28.0 +28.0 +40.0 +10.0 +48.0 +39.0 +69.0 +66.0 +54.0 +39.0 +65.0 +56.0 +19.0 +38.0 +21.0 +21.0 +24.0 +41.0 +50.0 +21.0 +69.0 +67.0 +27.0 +43.0 +57.0 +27.0 +39.0 +30.0 +51.0 +35.0 +20.0 +39.0 +35.0 +59.0 +60.0 +47.0 +24.0 +32.0 +46.0 +72.0 +69.0 +49.0 +33.0 +50.0 +35.0 +45.0 +52.0 +28.0 +70.0 +27.0 +67.0 +31.0 +28.0 +19.0 +71.0 +29.0 +41.0 +67.0 +32.0 +63.0 +19.0 +66.0 +71.0 +67.0 +18.0 +32.0 +2.0 +53.0 +71.0 +43.0 +70.0 +25.0 +66.0 +22.0 +33.0 +48.0 +38.0 +72.0 +24.0 +32.0 +39.0 +32.0 +22.0 +19.0 +59.0 +44.0 +36.0 +31.0 +69.0 +70.0 +46.0 +12.0 +31.0 +52.0 +25.0 +48.0 +17.0 +24.0 +40.0 +24.0 +41.0 +15.0 +46.0 +41.0 +44.0 +33.0 +64.0 +48.0 +68.0 +36.0 +41.0 +48.0 +32.0 +69.0 +66.0 +38.0 +25.0 +24.0 +43.0 +8.0 +60.0 +17.0 +23.0 +32.0 +68.0 +59.0 +39.0 +51.0 +64.0 +51.0 +25.0 +36.0 +56.0 +67.0 +56.0 +42.0 +48.0 +45.0 +14.0 +17.0 +15.0 +24.0 +60.0 +73.0 +65.0 +40.0 +35.0 +70.0 +34.0 +48.0 +45.0 +32.0 +38.0 +48.0 +49.0 +44.0 +43.0 +73.0 +69.0 +34.0 +24.0 +52.0 +46.0 +30.0 +38.0 +36.0 +34.0 +35.0 +68.0 +20.0 +45.0 +34.0 +70.0 +44.0 +56.0 +65.0 +69.0 +58.0 +72.0 +34.0 +21.0 +48.0 +20.0 +49.0 +34.0 +23.0 +67.0 +61.0 +32.0 +64.0 +49.0 +39.0 +63.0 +74.0 +67.0 +65.0 +50.0 +69.0 +34.0 +68.0 +38.0 +31.0 +37.0 +26.0 +23.0 +67.0 +29.0 +30.0 +26.0 +38.0 +68.0 +45.0 +54.0 +34.0 +32.0 +66.0 +43.0 +66.0 +27.0 +46.0 +28.0 +32.0 +32.0 +22.0 +40.0 +43.0 +63.0 +37.0 +17.0 +23.0 +27.0 +40.0 +36.0 +30.0 +29.0 +30.0 +30.0 +35.0 +42.0 +31.0 +37.0 +20.0 +30.0 +57.0 +17.0 +18.0 +68.0 +41.0 +39.0 +13.0 +69.0 +39.0 +28.0 +53.0 +42.0 +36.0 +47.0 +63.0 +42.0 +37.0 +18.0 +69.0 +35.0 +46.0 +35.0 +18.0 +49.0 +47.0 +38.0 +27.0 +34.0 +57.0 +29.0 +38.0 +39.0 +57.0 +33.0 +36.0 +40.0 +49.0 +48.0 +54.0 +39.0 +49.0 +37.0 +49.0 +66.0 +70.0 +29.0 +61.0 +4.0 +37.0 +36.0 +18.0 +38.0 +66.0 +44.0 +35.0 +31.0 +31.0 +38.0 +67.0 +52.0 +35.0 +51.0 +54.0 +43.0 +40.0 +51.0 +21.0 +40.0 +61.0 +31.0 +22.0 +41.0 +73.0 +68.0 +63.0 +30.0 +46.0 +40.0 +12.0 +15.0 +26.0 +39.0 +70.0 +36.0 +67.0 +45.0 +38.0 +68.0 +43.0 +28.0 +58.0 +52.0 +53.0 +44.0 +73.0 +49.0 +26.0 +34.0 +37.0 +38.0 +47.0 +52.0 +35.0 +29.0 +51.0 +36.0 +4.0 +28.0 +30.0 +38.0 +37.0 +22.0 +74.0 +35.0 +39.0 +73.0 +65.0 +30.0 +66.0 +70.0 +58.0 +35.0 +21.0 +61.0 +66.0 +41.0 +42.0 +64.0 +31.0 +67.0 +38.0 +46.0 +68.0 +65.0 +37.0 +36.0 +40.0 +31.0 +48.0 +46.0 +50.0 +47.0 +53.0 +28.0 +41.0 +68.0 +56.0 +26.0 +41.0 +63.0 +69.0 +67.0 +24.0 +25.0 +43.0 +67.0 +32.0 +32.0 +30.0 +65.0 +44.0 +52.0 +11.0 +25.0 +60.0 +49.0 +25.0 +33.0 +44.0 +10.0 +23.0 +22.0 +29.0 +22.0 +19.0 +58.0 +71.0 +33.0 +66.0 +31.0 +64.0 +28.0 +53.0 +33.0 +45.0 +21.0 +68.0 +37.0 +19.0 +48.0 +51.0 +35.0 +40.0 +53.0 +71.0 +51.0 +27.0 +60.0 +21.0 +45.0 +74.0 +46.0 +29.0 +44.0 +66.0 +55.0 +31.0 +48.0 +31.0 +39.0 +24.0 +55.0 +70.0 +24.0 +41.0 +68.0 +25.0 +39.0 +35.0 +39.0 +45.0 +29.0 +48.0 +65.0 +49.0 +34.0 +68.0 +43.0 +39.0 +32.0 +26.0 +47.0 +25.0 +37.0 +53.0 +37.0 +66.0 +57.0 +32.0 +44.0 +34.0 +47.0 +46.0 +24.0 +70.0 +56.0 +27.0 +28.0 +19.0 +38.0 +45.0 +35.0 +71.0 +53.0 +41.0 +65.0 +25.0 +46.0 +5.0 +14.0 +15.0 +35.0 +50.0 +30.0 +58.0 +46.0 +27.0 +45.0 +37.0 +50.0 +45.0 +40.0 +32.0 +20.0 +38.0 +46.0 +22.0 +50.0 +42.0 +66.0 +34.0 +32.0 +29.0 +30.0 +62.0 +66.0 +16.0 +63.0 +51.0 +25.0 +53.0 +41.0 +35.0 +37.0 +33.0 +25.0 +32.0 +55.0 +29.0 +36.0 +45.0 +14.0 +49.0 +32.0 +38.0 +37.0 +21.0 +29.0 +52.0 +46.0 +42.0 +57.0 +46.0 +58.0 +18.0 +48.0 +71.0 +41.0 +50.0 +43.0 +26.0 +30.0 +27.0 +47.0 +43.0 +38.0 +64.0 +36.0 +39.0 +74.0 +39.0 +56.0 +2.0 +39.0 +70.0 +34.0 +47.0 +59.0 +66.0 +36.0 +33.0 +41.0 +55.0 +66.0 +29.0 +77.0 +63.0 +68.0 +50.0 +50.0 +17.0 +24.0 +16.0 +59.0 +70.0 +16.0 +33.0 +41.0 +32.0 +40.0 +26.0 +7.0 +27.0 +29.0 +29.0 +19.0 +70.0 +23.0 +27.0 +36.0 +55.0 +21.0 +15.0 +14.0 +46.0 +37.0 +67.0 +29.0 +28.0 +33.0 +46.0 +55.0 +35.0 +49.0 +72.0 +20.0 +45.0 +69.0 +16.0 +53.0 +39.0 +38.0 +49.0 +25.0 +43.0 +28.0 +32.0 +67.0 +29.0 +70.0 +26.0 +48.0 +37.0 +16.0 +55.0 +30.0 +35.0 +43.0 diff --git a/data/roll_the_dice_hundred.csv b/your-code/data/roll_the_dice_hundred.csv similarity index 88% rename from data/roll_the_dice_hundred.csv rename to your-code/data/roll_the_dice_hundred.csv index 23717d6..50975a2 100644 --- a/data/roll_the_dice_hundred.csv +++ b/your-code/data/roll_the_dice_hundred.csv @@ -1,101 +1,101 @@ -,roll,value -0,0,1 -1,1,2 -2,2,6 -3,3,1 -4,4,6 -5,5,5 -6,6,2 -7,7,2 -8,8,4 -9,9,1 -10,10,5 -11,11,6 -12,12,5 -13,13,4 -14,14,5 -15,15,4 -16,16,4 -17,17,6 -18,18,2 -19,19,4 -20,20,4 -21,21,6 -22,22,3 -23,23,6 -24,24,6 -25,25,4 -26,26,1 -27,27,4 -28,28,4 -29,29,2 -30,30,6 -31,31,5 -32,32,5 -33,33,2 -34,34,3 -35,35,6 -36,36,6 -37,37,2 -38,38,3 -39,39,6 -40,40,6 -41,41,2 -42,42,5 -43,43,3 -44,44,4 -45,45,6 -46,46,2 -47,47,1 -48,48,4 -49,49,2 -50,50,3 -51,51,2 -52,52,2 -53,53,4 -54,54,6 -55,55,2 -56,56,1 -57,57,3 -58,58,2 -59,59,4 -60,60,4 -61,61,3 -62,62,4 -63,63,1 -64,64,3 -65,65,6 -66,66,3 -67,67,4 -68,68,4 -69,69,4 -70,70,2 -71,71,2 -72,72,5 -73,73,1 -74,74,5 -75,75,6 -76,76,2 -77,77,4 -78,78,6 -79,79,5 -80,80,6 -81,81,4 -82,82,1 -83,83,3 -84,84,3 -85,85,3 -86,86,5 -87,87,6 -88,88,5 -89,89,1 -90,90,6 -91,91,3 -92,92,6 -93,93,4 -94,94,1 -95,95,4 -96,96,6 -97,97,1 -98,98,3 -99,99,6 +,roll,value +0,0,1 +1,1,2 +2,2,6 +3,3,1 +4,4,6 +5,5,5 +6,6,2 +7,7,2 +8,8,4 +9,9,1 +10,10,5 +11,11,6 +12,12,5 +13,13,4 +14,14,5 +15,15,4 +16,16,4 +17,17,6 +18,18,2 +19,19,4 +20,20,4 +21,21,6 +22,22,3 +23,23,6 +24,24,6 +25,25,4 +26,26,1 +27,27,4 +28,28,4 +29,29,2 +30,30,6 +31,31,5 +32,32,5 +33,33,2 +34,34,3 +35,35,6 +36,36,6 +37,37,2 +38,38,3 +39,39,6 +40,40,6 +41,41,2 +42,42,5 +43,43,3 +44,44,4 +45,45,6 +46,46,2 +47,47,1 +48,48,4 +49,49,2 +50,50,3 +51,51,2 +52,52,2 +53,53,4 +54,54,6 +55,55,2 +56,56,1 +57,57,3 +58,58,2 +59,59,4 +60,60,4 +61,61,3 +62,62,4 +63,63,1 +64,64,3 +65,65,6 +66,66,3 +67,67,4 +68,68,4 +69,69,4 +70,70,2 +71,71,2 +72,72,5 +73,73,1 +74,74,5 +75,75,6 +76,76,2 +77,77,4 +78,78,6 +79,79,5 +80,80,6 +81,81,4 +82,82,1 +83,83,3 +84,84,3 +85,85,3 +86,86,5 +87,87,6 +88,88,5 +89,89,1 +90,90,6 +91,91,3 +92,92,6 +93,93,4 +94,94,1 +95,95,4 +96,96,6 +97,97,1 +98,98,3 +99,99,6 diff --git a/data/roll_the_dice_thousand.csv b/your-code/data/roll_the_dice_thousand.csv similarity index 90% rename from data/roll_the_dice_thousand.csv rename to your-code/data/roll_the_dice_thousand.csv index 0dc2e4e..f820dbb 100644 --- a/data/roll_the_dice_thousand.csv +++ b/your-code/data/roll_the_dice_thousand.csv @@ -1,1001 +1,1001 @@ -,roll,value -0,0,5 -1,1,6 -2,2,1 -3,3,6 -4,4,5 -5,5,2 -6,6,6 -7,7,5 -8,8,6 -9,9,6 -10,10,4 -11,11,3 -12,12,5 -13,13,6 -14,14,1 -15,15,3 -16,16,1 -17,17,1 -18,18,1 -19,19,1 -20,20,6 -21,21,2 -22,22,3 -23,23,4 -24,24,6 -25,25,5 -26,26,3 -27,27,2 -28,28,4 -29,29,1 -30,30,3 -31,31,4 -32,32,3 -33,33,3 -34,34,6 -35,35,2 -36,36,1 -37,37,2 -38,38,6 -39,39,4 -40,40,1 -41,41,4 -42,42,6 -43,43,1 -44,44,6 -45,45,3 -46,46,6 -47,47,4 -48,48,5 -49,49,1 -50,50,4 -51,51,4 -52,52,4 -53,53,6 -54,54,2 -55,55,6 -56,56,4 -57,57,6 -58,58,6 -59,59,2 -60,60,4 -61,61,1 -62,62,4 -63,63,3 -64,64,1 -65,65,4 -66,66,1 -67,67,2 -68,68,3 -69,69,3 -70,70,1 -71,71,6 -72,72,1 -73,73,6 -74,74,5 -75,75,2 -76,76,6 -77,77,5 -78,78,4 -79,79,6 -80,80,5 -81,81,1 -82,82,4 -83,83,4 -84,84,4 -85,85,4 -86,86,6 -87,87,2 -88,88,4 -89,89,5 -90,90,4 -91,91,3 -92,92,4 -93,93,3 -94,94,2 -95,95,5 -96,96,1 -97,97,6 -98,98,6 -99,99,1 -100,100,1 -101,101,3 -102,102,3 -103,103,2 -104,104,1 -105,105,3 -106,106,6 -107,107,2 -108,108,1 -109,109,4 -110,110,1 -111,111,2 -112,112,2 -113,113,4 -114,114,1 -115,115,2 -116,116,2 -117,117,4 -118,118,4 -119,119,1 -120,120,4 -121,121,5 -122,122,3 -123,123,2 -124,124,5 -125,125,5 -126,126,1 -127,127,4 -128,128,3 -129,129,6 -130,130,5 -131,131,1 -132,132,5 -133,133,1 -134,134,1 -135,135,2 -136,136,6 -137,137,6 -138,138,5 -139,139,5 -140,140,1 -141,141,5 -142,142,1 -143,143,1 -144,144,6 -145,145,6 -146,146,6 -147,147,6 -148,148,5 -149,149,1 -150,150,4 -151,151,6 -152,152,5 -153,153,4 -154,154,1 -155,155,4 -156,156,5 -157,157,5 -158,158,1 -159,159,2 -160,160,6 -161,161,5 -162,162,2 -163,163,3 -164,164,1 -165,165,2 -166,166,1 -167,167,6 -168,168,4 -169,169,5 -170,170,6 -171,171,4 -172,172,3 -173,173,1 -174,174,1 -175,175,5 -176,176,2 -177,177,5 -178,178,2 -179,179,3 -180,180,3 -181,181,4 -182,182,6 -183,183,3 -184,184,2 -185,185,4 -186,186,4 -187,187,3 -188,188,6 -189,189,2 -190,190,4 -191,191,2 -192,192,1 -193,193,4 -194,194,2 -195,195,3 -196,196,2 -197,197,1 -198,198,6 -199,199,4 -200,200,1 -201,201,5 -202,202,4 -203,203,3 -204,204,6 -205,205,3 -206,206,3 -207,207,6 -208,208,3 -209,209,2 -210,210,6 -211,211,2 -212,212,4 -213,213,1 -214,214,1 -215,215,2 -216,216,5 -217,217,5 -218,218,3 -219,219,5 -220,220,2 -221,221,1 -222,222,1 -223,223,2 -224,224,5 -225,225,4 -226,226,6 -227,227,5 -228,228,5 -229,229,5 -230,230,3 -231,231,2 -232,232,2 -233,233,5 -234,234,2 -235,235,3 -236,236,4 -237,237,2 -238,238,6 -239,239,2 -240,240,6 -241,241,3 -242,242,6 -243,243,5 -244,244,3 -245,245,2 -246,246,4 -247,247,6 -248,248,3 -249,249,6 -250,250,4 -251,251,5 -252,252,3 -253,253,5 -254,254,1 -255,255,2 -256,256,6 -257,257,1 -258,258,4 -259,259,4 -260,260,1 -261,261,1 -262,262,3 -263,263,3 -264,264,1 -265,265,3 -266,266,3 -267,267,4 -268,268,1 -269,269,2 -270,270,3 -271,271,3 -272,272,3 -273,273,1 -274,274,6 -275,275,6 -276,276,3 -277,277,3 -278,278,4 -279,279,4 -280,280,6 -281,281,5 -282,282,3 -283,283,6 -284,284,4 -285,285,3 -286,286,6 -287,287,6 -288,288,1 -289,289,5 -290,290,2 -291,291,1 -292,292,3 -293,293,6 -294,294,6 -295,295,6 -296,296,1 -297,297,3 -298,298,6 -299,299,5 -300,300,2 -301,301,2 -302,302,3 -303,303,4 -304,304,6 -305,305,4 -306,306,5 -307,307,5 -308,308,6 -309,309,6 -310,310,4 -311,311,4 -312,312,6 -313,313,2 -314,314,5 -315,315,5 -316,316,5 -317,317,5 -318,318,6 -319,319,1 -320,320,3 -321,321,3 -322,322,6 -323,323,6 -324,324,1 -325,325,6 -326,326,6 -327,327,4 -328,328,3 -329,329,4 -330,330,5 -331,331,6 -332,332,4 -333,333,1 -334,334,2 -335,335,3 -336,336,4 -337,337,3 -338,338,2 -339,339,3 -340,340,4 -341,341,3 -342,342,6 -343,343,3 -344,344,2 -345,345,6 -346,346,3 -347,347,3 -348,348,6 -349,349,2 -350,350,3 -351,351,1 -352,352,4 -353,353,2 -354,354,2 -355,355,6 -356,356,3 -357,357,2 -358,358,5 -359,359,4 -360,360,6 -361,361,2 -362,362,3 -363,363,3 -364,364,6 -365,365,5 -366,366,1 -367,367,3 -368,368,2 -369,369,5 -370,370,6 -371,371,6 -372,372,2 -373,373,3 -374,374,6 -375,375,2 -376,376,2 -377,377,3 -378,378,2 -379,379,1 -380,380,2 -381,381,1 -382,382,2 -383,383,3 -384,384,4 -385,385,2 -386,386,6 -387,387,4 -388,388,6 -389,389,3 -390,390,5 -391,391,1 -392,392,5 -393,393,2 -394,394,5 -395,395,3 -396,396,2 -397,397,2 -398,398,1 -399,399,4 -400,400,2 -401,401,2 -402,402,1 -403,403,5 -404,404,3 -405,405,2 -406,406,5 -407,407,6 -408,408,5 -409,409,5 -410,410,5 -411,411,4 -412,412,4 -413,413,1 -414,414,4 -415,415,4 -416,416,1 -417,417,2 -418,418,4 -419,419,5 -420,420,3 -421,421,6 -422,422,3 -423,423,1 -424,424,5 -425,425,1 -426,426,1 -427,427,5 -428,428,3 -429,429,4 -430,430,6 -431,431,3 -432,432,6 -433,433,6 -434,434,1 -435,435,2 -436,436,1 -437,437,1 -438,438,5 -439,439,1 -440,440,4 -441,441,1 -442,442,1 -443,443,2 -444,444,4 -445,445,2 -446,446,4 -447,447,6 -448,448,2 -449,449,2 -450,450,6 -451,451,2 -452,452,5 -453,453,5 -454,454,2 -455,455,1 -456,456,5 -457,457,5 -458,458,4 -459,459,1 -460,460,3 -461,461,1 -462,462,5 -463,463,5 -464,464,5 -465,465,1 -466,466,2 -467,467,2 -468,468,5 -469,469,5 -470,470,3 -471,471,6 -472,472,2 -473,473,6 -474,474,5 -475,475,3 -476,476,4 -477,477,6 -478,478,5 -479,479,5 -480,480,1 -481,481,3 -482,482,3 -483,483,2 -484,484,2 -485,485,1 -486,486,6 -487,487,1 -488,488,2 -489,489,3 -490,490,3 -491,491,2 -492,492,5 -493,493,3 -494,494,3 -495,495,1 -496,496,1 -497,497,5 -498,498,4 -499,499,3 -500,500,5 -501,501,3 -502,502,3 -503,503,1 -504,504,4 -505,505,5 -506,506,5 -507,507,5 -508,508,2 -509,509,6 -510,510,3 -511,511,1 -512,512,3 -513,513,4 -514,514,3 -515,515,3 -516,516,1 -517,517,4 -518,518,6 -519,519,1 -520,520,6 -521,521,3 -522,522,4 -523,523,1 -524,524,4 -525,525,4 -526,526,3 -527,527,1 -528,528,1 -529,529,1 -530,530,2 -531,531,2 -532,532,2 -533,533,1 -534,534,5 -535,535,5 -536,536,4 -537,537,5 -538,538,5 -539,539,2 -540,540,5 -541,541,2 -542,542,2 -543,543,3 -544,544,2 -545,545,3 -546,546,2 -547,547,4 -548,548,2 -549,549,1 -550,550,3 -551,551,1 -552,552,2 -553,553,6 -554,554,3 -555,555,5 -556,556,3 -557,557,2 -558,558,4 -559,559,2 -560,560,1 -561,561,4 -562,562,2 -563,563,2 -564,564,1 -565,565,2 -566,566,5 -567,567,2 -568,568,3 -569,569,6 -570,570,4 -571,571,2 -572,572,4 -573,573,5 -574,574,3 -575,575,4 -576,576,4 -577,577,5 -578,578,4 -579,579,5 -580,580,2 -581,581,1 -582,582,6 -583,583,3 -584,584,3 -585,585,6 -586,586,2 -587,587,1 -588,588,3 -589,589,1 -590,590,3 -591,591,5 -592,592,4 -593,593,5 -594,594,2 -595,595,3 -596,596,2 -597,597,6 -598,598,6 -599,599,2 -600,600,3 -601,601,1 -602,602,1 -603,603,4 -604,604,5 -605,605,3 -606,606,6 -607,607,3 -608,608,4 -609,609,5 -610,610,4 -611,611,6 -612,612,1 -613,613,2 -614,614,4 -615,615,5 -616,616,5 -617,617,3 -618,618,2 -619,619,2 -620,620,5 -621,621,6 -622,622,2 -623,623,1 -624,624,6 -625,625,3 -626,626,1 -627,627,2 -628,628,4 -629,629,2 -630,630,4 -631,631,1 -632,632,5 -633,633,4 -634,634,5 -635,635,6 -636,636,5 -637,637,1 -638,638,3 -639,639,6 -640,640,6 -641,641,5 -642,642,4 -643,643,2 -644,644,1 -645,645,3 -646,646,1 -647,647,6 -648,648,2 -649,649,4 -650,650,2 -651,651,4 -652,652,6 -653,653,1 -654,654,3 -655,655,1 -656,656,5 -657,657,4 -658,658,2 -659,659,6 -660,660,4 -661,661,3 -662,662,6 -663,663,2 -664,664,5 -665,665,2 -666,666,4 -667,667,1 -668,668,4 -669,669,6 -670,670,6 -671,671,5 -672,672,3 -673,673,4 -674,674,5 -675,675,2 -676,676,6 -677,677,6 -678,678,1 -679,679,6 -680,680,5 -681,681,4 -682,682,4 -683,683,3 -684,684,2 -685,685,3 -686,686,2 -687,687,2 -688,688,3 -689,689,1 -690,690,6 -691,691,2 -692,692,5 -693,693,6 -694,694,3 -695,695,6 -696,696,5 -697,697,2 -698,698,4 -699,699,3 -700,700,4 -701,701,4 -702,702,2 -703,703,2 -704,704,4 -705,705,3 -706,706,2 -707,707,2 -708,708,6 -709,709,6 -710,710,6 -711,711,4 -712,712,2 -713,713,6 -714,714,1 -715,715,2 -716,716,1 -717,717,2 -718,718,5 -719,719,4 -720,720,2 -721,721,1 -722,722,4 -723,723,1 -724,724,6 -725,725,4 -726,726,6 -727,727,3 -728,728,3 -729,729,3 -730,730,1 -731,731,2 -732,732,3 -733,733,1 -734,734,3 -735,735,6 -736,736,6 -737,737,4 -738,738,3 -739,739,1 -740,740,4 -741,741,3 -742,742,6 -743,743,3 -744,744,3 -745,745,6 -746,746,5 -747,747,4 -748,748,3 -749,749,2 -750,750,2 -751,751,1 -752,752,2 -753,753,1 -754,754,4 -755,755,6 -756,756,6 -757,757,3 -758,758,1 -759,759,1 -760,760,6 -761,761,4 -762,762,5 -763,763,1 -764,764,3 -765,765,4 -766,766,4 -767,767,5 -768,768,6 -769,769,5 -770,770,4 -771,771,5 -772,772,1 -773,773,4 -774,774,5 -775,775,2 -776,776,3 -777,777,6 -778,778,3 -779,779,1 -780,780,6 -781,781,5 -782,782,2 -783,783,2 -784,784,1 -785,785,6 -786,786,3 -787,787,6 -788,788,4 -789,789,2 -790,790,1 -791,791,1 -792,792,5 -793,793,2 -794,794,2 -795,795,4 -796,796,2 -797,797,4 -798,798,3 -799,799,1 -800,800,6 -801,801,2 -802,802,2 -803,803,3 -804,804,1 -805,805,5 -806,806,5 -807,807,1 -808,808,1 -809,809,6 -810,810,4 -811,811,3 -812,812,3 -813,813,2 -814,814,4 -815,815,1 -816,816,5 -817,817,5 -818,818,2 -819,819,3 -820,820,1 -821,821,6 -822,822,6 -823,823,5 -824,824,4 -825,825,2 -826,826,2 -827,827,3 -828,828,5 -829,829,3 -830,830,6 -831,831,1 -832,832,5 -833,833,1 -834,834,1 -835,835,3 -836,836,1 -837,837,4 -838,838,6 -839,839,4 -840,840,2 -841,841,1 -842,842,3 -843,843,1 -844,844,1 -845,845,1 -846,846,6 -847,847,4 -848,848,3 -849,849,5 -850,850,6 -851,851,1 -852,852,3 -853,853,2 -854,854,1 -855,855,6 -856,856,4 -857,857,6 -858,858,5 -859,859,1 -860,860,3 -861,861,1 -862,862,5 -863,863,6 -864,864,3 -865,865,6 -866,866,2 -867,867,6 -868,868,1 -869,869,3 -870,870,3 -871,871,1 -872,872,1 -873,873,6 -874,874,1 -875,875,3 -876,876,4 -877,877,3 -878,878,1 -879,879,4 -880,880,1 -881,881,4 -882,882,2 -883,883,1 -884,884,4 -885,885,3 -886,886,5 -887,887,1 -888,888,3 -889,889,3 -890,890,2 -891,891,6 -892,892,1 -893,893,6 -894,894,4 -895,895,5 -896,896,6 -897,897,5 -898,898,3 -899,899,3 -900,900,3 -901,901,6 -902,902,3 -903,903,4 -904,904,5 -905,905,5 -906,906,1 -907,907,1 -908,908,5 -909,909,6 -910,910,4 -911,911,1 -912,912,5 -913,913,4 -914,914,3 -915,915,3 -916,916,3 -917,917,6 -918,918,4 -919,919,4 -920,920,5 -921,921,6 -922,922,1 -923,923,3 -924,924,6 -925,925,4 -926,926,6 -927,927,1 -928,928,5 -929,929,4 -930,930,4 -931,931,5 -932,932,5 -933,933,2 -934,934,3 -935,935,2 -936,936,1 -937,937,5 -938,938,5 -939,939,2 -940,940,1 -941,941,5 -942,942,4 -943,943,5 -944,944,3 -945,945,6 -946,946,4 -947,947,2 -948,948,4 -949,949,1 -950,950,5 -951,951,2 -952,952,2 -953,953,4 -954,954,3 -955,955,6 -956,956,4 -957,957,2 -958,958,2 -959,959,3 -960,960,3 -961,961,4 -962,962,5 -963,963,3 -964,964,4 -965,965,5 -966,966,2 -967,967,3 -968,968,4 -969,969,1 -970,970,3 -971,971,4 -972,972,1 -973,973,1 -974,974,5 -975,975,4 -976,976,1 -977,977,6 -978,978,2 -979,979,2 -980,980,2 -981,981,5 -982,982,3 -983,983,4 -984,984,4 -985,985,4 -986,986,4 -987,987,1 -988,988,2 -989,989,6 -990,990,4 -991,991,6 -992,992,4 -993,993,1 -994,994,3 -995,995,1 -996,996,4 -997,997,4 -998,998,3 -999,999,6 +,roll,value +0,0,5 +1,1,6 +2,2,1 +3,3,6 +4,4,5 +5,5,2 +6,6,6 +7,7,5 +8,8,6 +9,9,6 +10,10,4 +11,11,3 +12,12,5 +13,13,6 +14,14,1 +15,15,3 +16,16,1 +17,17,1 +18,18,1 +19,19,1 +20,20,6 +21,21,2 +22,22,3 +23,23,4 +24,24,6 +25,25,5 +26,26,3 +27,27,2 +28,28,4 +29,29,1 +30,30,3 +31,31,4 +32,32,3 +33,33,3 +34,34,6 +35,35,2 +36,36,1 +37,37,2 +38,38,6 +39,39,4 +40,40,1 +41,41,4 +42,42,6 +43,43,1 +44,44,6 +45,45,3 +46,46,6 +47,47,4 +48,48,5 +49,49,1 +50,50,4 +51,51,4 +52,52,4 +53,53,6 +54,54,2 +55,55,6 +56,56,4 +57,57,6 +58,58,6 +59,59,2 +60,60,4 +61,61,1 +62,62,4 +63,63,3 +64,64,1 +65,65,4 +66,66,1 +67,67,2 +68,68,3 +69,69,3 +70,70,1 +71,71,6 +72,72,1 +73,73,6 +74,74,5 +75,75,2 +76,76,6 +77,77,5 +78,78,4 +79,79,6 +80,80,5 +81,81,1 +82,82,4 +83,83,4 +84,84,4 +85,85,4 +86,86,6 +87,87,2 +88,88,4 +89,89,5 +90,90,4 +91,91,3 +92,92,4 +93,93,3 +94,94,2 +95,95,5 +96,96,1 +97,97,6 +98,98,6 +99,99,1 +100,100,1 +101,101,3 +102,102,3 +103,103,2 +104,104,1 +105,105,3 +106,106,6 +107,107,2 +108,108,1 +109,109,4 +110,110,1 +111,111,2 +112,112,2 +113,113,4 +114,114,1 +115,115,2 +116,116,2 +117,117,4 +118,118,4 +119,119,1 +120,120,4 +121,121,5 +122,122,3 +123,123,2 +124,124,5 +125,125,5 +126,126,1 +127,127,4 +128,128,3 +129,129,6 +130,130,5 +131,131,1 +132,132,5 +133,133,1 +134,134,1 +135,135,2 +136,136,6 +137,137,6 +138,138,5 +139,139,5 +140,140,1 +141,141,5 +142,142,1 +143,143,1 +144,144,6 +145,145,6 +146,146,6 +147,147,6 +148,148,5 +149,149,1 +150,150,4 +151,151,6 +152,152,5 +153,153,4 +154,154,1 +155,155,4 +156,156,5 +157,157,5 +158,158,1 +159,159,2 +160,160,6 +161,161,5 +162,162,2 +163,163,3 +164,164,1 +165,165,2 +166,166,1 +167,167,6 +168,168,4 +169,169,5 +170,170,6 +171,171,4 +172,172,3 +173,173,1 +174,174,1 +175,175,5 +176,176,2 +177,177,5 +178,178,2 +179,179,3 +180,180,3 +181,181,4 +182,182,6 +183,183,3 +184,184,2 +185,185,4 +186,186,4 +187,187,3 +188,188,6 +189,189,2 +190,190,4 +191,191,2 +192,192,1 +193,193,4 +194,194,2 +195,195,3 +196,196,2 +197,197,1 +198,198,6 +199,199,4 +200,200,1 +201,201,5 +202,202,4 +203,203,3 +204,204,6 +205,205,3 +206,206,3 +207,207,6 +208,208,3 +209,209,2 +210,210,6 +211,211,2 +212,212,4 +213,213,1 +214,214,1 +215,215,2 +216,216,5 +217,217,5 +218,218,3 +219,219,5 +220,220,2 +221,221,1 +222,222,1 +223,223,2 +224,224,5 +225,225,4 +226,226,6 +227,227,5 +228,228,5 +229,229,5 +230,230,3 +231,231,2 +232,232,2 +233,233,5 +234,234,2 +235,235,3 +236,236,4 +237,237,2 +238,238,6 +239,239,2 +240,240,6 +241,241,3 +242,242,6 +243,243,5 +244,244,3 +245,245,2 +246,246,4 +247,247,6 +248,248,3 +249,249,6 +250,250,4 +251,251,5 +252,252,3 +253,253,5 +254,254,1 +255,255,2 +256,256,6 +257,257,1 +258,258,4 +259,259,4 +260,260,1 +261,261,1 +262,262,3 +263,263,3 +264,264,1 +265,265,3 +266,266,3 +267,267,4 +268,268,1 +269,269,2 +270,270,3 +271,271,3 +272,272,3 +273,273,1 +274,274,6 +275,275,6 +276,276,3 +277,277,3 +278,278,4 +279,279,4 +280,280,6 +281,281,5 +282,282,3 +283,283,6 +284,284,4 +285,285,3 +286,286,6 +287,287,6 +288,288,1 +289,289,5 +290,290,2 +291,291,1 +292,292,3 +293,293,6 +294,294,6 +295,295,6 +296,296,1 +297,297,3 +298,298,6 +299,299,5 +300,300,2 +301,301,2 +302,302,3 +303,303,4 +304,304,6 +305,305,4 +306,306,5 +307,307,5 +308,308,6 +309,309,6 +310,310,4 +311,311,4 +312,312,6 +313,313,2 +314,314,5 +315,315,5 +316,316,5 +317,317,5 +318,318,6 +319,319,1 +320,320,3 +321,321,3 +322,322,6 +323,323,6 +324,324,1 +325,325,6 +326,326,6 +327,327,4 +328,328,3 +329,329,4 +330,330,5 +331,331,6 +332,332,4 +333,333,1 +334,334,2 +335,335,3 +336,336,4 +337,337,3 +338,338,2 +339,339,3 +340,340,4 +341,341,3 +342,342,6 +343,343,3 +344,344,2 +345,345,6 +346,346,3 +347,347,3 +348,348,6 +349,349,2 +350,350,3 +351,351,1 +352,352,4 +353,353,2 +354,354,2 +355,355,6 +356,356,3 +357,357,2 +358,358,5 +359,359,4 +360,360,6 +361,361,2 +362,362,3 +363,363,3 +364,364,6 +365,365,5 +366,366,1 +367,367,3 +368,368,2 +369,369,5 +370,370,6 +371,371,6 +372,372,2 +373,373,3 +374,374,6 +375,375,2 +376,376,2 +377,377,3 +378,378,2 +379,379,1 +380,380,2 +381,381,1 +382,382,2 +383,383,3 +384,384,4 +385,385,2 +386,386,6 +387,387,4 +388,388,6 +389,389,3 +390,390,5 +391,391,1 +392,392,5 +393,393,2 +394,394,5 +395,395,3 +396,396,2 +397,397,2 +398,398,1 +399,399,4 +400,400,2 +401,401,2 +402,402,1 +403,403,5 +404,404,3 +405,405,2 +406,406,5 +407,407,6 +408,408,5 +409,409,5 +410,410,5 +411,411,4 +412,412,4 +413,413,1 +414,414,4 +415,415,4 +416,416,1 +417,417,2 +418,418,4 +419,419,5 +420,420,3 +421,421,6 +422,422,3 +423,423,1 +424,424,5 +425,425,1 +426,426,1 +427,427,5 +428,428,3 +429,429,4 +430,430,6 +431,431,3 +432,432,6 +433,433,6 +434,434,1 +435,435,2 +436,436,1 +437,437,1 +438,438,5 +439,439,1 +440,440,4 +441,441,1 +442,442,1 +443,443,2 +444,444,4 +445,445,2 +446,446,4 +447,447,6 +448,448,2 +449,449,2 +450,450,6 +451,451,2 +452,452,5 +453,453,5 +454,454,2 +455,455,1 +456,456,5 +457,457,5 +458,458,4 +459,459,1 +460,460,3 +461,461,1 +462,462,5 +463,463,5 +464,464,5 +465,465,1 +466,466,2 +467,467,2 +468,468,5 +469,469,5 +470,470,3 +471,471,6 +472,472,2 +473,473,6 +474,474,5 +475,475,3 +476,476,4 +477,477,6 +478,478,5 +479,479,5 +480,480,1 +481,481,3 +482,482,3 +483,483,2 +484,484,2 +485,485,1 +486,486,6 +487,487,1 +488,488,2 +489,489,3 +490,490,3 +491,491,2 +492,492,5 +493,493,3 +494,494,3 +495,495,1 +496,496,1 +497,497,5 +498,498,4 +499,499,3 +500,500,5 +501,501,3 +502,502,3 +503,503,1 +504,504,4 +505,505,5 +506,506,5 +507,507,5 +508,508,2 +509,509,6 +510,510,3 +511,511,1 +512,512,3 +513,513,4 +514,514,3 +515,515,3 +516,516,1 +517,517,4 +518,518,6 +519,519,1 +520,520,6 +521,521,3 +522,522,4 +523,523,1 +524,524,4 +525,525,4 +526,526,3 +527,527,1 +528,528,1 +529,529,1 +530,530,2 +531,531,2 +532,532,2 +533,533,1 +534,534,5 +535,535,5 +536,536,4 +537,537,5 +538,538,5 +539,539,2 +540,540,5 +541,541,2 +542,542,2 +543,543,3 +544,544,2 +545,545,3 +546,546,2 +547,547,4 +548,548,2 +549,549,1 +550,550,3 +551,551,1 +552,552,2 +553,553,6 +554,554,3 +555,555,5 +556,556,3 +557,557,2 +558,558,4 +559,559,2 +560,560,1 +561,561,4 +562,562,2 +563,563,2 +564,564,1 +565,565,2 +566,566,5 +567,567,2 +568,568,3 +569,569,6 +570,570,4 +571,571,2 +572,572,4 +573,573,5 +574,574,3 +575,575,4 +576,576,4 +577,577,5 +578,578,4 +579,579,5 +580,580,2 +581,581,1 +582,582,6 +583,583,3 +584,584,3 +585,585,6 +586,586,2 +587,587,1 +588,588,3 +589,589,1 +590,590,3 +591,591,5 +592,592,4 +593,593,5 +594,594,2 +595,595,3 +596,596,2 +597,597,6 +598,598,6 +599,599,2 +600,600,3 +601,601,1 +602,602,1 +603,603,4 +604,604,5 +605,605,3 +606,606,6 +607,607,3 +608,608,4 +609,609,5 +610,610,4 +611,611,6 +612,612,1 +613,613,2 +614,614,4 +615,615,5 +616,616,5 +617,617,3 +618,618,2 +619,619,2 +620,620,5 +621,621,6 +622,622,2 +623,623,1 +624,624,6 +625,625,3 +626,626,1 +627,627,2 +628,628,4 +629,629,2 +630,630,4 +631,631,1 +632,632,5 +633,633,4 +634,634,5 +635,635,6 +636,636,5 +637,637,1 +638,638,3 +639,639,6 +640,640,6 +641,641,5 +642,642,4 +643,643,2 +644,644,1 +645,645,3 +646,646,1 +647,647,6 +648,648,2 +649,649,4 +650,650,2 +651,651,4 +652,652,6 +653,653,1 +654,654,3 +655,655,1 +656,656,5 +657,657,4 +658,658,2 +659,659,6 +660,660,4 +661,661,3 +662,662,6 +663,663,2 +664,664,5 +665,665,2 +666,666,4 +667,667,1 +668,668,4 +669,669,6 +670,670,6 +671,671,5 +672,672,3 +673,673,4 +674,674,5 +675,675,2 +676,676,6 +677,677,6 +678,678,1 +679,679,6 +680,680,5 +681,681,4 +682,682,4 +683,683,3 +684,684,2 +685,685,3 +686,686,2 +687,687,2 +688,688,3 +689,689,1 +690,690,6 +691,691,2 +692,692,5 +693,693,6 +694,694,3 +695,695,6 +696,696,5 +697,697,2 +698,698,4 +699,699,3 +700,700,4 +701,701,4 +702,702,2 +703,703,2 +704,704,4 +705,705,3 +706,706,2 +707,707,2 +708,708,6 +709,709,6 +710,710,6 +711,711,4 +712,712,2 +713,713,6 +714,714,1 +715,715,2 +716,716,1 +717,717,2 +718,718,5 +719,719,4 +720,720,2 +721,721,1 +722,722,4 +723,723,1 +724,724,6 +725,725,4 +726,726,6 +727,727,3 +728,728,3 +729,729,3 +730,730,1 +731,731,2 +732,732,3 +733,733,1 +734,734,3 +735,735,6 +736,736,6 +737,737,4 +738,738,3 +739,739,1 +740,740,4 +741,741,3 +742,742,6 +743,743,3 +744,744,3 +745,745,6 +746,746,5 +747,747,4 +748,748,3 +749,749,2 +750,750,2 +751,751,1 +752,752,2 +753,753,1 +754,754,4 +755,755,6 +756,756,6 +757,757,3 +758,758,1 +759,759,1 +760,760,6 +761,761,4 +762,762,5 +763,763,1 +764,764,3 +765,765,4 +766,766,4 +767,767,5 +768,768,6 +769,769,5 +770,770,4 +771,771,5 +772,772,1 +773,773,4 +774,774,5 +775,775,2 +776,776,3 +777,777,6 +778,778,3 +779,779,1 +780,780,6 +781,781,5 +782,782,2 +783,783,2 +784,784,1 +785,785,6 +786,786,3 +787,787,6 +788,788,4 +789,789,2 +790,790,1 +791,791,1 +792,792,5 +793,793,2 +794,794,2 +795,795,4 +796,796,2 +797,797,4 +798,798,3 +799,799,1 +800,800,6 +801,801,2 +802,802,2 +803,803,3 +804,804,1 +805,805,5 +806,806,5 +807,807,1 +808,808,1 +809,809,6 +810,810,4 +811,811,3 +812,812,3 +813,813,2 +814,814,4 +815,815,1 +816,816,5 +817,817,5 +818,818,2 +819,819,3 +820,820,1 +821,821,6 +822,822,6 +823,823,5 +824,824,4 +825,825,2 +826,826,2 +827,827,3 +828,828,5 +829,829,3 +830,830,6 +831,831,1 +832,832,5 +833,833,1 +834,834,1 +835,835,3 +836,836,1 +837,837,4 +838,838,6 +839,839,4 +840,840,2 +841,841,1 +842,842,3 +843,843,1 +844,844,1 +845,845,1 +846,846,6 +847,847,4 +848,848,3 +849,849,5 +850,850,6 +851,851,1 +852,852,3 +853,853,2 +854,854,1 +855,855,6 +856,856,4 +857,857,6 +858,858,5 +859,859,1 +860,860,3 +861,861,1 +862,862,5 +863,863,6 +864,864,3 +865,865,6 +866,866,2 +867,867,6 +868,868,1 +869,869,3 +870,870,3 +871,871,1 +872,872,1 +873,873,6 +874,874,1 +875,875,3 +876,876,4 +877,877,3 +878,878,1 +879,879,4 +880,880,1 +881,881,4 +882,882,2 +883,883,1 +884,884,4 +885,885,3 +886,886,5 +887,887,1 +888,888,3 +889,889,3 +890,890,2 +891,891,6 +892,892,1 +893,893,6 +894,894,4 +895,895,5 +896,896,6 +897,897,5 +898,898,3 +899,899,3 +900,900,3 +901,901,6 +902,902,3 +903,903,4 +904,904,5 +905,905,5 +906,906,1 +907,907,1 +908,908,5 +909,909,6 +910,910,4 +911,911,1 +912,912,5 +913,913,4 +914,914,3 +915,915,3 +916,916,3 +917,917,6 +918,918,4 +919,919,4 +920,920,5 +921,921,6 +922,922,1 +923,923,3 +924,924,6 +925,925,4 +926,926,6 +927,927,1 +928,928,5 +929,929,4 +930,930,4 +931,931,5 +932,932,5 +933,933,2 +934,934,3 +935,935,2 +936,936,1 +937,937,5 +938,938,5 +939,939,2 +940,940,1 +941,941,5 +942,942,4 +943,943,5 +944,944,3 +945,945,6 +946,946,4 +947,947,2 +948,948,4 +949,949,1 +950,950,5 +951,951,2 +952,952,2 +953,953,4 +954,954,3 +955,955,6 +956,956,4 +957,957,2 +958,958,2 +959,959,3 +960,960,3 +961,961,4 +962,962,5 +963,963,3 +964,964,4 +965,965,5 +966,966,2 +967,967,3 +968,968,4 +969,969,1 +970,970,3 +971,971,4 +972,972,1 +973,973,1 +974,974,5 +975,975,4 +976,976,1 +977,977,6 +978,978,2 +979,979,2 +980,980,2 +981,981,5 +982,982,3 +983,983,4 +984,984,4 +985,985,4 +986,986,4 +987,987,1 +988,988,2 +989,989,6 +990,990,4 +991,991,6 +992,992,4 +993,993,1 +994,994,3 +995,995,1 +996,996,4 +997,997,4 +998,998,3 +999,999,6 diff --git a/your-code/main.ipynb b/your-code/main.ipynb index 5759add..f600dac 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -1,522 +1,1325 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Understanding Descriptive Statistics\n", - "\n", - "Import the necessary libraries here:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Libraries" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 1\n", - "#### 1.- Define a function that simulates rolling a dice 10 times. Save the information in a dataframe.\n", - "**Hint**: you can use the *choices* function from module *random* to help you with the simulation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Plot the results sorted by value." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Calculate the frequency distribution and plot it. What is the relation between this plot and the plot above? Describe it with words." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 2\n", - "Now, using the dice results obtained in *challenge 1*, your are going to define some functions that will help you calculate the mean of your data in two different ways, the median and the four quartiles. \n", - "\n", - "#### 1.- Define a function that computes the mean by summing all the observations and dividing by the total number of observations. You are not allowed to use any methods or functions that directly calculate the mean value. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- First, calculate the frequency distribution. Then, calculate the mean using the values of the frequency distribution you've just computed. You are not allowed to use any methods or functions that directly calculate the mean value. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Define a function to calculate the median. You are not allowed to use any methods or functions that directly calculate the median value. \n", - "**Hint**: you might need to define two computation cases depending on the number of observations used to calculate the median." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- Define a function to calculate the four quartiles. You can use the function you defined above to compute the median but you are not allowed to use any methods or functions that directly calculate the quartiles. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 3\n", - "Read the csv `roll_the_dice_hundred.csv` from the `data` folder.\n", - "#### 1.- Sort the values and plot them. What do you see?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Using the functions you defined in *challenge 2*, calculate the mean value of the hundred dice rolls." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Now, calculate the frequency distribution.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- Plot the histogram. What do you see (shape, values...) ? How can you connect the mean value to the histogram? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 5.- Read the `roll_the_dice_thousand.csv` from the `data` folder. Plot the frequency distribution as you did before. Has anything changed? Why do you think it changed?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 4\n", - "In the `data` folder of this repository you will find three different files with the prefix `ages_population`. These files contain information about a poll answered by a thousand people regarding their age. Each file corresponds to the poll answers in different neighbourhoods of Barcelona.\n", - "\n", - "#### 1.- Read the file `ages_population.csv`. Calculate the frequency distribution and plot it as we did during the lesson. Try to guess the range in which the mean and the standard deviation will be by looking at the plot. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Calculate the exact mean and standard deviation and compare them with your guesses. Do they fall inside the ranges you guessed?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Now read the file `ages_population2.csv` . Calculate the frequency distribution and plot it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- What do you see? Is there any difference with the frequency distribution in step 1?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 5.- Calculate the mean and standard deviation. Compare the results with the mean and standard deviation in step 2. What do you think?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 5\n", - "Now is the turn of `ages_population3.csv`.\n", - "\n", - "#### 1.- Read the file `ages_population3.csv`. Calculate the frequency distribution and plot it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Calculate the mean and standard deviation. Compare the results with the plot in step 1. What is happening?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Calculate the four quartiles. Use the results to explain your reasoning for question in step 2. How much of a difference is there between the median and the mean?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- Calculate other percentiles that might be useful to give more arguments to your reasoning." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Bonus challenge\n", - "Compare the information about the three neighbourhoods. Prepare a report about the three of them. Remember to find out which are their similarities and their differences backing your arguments in basic statistics." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ironhack-3.7", - "language": "python", - "name": "ironhack-3.7" - }, - "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 -} +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Understanding Descriptive Statistics\n", + "\n", + "Import the necessary libraries here:" + ] + }, + { + "cell_type": "code", + "execution_count": 17, + "metadata": {}, + "outputs": [], + "source": [ + "# Libraries\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "from scipy import stats\n", + "import random \n", + "import pandas as pd" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### Challenge 1\n", + "#### 1.- Define a function that simulates rolling a dice 10 times. Save the information in a dataframe.\n", + "**Hint**: you can use the *choices* function from module *random* to help you with the simulation." + ] + }, + { + "cell_type": "code", + "execution_count": 76, + "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", + "
Dice Result
11
25
36
46
51
66
73
85
92
105
\n", + "
" + ], + "text/plain": [ + " Dice Result\n", + "1 1\n", + "2 5\n", + "3 6\n", + "4 6\n", + "5 1\n", + "6 6\n", + "7 3\n", + "8 5\n", + "9 2\n", + "10 5" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "\n", + "def rolling_dice_sim():\n", + " # Simulating 10 dice rolls; a die has 6 faces (1-6)\n", + " rolls = random.choices(range(1,7),k=10)\n", + " # Creating a dataframe to store the results\n", + " df = pd.DataFrame(rolls, index=range(1,11), columns=['Dice Result'])\n", + "\n", + " return df\n", + "# Running the function to see the results: \n", + "\n", + "df = rolling_dice_sim()\n", + "\n", + "display(df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHFCAYAAADcytJ5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABDF0lEQVR4nO3deVxU9f7H8feIMIACKi6I4FoukWKmpWluSKaIGtmilprVvbeoMFssu7nc3FPT26JZqZmidQvNNBdyjUozizT3frnnkqaigIRwfn/wYHIcUAYH5gCv5+PBA873nDnz+Qyj8+ac75mxGIZhCAAAwITKubsAAACA/BBUAACAaRFUAACAaRFUAACAaRFUAACAaRFUAACAaRFUAACAaRFUAACAaRFUAACAaRFUUOLMnTtXFovF9uXt7a2goCB16tRJ48eP18mTJx1uM2rUKFkslmKt88CBA3Z1litXTpUrV1ZERIRWr159XfucO3eubSz38Thw4MB112wYhhYtWqQ777xT1atXl7e3t0JCQtS1a1e9//77173/y6WlpWnUqFFav369S/crSevXr5fFYrnmvnOfF6dOnXJ5DVcyDEPx8fHq3LmzKleuLKvVqvr16ys2NlaHDx8u9H5///13jRo1SsnJya4rFjARggpKrDlz5ui7775TYmKi3n77bTVv3lwTJ05UkyZN9NVXX9lt+9hjj+m7775zS51PP/20vvvuO3399deaPHmy9u3bp+7du2vjxo1uqedqXn75ZfXt21dNmjTR+++/rxUrVmjMmDGqUaOGPv/8c5feV1pamkaPHl0kQcVssrOz1bdvX/Xv319BQUGaO3euVq1apSFDhmjp0qVq1qyZvvnmm0Lt+/fff9fo0aMJKii1yru7AKCwbr75ZrVs2dK2fO+99+rZZ59Vu3btFBMTo3379qlGjRqSpJCQEIWEhLilztq1a6t169aSpLZt2+rGG29Uhw4d9MEHH6h9+/ZuqSkv6enpmjZtmgYMGKBZs2bZrRs0aJCys7Ndcj+GYejixYsu2VdJMXHiRH388ceaMGGChg0bZhvv2LGjHnjgAd1+++269957tXv3blWqVMl9hQImxBEVlCq1a9fWlClTdP78eb377ru28fxO/cTHx6tNmzaqWLGiKlasqObNm+uDDz6w2+arr75SRESE/P395evrq7Zt22rNmjWFrjE3XJ04ccJu/JdfflGvXr1UuXJleXt7q3nz5vrwww8LdR8//fSTevTooerVq8tqtSo4OFhRUVE6cuRIvrdJTU1VRkaGatasmef6cuXs/7v4888/9eSTT6pWrVry8vJS/fr19corrygjI8NuO4vFoqeeekozZ85UkyZNZLVa9eGHH6patWqSpNGjR9tOjw0aNMh2u3379qlfv362Hpo0aaK3337boa7du3fr7rvvlq+vr6pWrap//etfOn/+fEEfKknS4cOHFRMTI39/fwUEBOihhx7SH3/8YVv/6KOPqkqVKkpLS3O4befOnRUWFpbvvv/66y+9/vrratKkiV588UWH9TVq1ND48eN14sQJu+de3bp17R6PXB07dlTHjh0l5ZziatWqlSTpkUcesT2Oo0aNsm2/efNmRUdHKzAwUN7e3mrQoIGGDBlit8+kpCRFRETIz89Pvr6+uuOOO7R8+XK7bXJPMa5du1aPP/64AgMD5e/vrwEDBig1NVXHjx/X/fffr0qVKqlmzZp6/vnnlZmZ6fBYjBkzRo0bN5bValW1atX0yCOP2D3WwJUIKih1unfvLg8Pj2ueWhkxYoT69++v4OBgzZ07V4sXL9bAgQN18OBB2zbz58/XXXfdJX9/f3344Yf65JNPVKVKFXXt2rXQYWX//v2SpIYNG9rG9uzZozvuuEM7duzQf//7XyUkJOimm27SoEGDNGnSJKf2n5qaqsjISJ04cUJvv/22EhMTNW3aNNWuXfuqL+BVq1bVDTfcoHfeeUdTp07V7t27ld+Hq1+8eFGdOnXSvHnzNHToUC1fvlwPPfSQJk2apJiYGIftlyxZohkzZmjEiBFatWqV2rRpo5UrV0rKCQHfffedvvvuO7366quSpJ07d6pVq1b65ZdfNGXKFC1btkxRUVF65plnNHr0aNt+T5w4oQ4dOuiXX37RO++8o48++kgXLlzQU0895dRjds899+iGG27Qp59+qlGjRmnJkiXq2rWr7YU2Li5OZ86cUXx8vN3tdu7cqXXr1ik2NjbffW/dulVnzpxRz549850nFR0drXLlyikxMdGpulu0aKE5c+ZIkv7973/bHsfHHntMkrRq1SrdeeedOnTokKZOnaoVK1bo3//+t11I3rBhgzp37qxz587pgw8+0MKFC+Xn56fo6Gh9/PHHDvf52GOPKSAgQIsWLdK///1vxcfH6/HHH1dUVJTCw8P16aefauDAgZoyZYrefPNN2+2ys7PVq1cvTZgwQf369dPy5cs1YcIEJSYmqmPHjkpPT3eqd5QhBlDCzJkzx5BkbNmyJd9tatSoYTRp0sS2PHLkSOPyp/tvv/1meHh4GP379893H6mpqUaVKlWM6Ohou/GsrCwjPDzcuO22265a5/79+w1JxsSJE43MzEzj4sWLRnJystGmTRujZs2axv79+23bPvjgg4bVajUOHTpkt49u3boZvr6+xtmzZ+32OWfOHIfHI3d/P/zwgyHJWLJkyVXry8v3339v1K5d25BkSDL8/PyMHj16GPPmzTOys7Nt282cOdOQZHzyySd2t584caIhyVi9erVtTJIREBBg/Pnnn3bb/vHHH4YkY+TIkQ51dO3a1QgJCTHOnTtnN/7UU08Z3t7etn0NGzbMsFgsRnJyst12kZGRhiRj3bp1V+0393nx7LPP2o0vWLDAkGTMnz/fNtahQwejefPmdts98cQThr+/v3H+/Pl872PRokWGJGPmzJlXreXK52ydOnWMgQMHOmzXoUMHo0OHDrblLVu2ODwncjVo0MBo0KCBkZ6enu/9tm7d2qhevbpdD5cuXTJuvvlmIyQkxPZ7z32ePf3003a37927tyHJmDp1qt148+bNjRYtWtiWFy5caEgyPvvsM7vtcut/55138q0RZRtHVFAqGfkcCciVmJiorKysq/4l/O233+rPP//UwIEDdenSJdtXdna27r77bm3ZskWpqanXrGXYsGHy9PS0nc755Zdf9MUXX6hu3bq2bdauXauIiAiFhoba3XbQoEFKS0tzaiLwDTfcoMqVK2vYsGGaOXOmdu7cWeDbtmrVSr/++qtWrlyp4cOHq02bNlqzZo0GDBignj172h7XtWvXqkKFCurTp49DvZIcjjblXulSEBcvXtSaNWt0zz33yNfX1+6x7969uy5evKhNmzZJktatW6ewsDCFh4fb7aNfv34F7lmS+vfvb7d8//33q3z58lq3bp1tLC4uTsnJybZJrykpKfroo480cOBAVaxY0an7y4thGC69Mm3v3r36v//7Pz366KPy9vbOc5vU1FRt3rxZffr0sevBw8NDDz/8sI4cOaI9e/bY3aZHjx52y02aNJEkRUVFOYxffnRy2bJlqlSpkqKjo+1+p82bN1dQUFCZmFSNwiGooNRJTU3V6dOnFRwcnO82uefErzbBNvfweJ8+feTp6Wn3NXHiRBmGoT///POa9cTFxWnLli1KSkrS5MmTlZmZqV69eun06dO2bU6fPp3n3JDcHi7f9loCAgK0YcMGNW/eXMOHD1dYWJiCg4M1cuRIhzkDefH09FTXrl01duxYrVq1SocPH1bHjh21bNkyrVixwlZPUFCQwwtr9erVVb58eYd685v3kpfTp0/r0qVLevPNNx0e9+7du0uS7XLi3DqulNfY1Vy5ffny5RUYGGjXR69evVS3bl3bPJm5c+cqNTX1qmFXypk3Jf19yi8vqampOnXqlENQvR4FeY6fOXNGhmE49dyrUqWK3bKXl1e+45dPmj5x4oTOnj0rLy8vh9/r8ePHi+UScZRMXPWDUmf58uXKysqyTTjMS+5EziNHjuT74lC1alVJ0ptvvmm7audKuVcVXU1ISIhtAm3btm0VFBSkhx56SCNHjtRbb70lSQoMDNSxY8ccbvv777/b1VJQTZs21aJFi2QYhrZt26a5c+fqP//5j3x8fPTSSy85ta/AwEANGTJE69ev1y+//KLu3bsrMDBQmzdvdjgKcPLkSV26dMmhXmeOFFSuXNn2F31+IaBevXq22o4fP+6wPq+xqzl+/Lhq1aplW7506ZJOnz6twMBA21i5cuUUGxur4cOHa8qUKXrnnXcUERGhRo0aXXXft956qypXrqylS5dq/PjxeT4WS5cuVXZ2tiIjI21j3t7eDhOTpZyQVpDnw+XP8fxUrlxZ5cqVc+lzLz9Vq1ZVYGCgbW7Slfz8/FxyPyh9OKKCUuXQoUN6/vnnFRAQoH/+85/5bnfXXXfJw8NDM2bMyHebtm3bqlKlStq5c6datmyZ51fuX5PO6N+/vzp27Kj33nvPdmg8IiJCa9eutb045Jo3b558fX3zDUrXYrFYFB4erjfeeEOVKlXSjz/+mO+2mZmZ+R652bVrl6S//8qOiIjQhQsXtGTJEod6c9dfi9VqlSSHSZS+vr7q1KmTfvrpJzVr1izPxz03QHTq1Ek7duzQzz//bLePKye9XsuCBQvslj/55BNdunTJIew+9thj8vLyUv/+/bVnz54CTdr18vLSCy+8oF27dun11193WH/y5Em9/PLLqlGjhm0SrJRz1c+2bdvstt27d6/DqZj8HseGDRuqQYMGmj17dp6BR5IqVKig22+/XQkJCXa3z87O1vz58xUSEmI36ft69OjRQ6dPn1ZWVlaev9NrBT6UXRxRQYn1yy+/2M5znzx5Ul9//bXmzJkjDw8PLV682PYXZV7q1q2r4cOH67XXXlN6err69u2rgIAA7dy5U6dOndLo0aNVsWJFvfnmmxo4cKD+/PNP9enTR9WrV9cff/yhn3/+WX/88cdVg87VTJw4Ubfffrtee+01vf/++xo5cqSWLVumTp06acSIEapSpYoWLFig5cuXa9KkSQoICCjwvpctW6Z33nlHvXv3Vv369WUYhhISEnT27Fm7v9ivdO7cOdWtW1f33XefunTpotDQUF24cEHr16/X9OnT1aRJE9sVPQMGDNDbb7+tgQMH6sCBA2ratKmSkpI0btw4de/eXV26dLlmnX5+fqpTp44+//xzRUREqEqVKqpatarq1q2r6dOnq127drrzzjv1xBNPqG7dujp//rx+/fVXffHFF1q7dq0kaciQIZo9e7aioqJsb0y3YMEC7d69u8CPlyQlJCSofPnyioyM1I4dO/Tqq68qPDxc999/v912lSpV0oABAzRjxgzVqVNH0dHRBdr/sGHD9PPPP9u+P/DAAwoICNC2bdv0+uuv6/z581q2bJnd7/nhhx/WQw89pCeffFL33nuvDh48qEmTJjk8rxs0aCAfHx8tWLBATZo0UcWKFRUcHKzg4GC9/fbbio6OVuvWrfXss8+qdu3aOnTokFatWmULZ+PHj1dkZKQ6deqk559/Xl5eXnrnnXf0yy+/aOHChS6bN/Pggw9qwYIF6t69u+Li4nTbbbfJ09NTR44c0bp169SrVy/dc889LrkvlDLum8cLFE7u1Qe5X15eXkb16tWNDh06GOPGjTNOnjzpcJsrr/rJNW/ePKNVq1aGt7e3UbFiReOWW25xuHpiw4YNRlRUlFGlShXD09PTqFWrlhEVFWX873//u2qduVfovP7663muv++++4zy5csbv/76q2EYhrF9+3YjOjraCAgIMLy8vIzw8HCHWgpy1c/u3buNvn37Gg0aNDB8fHyMgIAA47bbbjPmzp171XozMjKMyZMnG926dTNq165tWK1Ww9vb22jSpInx4osvGqdPn7bb/vTp08a//vUvo2bNmkb58uWNOnXqGC+//LJx8eJFu+0kGbGxsXne51dffWXccssthtVqNSTZXeWyf/9+Y/DgwUatWrUMT09Po1q1asYdd9xhjBkzxm4fO3fuNCIjIw1vb2+jSpUqxqOPPmp8/vnnTl31s3XrViM6OtqoWLGi4efnZ/Tt29c4ceJEnrdZv369IcmYMGHCVfd9pezsbGPBggVGx44djUqVKhleXl5GvXr1jCeeeMI4ePBgnttPmjTJqF+/vuHt7W20bNnSWLt2rcNVP4aRc0VN48aNDU9PT4crqb777jujW7duRkBAgGG1Wo0GDRo4XOX09ddfG507dzYqVKhg+Pj4GK1btza++OILu23yu9ou9zH8448/7MYHDhxoVKhQwW4sMzPTmDx5shEeHm77N9e4cWPjn//8p7Fv376CPpQoYyyGcY3LIwAANs8995xmzJihw4cP281hAVA0OPUDAAWwadMm7d27V++8847++c9/ElKAYsIRFQAoAIvFIl9fX3Xv3l1z5sxxyXunALg2jqgAQAHwNx3gHlyeDAAATIugAgAATIugAgAATKtEz1HJzs7W77//Lj8/P5d+mBcAACg6hmHo/PnzCg4OVrlyVz9mUqKDyu+//+7SD/ECAADF5/Dhw1f94EyphAeV3A+xOnz4sPz9/V2678zMTK1evVp33XWXPD09Xbrv4kQf5kIf5kIf5lJa+pBKTy9F1UdKSopCQ0ML9GGUJTqo5J7u8ff3L5Kg4uvrK39//xL/JKMP86APc6EPcyktfUilp5ei7qMg0zaYTAsAAEyLoAIAAEyLoAIAAEyLoAIAAEyLoAIAAEyLoAIAAEyLoAIAAEyLoAIAAEyLoAIAAEyLoAIAcL+sLCkpKefnpKSc5ZKqtPRikj7cHlSOHj2qhx56SIGBgfL19VXz5s21detWd5cFACguCQlS3bpSVFTOclRUznJCgjurKpzS0ouJ+nBrUDlz5ozatm0rT09PrVixQjt37tSUKVNUqVIld5YFACguCQlSnz7SkSP240eP5oyXpBf40tKLyfpwa1CZOHGiQkNDNWfOHN12222qW7euIiIi1KBBA3eWBQAoDllZUlycZBiO63LHhgwpGadOSksvJuzDrZ+evHTpUnXt2lX33XefNmzYoFq1aunJJ5/U448/nuf2GRkZysjIsC2npKRIyvl0x8zMTJfWlrs/V++3uNGHudCHudCHmyUlSadPSz4+kqTMK75Lkk6dkjZulNq1c0eFBVdaeimmPpx5rloMI6/YVDy8vb0lSUOHDtV9992n77//XkOGDNG7776rAQMGOGw/atQojR492mE8Pj5evr6+RV4vAAC4fmlpaerXr5/OnTsnf3//q27r1qDi5eWlli1b6ttvv7WNPfPMM9qyZYu+++47h+3zOqISGhqqU6dOXbNRZ2VmZioxMVGRkZHy9PR06b6LE32YC32YC324WVLS35M1lfNXe+Ls2YocPFie6el/b7d8ubmPQkilp5di6iMlJUVVq1YtUFBx66mfmjVr6qabbrIba9KkiT777LM8t7darbJarQ7jnp6eRfaPsyj3XZzow1zow1zow03at5cCA3MmaV72N7NnenrOi6LFIoWE5Gzn4eHGQgugtPRSTH048zx162Tatm3bas+ePXZje/fuVZ06ddxUEQCg2Hh4SNOn5/xssdivy12eNs3cL+y5SksvJuzDrUHl2Wef1aZNmzRu3Dj9+uuvio+P16xZsxQbG+vOsgAAxSUmRvr0U6lWLfvxkJCc8ZgY99RVGKWlF5P14dag0qpVKy1evFgLFy7UzTffrNdee03Tpk1T//793VkWAKA4xcRIBw7kzHuQcr7v319yXtgvV1p6MVEfbn9n2h49emj79u26ePGidu3ale+lyQCAUszD4+/Jme3amf8UydWUll5M0ofbgwoAAEB+CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAAMC0CCoAnJOVJSUl5fyclJSzXBLRB1AiuDWojBo1ShaLxe4rKCjInSUBuJqEBKluXSkqKmc5KipnOSHBnVU5jz6AEsPtR1TCwsJ07Ngx29f27dvdXRKAvCQkSH36SEeO2I8fPZozXlJeHOkDKFHcHlTKly+voKAg21e1atXcXRKAK2VlSXFxkmE4rssdGzLE/Kcd6AMoccq7u4B9+/YpODhYVqtVt99+u8aNG6f69evnuW1GRoYyMjJsyykpKZKkzMxMZWZmurSu3P25er/FjT7MpcT2kZQknT4t+fhIkjKv+C5JOnVK2rhRatfOHRUWDH2YWon995GH0tJLUfXhzP4shpFXJC8eK1asUFpamho2bKgTJ05ozJgx2r17t3bs2KHAwECH7UeNGqXRo0c7jMfHx8vX17c4SgYAANcpLS1N/fr107lz5+Tv73/Vbd0aVK6UmpqqBg0a6MUXX9TQoUMd1ud1RCU0NFSnTp26ZqPOyszMVGJioiIjI+Xp6enSfRcn+jCXEttHUtLfEzaV85d74uzZihw8WJ7p6X9vt3y5uf+Cpw9TK7H/PvJQWnopqj5SUlJUtWrVAgUVt5/6uVyFChXUtGlT7du3L8/1VqtVVqvVYdzT07PInghFue/iRB/mUuL6aN9eCgzMmah52d82nunpOS+MFosUEpKznYeHGwu9BvooEUrcv4+rKC29uLoPZ/bl9sm0l8vIyNCuXbtUs2ZNd5cC4HIeHtL06Tk/Wyz263KXp00z/4sifQAljluDyvPPP68NGzZo//792rx5s/r06aOUlBQNHDjQnWUByEtMjPTpp1KtWvbjISE54zEx7qnLWfQBlChuPfVz5MgR9e3bV6dOnVK1atXUunVrbdq0SXXq1HFnWQDyExMj9eqVczVJSkrOHIiSeHqBPoASw61BZdGiRe68ewCF4eGRM0Hzyy9zvpfUF0X6AEoEU81RAQAAuBxBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmFahgsqlS5f01Vdf6d1339X58+clSb///rsuXLjg0uIAAEDZVt7ZGxw8eFB33323Dh06pIyMDEVGRsrPz0+TJk3SxYsXNXPmzKKoEwAAlEFOH1GJi4tTy5YtdebMGfn4+NjG77nnHq1Zs8alxQEAgLLN6SMqSUlJ+uabb+Tl5WU3XqdOHR09etRlhQEAADh9RCU7O1tZWVkO40eOHJGfn59LigIAAJAKEVQiIyM1bdo027LFYtGFCxc0cuRIde/e3ZW1AQCAMs7pUz9vvPGGOnXqpJtuukkXL15Uv379tG/fPlWtWlULFy4sihoBAEAZ5XRQCQ4OVnJyshYuXKgff/xR2dnZevTRR9W/f3+7ybUAAADXy+mgIkk+Pj4aPHiwBg8e7Op6AAAAbAoVVI4ePapvvvlGJ0+eVHZ2tt26Z555xiWFAQAAOB1U5syZo3/961/y8vJSYGCgLBaLbZ3FYiGoAAAAl3E6qIwYMUIjRozQyy+/rHLl+KggAABQdJxOGmlpaXrwwQcJKQAAoMg5nTYeffRR/e9//yuKWgAAAOw4fepn/Pjx6tGjh1auXKmmTZvK09PTbv3UqVNdVhwAACjbnA4q48aN06pVq9SoUSNJcphMCwAA4CpOB5WpU6dq9uzZGjRoUBGUAwAA8Den56hYrVa1bdu2KGoBAACw43RQiYuL05tvvlkUtQAAANhx+tTP999/r7Vr12rZsmUKCwtzmEybkJDgsuIAAEDZ5nRQqVSpkmJiYoqiFgAAADuFegt9AACA4lCoDyWUpD/++EN79uyRxWJRw4YNVa1aNVfWBQAA4Pxk2tTUVA0ePFg1a9ZU+/btdeeddyo4OFiPPvqo0tLSiqJGAABQRjkdVIYOHaoNGzboiy++0NmzZ3X27Fl9/vnn2rBhg5577rmiqBEAAJRRTgeVzz77TB988IG6desmf39/+fv7q3v37nrvvff06aefFrqQ8ePHy2KxaMiQIYXeBwAAKF0K9enJNWrUcBivXr16oU/9bNmyRbNmzVKzZs0KdXsAAFA6OR1U2rRpo5EjR+rixYu2sfT0dI0ePVpt2rRxuoALFy6of//+eu+991S5cmWnbw8AAEovp6/6mT59uu6++26FhIQoPDxcFotFycnJ8vb21qpVq5wuIDY2VlFRUerSpYvGjBlz1W0zMjKUkZFhW05JSZEkZWZmKjMz0+n7vprc/bl6v8WNPsyFPsyFPsyltPQhlZ5eiqoPZ/ZnMQzDcPYO0tPTNX/+fO3evVuGYeimm25S//795ePj49R+Fi1apLFjx2rLli3y9vZWx44d1bx5c02bNi3P7UeNGqXRo0c7jMfHx8vX19fZNgAAgBukpaWpX79+OnfunPz9/a+6baGCiiscPnxYLVu21OrVqxUeHi5J1wwqeR1RCQ0N1alTp67ZqLMyMzOVmJioyMhIh48JKEnow1zow1zow1xKSx9S6emlqPpISUlR1apVCxRUnD71M378eNWoUUODBw+2G589e7b++OMPDRs2rED72bp1q06ePKlbb73VNpaVlaWNGzfqrbfeUkZGhjw8POxuY7VaZbVaHfbl6elZZE+Eotx3caIPc6EPc6EPcyktfUilpxdX9+HMvpyeTPvuu++qcePGDuNhYWGaOXNmgfcTERGh7du3Kzk52fbVsmVL9e/fX8nJyQ4hBQAAlD1OH1E5fvy4atas6TBerVo1HTt2rMD78fPz080332w3VqFCBQUGBjqMAwCAssnpIyqhoaH65ptvHMa/+eYbBQcHu6QoAAAAqRBHVB577DENGTJEmZmZ6ty5syRpzZo1evHFF6/7LfTXr19/XbcHAACli9NB5cUXX9Sff/6pJ598Un/99ZckydvbW8OGDdNLL73k8gIBAEDZ5XRQsVgsmjhxol599VXt2rVLPj4+uvHGG/O8GgcAAOB6OD1HZfDgwTp//rwqVqyoVq1a6eabb5bValVqaqrDJcsAAADXw+mg8uGHHyo9Pd1hPD09XfPmzXNJUQAAAJITp35SUlJkGIYMw9D58+fl7e1tW5eVlaUvv/xS1atXL5IiAQBA2VTgoFKpUiVZLBZZLBY1bNjQYb3FYsnzc3gAAAAKq8BBZd26dTIMQ507d9Znn32mKlWq2NZ5eXmpTp06vI8KAABwqQIHlQ4dOkiS9u/fr9q1a8tisRRZUQAAAFIhLk8+ePCgDh48mO/69u3bX1dBAAAAuZwOKh07dnQYu/zoSlZW1nUVBAAAkMvpy5PPnDlj93Xy5EmtXLlSrVq10urVq4uiRgAAUEY5fUQlICDAYSwyMlJWq1XPPvustm7d6pLCAAAAnD6ikp9q1appz549rtodAACA80dUtm3bZrdsGIaOHTumCRMmKDw83GWFAQAAOB1UmjdvLovFIsMw7MZbt26t2bNnu6wwAAAAp4PK/v377ZbLlSunatWq2b2lPgAAgCs4HVTq1KlTFHUAAAA4cGoy7aVLl/T666+rRYsWqlixovz8/NSiRQtNnjxZmZmZRVUjAAAoowp8RCU9PV2RkZH67rvv1KVLF7Vv316GYWj37t0aNmyYli5dqtWrV3MKCAAAuEyBg8r48eN1+PBh/fTTT2rWrJndup9//lk9e/bUhAkTNGrUKFfXCAAAyqgCn/pZtGiRpk6d6hBSJCk8PFyTJ09WfHy8S4sDAABlW4GDyqFDh3Tbbbflu75169Y6dOiQS4oCAACQnAgq/v7+OnnyZL7rjx8/Ln9/f5cUBQAAIDkRVDp16qRx48blu37ChAl5frIyAABAYRV4Mu3IkSN1++23q3Xr1ho6dKgaN24sSdq5c6feeOMN7dy5U5s2bSqyQgEAQNlT4KBy0003KTExUY8++qgefPBBWSwWSTmf9dO4cWOtWrVKYWFhRVYoAAAoe5x6Z9rWrVtrx44dSk5O1t69eyVJDRs2VPPmzYuiNgAAUMY5/Rb6Us4HExJOAABAUXPqLfQBAACKE0EFAACYFkEFAACYFkEFAACYVoEm027btq3AO8zrs4AAAAAKo0BBpXnz5rJYLDIMI8/1uessFouysrJcWiAAACi7ChRU9u/fX9R1AAAAOChQUKlTp05R1wEAAOCgQEFl6dKlBd5hz549C10MAADA5QoUVHr37l2gnTFHBQAAuFKBgkp2dnZR1wEAAOCA91EBAACmVaigsmHDBkVHR+uGG27QjTfeqJ49e+rrr792dW0AAKCMczqozJ8/X126dJGvr6+eeeYZPfXUU/Lx8VFERITi4+OLokYAAFBGFWiOyuXGjh2rSZMm6dlnn7WNxcXFaerUqXrttdfUr18/lxYIAADKLqePqPz222+Kjo52GO/ZsydvDAcAAFzK6aASGhqqNWvWOIyvWbNGoaGhLikKAABAKsSpn+eee07PPPOMkpOTdccdd8hisSgpKUlz587V9OnTi6JGAABQRjkdVJ544gkFBQVpypQp+uSTTyRJTZo00ccff6xevXq5vEAAAFB2OR1UJOmee+7RPffc4zC+ZcsWtWrV6rqLAgAAkAoxR+XChQtKT0+3G0tOTlZ0dLRat27tssIAAAAKHFSOHDmitm3bKiAgQAEBARo6dKjS0tI0YMAAtWrVSlarVUlJSUVZKwAAKGMKfOrnpZde0oULFzR9+nR99tlnmj59ujZs2KDw8HDt3btX9erVK8o6AQBAGVTgoLJu3Tp98sknatu2rfr06aPg4GDdd999eumll4qyPgAAUIYV+NTP8ePH1aBBA0lSUFCQfHx8uMoHAAAUKacm03p4ePx9w3Ll5O3t7fKCAAAAchX41I9hGIqIiFD58jk3SU9PV3R0tLy8vOy2+/HHH11bIQAAKLMKHFRGjhxpt8xpHwAAUNQKHVRcYcaMGZoxY4YOHDggSQoLC9OIESPUrVs3l98X4HZZWVLuJfxJSVL79tJlp1MBAI6cfsM3VwoJCdGECRP0ww8/6IcfflDnzp3Vq1cv7dixw51lAa6XkCDVrStFReUsR0XlLCckuLMqADA9twaV6Ohode/eXQ0bNlTDhg01duxYVaxYUZs2bXJnWYBrJSRIffpIR47Yjx89mjNOWAGAfLk1qFwuKytLixYtUmpqqtq0aePucgDXyMqS4uIkw3Bclzs2ZEjOdgAAB4X6UEJX2r59u9q0aaOLFy+qYsWKWrx4sW666aY8t83IyFBGRoZtOSUlRZKUmZmpzMxMl9aVuz9X77e40YebJSVJp09LPj6SpMwrvkuSTp2SNm6U2rVzR4WFUmJ/H1egD3MpLX1IpaeXourDmf1ZDCOvP/UK5uLFi9f9Xip//fWXDh06pLNnz+qzzz7T+++/rw0bNuQZVkaNGqXRo0c7jMfHx8vX1/e66gAAAMUjLS1N/fr107lz5+Tv73/VbZ0OKtnZ2Ro7dqxmzpypEydOaO/evapfv75effVV1a1bV48++uh1Fd+lSxc1aNBA7777rsO6vI6ohIaG6tSpU9ds1FmZmZlKTExUZGSkPD09Xbrv4kQfbpaU9PcEWuUcSUmcPVuRgwfL8/JPIV++vMQdUSmRv48r0Ie5lJY+pNLTS1H1kZKSoqpVqxYoqDh96mfMmDH68MMPNWnSJD3++OO28aZNm+qNN9647qBiGIZdGLmc1WqV1Wp1GPf09CyyJ0JR7rs40YebtG8vBQbmTJy97G8Cz/T0nKBisUghISX2UuUS9/vIB32YS2npQyo9vbi6D2f25fRk2nnz5mnWrFnq37+/3VvqN2vWTLt373ZqX8OHD9fXX3+tAwcOaPv27XrllVe0fv169e/f39myAHPy8JCmT8/52WKxX5e7PG1aiQwpAFAcnA4qR48e1Q033OAwnp2d7fRkmxMnTujhhx9Wo0aNFBERoc2bN2vlypWKjIx0tizAvGJipE8/lWrVsh8PCckZj4lxT10AUAI4feonLCxMX3/9terUqWM3/r///U+33HKLU/v64IMPnL17oGSKiZF69cq5uiclJWdOSgk93QMAxcnpoDJy5Eg9/PDDOnr0qLKzs5WQkKA9e/Zo3rx5WrZsWVHUCJQOHh45E2a//DLnOyEFAK7J6VM/0dHR+vjjj/Xll1/KYrFoxIgR2rVrl7744gtO2QAAAJcq1Bu+de3aVV27dnV1LQAAAHacPqKyZcsWbd682WF88+bN+uGHH1xSFAAAgFSIoBIbG6vDhw87jB89elSxsbEuKQoAAEAqRFDZuXOnWrRo4TB+yy23aOfOnS4pCgAAQCpEULFarTpx4oTD+LFjx1S+vNs/4xAAAJQiTgeVyMhIvfzyyzp37pxt7OzZsxo+fDhX/QAAAJdy+hDIlClT1L59e9WpU8f2Bm/JycmqUaOGPvroI5cXCAAAyi6ng0qtWrW0bds2LViwQD///LN8fHz0yCOPqG/fvqXig5cAAIB5FGpSSYUKFfSPf/zD1bUAAADYKVBQWbp0qbp16yZPT08tXbr0qtv27NnTJYUBAAAUKKj07t1bx48fV/Xq1dW7d+98t7NYLMrKynJVbQAAoIwrUFDJzs7O82cAAICi5PTlyQAAAMXFqcm02dnZmjt3rhISEnTgwAFZLBbVq1dPffr00cMPPyyLxVJUdQIAgDKowEdUDMNQz5499dhjj+no0aNq2rSpwsLCdPDgQQ0aNEj33HNPUdYJAADKoAIfUZk7d642btyoNWvWqFOnTnbr1q5dq969e2vevHkaMGCAy4sEAABlU4GPqCxcuFDDhw93CCmS1LlzZ7300ktasGCBS4sDAABlW4GDyrZt23T33Xfnu75bt276+eefXVIUAACA5ERQ+fPPP1WjRo1819eoUUNnzpxxSVEAAACSE0ElKytL5cvnP6XFw8NDly5dcklRAAAAkhOTaQ3D0KBBg2S1WvNcn5GR4bKiAAAAJCeCysCBA6+5DVf8AAAAVypwUJkzZ05R1gEAAOCAt9AHAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACm5dagMn78eLVq1Up+fn6qXr26evfurT179rizJJhRVpaUlJTzc1JSzjIAoExwa1DZsGGDYmNjtWnTJiUmJurSpUu66667lJqa6s6yYCYJCVLdulJUVM5yVFTOckKCO6sCABST8u6885UrV9otz5kzR9WrV9fWrVvVvn17N1UF00hIkPr0kQxD8vH5e/zo0ZzxTz+VYmLcVx8AoMiZao7KuXPnJElVqlRxcyVwu6wsKS4uJ6RcKXdsyBBOAwFAKefWIyqXMwxDQ4cOVbt27XTzzTfnuU1GRoYyMjJsyykpKZKkzMxMZWZmurSe3P25er/FrcT2kZQknT5tO5KSecV3SdKpU9LGjVK7du6osFBK7O/jCvRhLvRhPqWll6Lqw5n9WQwjrz9Zi19sbKyWL1+upKQkhYSE5LnNqFGjNHr0aIfx+Ph4+fr6FnWJAADABdLS0tSvXz+dO3dO/v7+V93WFEHl6aef1pIlS7Rx40bVq1cv3+3yOqISGhqqU6dOXbNRZ2VmZioxMVGRkZHy9PR06b6LU4ntIynp7wm0yjmSkjh7tiIHD5Znevrf2y1fXuKOqJTI38cV6MNc6MN8SksvRdVHSkqKqlatWqCg4tZTP4Zh6Omnn9bixYu1fv36q4YUSbJarbJarQ7jnp6eRfZEKMp9F6cS10f79lJgYM7E2cuytGd6ek5QsVikkJCc7Tw83Fho4ZS430c+6MNc6MN8Sksvru7DmX25dTJtbGys5s+fr/j4ePn5+en48eM6fvy40i//ixllk4eHNH16zs8Wi/263OVp00pkSAEAFJxbg8qMGTN07tw5dezYUTVr1rR9ffzxx+4sC2YRE5NzCXKtWvbjISFcmgwAZYTbT/0AVxUTI/XqlXN1T0pKzpyUEnq6BwDgPFO9jwqQJw+PvyfMtmtHSAGAMoSgAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugAgAATIugkpesLCkpKefnpKSc5ZKotPQBACiz3BpUNm7cqOjoaAUHB8tisWjJkiXuLCdHQoJUt64UFZWzHBWVs5yQ4M6qnFda+gAAlGluDSqpqakKDw/XW2+95c4y/paQIPXpIx05Yj9+9GjOeEl5kS8tfQAAyrzy7rzzbt26qVu3bu4s4W9ZWVJcnGQYjusMQ7JYpCFDpF69JA+PYi+vwEpLHwAAyM1BxVkZGRnKyMiwLaekpEiSMjMzlZmZeX07T0qSTp+WfHxy9nnFd0nSqVPSxo1Su3bXd19FqbT0cYXc3+91/57djD7MhT7MpbT0IZWeXoqqD2f2ZzGMvP70Ln4Wi0WLFy9W7969891m1KhRGj16tMN4fHy8fH19i7A6AADgKmlpaerXr5/OnTsnf3//q25booJKXkdUQkNDderUqWs2ek1JSX9PPFXOEYjE2bMVOXiwPNPT/95u+XJzH4koLX1cITMzU4mJiYqMjJSnp6e7yyk0+jAX+jCX0tKHVHp6Kao+UlJSVLVq1QIFlRJ16sdqtcpqtTqMe3p6Xv8D2L69FBiYM+H0suzmmZ6e8wJvsUghITnbmXluR2npIx8u+V2bAH2YC32YS2npQyo9vbi6D2f2xfuo5PLwkKZPz/nZYrFfl7s8bZr5X9xLSx8AAMjNQeXChQtKTk5WcnKyJGn//v1KTk7WoUOH3FNQTIz06adSrVr24yEhOeMxMe6py1mlpQ8AQJnn1lM/P/zwgzp16mRbHjp0qCRp4MCBmjt3rnuKionJuXR340YpJSVnLkdJPE1SWvoAAJRpbg0qHTt2lEnm8trz8MiZaPrllznfS+qLe2npAwBQZjFHBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmFaJ+vTkK+W+q21KSorL952Zmam0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MrRr1y67/8BKgrZt2zpcsr93717VqVPHTRVdnzlz5qh69eqKiopydymFkpaWpnLl7F+OPDw8SuTlybkqVKigmjVr6syZM1q1apV69erl7pIKpV69egoKCrJdUSblzIfasGGD7rjjjmKpgSMqV7hw4YJ+/fVX2/L+/fuVnJysKlWqqHbt2m6srOBiY2MVHx+vzz//XH5+frZzjAEBAfLx8XFzdc4ZPny4unXrptDQUJ0/f16LFi3S+vXrtXLlSneXVmB+fn4O84MqVKigwMDAEjdv6Pnnn1d0dLRq166tkydPasyYMUpJSSlxf/U+++yzuuOOOzRu3Djdf//9+v777zVr1izNmjXL3aU5LTs7W3PmzNHAgQNVvnzJ/C89OjpaY8eOVe3atRUWFqaffvpJU6dO1eDBg91dmtNWrVolwzDUqFEj/frrr3rhhRfUqFEjPfLII+4uLV/Xet0bMmSIxo0bpxtvvFE33nijxo0bJ19fX/Xr1694CiyWa4tKkHXr1hmSHL4GDhzo7tIKLK/6JRlz5sxxd2lOGzx4sFGnTh3Dy8vLqFatmhEREWGsXr3a3WVdt5J6efIDDzxg1KxZ0/D09DSCg4ONmJgYY8eOHe4uq1C++OIL4+abbzasVqvRuHFjY9asWe4uqVBWrVplSDL27Nnj7lIKLSUlxYiLizNq165teHt7G/Xr1zdeeeUVIyMjw92lOe3jjz826tevb3h5eRlBQUFGbGyscfbsWXeXdVXXet3Lzs42Ro4caQQFBRlWq9Vo3769sX379mKrz2IYhlE8kQgAAMA5zFEBAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABAACmRVABcN0sFouWLFni7jKu6fI6Dxw4IIvFouTkZLfWBODqCCoA8jRo0CBZLBZZLBZ5enqqRo0aioyM1OzZsx0+g+XYsWN2n6zsaqNGjbLVUq5cOQUHB6t///46fPhwkd0nAHMgqADI1913361jx47pwIEDWrFihTp16qS4uDj16NFDly5dsm0XFBQkq9VapLWEhYXp2LFjOnLkiD7++GNt375d999/f5HeJwD3I6gAyJfValVQUJBq1aqlFi1aaPjw4fr888+1YsUKzZ0717bdlad+jhw5ogcffFBVqlRRhQoV1LJlS23evNm2/osvvtCtt94qb29v1a9fX6NHj7YLPnkpX768goKCFBwcrDvvvFOPP/64Nm3apJSUFNs2M2bMUIMGDeTl5aVGjRrpo48+KnCvZ86cUf/+/VWtWjX5+Pjoxhtv1Jw5cwp8ewBFo2R+1CYAt+ncubPCw8OVkJCgxx57zGH9hQsX1KFDB9WqVUtLly5VUFCQfvzxR9vpolWrVumhhx7Sf//7X9155536v//7P/3jH/+QJI0cObJANRw/flwJCQny8PCQh4eHJGnx4sWKi4vTtGnT1KVLFy1btkyPPPKIQkJC1KlTp2vu89VXX9XOnTu1YsUKVa1aVb/++qvS09ML+rAAKCIEFQBOa9y4sbZt25bnuvj4eP3xxx/asmWLqlSpIkm64YYbbOvHjh2rl156SQMHDpQk1a9fX6+99ppefPHFqwaV7du3q2LFisrOzrYFiGeeeUYVKlSQJE2ePFmDBg3Sk08+KUkaOnSoNm3apMmTJxcoqBw6dEi33HKLWrZsKUmqW7fuNW8DoOhx6geA0wzDkMViyXNdcnKybrnlFltIudLWrVv1n//8RxUrVrR9Pf744zp27JjS0tLyvc9GjRopOTlZW7Zs0dixY9W8eXONHTvWtn7Xrl1q27at3W3atm2rXbt2FainJ554QosWLVLz5s314osv6ttvvy3Q7QAULY6oAHDarl27VK9evTzX+fj4XPW22dnZGj16tGJiYhzWeXt753s7Ly8v25GZsLAw7du3T0888YTdPJQrw9PVAtWVunXrpoMHD2r58uX66quvFBERodjYWE2ePLlAtwdQNDiiAsApa9eu1fbt23Xvvffmub5Zs2ZKTk7Wn3/+mef6Fi1aaM+ePbrhhhscvsqVK/h/Sa+++qoWLlyoH3/8UZLUpEkTJSUl2W3z7bffqkmTJgXeZ7Vq1TRo0CDNnz9f06ZN06xZswp8WwBFgyMqAPKVkZGh48ePKysrSydOnNDKlSs1fvx49ejRQwMGDMjzNn379tW4cePUu3dvjR8/XjVr1tRPP/2k4OBgtWnTRiNGjFCPHj0UGhqq++67T+XKldO2bdu0fft2jRkzpsC11a9fX7169dKIESO0bNkyvfDCC7r//vvVokULRURE6IsvvlBCQoK++uqrAu1vxIgRuvXWWxUWFqaMjAwtW7bMqZADoGhwRAVAvlauXKmaNWuqbt26uvvuu7Vu3Tr997//1eeff2672uZKXl5eWr16tapXr67u3buradOmmjBhgm37rl27atmyZUpMTFSrVq3UunVrTZ06VXXq1HG6vueee07Lly/X5s2b1bt3b02fPl2vv/66wsLC9O6772rOnDnq2LFjgfbl5eWll19+Wc2aNVP79u3l4eGhRYsWOV0TANeyGIZhuLsIAACAvHBEBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmBZBBQAAmNb/AzIC/JrgbOa9AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + " \n", + "\n", + "# Sort the dataframe by 'Dice Rolls' and reset index\n", + "sorted_df = df.sort_values(by='Dice Result').reset_index(drop=True)\n", + "# change index to start at 1\n", + "sorted_df.index = sorted_df.index + 1\n", + "\n", + "# Plotting the sorted results\n", + "plt.scatter(sorted_df.index, sorted_df['Dice Result'], color='red') # Create a scatter plot, I first chose bar plot but with scatter it is easier to see the dice result for each roll\n", + "plt.xlabel('Dice Rolls') # Label for x-axis\n", + "plt.ylabel('Dice Roll Outcome') # Label for y-axis\n", + "plt.title('Dice Rolls Sorted by Outcome') # Title of the plot\n", + "plt.xticks(range(1, 11)) # Set x-ticks to show original roll numbers\n", + "plt.grid(True) # add a grid for readability\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Calculate the frequency distribution and plot it. What is the relation between this plot and the plot above? Describe it with words." + ] + }, + { + "cell_type": "code", + "execution_count": 78, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+J0lEQVR4nO3de3zP9f//8fubHTGHjZ3CTJjzOTVyauWwkqTSQSaHPkJkfPQlhepjySEdHQpLPkk1wsc5hgplziGpMIctZ2Mytj1/f3TZ+9fbZuxtvLeX2/Vyef/xer6er9fr8X7ujbvn6/na22aMMQIAALCIIq4uAAAAID8RbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQblBgxcbGymaz5fgaMmSIq8u7LYwaNUo2m82hrVKlSurevXuezrN+/XqNGjVKZ86cydNxV15rzZo1stls+vrrr/N0ntxcuHBBo0aN0po1a7Lty/oMHjhwIN+udzOMGDFCFStWlJubm0qXLp3n47t3765KlSo5tNlsNo0aNSpf6ruVrqw76zOT088X1uXm6gKAa5k5c6aqV6/u0BYcHOyiajB//nyVLFkyT8esX79eo0ePVvfu3fP0j68z18qrCxcuaPTo0ZKkVq1aOex78MEHtWHDBgUFBd3UGm7EggUL9J///EevvPKK2rdvL09Pz3w574YNG1S+fPl8ORdwqxFuUODVrl1bjRs3vq6+ly9fls1mk5sbH+2bpUGDBjf9Gn/99Ze8vb1vybVyU65cOZUrV86lNVzLzz//LEkaMGCA/P398+2899xzT76d60ZcuHBBxYoVc3UZKGS4LYVCK2u6+bPPPtPgwYN1xx13yNPTU7/99psk6dtvv1VERIRKliypYsWKqVmzZlq1alW28yxevFj169eXp6enQkNDNX78+Gy3Yw4cOCCbzabY2Nhsx+c0fb9v3z49/fTT8vf3l6enp2rUqKEPP/wwx/rnzJmjV155RcHBwSpZsqTuv/9+7d27N9t1li1bpoiICJUqVUrFihVTjRo1FBMTI0n67LPPZLPZtGHDhmzHvf7663J3d9fRo0dzHc+cxiEnV94qyszM1JtvvqmwsDB5e3urdOnSqlu3rt59911Jf9/a+ve//y1JCg0Ntd9azLpNUKlSJT300EOaN2+eGjRoIC8vL/tMytVugV28eFHR0dEKDAyUt7e3WrZsqa1btzr0adWqVbaZGMnxFsyBAwfs4WX06NH22rKuebXbUjNmzFC9evXk5eUlX19fderUSXv27Ml2nRIlSui3335TZGSkSpQooQoVKmjw4MFKS0vLcWz/KTMzU2+//baqV68uT09P+fv7q1u3bjp8+LC9T6VKlTRixAhJUkBAwHXdSoqNjVVYWJj9czlr1qwc++V0riNHjuj5559XhQoV5OHhoeDgYD322GP6888/7X1SUlI0ZMgQhYaGysPDQ3fccYdeeuklpaamXvM9t2rVSrVr19a6devUtGlTFStWTD169JAkJSYmqmvXrg5/piZMmKDMzMxrnvdKf/zxh5588kkFBwfL09NTAQEBioiI0LZt2/J8LhRM/PcWBV5GRobS09Md2v45MzNs2DCFh4drypQpKlKkiPz9/TV79mx169ZNHTt21Keffip3d3dNnTpVbdu21fLlyxURESFJWrVqlTp27Kjw8HB98cUXysjI0Ntvv+3wl3Ve7d69W02bNlXFihU1YcIEBQYGavny5RowYIBOnDihkSNHOvQfPny4mjVrpk8++UQpKSl6+eWX1aFDB+3Zs0dFixaVJE2fPl29e/dWy5YtNWXKFPn7++vXX3+1/6+9S5cuGjp0qD788EOFh4fbz52enq6pU6eqU6dOud7Ku5FxePvttzVq1CiNGDFCLVq00OXLl/XLL7/Y19f06tVLp06d0vvvv6958+bZb/HUrFnTfo4tW7Zoz549GjFihEJDQ1W8ePFcrzl8+HA1bNhQn3zyic6ePatRo0apVatW2rp1qypXrnzNmrMEBQVp2bJlateunXr27KlevXpJUq6zNTExMRo+fLieeuopxcTE6OTJkxo1apTCw8O1adMmVa1a1d738uXLevjhh9WzZ08NHjxY69at0xtvvKFSpUrptddey7W2F154QdOmTVP//v310EMP6cCBA3r11Ve1Zs0abdmyRWXLltX8+fP14Ycfavr06Vq2bJlKlSqV662k2NhYPffcc+rYsaMmTJhgH7u0tDQVKZL7/3WPHDmiu+66S5cvX9bw4cNVt25dnTx5UsuXL9fp06cVEBCgCxcuqGXLljp8+LC9z65du/Taa69p586d+vbbb7Ot4bpSUlKSunbtqqFDh2rMmDEqUqSIjh8/rqZNm+rSpUt64403VKlSJf3vf//TkCFD9Pvvv+ujjz7K9ZxXioyMtH/GK1asqBMnTmj9+vV5XhOGAswABdTMmTONpBxfly9fNvHx8UaSadGihcNxqampxtfX13To0MGhPSMjw9SrV880adLE3nb33Xeb4OBg89dff9nbUlJSjK+vr/nnH4/9+/cbSWbmzJnZ6pRkRo4cad9u27atKV++vDl79qxDv/79+xsvLy9z6tQpY4yx1x8ZGenQ78svvzSSzIYNG4wxxpw7d86ULFnS3HvvvSYzM/Oq4zVy5Ejj4eFh/vzzT3vb3LlzjSSzdu3aqx6Xl3EwxpiQkBATFRVl337ooYdM/fr1cz3/uHHjjCSzf//+bPtCQkJM0aJFzd69e3Pc989rZY1Zw4YNHcbiwIEDxt3d3fTq1cve1rJlS9OyZcts54yKijIhISH27ePHj2f7GWbJ+gxm1X369Gnj7e2d7WeWmJhoPD09zdNPP+1wHUnmyy+/dOgbGRlpwsLCsl3rn/bs2WMkmb59+zq0//jjj0aSGT58uL1t5MiRRpI5fvx4rufMyMgwwcHBVx27f46JMdk/1z169DDu7u5m9+7dV71GTEyMKVKkiNm0aZND+9dff20kmSVLluRaY8uWLY0ks2rVKof2//u//zOSzI8//ujQ/sILLxibzebw2bmy7qzPTHx8vDHGmBMnThhJZtKkSbnWgsKN21Io8GbNmqVNmzY5vP45c9O5c2eH/uvXr9epU6cUFRWl9PR0+yszM1Pt2rXTpk2blJqaqtTUVG3atEmPPvqovLy87Mf7+PioQ4cOTtV68eJFrVq1Sp06dVKxYsUcrh8ZGamLFy9q48aNDsc8/PDDDtt169aVJB08eND+flJSUtS3b99c/9f7wgsvSJI+/vhje9sHH3ygOnXqqEWLFlc97kbHoUmTJtq+fbv69u2r5cuXKyUl5ZrHXKlu3bqqVq3adfd/+umnHcYiJCRETZs2VXx8fJ6vnRcbNmzQX3/9le1WWYUKFXTfffdlu+1ps9myjWHdunXtP9uryXofV16nSZMmqlGjRo63V69l7969Onr06FXH7lqWLl2q1q1bq0aNGlft87///U+1a9dW/fr1HT77bdu2ve4nlsqUKaP77rvPoW316tWqWbOmmjRp4tDevXt3GWO0evXqa543i6+vr+68806NGzdOEydO1NatW526tYWCjXCDAq9GjRpq3Lixw+ufrnySJetWymOPPSZ3d3eH19ixY2WM0alTp3T69GllZmYqMDAw2zVzarseJ0+eVHp6ut5///1s146MjJQknThxwuEYPz8/h+2sp13++usvSdLx48cl6ZpPrgQEBKhLly6aOnWqMjIytGPHDn333Xfq379/rsfd6DgMGzZM48eP18aNG9W+fXv5+fkpIiJCCQkJ1zw2S16fRrparSdPnszTefIq6/w51RscHJzt+sWKFXMIjNLfP9+LFy/m63WuR9Yxzv6cjx8/fs3P4J9//qkdO3Zk++z7+PjIGJPts5+TnN7zyZMnrzoWWfuvl81m06pVq9S2bVu9/fbbatiwocqVK6cBAwbo3Llz130eFGysuUGhd+VsRtmyZSVJ77///lWf+AgICLA/WZWcnJxt/5VtWf9AXbkQ9Mq/VMuUKaOiRYvq2WefVb9+/XK8dmhoaC7vJrus9R//XEh6NQMHDtRnn32mBQsWaNmyZSpdurSeeeaZXI8pU6bMdY9DTtzc3BQdHa3o6GidOXNG3377rYYPH662bdvq0KFD1/Wky7XWYVxPXcnJyQ5B0cvLS2fPns3W73r+gb2arPMnJSVl23f06FH7Z+9G/fM6VwYKZ6+TdU5nf87lypW75mewbNmy8vb21owZM666/1py+iz4+flddcyv97z/FBISounTp0uSfv31V3355ZcaNWqULl26pClTpuTpXCiYmLmB5TRr1kylS5fW7t27s834ZL08PDxUvHhxNWnSRPPmzXP4n/S5c+e0aNEih3MGBATIy8tLO3bscGhfsGCBw3axYsXUunVrbd26VXXr1s3x2lfO1FxL06ZNVapUKU2ZMkXGmFz7NmrUSE2bNtXYsWP13//+V927d7/m4ty8jMO1lC5dWo899pj69eunU6dO2Z8yunI26kbNmTPHYSwOHjyo9evXOzwdValSJf36668OgfTkyZNav369w7nyUlt4eLi8vb01e/Zsh/bDhw9r9erV9oXqNyrrtsyV19m0aZP27Nnj1HXCwsIUFBR01bG7lvbt2ys+Pj7HJ/myPPTQQ/r999/l5+eX42f/yl8UeL0iIiK0e/dubdmyxaF91qxZstlsat26tVPnlaRq1appxIgRqlOnTrbzo/Bi5gaWU6JECb3//vuKiorSqVOn9Nhjj8nf31/Hjx/X9u3b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TZqkSpUqqVatWrp06ZJmz56tuLg4xcXFuex9AACAgsOl4Wby5MmSpFatWjm0z5w5U927d5ckJSUlKTEx0b7v0qVLGjJkiI4cOSJvb2/VqlVLixcvVmRk5K0qGwAAFGAuvy11LbGxsQ7bQ4cO1dChQ29SRQAAoLArEAuKAQAA8gvhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWIpLw01MTIzuuusu+fj4yN/fX4888oj27t17zePWrl2rRo0aycvLS5UrV9aUKVNuQbUAAKAwcGm4Wbt2rfr166eNGzdq5cqVSk9PV5s2bZSamnrVY/bv36/IyEg1b95cW7du1fDhwzVgwADFxcXdwsoBAEBB5ebKiy9btsxhe+bMmfL399fmzZvVokWLHI+ZMmWKKlasqEmTJkmSatSooYSEBI0fP16dO3e+2SUDAIACrkCtuTl79qwkydfX96p9NmzYoDZt2ji0tW3bVgkJCbp8+XK2/mlpaUpJSXF4AQAA63LpzM0/GWMUHR2te++9V7Vr175qv+TkZAUEBDi0BQQEKD09XSdOnFBQUJDDvpiYGI0ePfqm1JyT0bZbd62CZKQZ6eoSAACQVIBmbvr3768dO3Zozpw51+xrs9kcto0xObZL0rBhw3T27Fn769ChQ/lTMAAAKJAKxMzNiy++qIULF2rdunUqX758rn0DAwOVnJzs0Hbs2DG5ubnJz88vW39PT095enrma70AAKDgcunMjTFG/fv317x587R69WqFhoZe85jw8HCtXLnSoW3FihVq3Lix3N3db1apAACgkHBpuOnXr59mz56tzz//XD4+PkpOTlZycrL++usve59hw4apW7du9u0+ffro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AABgKYQbAABgKYQbAABgKYQbAABgKS4NN+vWrVOHDh0UHBwsm82mb7755prHrF27Vo0aNZKXl5cqV66sKVOm3PxCAQBAoeHScJOamqp69erpgw8+uK7++/fvV2RkpJo3b66tW7dq+PDhGjBggOLi4m5ypQAAoLBwc+XF27dvr/bt2193/ylTpqhixYqaNGmSJKlGjRpKSEjQ+PHj1blz55tUJQAAKEwK1ZqbDRs2qE2bNg5tbdu2VUJCgi5fvpzjMWlpaUpJSXF4AQAA63LpzE1eJScnKyAgwKEtICBA6enpOnHihIKCgrIdExMTo9GjR9+qEuGk0bbb82c00ox0+tjbdcykGxs3ANZXqGZuJMlmszlsG2NybM8ybNgwnT171v46dOjQTa8RAAC4TqGauQkMDFRycrJD27Fjx+Tm5iY/P78cj/H09JSnp+etKA8AABQAhWrmJjw8XCtXrnRoW7FihRo3bix3d3cXVQUAAAoSl4ab8+fPa9u2bdq2bZukvx/13rZtmxITEyX9fUupW7du9v59+vTRwYMHFR0drT179mjGjBmaPn26hgwZ4oryAQBAAeTS21IJCQlq3bq1fTs6OlqSFBUVpdjYWCUlJdmDjiSFhoZqyZIlGjRokD788EMFBwfrvffe4zFwAABg59Jw06pVK/uC4JzExsZma2vZsqW2bNlyE6sCAACFWaFacwMAAHAthBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGApLg83H330kUJDQ+Xl5aVGjRrpu+++u2rfNWvWyGazZXv98ssvt7BiAABQkLk03MydO1cvvfSSXnnlFW3dulXNmzdX+/btlZiYmOtxe/fuVVJSkv1VtWrVW1QxAAAo6FwabiZOnKiePXuqV69eqlGjhiZNmqQKFSpo8uTJuR7n7++vwMBA+6to0aK3qGIAAFDQuSzcXLp0SZs3b1abNm0c2tu0aaP169fnemyDBg0UFBSkiIgIxcfH59o3LS1NKSkpDi8AAGBdLgs3J06cUEZGhgICAhzaAwIClJycnOMxQUFBmjZtmuLi4jRv3jyFhYUpIiJC69atu+p1YmJiVKpUKfurQoUK+fo+AABAweLm6gJsNpvDtjEmW1uWsLAwhYWF2bfDw8N16NAhjR8/Xi1atMjxmGHDhik6Otq+nZKSQsABAMDCXDZzU7ZsWRUtWjTbLM2xY8eyzebk5p577tG+ffuuut/T01MlS5Z0eAEAAOtyWbjx8PBQo0aNtHLlSof2lStXqmnTptd9nq1btyooKCi/ywMAAIWUS29LRUdH69lnn1Xjxo0VHh6uadOmKTExUX369JH09y2lI0eOaNasWZKkSZMmqVKlSqpVq5YuXbqk2bNnKy4uTnFxca58GwAAoABxabjp0qWLTp48qddff11JSUmqXbu2lixZopCQEElSUlKSw++8uXTpkoYMGaIjR47I29tbtWrV0uLFixUZGemqtwAAAAoYly8o7tu3r/r27ZvjvtjYWIftoUOHaujQobegKgAAUFi5/OsXAAAA8hPhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWIrLw81HH32k0NBQeXl5qVGjRvruu+9y7b927Vo1atRIXl5eqly5sqZMmXKLKgUAAIWBS8PN3Llz9dJLL+mVV17R1q1b1bx5c7Vv316JiYk59t+/f78iIyPVvHlzbd26VcOHD9eAAQMUFxd3iysHAAAFlUvD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0/333685c+Zc17kqVKiguLg4SdLevXuVlJSkd999V5I0bNgwjR07Vq+++qp2796tzz//XAEBAZKkCxcuqF27dipTpow2bdqkr776St9++6369+/vcP7Vq1fr6NGjWrdunSZOnKhRo0bpoYceUpkyZfTjjz+qT58+6tOnj/023oULF9S6dWuVKFFC69at0/fff68SJUqoXbt2zEYBWVz8xZ0AboKoqCjTsWPHHPd16dLF1KhRw74tycyfP98YY8zUqVONj4+POXnyZI7HNm/e3IwZM8ah7bPPPjNBQUFXrWXkyJGmSJEipnjx4sbb29v+LewDBgyw92natKnp3bu3w3GPP/64iYyMzLHO/fv3G0lm69atOV7ziy++yHX/gAEDjLe391XPdfr0aSPJxMfHG2OMiY+PN5LM6dOn7X1SUlKMp6en+fjjj3O8xrRp00yZMmXM+fPn7W2LFy82RYoUMcnJycaYv39OISEhJiMjw94nLCzMNG/e3L6dnp5uihcvbubMmWOMMWb69OkmLCzMZGZm2vukpaUZb29vs3z58hxrAW43bi5LVQBcwhgjm82W475t27apQYMG8vX1zXH/5s2btWnTJoeZmoyMDF28eFEXLlxQsWLFcjwuLCxMCxcuVFpamhYsWKCvvvrK4Rx79uzR888/73BMs2bN7DMk+S23Mbhee/bsUVpamiIiIq66v169eipevLi9rVmzZsrMzNTevXvtMzy1atVymF0KCAhQ7dq17dtFixaVn5+fjh07Junvn8Fvv/0mHx8fh+tdvHhRv//++w29J8AqCDfAbWbPnj0KDQ3NcZ+3t3eux2ZmZmr06NF69NFHs+3z8vK66nEeHh6qUqWKpL//Md+3b59eeOEFh3U1V4aNGwkg1apVkyTt3r1b9evXz7b/l19+UdWqVSXJHiyMMfb9ly9fvuY1rjVWudX/z3Z3d/ds+3Jqy7o1mJmZqUaNGum///1vtvOWK1fumnUDtwPW3AC3kdWrV2vnzp3q3Llzjvvr1q2rbdu26dSpUznub9iwofbu3asqVapke125tiU3r776qubMmaMtW7ZIkmrUqKHvv//eoc/69etVo0aN6z7nP9WvX1/Vq1fXO++8k+3R9+3bt+vbb7/VU089Jen/B4KkpCR7nyt/f46Hh4ekv2epslStWlXe3t5atWpVjjXUrFlT27ZtU2pqqr3thx9+UJEiRezhyxkNGzbUvn375O/vn+1nUKpUKafPC1gJ4QawqLS0NCUnJ+vIkSPasmWLxowZo44dO+qhhx5St27dcjzmqaeeUmBgoB555BH98MMP+uOPPxQXF6cNGzZIkl577TXNmjVLo0aN0q5du7Rnzx7NnTtXI0aMyFNtlStXVseOHfXaa69Jkv79738rNjZWU6ZM0b59+zRx4kTNmzdPQ4YMceq922w2ffLJJ9q9e7c6d+6sn376SYmJifrqq6/UoUMHhYeH66WXXpL09wzMPffco7feeku7d+/WunXrsr2fkJAQ2Ww2/e9//9Px48d1/vx5eXl56eWXX9bQoUM1a9Ys/f7779q4caOmT58uSXrmmWfk5eWlqKgo/fzzz4qPj9eLL76oZ5991n5LyhnPPPOMypYtq44dO+q7777T/v37tXbtWg0cOFCHDx92+ryApbh0xQ+AmyIqKsq+cNfNzc2UK1fO3H///WbGjBkOi1eNcVyoa4wxBw4cMJ07dzYlS5Y0xYoVM40bNzY//vijff+yZctM06ZNjbe3tylZsqRp0qSJmTZt2lVrGTlypKlXr1629h9++MFIMhs3bjTGGPPRRx+ZypUrG3d3d1OtWjUza9asq9Z5rQXFWXbs2GE6d+5s/Pz8jLu7u7nzzjvNiBEjTGpqqkO/3bt3m3vuucd4e3ub+vXrmxUrVjgsKDbGmNdff90EBgYam81moqKijDHGZGRkmDfffNOEhIQYd3d3U7FiRYcF1zt27DCtW7c2Xl5extfX1/Tu3ducO3fOvj+nhd8tW7Y0AwcOdGgLCQkx77zzjn07KSnJdOvWzZQtW9Z4enqaypUrm969e5uzZ8/mOh7A7cJmzD9uNAMAABRy3JYCAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACW8v8AuT0Z4JG/5HUAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "# Calculating the frequency distribution of the dice rolls\n", + "frequency = df['Dice Result'].value_counts().sort_index()\n", + "frequency\n", + "# plotting the frequency results: \n", + "\n", + "plt.bar(frequency.index, frequency,color='purple') # create a bar plot using frequency data\n", + "plt.xlabel('Dice Roll Outcome') # setting x label as the roll results (numbers in the dice)\n", + "plt.ylabel('Frequency') # setting y label as the fequency of each number\n", + "plt.title('Frequency distribution of dice rolls') # setting a title for the plot\n", + "plt.xticks(range(1, 7)) # Set x-ticks to show all possible dice roll outcomes\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "While the plot of sorted values gives a detailed view of each roll's outcome in a specific order, \n", + "the frequency plot provides an overview of the overall outcomes, summarizing the entire set of rolls.\n", + "The sorted values plot displays each dice roll's outcome in a visually sorted order.\n", + "Each point or bar represents a specific dice roll, showing how each outcome compares to the others when arranged sequentially.\n", + "The frequency plot aggregates the results to show how many times each possible outcome occurred across all rolls. \n", + "It summarizes the data by counting occurrences rather than showing each roll individually, as the plot of sorted values.\n", + "Providing complementary perspectives, together both plots allow us to see a fuller picture of the data's characteristics than either could alone.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 2\n", + "Now, using the dice results obtained in *challenge 1*, your are going to define some functions that will help you calculate the mean of your data in two different ways, the median and the four quartiles. \n", + "\n", + "#### 1.- Define a function that computes the mean by summing all the observations and dividing by the total number of observations. You are not allowed to use any methods or functions that directly calculate the mean value. " + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.0" + ] + }, + "execution_count": 79, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "def mean_calculation(column):\n", + " \"\"\"\n", + " Takes a column with numerical values that can be summed and counted, sums and counts them without using built-in functions, \n", + " then divides the sum by the count, and returns the mean of the data provided\n", + " \"\"\"\n", + " #Check if the data list is not empty\n", + " if len(column) == 0:\n", + " return None # handling empty data\n", + " \n", + " total_sum = 0 # Initialize a variable to store the sum of all elements\n", + " count = 0 # Initialize a counter to count the number of elements\n", + " \n", + " # Loop through each element in the data list\n", + " for value in column:\n", + " total_sum += value # Add each element to total_sum\n", + " count += 1 # Increment the count for each element\n", + " \n", + " # Calculate the mean by dividing the total sum by the number of elements\n", + " mean = total_sum / count\n", + " \n", + " return mean\n", + "\n", + "mean_calculation(df['Dice Result'])\n", + " " + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- First, calculate the frequency distribution. Then, calculate the mean using the values of the frequency distribution you've just computed. You are not allowed to use any methods or functions that directly calculate the mean value. " + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.0" + ] + }, + "execution_count": 111, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "def calculate_mean_from_frequency(data):\n", + " # Calculating the frequency distribution using another method\n", + " frequency_distribution = {} # create an empty dictionary\n", + " for number in data:\n", + " if number in frequency_distribution:\n", + " frequency_distribution[number] += 1\n", + " else:\n", + " frequency_distribution[number] = 1\n", + " # Calculating the mean using the frequency distribution\n", + " total_sum = 0 # start the sum at 0\n", + " total_count = 0 # start the count at 0\n", + " for number, frequency in frequency_distribution.items():\n", + " total_sum += number * frequency # sum it dice value multiplied by it's frequency\n", + " total_count += frequency # sum the frequencies\n", + "\n", + " # Calculating the mean\n", + " mean = total_sum / total_count\n", + " return mean\n", + "\n", + "calculate_mean_from_frequency(df['Dice Result'])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Define a function to calculate the median. You are not allowed to use any methods or functions that directly calculate the median value. \n", + "**Hint**: you might need to define two computation cases depending on the number of observations used to calculate the median." + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "def calculate_median(data):\n", + " # Step 1: Sort the data\n", + " sorted_data = sorted(data)\n", + " \n", + " # Step 2: Determine the number of observations\n", + " n = len(sorted_data)\n", + " \n", + " # Step 3: Compute the median\n", + " if n % 2 == 1:\n", + " # If odd, the median is the middle element\n", + " median = sorted_data[n // 2]\n", + " else:\n", + " # If even, the median is the average of the two middle elements\n", + " mid_index = n // 2\n", + " median = (sorted_data[mid_index - 1] + sorted_data[mid_index]) / 2\n", + " \n", + " return median" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- Define a function to calculate the four quartiles. You can use the function you defined above to compute the median but you are not allowed to use any methods or functions that directly calculate the quartiles. " + ] + }, + { + "cell_type": "code", + "execution_count": 113, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "\n", + "def calculate_quartiles(data):\n", + " sorted_data = sorted(data)\n", + " n = len(sorted_data)\n", + " # Calculate Q2 (Median)\n", + " Q2 = calculate_median(sorted_data)\n", + "\n", + " # Find the split index for odd and even length datasets\n", + " if n % 2 == 0:\n", + " lower_half = sorted_data[:n // 2]\n", + " upper_half = sorted_data[n // 2:]\n", + " else:\n", + " lower_half = sorted_data[:n // 2]\n", + " upper_half = sorted_data[n // 2 + 1:]\n", + "\n", + " # Calculate Q1 and Q3 using the median function on halves\n", + " Q1 = calculate_median(lower_half)\n", + " Q3 = calculate_median(upper_half)\n", + " Q4 = sorted_data[-1] # Maximum value\n", + "\n", + " return Q1, Q2, Q3, Q4" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 3\n", + "Read the csv `roll_the_dice_hundred.csv` from the `data` folder.\n", + "#### 1.- Sort the values and plot them. What do you see?" + ] + }, + { + "cell_type": "code", + "execution_count": 148, + "metadata": { + "scrolled": true + }, + "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", + "
rollvalue
001
1471
2561
391
4731
\n", + "
" + ], + "text/plain": [ + " roll value\n", + "0 0 1\n", + "1 47 1\n", + "2 56 1\n", + "3 9 1\n", + "4 73 1" + ] + }, + "execution_count": 148, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "roll_the_dice_hundred = pd.read_csv('data/roll_the_dice_hundred.csv', index_col=0)\n", + "roll_the_dice_hundred.head()\n", + "#sort the values\n", + "sorted_roll_hundred = roll_the_dice_hundred.sort_values(by='value').reset_index(drop=True)\n", + "\n", + "sorted_roll_hundred.head()\n" + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0EAAAIhCAYAAACIfrE3AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABRn0lEQVR4nO3deXgV5d3G8XvIRhISBMKSBQEREJFNsRYiBgpRWRQNKIqy62sVBaRaXN4KuICiILRUwFah1qJWQIooS9QQoKAsGhe0gq+grEIQCAQJWeb94/QEDsnJRs7MHOb7ua5cOZln5pzf/EhC7swzTwzTNE0BAAAAgEvUsLsAAAAAALASIQgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKIQjAOZs/f74Mw9DmzZv97rNz504ZhqH58+dbV9h/eevzvoWGhiopKUnDhw/Xnj17ivdbvXq1DMPQ6tWrK/0a69ev18SJE3XkyJHqK/y/3nrrLbVp00aRkZEyDENZWVml7uet3/sWHh6u+vXrKzk5WY8//rh++OGHEsd4e7Nz585qr7ssZ9ZpGIZiY2PVpUsXvfHGG+f0nBMnTiz++Fz+PUuzcuVKXXvttUpISFBERIQSEhLUrVs3Pfvss9Xy/GeaPHmylixZUu3PW9Gvw4p8TZ+rjh07KjExUYWFhX73SU5OVlxcnE6dOlWh57Tz+wyA4EIIAmCJ+Ph4bdiwQX369LGthnnz5mnDhg1KT0/X3XffrTfeeENdu3ZVbm7uOT/3+vXrNWnSpGoPQQcPHtTgwYPVvHlzrVixQhs2bFDLli3LPGby5MnasGGDMjIy9Morr6hbt2569dVX1bp1a/3jH//w2bdPnz7asGGD4uPjq7XuihgwYIA2bNig9evXa86cOcrJydGgQYO0YMECy2spz5w5c3T99dcrNjZWs2bN0sqVK/Xcc8+pdevWWrhwYbW/XqBCkJOMHDlSe/fu1cqVK0sd37Ztm9avX6/BgwcrPDzc4uoAnO9C7S4AgDtERETo17/+ta01XHbZZerUqZMkqXv37iosLNRTTz2lJUuW6I477rC1Nn+2bdum/Px83XnnnUpJSanQMS1atPDp9Y033qjf/e536tmzp4YNG6Z27dqpbdu2kqT69eurfv36Aam9PA0bNiyus3PnzkpOTlbTpk01d+5cDRo0yJaa/JkyZYquueaaEoFn8ODBKioqqrbX+eWXXxQZGVltz+dkd9xxhx5++GG9+uqr6t27d4nxV199VZI0YsQIq0sD4AJcCQJgidKmqUycOFGGYWjr1q26/fbbVbt2bTVs2FAjRozQ0aNHfY43TVMvvfSSOnTooMjISNWpU0cDBgzQ999/X+WavD+AlzZN7ExLly5V586dFRUVpZiYGKWmpmrDhg0+5/Hwww9Lkpo1a1Y8xau8aVjlPe+wYcN09dVXS5IGDhwowzDUrVu3KpypVLduXc2dO1cFBQV68cUXi7f7mw63YsUK9ejRQ7Vr11ZUVJRat26tKVOm+OyzefNm3Xjjjapbt65q1qypjh076p///GeV6pOkJk2aqH79+vrpp598tv/444+688471aBBA0VERKh169aaNm1alcLH999/r9tuu614SlvDhg3Vo0cPv1MMvQ4dOuT3almNGr7/lZ48eVKPPvqomjVrpvDwcCUmJmrUqFElrhI2bdpUffv21eLFi9WxY0fVrFlTkyZNkmEYys3N1d/+9rfiz6Uz/93379+ve+65R0lJSQoPD1ezZs00adIkFRQU+Dz/3r17deuttyomJka1a9fWwIEDtX///gr3SpIOHz6s4cOHq27duoqOjtYNN9zg8zX31FNPKTQ0VLt27Spx7IgRI1SvXj2dPHmy1OeuU6eObr75Zr377rs6dOiQz1hhYaH+/ve/68orr1Tbtm313Xffafjw4WrRooWioqKUmJioG264QV9++WW55zBs2DA1bdq0xHbv958zVfT7zGeffaa+ffsWf04mJCSoT58+2r17d7n1AHAGQhAA2/Xv318tW7bUokWL9Mgjj2jBggV68MEHffa55557NHbsWPXs2VNLlizRSy+9pK1bt6pLly4lfmiuqO+++06SyrwSsmDBAvXr10+xsbF644039Morr+jw4cPq1q2b1q1bJ0m666679MADD0iSFi9erA0bNmjDhg26/PLLz+l5//CHP+jPf/6zpNNT3F566aUqnaskXXnllYqPj9eaNWvK3O+VV15R7969VVRUpDlz5ujdd9/V6NGjfX7Ay8jIUHJyso4cOaI5c+boX//6lzp06KCBAwdW+X6Mo0eP6ueff/aZ7nfw4EF16dJFq1at0lNPPaWlS5eqZ8+eeuihh3T//fdX+jV69+6tLVu2aOrUqUpPT9fs2bPVsWPHcqcxdu7cWYsWLdLEiRP1+eef+72PxTRN3XTTTXrhhRc0ePBgvffeexo3bpz+9re/6Te/+Y3y8vJ89v/000/18MMPa/To0VqxYoX69++vDRs2KDIyUr179y7+XPL+u+/fv1+/+tWvtHLlSj3xxBNavny5Ro4cqSlTpujuu+8uft5ffvlFPXv21KpVqzRlyhS9/fbbatSokQYOHFipfo0cOVI1atTQggULNGPGDG3cuFHdunUr7tc999yj0NBQzZ071+e4n3/+WW+++aZGjhypmjVrlvn8p06d0uuvv+6zfeXKldq7d69GjhwpyRPo6tWrp2effVYrVqzQn//8Z4WGhuqqq67St99+W6lzKktFvs/k5uYqNTVVP/30k/785z8rPT1dM2bM0IUXXqhjx45VWy0AAswEgHM0b948U5K5adMmv/vs2LHDlGTOmzeveNuECRNMSebUqVN99r3vvvvMmjVrmkVFRaZpmuaGDRtMSea0adN89tu1a5cZGRlp/v73v69QfR9//LGZn59vHjt2zFy2bJlZv359MyYmxty/f79pmqaZkZFhSjIzMjJM0zTNwsJCMyEhwWzbtq1ZWFhY/HzHjh0zGzRoYHbp0qV42/PPP29KMnfs2FFmLZV9Xm9Nb7/9drnPW5F9r7rqKjMyMrJEb7x1Hzt2zIyNjTWvvvrq4v6X5pJLLjE7duxo5ufn+2zv27evGR8f73NepZFk3nfffWZ+fr556tQpc9u2beaNN95oxsTEmJs3by7e75FHHjElmZ988onP8ffee69pGIb57bff+jznhAkTSvTD+++ZnZ1tSjJnzJhRZm2l+e6778zLLrvMlGRKMiMjI80ePXqYs2bNMk+dOlW834oVK0r9nH7rrbdMSebLL79cvK1JkyZmSEiIzzl4RUdHm0OHDi2x/Z577jFr1apl/vDDDz7bX3jhBVOSuXXrVtM0TXP27NmmJPNf//qXz3533313ia/D0ng/L26++Waf7f/+979NSebTTz9dvG3o0KFmgwYNzLy8vOJtzz33nFmjRo1yvx6KiorMZs2ame3atfPZ3r9/fzMqKso8evRoqccVFBSYp06dMlu0aGE++OCDxdtL+z4zdOhQs0mTJiWew/v9x6ui32c2b95sSjKXLFlS5rkBcDauBAGw3Y033ujzcbt27XTy5EkdOHBAkrRs2TIZhqE777xTBQUFxW+NGjVS+/btK7z6169//WuFhYUpJiZGffv2VaNGjbR8+XI1bNiw1P2//fZb7d27V4MHD/aZ8lSrVi31799fH3/8sU6cOFHp8w3U81aEaZpljq9fv145OTm67777SkwV8vruu+/0n//8p/g+qjP/TXr37q19+/ZV6LfzL730ksLCwhQeHq6WLVtq+fLleuONN3TFFVcU7/PRRx/p0ksv1a9+9SufY4cNGybTNPXRRx+V+zpedevWVfPmzfX8889r+vTp+uyzzyo8pa558+b6/PPPlZmZqUmTJqlnz57atGmT7r//fnXu3Ll4ype3nmHDhvkcf8sttyg6Oloffvihz/Z27dqVu9DFmZYtW6bu3bsrISHBp++9evWSJGVmZkryXKmLiYkp8bVV2Xutzr5XrkuXLmrSpIkyMjKKt40ZM0YHDhzQ22+/LUkqKirS7Nmz1adPn1KnoZ3JMAwNHz5cX3zxhbZs2SLJM/Xw3XffVf/+/RUbGyvJ8zk2efJkXXrppQoPD1doaKjCw8O1fft2ffPNN5U6J38q+n3m4osvVp06dTR+/HjNmTNHX3/9dbW8PgBrEYIA2K5evXo+H0dEREjyTOmRpJ9++kmmaaphw4YKCwvzefv444+VnZ1dodd57bXXtGnTJn322Wfau3evvvjiCyUnJ/vd33ufQmn3giQkJKioqEiHDx+u0Gtb8bwV8eOPPyohIcHv+MGDByVJSUlJfvfxTgt66KGHSvx73HfffZJUoX+TW2+9VZs2bdL69es1d+5cxcTE6LbbbtP27duL9/F3L473HM6+l6QshmHoww8/1HXXXaepU6fq8ssvV/369TV69OgKTWOqUaOGrrnmGj3xxBNaunSp9u7dq4EDB2rLli3FN/EfOnRIoaGhJaZYGoahRo0alai3sqvy/fTTT3r33XdL9L1NmzaSTvf90KFDpYb7Ro0aVer1Stv/7PPo2LGjunbtWjx1c9myZdq5c2eFpysOHz5cNWrU0Lx58yRJ//jHP3Tq1KniqXCSNG7cOP3hD3/QTTfdpHfffVeffPKJNm3apPbt2xd/nzhXFf0+U7t2bWVmZqpDhw567LHH1KZNGyUkJGjChAnKz8+vlloABB6rwwFwvLi4OBmGobVr1xYHpDOVtq00rVu3Ll4driK84Wzfvn0lxvbu3asaNWqoTp06FX6+QD9veTZu3Kj9+/f7/HB5Nu8P72Xd4B0XFydJevTRR5WWllbqPq1atSq3nvr16xf/e3Tu3FmtW7dWSkqKHnzwQS1btkySp1f++nRmLRXVpEkTvfLKK5I8K+/985//1MSJE3Xq1CnNmTOnUs8VHR2tRx99VG+99Za++uqr4noLCgp08OBBnyBkmqb279+vK6+80uc5/F1t8ycuLk7t2rXTM888U+q4NxzWq1dPGzduLDFe2YURStt///79uvjii322jR49Wrfccos+/fRTzZo1Sy1btlRqamqFXiMpKUnXXnutFixYoGnTpmnevHm6+OKLdc011xTv8/rrr2vIkCGaPHmyz7HZ2dm64IILynz+mjVrlrgXy3vsmSrzfaZt27Z68803ZZqmvvjiC82fP19PPvmkIiMj9cgjj1TktAHYjCtBAByvb9++Mk1Te/bsUadOnUq8eZd7rm6tWrVSYmKiFixY4DONLDc3V4sWLSpe2U0qefWqup63uvz888/67W9/q7CwsBKLTpypS5cuql27tubMmeN36lyrVq3UokULff7556X+e3Tq1EkxMTGVrrFr164aMmSI3nvvveJV8nr06KGvv/5an376qc++r732mgzDUPfu3Sv9Ol4tW7bU//7v/6pt27Ylnv9spQUxScVTsbzho0ePHpJU4kb/RYsWKTc3t3i8PBEREaV+LvXt21dfffWVmjdvXmrfvXV0795dx44d09KlS32Or+zfYDr770qtX79eP/zwQ4lVCm+++WZdeOGF+t3vfqcPPvigzOmUpRk5cqQOHz6sJ554QllZWRo+fLjP8YZhlAgm7733ns8fO/anadOmOnDggM8CKqdOnSrx94mq8n3GMAy1b99eL774oi644IJyP48AOAdXggBUm48++qjEUsuSSv0bIJWRnJys//mf/9Hw4cO1efNmXXPNNYqOjta+ffu0bt06tW3bVvfee+85vUZpatSooalTp+qOO+5Q3759dc899ygvL0/PP/+8jhw5omeffbZ4X+8PSDNnztTQoUMVFhamVq1alRoGKvO8VbF9+3Z9/PHHKioq0qFDh/TJJ5/olVdeUU5Ojl577bXiqVOlqVWrlqZNm6a77rpLPXv21N13362GDRvqu+++0+eff65Zs2ZJkubOnatevXrpuuuu07Bh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4447fBZKAAAEAabDAQBcqNIhSJIiIyM1YsQIjRgxorrrAQBYielwAAAXqnQIeu2118ocHzJkSJWLAQBYjBAEAHChSoegMWPG+Hycn5+vEydOKDw8XFFRUYQgAAgWeXlSTo7nMdPhAAAuUunV4Q4fPuzzdvz4cX377be6+uqrWRgBAIKJd1GE0FDpggtsLQUAACtVOgSVpkWLFnr22WdLXCUCADjYmYsi1KiW/w4AAAgK1fa/XkhIiPbu3VtdTwcACDTvlSCmwgEAXKbS9wQtXbrU52PTNLVv3z7NmjVLycnJ1VYYACDAWBQBAOBSlQ5BN910k8/HhmGofv36+s1vfqNp06ZVV10AgEAjBAEAXKrSIaioqCgQdQAArOadDkcIAgC4DHfCAoBbnbkwAgAALlKhK0Hjxo2r8BNOnz69ysUAACzEdDgAgEtVKAR99tlnFXoywzDOqRgAgIWYDgcAcKkKhaCMjIxA1wEAsBrT4QAALsU9QQDgVkyHAwC4VKVXh5OkTZs26e2339aPP/6oU6dO+YwtXry4WgoDAARQbq504oTnMSEIAOAylb4S9Oabbyo5OVlff/213nnnHeXn5+vrr7/WRx99pNq1aweiRgBAdfPeDxQRIdWqZW8tAABYrNIhaPLkyXrxxRe1bNkyhYeHa+bMmfrmm29066236sILLwxEjQCA6nbmVDgWtQEAuEylQ9D//d//qU+fPpKkiIgI5ebmyjAMPfjgg3r55ZervUAAQABwPxAAwMUqHYLq1q2rY8eOSZISExP11VdfSZKOHDmiE9755QAAZ/NOh2NlOACAC1U4BGVlZUmSunbtqvT0dEnSrbfeqjFjxujuu+/W7bffrh49egSkSABANeNKEADAxSq8Otzll1+ujh076qabbtLtt98uSXr00UcVFhamdevWKS0tTX/4wx8CVigAoBoRggAALlbhK0H//ve/dfnll+uFF15Q8+bNdeeddyozM1O///3vtXTpUk2fPl116tQJZK0AgOrCdDgAgItVOAR17txZf/nLX7R//37Nnj1bu3fvVs+ePdW8eXM988wz2r17dyDrBABUJ64EAQBcrNILI0RGRmro0KFavXq1tm3bpttvv11z585Vs2bN1Lt370DUCACoboQgAICLVToEnal58+Z65JFH9Pjjjys2NlYrV66srroAAIHknQ5HCAIAuFCFF0Y4W2Zmpl599VUtWrRIISEhuvXWWzVy5MjqrA0AEAimefpKEPcEAQBcqFIhaNeuXZo/f77mz5+vHTt2qEuXLvrTn/6kW2+9VdHR0YGqEQBQnXJypFOnPI8JQQAAF6pwCEpNTVVGRobq16+vIUOGaMSIEWrVqlUgawMABIJ3KlytWlJUlL21AABggwqHoMjISC1atEh9+/ZVSEhIIGsCAAQSU+EAAC5X4RC0dOnSQNYBALAKK8MBAFzunFaHAwAEIVaGAwC4HCEIANyG6XAAAJcjBAGA2zAdDgDgcoQgAHAbQhAAwOUIQQDgNt57gpgOBwBwKUIQALgNV4IAAC5HCAIAtyEEAQBcjhAEAG5SVCRlZ3seMx0OAOBShCAAcJPDh6XCQs9jQhAAwKUIQQDgJt6pcBdcIIWH21oKAAB2IQQBgJt4V4bjfiAAgIsRggDATbxXgpgKBwBwsVC7CwDgYoWF0tq10r59Uny81LWrFBJSoTEjM1OJa9bIiI6Wunev8HHVPmbHa55Lb9at8zw2DM/HZ54HAAAuYWsImj17tmbPnq2dO3dKktq0aaMnnnhCvXr1srMsAFZYvFgaM0bavfv0tqQkaeZMz+NyxkJ371YnSZo+vVLHVetYWto5n0cgxirUm3XrpKZNT58HAAAuYmsISkpK0rPPPquLL75YkvS3v/1N/fr102effaY2bdrYWRqAQFq8WBowQDJN3+179kj9+5d+jNPGBgyQHnpIeuGF4D+PhQsJQgAAV7H1nqAbbrhBvXv3VsuWLdWyZUs988wzqlWrlj7++GM7ywIQSIWFnisSZwcHqfRtTh0zTWnatOA/D0kaO/b0stkAALiAY+4JKiws1Ntvv63c3Fx17ty51H3y8vKUl5dX/HFOTo4kKT8/X/n5+ZbUWRXe2pxco53oj3/nY2+MzEyFnjmVK5gVFdldwbkzTWnXLhVkZMhMSbG7moA7H7+mqgu9KRv98Y/e+EdvrFWZPhumWdavCQPvyy+/VOfOnXXy5EnVqlVLCxYsUO/evUvdd+LEiZo0aVKJ7QsWLFBUVFSgSwVQDRLXrFGn6dPtLgNn2TxunPZcc43dZQAAUGUnTpzQoEGDdPToUcXGxpa5r+0h6NSpU/rxxx915MgRLVq0SH/961+VmZmpSy+9tMS+pV0Jaty4sbKzs8s9UTvl5+crPT1dqampCgsLs7scx6E//p2PvTEyMxWammp3GThLQXq6a64EnW9fU9WF3pSN/vhHb/yjN9bKyclRXFxchUKQ7dPhwsPDixdG6NSpkzZt2qSZM2dq7ty5JfaNiIhQREREie1hYWFB8YkVLHXahf74d171pnt3z4ple/aUfb9KMAgJ8UyJC+bzMAwpKUmhZy6l7QLn1ddUNaM3ZaM//tEb/+iNNSrTY8f9sVTTNH2u9gA4z4SEnF6y+WyGUfpjJ44ZhjRunHPqOZexGTNcFYAAALA1BD322GNau3atdu7cqS+//FKPP/64Vq9erTvuuMPOsgAEWlqaZ1nmmjV9tyclSYsWed4SE509tnChNHWq570T6jmX82B5bACAy9g6He6nn37S4MGDtW/fPtWuXVvt2rXTihUrlMr9AsD5Ly1Nat9e+uQT6cEHpRtvlLp2PX1Fol8/ae1aad8+KT6+xFhBRoayli9Xh169fKdylXNctY+lpVn/moHoDQAALmJrCHrllVfsfHkAdjt40PO+f38pOdl3LCRE6tat9ONCQmSmpGhPbq7ap6T4/iBfznHVPmbHawaiNwAAuIjj7gkC4CLeEFS/vr11AAAAVyEEAbDHL79Ix455HjdoYG8tAADAVQhBAOzhvQoUFibVrm1vLQAAwFUIQQDsceZUuLOXbgYAAAggQhAAexw44HnPVDgAAGAxQhAAexCCAACATQhBAOzhnQ5HCAIAABYjBAGwh/dKEMtjAwAAixGCANiD6XAAAMAmhCAA9mA6HAAAsAkhCIA9mA4HAABsQggCYA+mwwEAAJsQggBYzzQJQQAAwDaEIADWy82VTp70PGY6HAAAsBghCID1vFeBIiOl6Gh7awEAAK5DCAJgvTOnwhmGvbUAAADXIQQBsJ53eWymwgEAABsQggBYj0URAACAjQhBAKxHCAIAADYiBAGwHtPhAACAjQhBAKzHlSAAAGAjQhAA6xGCAACAjQhBAKznnQ5HCAIAADYgBAGwnvdKEPcEAQAAGxCCAFjLNLkSBAAAbEUIAmCto0el/HzPY64EAQAAGxCCAFjLOxUuJkaqWdPeWgAAgCsRggBYi5XhAACAzQhBAKzF/UAAAMBmhCAA1mJlOAAAYDNCEABrMR0OAADYjBAEwFqEIAAAYDNCEABree8JYjocAACwCSEIgLW4EgQAAGxGCAJgLUIQAACwGSEIgLWYDgcAAGxGCAJgncJCKTvb85grQQAAwCaEIADW+flnqajI8zguzt5aAACAaxGCAFjHOxWubl0pLMzeWgAAgGsRggBYx7soAvcDAQAAGxGCAFiHleEAAIADEIIAWMc7HY4QBAAAbEQIAmAdpsMBAAAHIAQBsA7T4QAAgAMQggBYh+lwAADAAQhBAKzDdDgAAOAAhCAA1mE6HAAAcABCEADrEIIAAIADEIIAWCM/Xzp82POY6XAAAMBGhCAA1sjO9ryvUUOqW9feWgAAgKsRggBYwzsVLi5OCgmxtxYAAOBqhCAA1vAuj81UOAAAYDNCEABrsCgCAABwCEIQAGsQggAAgEMQggBYwzsdjhAEAABsRggCYA3vlSDuCQIAADYjBAGwBtPhAACAQxCCAFiD6XAAAMAhCEEArMF0OAAA4BCEIADWYDocAABwCEIQgMA7eVI6dszzmBAEAABsRggCEHje+4HCwqTate2tBQAAuB4hCEDgnXk/kGHYWwsAAHA9QhCAwON+IAAA4CCEIACB550Ox8pwAADAAQhBAAKPK0EAAMBBCEEAAo8QBAAAHIQQBCDwmA4HAAAchBAEIPC4EgQAAByEEAQg8AhBAADAQQhBAALPOx2OEAQAAByAEAQgsEzT94+lAgAA2CzU7gIAvwoLpbVrpX37pPh4qWtXKSQkuMbO8XmNzEwlrlkjIzpa6t49OM8xJ0f65RfP42+/lZo08T0WAADAYraGoClTpmjx4sX6z3/+o8jISHXp0kXPPfecWrVqZWdZcILFi6UxY6Tdu09vS0qSZs70PA6GsbS0cz6P0N271UmSpk8P3nMcNer09t69fY8FAACwga0hKDMzU6NGjdKVV16pgoICPf7447r22mv19ddfKzo62s7SYKfFi6UBAzzTqM60Z4/Uv3/pxzhtbMAA6aGHpBdeCO7zCNQ5DhggLVxIEAIAALawNQStWLHC5+N58+apQYMG2rJli6655hqbqoKtCgs9VxXO/qFaKn2bk8emTTs/zqOssaqeo2FIY8dK/foxNQ4AAFjOUfcEHT16VJJUt27dUsfz8vKUl5dX/HFOTo4kKT8/X/n5+YEvsIq8tTm5Rjud2R9j/XqFnjmtKpgVFdldQeBV9RxNU9q1SwUZGTJTUqr0FHxd+Udv/KM3/tGbstEf/+iNf/TGWpXps2GaZf3K1jqmaapfv346fPiw1q5dW+o+EydO1KRJk0psX7BggaKiogJdIiyQuGaNOk2fbncZsMjmceO0h6u+AACgGpw4cUKDBg3S0aNHFRsbW+a+jglBo0aN0nvvvad169YpKSmp1H1KuxLUuHFjZWdnl3uidsrPz1d6erpSU1MVFhZmdzmOc2Z/wtevV2hqqt0lwSIF6enndCWIr6vS0Rv/6I1/9KZs9Mc/euMfvbFWTk6O4uLiKhSCHDEd7oEHHtDSpUu1Zs0avwFIkiIiIhQREVFie1hYWFB8YgVLnXYJCwtTaPfuntXD9uwp+76SYBAS4pkuFuznUZaqnqNhSElJnn/vc7wniK8r/+iNf/TGP3pTNvrjH73xj95YozI9tvWPpZqmqfvvv1+LFy/WRx99pGbNmtlZDpwgJOT00spnM4zSHztxzDCkceOcU08gxs71HGfMYFEEAABgC1tD0KhRo/T6669rwYIFiomJ0f79+7V//3794v3DinCntDTP8smRkb7bk5KkRYs8b4mJzh5buFCaOtXz3gn1OO0cWR4bAADYyNbpcLNnz5YkdevWzWf7vHnzNGzYMOsLgnOkpUlXXCGtWyeNHi3dfLPUtevpKwf9+klr10r79knx8c4dS0s7p+ctyMhQ1vLl6tCrl+/UsfPlHAEAAGxgawhyyJoMcKqDBz3vb75ZOisoKySk5DYnjp3j85opKdqTm6v2KSm+weF8OUcAAAAb2DodDiiTNwTVr29vHQAAADivEILgTPn50s8/ex43aGBvLQAAADivEILgTNnZnvc1akh169pbCwAAAM4rhCA4k3cqXFwcN9EDAACgWhGC4EwHDnjecz8QAAAAqhkhCM7kDUHcDwQAAIBqRgiCM3mnwxGCAAAAUM0IQXAmpsMBAAAgQAhBcCamwwEAACBACEFwJqbDAQAAIEAIQXAmpsMBAAAgQAhBcCamwwEAACBACEFwJkIQAAAAAoQQBOc5eVI6dszzmBAEAACAakYIgvN4F0UIC5Nq17a3FgAAAJx3CEFwnjMXRTAMe2sBAADAeYcQBOdheWwAAAAEECEIzsPy2AAAAAggQhCch5XhAAAAEECEIDgP0+EAAAAQQIQgOA/T4QAAABBAhCA4D9PhAAAAEECEIDgP0+EAAAAQQIQgOA9XggAAABBAhCA4D/cEAQAAIIAIQXCW3Fzpl188j7kSBAAAgAAgBMFZvFeBIiOl6Gh7awEAAMB5iRAEZzlzKpxh2FsLAAAAzkuEIDgLK8MBAAAgwAhBcBZWhgMAAECAEYLgLKwMBwAAgAAjBMFZuBIEAACAACMEwVm4JwgAAAABRgiCs3AlCAAAAAFGCIKzcE8QAAAAAowQBGdhOhwAAAACjBAE5zBNpsMBAAAg4AhBcI6jR6X8fM9jpsMBAAAgQAhBcA7vVLiYGKlmTXtrAQAAwHmLEATHMLgfCAAAABYgBME5WBkOAAAAFiAEwTmysz3vuRIEAACAACIEwTEMVoYDAACABQhBcA7uCQIAAIAFCEFwjOKFEbgnCAAAAAFECIJzcCUIAAAAFiAEwTG4JwgAAABWIATBOZgOBwAAAAsQguAMRUUskQ0AAABLEILgCOHHj8soKvJ8EBdnbzEAAAA4rxGC4AgRR496HtSpI4WF2VsMAAAAzmuEIDhCuDcEMRUOAAAAAUYIgiNEEIIAAABgEUIQHIEQBAAAAKsQguAIxdPhWB4bAAAAAUYIgiNwJQgAAABWIQTBEQhBAAAAsAohCI4QnpPjecB0OAAAAAQYIQiOwJUgAAAAWIUQBEcgBAEAAMAqhCDYr6BA4ceOeR4zHQ4AAAABRgiC/bKzJUlmjRpS3bo2FwMAAIDzHSEI9jtwwPM+Lk4KCbG3FgAAAJz3CEGwnXHwoOcBU+EAAABgAUIQ7PffEGQSggAAAGABQhBsx5UgAAAAWIkQBPv9954gk+WxAQAAYAFCEGxn/Hd1OMXF2VsIAAAAXIEQBPt5V4fjShAAAAAsQAiC/VgYAQAAABYiBMF2xdPhCEEAAACwACEI9vMujEAIAgAAgAVC7S7gvFBYKK1dK+3bJ8XHS127SiEhxWNGZqYS16yRER0tde9+eqwCxwb9WHnjJ07IyMmRJBnbt0uXXOJ7LAAAAFDNbA1Ba9as0fPPP68tW7Zo3759euedd3TTTTfZWVLlLV4sjRkj7d59eltSkjRzpufxmDEK3b1bnSRp+vTTY2lpFTo2qMcqco7331+8OfTmm32PBQAAAALA1hCUm5ur9u3ba/jw4erfv7+dpVTN4sXSgAGSafpu37NH8nc+e/Z4jnnoIemFFyp/bLCMncs5DhggLVxIEAIAAEBA2BqCevXqpV69etlZQtUVFnqucJz9A75U+razx6ZNq/qxwTJW1XM0DGnsWKlfP6bGAQAAoNoF1T1BeXl5ysvLK/4457/3kuTn5ys/P9/SWozMTIWeOcWrsoqKqq8Yp6rqOZqmtGuXCjIyZKakVG9NQcb7eW3153cwoDf+0Rv/6I1/9KZs9Mc/euMfvbFWZfpsmGZZv5a3jmEY5d4TNHHiRE2aNKnE9gULFigqKiqA1ZWUuGaNOk2fbulrus3mceO055pr7C4DAAAAQeDEiRMaNGiQjh49qtjY2DL3DaoQVNqVoMaNGys7O7vcE61uRmamQlNTLX1NtylIT+dKUH6+0tPTlZqaqrCwMLvLcRR64x+98Y/e+EdvykZ//KM3/tEba+Xk5CguLq5CISiopsNFREQoIiKixPawsDDrP7G6d/esZLZnT9n3uPgTEuKZLuaMDBoYVT1Hw5CSkhR69nLiLmbL53iQoDf+0Rv/6I1/9KZs9Mc/euMfvbFGZXrMH0utqpCQ08s8G4bv2JkflzZmGNK4cVU7NljGzvUcZ8wgAAEAACAgbA1Bx48fV1ZWlrKysiRJO3bsUFZWln788Uc7y6q4tDTPUs6Jib7bk5KkRYs8b6WNLVwoTZ1atWODZexczpHlsQEAABBAtk6H27x5s7p371788bj/XjkYOnSo5s+fb1NVlZSW5lnKee1aad8+KT5e6tr19FWMfv1UkJGhrOXL1aFXL98pXhU4NujHzqU/AAAAQADYGoK6desmh6zLcG5CQqRu3fyOmSkp2pObq/YpKSV/wC/n2KAfq8CxZfYHAAAAqGbcEwQAAADAVQhBAAAAAFyFEAQAAADAVQhBAAAAAFyFEAQAAADAVQhBAAAAAFyFEAQAAADAVQhBAAAAAFyFEAQAAADAVQhBAAAAAFyFEAQAAADAVQhBAAAAAFyFEAQAAADAVULtLuBcmKYpScrJybG5krLl5+frxIkTysnJUVhYmN3lOA798Y/e+Edv/KM3/tEb/+hN2eiPf/TGP3pjLW8m8GaEsgR1CDp27JgkqXHjxjZXAgAAAMAJjh07ptq1a5e5j2FWJCo5VFFRkfbu3auYmBgZhmF3OX7l5OSocePG2rVrl2JjY+0ux3Hoj3/0xj964x+98Y/e+EdvykZ//KM3/tEba5mmqWPHjikhIUE1apR9109QXwmqUaOGkpKS7C6jwmJjY/kCKAP98Y/e+Edv/KM3/tEb/+hN2eiPf/TGP3pjnfKuAHmxMAIAAAAAVyEEAQAAAHAVQpAFIiIiNGHCBEVERNhdiiPRH//ojX/0xj964x+98Y/elI3++Edv/KM3zhXUCyMAAAAAQGVxJQgAAACAqxCCAAAAALgKIQgAAACAqxCCAAAAALgKISjA1qxZoxtuuEEJCQkyDENLliyxuyRblNeHxYsX67rrrlNcXJwMw1BWVpYtddphypQpuvLKKxUTE6MGDRropptu0rfffuuzj1v7M3v2bLVr1674j8x17txZy5cvLx53a19KM2XKFBmGobFjxxZvc3N/Jk6cKMMwfN4aNWpUPO7m3kjSnj17dOedd6pevXqKiopShw4dtGXLluJxt/anadOmJT5vDMPQqFGjJLm3L5JUUFCg//3f/1WzZs0UGRmpiy66SE8++aSKioqK93Fzf44dO6axY8eqSZMmioyMVJcuXbRp06bicTf3xqkIQQGWm5ur9u3ba9asWXaXYqvy+pCbm6vk5GQ9++yzFldmv8zMTI0aNUoff/yx0tPTVVBQoGuvvVa5ubnF+7i1P0lJSXr22We1efNmbd68Wb/5zW/Ur18/bd26VZJ7+3K2TZs26eWXX1a7du18tru9P23atNG+ffuK37788sviMTf35vDhw0pOTlZYWJiWL1+ur7/+WtOmTdMFF1xQvI9b+7Np0yafz5n09HRJ0i233CLJvX2RpOeee05z5szRrFmz9M0332jq1Kl6/vnn9ac//al4Hzf356677lJ6err+/ve/68svv9S1116rnj17as+ePZLc3RvHMmEZSeY777xjdxm2K6sPO3bsMCWZn332maU1OcmBAwdMSWZmZmaJMfpjmnXq1DH/+te/+mxzc1+OHTtmtmjRwkxPTzdTUlLMMWPGlNjHjf2ZMGGC2b59+3L3c2Nvxo8fb1599dUV2teN/TnTmDFjzObNm5tFRUU+293Ylz59+pgjRozw2ZaWlmbeeeedJfZ1W39OnDhhhoSEmMuWLfPZ3r59e/Pxxx/32ea23jgZV4IAhzl69KgkqW7dujZX4iyFhYV68803lZubq86dO9tdjmOMGjVKffr0Uc+ePe0uxXG2b9+uhIQENWvWTLfddpu+//57u0tyhKVLl6pTp0665ZZb1KBBA3Xs2FF/+ctf7C7LcU6dOqXXX39dI0aMkGEYdpdju6uvvloffvihtm3bJkn6/PPPtW7dOvXu3dvmyuxXUFCgwsJC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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#plot the results\n", + "\n", + "# Creating the plot\n", + "plt.figure(figsize=(10, 6))\n", + "plt.plot(sorted_roll_hundred.index, sorted_roll_hundred['value'],marker='o', linestyle='-', color='r') # Plot using columns\n", + "plt.title('Line Plot of Dice Rolls Sorted by Values')\n", + "plt.xlabel('Rolls')\n", + "plt.ylabel('Values')\n", + "plt.xticks(range(1, 101, 10)) # Adjust based on your actual roll numbers\n", + "plt.yticks(range(1, 7))\n", + "plt.grid(True)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "This plot displays a non-decreasing line, as the values are sorted from the smallest to the largest. \n", + "The y-axis shows dice values from 1 to 6, and each point represents a dice result in ascending order. \n", + "The x-axis now effectively becomes an index representing the position in the sorted list rather than the original roll number.\n", + "\n", + "Looking at this plot I can see that it visually demonstrates the frequency and spread of the dice outcomes in a clear, sorted manner.\n", + "I can tell that, in the 100 attempts, there seems to be a higher frequency of outcomes for number 6 and for, followed by 2, and the other numbers have a rather balanced freqency\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Using the functions you defined in *challenge 2*, calculate the mean value of the hundred dice rolls." + ] + }, + { + "cell_type": "code", + "execution_count": 159, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.74" + ] + }, + "execution_count": 159, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "mean_calculation(roll_the_dice_hundred['value'])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 162, + "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", + "
frequency
value
112
217
314
422
512
623
\n", + "
" + ], + "text/plain": [ + " frequency\n", + "value \n", + "1 12\n", + "2 17\n", + "3 14\n", + "4 22\n", + "5 12\n", + "6 23" + ] + }, + "execution_count": 162, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "frequency = roll_the_dice_hundred['value'].value_counts().sort_index()\n", + "frequency = frequency.to_frame(name='frequency')\n", + "frequency" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- Plot the histogram. What do you see (shape, values...) ? How can you connect the mean value to the histogram? " + ] + }, + { + "cell_type": "code", + "execution_count": 169, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAIhCAYAAABwnkrAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSVElEQVR4nO3dd3wUdeL/8fduskk2IYUkhBBKQLo0BRRBpIhwgnICng2QIvwsWEHlK5Yj3FEUTg7Pgu0E4Q7FAsrdiYhKUQGPIlVEUCCUhBAS0hOS7Pz+QHJkQ8uQySTL6/l47CPs7MzOe3eySd58Zj/rMAzDEAAAAACghNPuAAAAAABQ1VCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAOA85s6dK4fDoQ0bNpzx9ptvvlkNGzYstaxhw4YaMWJEufazZs0aJSQk6Pjx4+aCXoIWLlyoVq1aye12y+FwaPPmzWdd99lnn9XNN9+sunXryuFwnPP4/Prrrxo0aJAiIiJUo0YN9e7dW5s2bTrjuu+//76uuOIKBQUFKS4uTo899piys7PPm33fvn1yOBwlF5fLpaioKF111VUaO3asduzYUWablStXyuFwaOXKlee9/4rUsGHDUllDQkLUvn17vfLKKzIMw/R9nn4MTj0fc+fOrZjQAHCRKEoAYIHFixfrueeeK9c2a9as0aRJkyhKF+jo0aO6++671bhxY33++edau3atmjVrdtb1//rXv+rYsWP6/e9/r4CAgHPe73XXXaeff/5Z77zzjj744APl5+erR48e2rVrV6l1//nPf+quu+7SVVddpaVLl2rixImaO3euBg0adMGP4+GHH9batWu1atUqzZ8/XwMGDNCSJUvUrl07zZgxo9S67du319q1a9W+ffsLvv+Kcu2112rt2rVau3at5s+fr+DgYD388MOaNm1apWcBgMrgb3cAAPBFV155pd0Ryq2wsFAOh0P+/tXjV8PPP/+swsJCDR06VN27dz/v+llZWXI6T/7/4Pz588+63owZM3T06FGtWbNG8fHxkqSuXbuqcePG+uMf/6iFCxdKkoqLi/Xkk0+qT58+euuttyRJPXv2VGhoqIYMGaKlS5eqb9++583VoEEDXXPNNSXX+/Xrp3HjxmnQoEEaP368WrduXXI/YWFhpdatTBEREaX2fcMNN6hBgwZ644039PTTT9uSCQCsxIgSAFjA+7Qij8ejyZMnq3nz5nK73YqIiFDbtm310ksvSZISEhL05JNPSpIaNWpUcorTqVOsPB6Ppk+frhYtWigwMFAxMTEaNmyYDh48WGq/hmFo6tSpio+PV1BQkDp27Kjly5erR48e6tGjR8l6p07hmj9/vh5//HHVrVtXgYGB2rNnj44ePaoxY8bo8ssvV40aNRQTE6Prr79e33zzTal9nTpVasaMGXrhhRfUsGFDud1u9ejRo6TEPPXUU4qLi1N4eLgGDhyolJSUC3r+lixZos6dOys4OFihoaHq3bu31q5dW3L7iBEj1LVrV0nSHXfcIYfDUerxncmpknQ+ixcv1vXXX19SkqSTBWXQoEH617/+paKiIknSunXrlJSUpJEjR5ba/rbbblONGjW0ePHiC9rfmbjdbv3973+Xy+UqNap0tlPvvv/+e/Xv319RUVEKCgpS48aN9dhjj5VaZ/fu3Ro8eLBiYmIUGBioli1b6tVXXzWdMSwsTM2aNdORI0dKLU9LS9OYMWNUt25dBQQE6LLLLtMzzzyjgoKCcu/j6NGjuvfee1W/fn0FBgaqVq1auvbaa/Xll1+azg0AF6p6/LchAFQBxcXFJX8kn+5C3qMxffp0JSQk6Nlnn1W3bt1UWFion376qeQ0u9GjRystLU0vv/yyFi1apDp16kiSLr/8cknSAw88oDfffFMPPfSQbr75Zu3bt0/PPfecVq5cqU2bNik6OlqS9Mwzz2jatGm69957NWjQIB04cECjR49WYWHhGU9LmzBhgjp37qzXX39dTqdTMTExOnr0qCRp4sSJio2NVXZ2thYvXqwePXroq6++KlNIXn31VbVt21avvvqqjh8/rscff1z9+/dXp06d5HK59M4772j//v164oknNHr0aC1ZsuScz9WCBQs0ZMgQ9enTR++9954KCgo0ffr0kv137dpVzz33nK6++mo9+OCDmjp1qnr27KmwsLDzHofzycvL0y+//KKBAweWua1t27bKy8vTr7/+qmbNmmn79u0ly0/ncrnUokWLktvNiouLU4cOHbRmzRoVFRWddaRv2bJl6t+/v1q2bKmZM2eqQYMG2rdvn7744ouSdX788Ud16dJFDRo00IsvvqjY2FgtW7ZMjzzyiFJT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Xbt26U9/+pMaNWp0xln/KpLT6dT06dM1ZMgQ3XzzzbrvvvtUUFCgGTNm6Pjx43r++edN3/eqVatKTlUrLi7W/v379dFHH0mSunfvXjI688QTT2j+/Pm66aab9Kc//UmBgYF6/vnnlZ+fr4SEhJL78/Pz0/Tp03X33Xfrvvvu01133aXdu3dr/Pjx6t27t2688cYLypWYmKh169bJ4/EoIyNDP/zwQ8lMgS+++KL69Olzzu1fffVV9e/fX9dcc43Gjh2rBg0aKDExUcuWLdM///lPSSe/p7p27arrrrtODzzwgBo2bKisrCzt2bNH//rXv/T111+X9+ksea5ef/11TZo0SbfffruGDRumV199VcOHD9e+ffvUpk0bffvtt5o6dar69eunG2644YLvOyMjQz179tTgwYPVokULhYaGav369fr8888vqoQCwAWzeTIJAKjyTs16t379+jPeftNNN5131rsXX3zR6NKlixEdHW0EBAQYDRo0MEaNGmXs27ev1HYTJkww4uLiDKfTWWp2s+LiYuOFF14wmjVrZrhcLiM6OtoYOnSoceDAgVLbezweY/LkyUa9evWMgIAAo23btsa///1vo127dqVmrDvXjHEFBQXGE088YdStW9cICgoy2rdvb3zyySfG8OHDSz3Os83adrb7Pt/zeLpPPvnE6NSpkxEUFGSEhIQYvXr1Mr777rsL2s/ZdO/e/ayzFp4+i5xhGMaePXuMAQMGGGFhYUZwcLDRq1cvY+PGjWe83wULFhht27Y1AgICjNjYWOORRx4xsrKyzpvn1PN36uLn52fUrFnT6NChg/HYY48ZO3bsKLPNmWa9M4yTMxv27dvXCA8PNwIDA43GjRsbY8eOLbO/e+65x6hbt67hcrmMWrVqGV26dDEmT5583qzx8fHGTTfddMbbXn31VUOS8e677xqGYRjHjh0z7r//fqNOnTqGv7+/ER8fb0yYMMHIz88vc5/nmvUuPz/fuP/++422bdsaYWFhhtvtNpo3b25MnDjRyMnJOW9mALhYDsO4gA8AAQBUW3v37lWLFi00ceJEPf3003bHAQCgWqAoAYAP2bJli9577z116dJFYWFh2rVrl6ZPn67MzExt3779rLPfAQCA0niPEgD4kJCQEG3YsEF///vfdfz4cYWHh6tHjx6aMmUKJQkAgHJgRAkAAAAAvDA9OAAA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c9dddyk2NlYDBgzQd999p19//VUff/yx1q5dK0n64x//qHnz5ikhIUE7duzQzp07tXDhQj377LPnzOJwODRy5EjNnj1ba9eu1ahRo0pua9KkiTZs2KBly5bp559/1nPPPaf169ef8/6uv/56zZ8/X9988422b9+u4cOHy8/Pr+T2G264QZ07d9aAAQO0bNky7du3T2vWrNGzzz6rDRs2KC8vTw899JBWrlyp/fv367vvvtP69evVsmXLC316AQCVhKIEAKhQn3/+uerUqaOGDRvqxhtv1IoVK/S3v/1Nn376aalScbqAgAB98cUXiomJUb9+/dSmTRs9//zzJev/7ne/07///W8tX75cV111la655hrNnDlT8fHx580zYsQIZWRkqHnz5rr22mtLlt9///0aNGiQ7rjjDnXq1EnHjh0rNbp0JhMmTFC3bt108803q1+/fhowYECp9xc5HA599tln6tatm+655x41a9ZMd955p/bt26fatWvLz89Px44d07Bhw9SsWTPdfvvt6tu3b6lJJQAAVYPD8D7ZGgAAAAAucYwoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAICX/w9TmU+cOigTJgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "text/plain": [ + "3.74" + ] + }, + "execution_count": 169, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(roll_the_dice_hundred['value'], bins=range(1, 8), align='left', color='purple', edgecolor='black') # \n", + "plt.title('Histogram of 100 Dice Rolls')\n", + "plt.xlabel('Dice Values')\n", + "plt.ylabel('Frequency')\n", + "plt.xticks(range(1, 7))\n", + "plt.grid(True)\n", + "plt.axvline(mean_value, color='orange', linestyle='dashed', linewidth=1) # Add a vertical line for the mean on the histogram\n", + "plt.text(mean_value+0.1, plt.ylim()[1]-5, f'Mean: {mean_value:.2f}', color = 'red')\n", + "plt.show()\n", + "# Calculate the mean value of dice rolls\n", + "mean_value = mean_calculation(roll_the_dice_hundred['value'])\n", + "mean_value\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Shape: The histogram shows bars corresponding to each of the six dice values (1 through 6). \n", + "The height of each bar represents the number of times each value was rolled.\n", + "Values: Each bar's height (frequency) shows how often that particular result was rolled in the 100 trials. \n", + "Looking at the histogram, we can see that, in these 100 rolls, the numbers 4 and 6 showed up way more often—22 and 23 times, respectively—\n", + "compared to the others, which appeared only 12 to 17 times each. \n", + "Looking at the mean in the plot, we can see that it is, indeed, slighlty skewed to the right\n", + "Normally, you'd expect each number to come up about 16 or 17 times if the dice rolls were completely random and the dice was fair. \n", + "The higher counts for 4 and 6 might just be chance, or it might mean something's off with the dice or how we're rolling it. \n", + "To really figure out what's happening, I'd probably need to do more rolls or check out the dice and how we're rolling more closely\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 5.- Read the `roll_the_dice_thousand.csv` from the `data` folder. Plot the frequency distribution as you did before. Has anything changed? Why do you think it changed?" + ] + }, + { + "cell_type": "code", + "execution_count": 172, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZpUlEQVR4nO3dd3xUVf7/8fekTQoJLYQkEkIH6QIuRYUg0ouASlOptpXFAqzfxbIEVwFhRVlY0VVpIsWG4iogKkUFXEBBQKV3EppAEgghydzfH/fHyJgEmCHJzcy8no/HPI63zJ3PzSEwb8+ZMzbDMAwBAAAAAK5ZgNUFAAAAAIC3IUgBAAAAgJsIUgAAAADgJoIUAAAAALiJIAUAAAAAbiJIAQAAAICbCFIAAAAA4CaCFAAAAAC4iSAFAAAAAG4iSAGAG2bPni2bzaaNGzfme7xbt26qUqWKy74qVapo8ODBbr3O2rVrlZycrDNnznhWqB9atGiR6tWrp7CwMNlsNm3evLnAc5999ll169ZNN9xwg2w22xX7Z+/everdu7fKlCmjUqVKqX379vrhhx/yPXfhwoVq3LixQkNDFR8fryeeeEIZGRl5zsvIyNATTzyh+Ph4hYaGqnHjxlq4cOE13WdycrJsNpvzER4erkqVKqljx46aNm2a0tPT8zxn8ODBef5cFrVVq1a51BkYGKgKFSqoe/fuBf7+XOs1V61a5dx36ecBAMWNIAUARWzx4sV67rnn3HrO2rVrNW7cOILUNTpx4oTuv/9+Va9eXcuWLdO6detUq1atAs9/5ZVXdOrUKfXo0UMhISFXvO5tt92mnTt3aubMmXrvvfd04cIFJSUlaceOHS7nvvvuu+rfv79uvvlmLV26VGPHjtXs2bPVu3fvPNft3bu35syZo7Fjx2rp0qW6+eab1b9/f82fP/+a7/nSfS5btkz//Oc/VblyZT311FOqV6+etmzZ4nLuc889p8WLF1/ztQvT+PHjtW7dOq1atUrPPfec1q5dqzZt2mjXrl2W1AMAhSXI6gIAwNfddNNNVpfgtuzsbNlsNgUFecc/Ezt37lR2drbuu+8+tWnT5qrnp6enKyDA/H+J77zzToHnTZ48WSdOnNDatWuVmJgoSbr11ltVvXp1/f3vf9eiRYskSbm5ufrrX/+qDh066M0335QktW3bVpGRkbr33nu1dOlSde7cWZL0+eefa8WKFZo/f7769+/vPPfAgQP661//qr59+yowMPCq99C0aVNFR0c7t/v166e//OUvatOmjXr06KGdO3fKbrdLkqpXr37V6xWVmjVrqkWLFpKk2267TWXKlNGgQYM0b948jRs3zrK6AOB6MSIFAEXsj1P7HA6HXnjhBdWuXVthYWEqU6aMGjZsqKlTp0oypyr99a9/lSRVrVrVOTXq0nQmh8OhSZMmqU6dOrLb7YqJidHAgQN1+PBhl9c1DEPjx49XYmKiQkND1axZM61YsUJJSUlKSkpynndputQ777yjUaNG6YYbbpDdbtfu3bt14sQJPfroo6pbt65KlSqlmJgY3X777frmm29cXmv//v2y2WyaPHmyXnrpJVWpUkVhYWFKSkpyhpy//e1vio+PV+nSpdWrVy8dP378mn5+S5YsUcuWLRUeHq7IyEi1b99e69atcx4fPHiwbr31VklS3759ZbPZXO4vP5dC1NUsXrxYt99+uzNESVJUVJR69+6tTz/9VDk5OZKk9evXKyUlRUOGDHF5/j333KNSpUq5jAYtXrxYpUqV0j333ONy7pAhQ3T06FF9//3311Rbfho1aqRnnnlGBw8edIY8Kf+pfQ6HQ9OmTVPjxo2dfw5btGihJUuWuJy3aNEitWzZUhERESpVqpQ6duyoH3/80eMamzVrJkk6duyYy/5vv/1W7dq1U2RkpMLDw9WqVSt99tlnHr3G119/raSkJJUvX15hYWGqXLmy7rrrLp0/f97jugHgjwhSAOCB3Nxc5eTk5HkYhnHV506aNEnJycnq37+/PvvsMy1atEjDhg1zTuN74IEHNGLECEnSRx99pHXr1mndunVq0qSJJOnPf/6z/u///k/t27fXkiVL9I9//EPLli1Tq1atdPLkSefrPPPMM3rmmWfUqVMnffLJJ3rkkUf0wAMPaOfOnfnWNWbMGB08eFCvv/66Pv30U8XExOi3336TJI0dO1afffaZZs2apWrVqikpKcnlcyqX/Pvf/9Z3332nf//733rrrbf066+/qnv37ho2bJhOnDihmTNnatKkSfryyy/1wAMPXPVnNX/+fN15552KiorSggUL9Pbbb+v06dNKSkrSt99+K8mctvbvf/9b0u/TyF577bWrXvtqMjMztWfPHjVs2DDPsYYNGyozM1N79+6VJG3bts25/3LBwcGqU6eO8/ilc2+88cY8o32Xnnv5uZ7o0aOHJGnNmjVXPG/w4MF6/PHHdfPNN2vRokVauHChevToof379zvPGT9+vPr376+6devqvffe0zvvvKP09HTddttt+vnnnz2qb9++fZLkMvVy9erVuv3223X27Fm9/fbbWrBggSIjI9W9e3eXQHgt9u/fr65duyokJEQzZ87UsmXLNHHiREVEROjixYse1QwA+TIAANds1qxZhqQrPhITE12ek5iYaAwaNMi53a1bN6Nx48ZXfJ3Jkycbkox9+/a57P/ll18MScajjz7qsv/77783JBlPP/20YRiG8dtvvxl2u93o27evy3nr1q0zJBlt2rRx7lu5cqUhyWjduvVV7z8nJ8fIzs422rVrZ/Tq1cu5f9++fYYko1GjRkZubq5z/6uvvmpIMnr06OFynSeeeMKQZJw9e7bA18rNzTXi4+ONBg0auFwzPT3diImJMVq1apXnHt5///2r3sMfRUREuPTPJUeOHDEkGRMmTMhzbP78+YYkY+3atYZhGMaLL75oSDJSUlLynNuhQwejVq1azu2aNWsaHTt2zHPe0aNHDUnG+PHjr1jv2LFjDUnGiRMn8j2emZlpSDI6d+7s3Ddo0CCXP5dr1qwxJBnPPPNMga9z8OBBIygoyBgxYoTL/vT0dCM2Ntbo06fPFeu81CeLFi0ysrOzjfPnzxvfffedUbt2baNu3brG6dOnnee2aNHCiImJMdLT0537cnJyjPr16xuVKlUyHA6HyzVXrlyZ5+dxyQcffGBIMjZv3nzF+gDgejEiBQAemDt3rjZs2JDncWmK2ZX86U9/0pYtW/Too49q+fLlSktLu+bXXblypSTlWWXuT3/6k2688UZ99dVXksypZllZWerTp4/LeS1atChw9ba77ror3/2vv/66mjRpotDQUAUFBSk4OFhfffWVfvnllzzndunSxWXa3I033ihJ6tq1q8t5l/YfPHiwgDuVduzYoaNHj+r+++93uWapUqV01113af369cUyVetKK8L98VhB517reVc7di2MaxgVXbp0qSRp+PDhBZ6zfPly5eTkaODAgS6jrqGhoWrTpk2+I5L56du3r4KDgxUeHq5bbrlFaWlp+uyzz1SmTBlJ0rlz5/T999/r7rvvVqlSpZzPCwwM1P3336/Dhw/nWdjjSho3bqyQkBA99NBDmjNnjnPUEAAKG0EKADxw4403qlmzZnkepUuXvupzx4wZo3/+859av369OnfurPLly6tdu3bXtCT0qVOnJElxcXF5jsXHxzuPX2orVqyY57z89hV0zSlTpujPf/6zmjdvrg8//FDr16/Xhg0b1KlTJ2VmZuY5v1y5ci7bl1bEK2j/hQsX8q3l8nso6F4dDodOnz5d4POvV9myZWWz2Zx1XO7SlMdL91W+fHlJKvDcy++/fPny13RNTx04cECS+TMqyIkTJxQYGKjY2NgCz7n0Gaabb75ZwcHBLo9Fixa5TCO9kpdeekkbNmzQ6tWr9cwzz+jYsWPq2bOnsrKyJEmnT5+WYRgF9rOU/8+1INWrV9eXX36pmJgYDR8+XNWrV1f16tWdn0EEgMLiHcsxAYAPCQoK0siRIzVy5EidOXNGX375pZ5++ml17NhRhw4dUnh4eIHPvfSGPSUlRZUqVXI5dvToUecqbpfO++MH+iUpNTU131Gp/EZC5s2bp6SkJM2YMcNlf37fVVTYLr/XPzp69KgCAgJUtmzZInv9sLAw1ahRQ1u3bs1zbOvWrQoLC1O1atUkSQ0aNHDur1u3rvO8nJwc/frrr87V+S6du2DBAuXk5Lh8TurS69SvX/+66r60WMSVFtyoUKGCcnNzlZqamm+AkeT8s/TBBx+4LLbhrmrVqjkXmGjdurXCwsL07LPPatq0aRo9erTKli2rgICAAvv58lqu1W233abbbrtNubm52rhxo6ZNm6YnnnhCFStWVL9+/Ty+FwC4HCNSAGChMmXK6O6779bw4cP122+/OT/of2nZ6j+O+tx+++2SzIBzuQ0bNuiXX35Ru3btJEnNmzeX3W7P80H99evXO0csroXNZnPWcslPP/3ksmpeUaldu7ZuuOEGzZ8/32W62rlz5/Thhx86V/IrSr169dLXX3+tQ4cOOfelp6fro48+Uo8ePZxBqHnz5oqLi9Ps2bNdnv/BBx8oIyPD5bukevXqpYyMDH344Ycu586ZM0fx8fFq3ry5x/Vu2bJF48ePV5UqVfJM67zcpaXY/xiQL9exY0cFBQVpz549+Y6+XgpH7nrqqadUo0YNTZw4Uenp6YqIiFDz5s310Ucfufx5dzgcmjdvnipVqnTF7wS7ksDAQDVv3ty5GElBX6QMAJ5gRAoAiln37t1Vv359NWvWTBUqVNCBAwf06quvKjExUTVr1pT0+wjH1KlTNWjQIAUHB6t27dqqXbu2HnroIU2bNk0BAQHq3Lmz9u/fr+eee04JCQl68sknJZnTw0aOHKkJEyaobNmy6tWrlw4fPqxx48YpLi7umpf/7tatm/7xj39o7NixatOmjXbs2KHnn39eVatWdS79XVQCAgI0adIk3XvvverWrZsefvhhZWVlafLkyTpz5owmTpzo8bVXr16tEydOSDJXYDxw4IA++OADSVKbNm1UoUIFSdLo0aP1zjvvqGvXrnr++edlt9s1ceJEXbhwQcnJyc7rBQYGatKkSbr//vv18MMPq3///tq1a5eeeuoptW/fXp06dXKe27lzZ7Vv315//vOflZaWpho1amjBggVatmyZ5s2bd03fISVJmzZtUunSpZWdna2jR4/qq6++0jvvvKOYmBh9+umnV/yi4dtuu03333+/XnjhBR07dkzdunWT3W7Xjz/+qPDwcI0YMUJVqlTR888/r2eeeUZ79+5Vp06dVLZsWR07dkz/+9//FBER4dH3QAUHB2v8+PHq06ePpk6dqmeffVYTJkxQ+/bt1bZtW40ePVohISF67bXXtG3bNi1YsMCtz429/vrr+vrrr9W1a1dVrlxZFy5c0MyZMyVJd9xxh9v1AkCBLF7sAgC8yqVV+zZs2JDv8a5du1511b6XX37ZaNWqlREdHW2EhIQYlStXNoYNG2bs37/f5Xljxowx4uPjjYCAAJeVynJzc42XXnrJqFWrlhEcHGxER0cb9913n3Ho0CGX5zscDuOFF14wKlWqZISEhBgNGzY0/vvf/xqNGjVyWXHvSiveZWVlGaNHjzZuuOEGIzQ01GjSpInx8ccf51kF7tKqfZMnT3Z5fkHXvtrP8XIff/yx0bx5cyM0NNSIiIgw2rVrZ3z33XfX9DoFadOmTYGrLl6+IpxhGMbu3buNnj17GlFRUUZ4eLjRrl07Y9OmTfled/78+UbDhg2NkJAQIzY21njsscdcVqK7JD093XjssceM2NhYZ98sWLDgmmq/tErdpYfdbjfi4uKMDh06GFOnTjXS0tLyPOeP/WUY5p+jV155xahfv74REhJilC5d2mjZsqXx6aefupz38ccfG23btjWioqIMu91uJCYmGnfffbfx5ZdfXrHOq/VJ8+bNjbJlyxpnzpwxDMMwvvnmG+P22283IiIijLCw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vjJlyhRVibiKqKgo/nLwMfSpb6JffQ996pvoV99Dnxa/0qVLX/Ucr19sIiQkRE2bNtWKFStc9q9YscJlqh8AAAAAFBavH5GSpJEjR+r+++9Xs2bN1LJlS/3nP//RwYMH9cgjj1hdGgAAAAAf5BNBqm/fvjp16pSef/55paSkqH79+vr888+VmJhodWm4ArvdrrFjx+aZZgnvRZ/6JvrV99Cnvol+9T30acnm9av2AQAAAEBx8/rPSAEAAABAcSNIAQAAAICbCFIAAAAA4CaCFAAAAAC4iSCFYrdmzRp1795d8fHxstls+vjjj60uCddpwoQJuvnmmxUZGamYmBj17NlTO3bssLosXIcZM2aoYcOGzi+BbNmypZYuXWp1WShEEyZMkM1m0xNPPGF1KbgOycnJstlsLo/Y2Firy0IhOHLkiO677z6VL19e4eHhaty4sTZt2mR1WbgMQQrF7ty5c2rUqJGmT59udSkoJKtXr9bw4cO1fv16rVixQjk5OerQoYPOnTtndWnwUKVKlTRx4kRt3LhRGzdu1O23364777xT27dvt7o0FIINGzboP//5jxo2bGh1KSgE9erVU0pKivOxdetWq0vCdTp9+rRuueUWBQcHa+nSpfr555/18ssvq0yZMlaXhsv4xPdIwbt07txZnTt3troMFKJly5a5bM+aNUsxMTHatGmTWrdubVFVuB7du3d32X7xxRc1Y8YMrV+/XvXq1bOoKhSGjIwM3XvvvXrzzTf1wgsvWF0OCkFQUBCjUD7mpZdeUkJCgmbNmuXcV6VKFesKQr4YkQJQ6M6ePStJKleunMWVoDDk5uZq4cKFOnfunFq2bGl1ObhOw4cPV9euXXXHHXdYXQoKya5duxQfH6+qVauqX79+2rt3r9Ul4TotWbJEzZo10z333KOYmBjddNNNevPNN60uC39AkAJQqAzD0MiRI3Xrrbeqfv36VpeD67B161aVKlVKdrtdjzzyiBYvXqy6detaXRauw8KFC/XDDz9owoQJVpeCQtK8eXPNnTtXy5cv15tvvqnU1FS1atVKp06dsro0XIe9e/dqxowZqlmzppYvX65HHnlEjz32mObOnWt1abgMU/sAFKq//OUv+umnn/Ttt99aXQquU+3atbV582adOXNGH374oQYNGqTVq1cTprzUoUOH9Pjjj+uLL75QaGio1eWgkFw+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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "thousand_rolls = pd.read_csv('data/roll_the_dice_thousand.csv')\n", + "mean_thousand = mean_calculation(thousand_rolls['value'])\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(thousand_rolls['value'], bins=range(1, 8), align='left', color='green', edgecolor='black') # \n", + "plt.title('Histogram of 1000 Dice Rolls')\n", + "plt.xlabel('Dice Values')\n", + "plt.ylabel('Frequency')\n", + "plt.xticks(range(1, 7))\n", + "plt.grid(True)\n", + "plt.axvline(mean_thousand, color='blue', linestyle='dashed', linewidth=1) # Add a vertical line for the mean on the histogram\n", + "plt.text(mean_thousand+0.1, plt.ylim()[1]-5, f'Mean: {mean_thousand:.2f}', color = 'blue')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "This confirms my previous comment: by doing more rolls, \n", + "I can see how the plot is now a lot less skewed and the results are a lot more uniform and balanced\n", + "Considering that for a fair six-sided die, the theoretical mean is expected to be 3.5, calculated as (1+2+3+4+5+6)/6,\n", + "For a fair six-sided die, the theoretical mean is expected to be 3.5, calculated as (1+2+3+4+5+6)/6.\n", + "Observing the Mean in the Histogram:\n", + "A histogram with the mean close to 3.5 and nearly equal bar heights indicates a uniform distribution,\n", + "suggesting that the dice rolls are fair and random. \n", + "I can see how, as the sample size increases (e.g., 1000 rolls), the calculated mean tends to approach the theoretical mean.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 4\n", + "In the `data` folder of this repository you will find three different files with the prefix `ages_population`. These files contain information about a poll answered by a thousand people regarding their age. Each file corresponds to the poll answers in different neighbourhoods of Barcelona.\n", + "\n", + "#### 1.- Read the file `ages_population.csv`. Calculate the frequency distribution and plot it as we did during the lesson. Try to guess the range in which the mean and the standard deviation will be by looking at the plot. " + ] + }, + { + "cell_type": "code", + "execution_count": 190, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "observation\n", + "1 2\n", + "2 2\n", + "4 1\n", + "5 2\n", + "6 2\n", + " ..\n", + "69 1\n", + "70 1\n", + "71 1\n", + "73 1\n", + "82 1\n", + "Name: count, Length: 72, dtype: int64" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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mjVrZhw4cCBg3O9//3tDkrFnzx7DMAx//eeff75x+vRp/7h3333XkGSsXLnSv61z585G586dDa/XW2m/Fi9ebEgyPvjggwrHWrp0aaWPM4zver169epKx/Tv399wOp0Vzlfeo507dxqSjFdffbXKczVt2jSgX+bj3XDDDZXuO/PrMXjwYEOS8fe//z1g7C9/+UvDbrf7+19+bZs3bw4YV97/M7+nJ0+ebFT2K4X563zPPfcYkox///vfAeNuu+02w2azGXl5eQHnqcnXGQDqAh+9A4AqLFq0SE6nU9ddd50kqVmzZrrmmmv0xhtvaN++ff5xW7duVWJion74wx8GPN78LsV///tf7d271//H/adPn/bfRo4cqcOHDysvL0+SdNFFF2n9+vW65557tGXLFnm93lrV/vjjj2vHjh0Bt44dO/r3/+hHPwp416E2tW3evFmXX3652rVr5398o0aNgr6DVlOvvfaahg4dqpSUlIBzjxgxQlJZj880atQoNWrUyH+/V69ekuSfae7jjz/WJ598optvvlnx8fGVnvfnP/+52rZt6//4mCT96U9/Ups2bc7qesoZhlHl/i5duqhly5aaPn26Fi5cqI8++iik8/z0pz+t8djExET96Ec/Ctg2btw4+Xy+Kt/9CodNmzbp+9//vi666KKA7TfeeKMMw9CmTZsCtlf3dQaAukJQAoBK/Pe//9W2bds0atQoGYah48eP6/jx4/4ptstnwpOko0ePBoSGcuZtX3zxhSTprrvuUlxcXMBt0qRJkiSPxyOp7KNx06dP16uvvqqhQ4eqVatWGjNmTEBAq8p5552nfv36BdzOnKzB/NGo2tR29OhRJScnVzhnsG019cUXX+gf//hHhXP36NEj4NzlzDP4lV9beaD88ssvJUkdOnSo8rwOh0MTJ07UihUrdPz4cX355Zd6+eWXdcstt4Rlcgu3262UlJRK97do0UJbt27VD37wA913333q0aOHUlJS9MADD6ikpKTG56nNzHbBvlfLv3Y1/WhnqI4ePRq01vIemc9f3dcZAOoKf6MEAJV48cUXZRiG/vrXv+qvf/1rhf1Lly7VrFmz1KhRI7Vu3VrvvvtuhTH5+fkB95OSkiRJ9957r8aOHRv0vN26dZMkNW3aVA8++KAefPBBffHFF/53l0aPHq29e/ee7eXJZrOFXFvr1q0rXJtU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k8vl0hNPPKEnn3xSf/rTn/xj6KskA5aTZLzyyitWlxG1qurf/v37DUnGBx98UK81RbsjR44YkoytW7dW2EdPQ9eyZUvjhRdeCNhGP2vv5MmTRnp6upGTk2MMHjzYmDJlSoUx9LVmHnjgAaN3797VjqOfNTd9+nTjkksuqdFY+hqaKVOmGJ07dzZ8Pl/AdvpZc6NGjTImTJgQsG3s2LFGVlZWhbENua+8owSggq+//lqS1KpVK4sriQ2lpaVatWqVCgoKNGDAAKvLiXqTJ0/WqFGjdMUVV1hdSkzYt2+fUlJSlJaWpuuuu07/+9//rC4pqq1du1b9+vXTNddco7Zt26pPnz56/vnnrS4rZpw6dUrLly/XhAkTZLPZrC4nal1yySX617/+pY8//liSlJubqzfffFMjR460uLLI0tjqAgBEFsMwNG3aNF1yySXq2bOn1eVEtQ8//FADBgxQUVGRmjVrpldeeUXf//73rS4rqq1atUrvv/++duzYYXUpMaF///5atmyZunbtqi+++EKzZs3SwIEDtWfPHrVu3drq8qLS//73Pz3zzDOaNm2a7rvvPr377ru6/fbb5XA4dMMNN1hdXtR79dVXdfz4cd14441WlxLVpk+frq+//lrdu3dXo0aNVFpaqkceeUQ///nPrS4tohCUAAT49a9/rd27d+vNN9+0upSo161bN+3atUvHjx/X3/72N40fP15bt24lLIXos88+05QpU7Rx40bFx8dbXU5MGDFihP//zz//fA0YMECdO3fW0qVLNW3aNAsri14+n0/9+vXT7NmzJUl9+vTRnj179MwzzxCUwmDRokUaMWKEUlJSrC4lqr300ktavny5VqxYoR49emjXrl2aOnWqUlJSNH78eKvLixgEJQB+v/nNb7R27Vpt27ZNHTp0sLqcqNekSRN16dJFktSvXz/t2LFDf/jDH/Tss89aXFl0eu+993TkyBFdcMEF/m2lpaXatm2b5s2bp+LiYjVq1MjCCqNf06ZNdf7552vfvn1WlxK12rdvX+EfQzIyMvS3v/3Noopix4EDB/R///d/WrNmjdWlRL3f/va3uueee3TddddJKvuHkgMHDujRRx8lKJ2BoARAhmHoN7/5jV555RVt2bJFaWlpVpcUkwzDUHFxsdVlRK3LL788YEY2SbrpppvUvXt3TZ8+nZAUBsXFxXK5XLr00kutLiVqDRo0qMLyCh9//LE6depkUUWxY/HixWrbtq1GjRpldSlRr7CwUHZ74FQFjRo1CpgeHAQly3zzzTf673//67+/f/9+7dq1S61atVJqaqqFlUWH6vr31Vdfye1269ChQ5Lkf9FKTk4OWCMEZSZPnqwVK1bo73//uxITE5Wfny9JatGihZxOpyTR01q67777NGLECHXs2FEnT57UqlWrtGXLFr3++uuS6GcoEhMTK/zdXNOmTdW6dWv/dvpaO3fddZdGjx6t1NRUHTlyRLNmzdKJEyf8/6JMP2vvjjvu0MCBAzV79mz97Gc/07vvvqvnnntOzz33nH8Mfa09n8+nxYsXa/z48WrcOPDXV/pZe6NHj9Yjjzyi1NRU9ejRQx988IHmzJmjCRMm+MfQVzE9uFU2b95sSKpwGz9+vNWlRYXq+rd48eKg+x944AFL645UwXolyVi8eLF/DD2tnQkTJhidOnUymjRpYrRp08a4/PLLjY0bN/r308/wME8PTl9r59prrzXat29vxMXFGSkpKcbYsWONPXv2+PfTz9D84x//MHr27Gk4HA6je/fuxnPPPRewn77W3oYNGwxJRl5eXoV99LP2Tpw4YUyZMsVITU014uPjjfPOO8+YMWOGUVxc7B9DXw3DZhiGEbbUBQAAAAAxgHWUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBACIOtu3b1ejRo30wx/+0OpSAAAxymYYhmF1EQAA1MYtt9yiZs2a6YUXXtBHH32k1NRUq0sCAMQY3lECAESVgoICvfzyy7rtttt01VVXacmSJQH7165dq/T0dDmdTg0dOlRLly6VzWbT8ePH/WO2b9+uzMxMOZ1OdezYUbfffrsKCgr8+xcsWKD09HTFx8erXbt2uvrqq+vp6gAAkYKgBACIKi+99JK6deumbt26KSsrS4sXL1b5hyM+/fRTXX311RozZox27dqliRMnasaMGQGP//DDD3XllVdq7Nix2r17t1566SW9+eab+vWvfy1J2rlzp26//XY99NBDysvL0+uvv67MzMx6v04AgLX46B0AIKoMGjRIP/vZzzRlyhSdPn1a7du318qVK3XFFVfonnvu0T//+U99+OGH/vH333+/HnnkER07dkznnHOObrjhBjmdTj377LP+MW+++aYGDx6sgoICrVu3TjfddJM+//xzJSYmWnGJAIAIwDtKAICokZeXp3fffVfXXXedJKlx48a69tpr9eKLL/r3X3jhhQGPueiiiwLuv/fee1qyZImaNWvmv1155ZXy+Xzav3+/hg0bpk6dOum8887TL37xC/3lL39RYWFh/VwgACBiNLa6AAAAamrRokU6ffq0vve97/m3GYahuLg4HTt2TIZhyGazBTzG/MEJn8+niRMn6vbbb69w/NTUVDVp0kTvv/++tmzZoo0bN+p3v/udsrOztWPHDp1zzjl1cl0AgMhDUAIARIXTp09r2bJleuqppzR8+PCAfT/96U/1l7/8Rd27d9e6desC9u3cuTPgft++fbVnzx516dKl0nM1btxYV1xxha644go98MADOuecc7Rp0yaNHTs2fBcEAIhoBCUAQFR47bXXdOzYMd18881q0aJFwL6rr75aixYt0po1azRnzhxNnz5dN998s3bt2uWfFa/8nabp06fr4osv1uTJk/XLX/5STZs2lcvlUk5Ojv70pz/ptdde0//+9z9lZmaqZcuWWrdunXw+n7p161bflwwAsBB/owQAiAqLFi3SFVdcUSEkSWXvKO3atUvHjh3TX//6V61Zs0a9evXSM88845/1zuFwSJJ69eqlrVu3at++fbr00kvVp08fzZw5U+3bt5cknXPOOVqzZo0uu+wyZWRkaOHChVq5cqV69OhRfxcLALAcs94BAGLaI488ooULF+qzzz6zuhQAQBTho3cAgJiyYMECXXjhhWrdurXeeustPfnkk/41kgAAqCmCEgAgpuzbt0+zZs3SV199pdTUVN1555269957rS4LABBl+OgdAAAAAJgwmQMAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAAJP/B/NOplCbG1ZuAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages = pd.read_csv('data/ages_population.csv')\n", + "ages['observation'] = ages['observation'].astype(int)\n", + "\n", + "frequency_count = ages['observation'].value_counts().sort_index()\n", + "display(frequency_count)\n", + "\n", + "# I will use the histogram to graph it\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(ages['observation'], bins=range(1, 85), align='left', color='orange', edgecolor='black') # \n", + "plt.title('Ages Frequency Distribution')\n", + "plt.xlabel('Ages')\n", + "plt.ylabel('Frequency')\n", + "plt.xticks(range(1, 82,10))\n", + "plt.grid(True)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "By observing the plot, it seems the bulk of the data is concentrated around the middle age groups. \n", + "This suggests that the mean age might be around the center of this distribution, possibly in the range of 30 to 45 years. \n", + "The spread of the data from the youngest to the oldest ages also indicates that the standard deviation might be moderately large, \n", + "perhaps around 15 to 25 years.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Calculate the exact mean and standard deviation and compare them with your guesses. Do they fall inside the ranges you guessed?" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean of the ages is 36.56. and the standard deviation is 12.816499625976762\n" + ] + } + ], + "source": [ + "# your code here\n", + "# Calculate mean and standard deviation\n", + "mean_age = ages['observation'].mean()\n", + "std_dev_age = ages['observation'].std()\n", + "print(f\"The mean of the ages is {mean_age}. and the standard deviation is {std_dev_age}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Mean Estimate: I guessed the mean would be in the range of 30 to 50 years. The actual mean of 36.56 years falls within this range.\n", + "Standard Deviation Estimate: I estimated the standard deviation might be between 15 to 25 years. \n", + "The actual standard deviation is about 12.82 years, which is slightly below the lower end of my estimated range.\n", + "So, while the mean fell within the predicted range, the standard deviation was a bit lower, \n", + "indicating a slightly tighter clustering of ages around the mean than initially assessed. \n", + "This suggests that the ages are less spread out than I thought based on the plot. ​\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now read the file `ages_population2.csv` . Calculate the frequency distribution and plot it." + ] + }, + { + "cell_type": "code", + "execution_count": 208, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "observation\n", + "19 3\n", + "20 13\n", + "21 17\n", + "22 35\n", + "23 41\n", + "24 78\n", + "25 98\n", + "26 120\n", + "27 125\n", + "28 139\n", + "29 115\n", + "30 90\n", + "31 61\n", + "32 31\n", + "33 22\n", + "34 7\n", + "35 3\n", + "36 2\n", + "Name: count, dtype: int64" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSwklEQVR4nO3deXhTZcL+8TspXdJSloLQVqCiLDKAHVEEQQsILaJsIooisoq8Kq4wKjqOZV5ExZ/gKwyor2zKAKKDuIFaR6AiOgpCUewgMyJlKWKhUGhLCeT5/cHbDKHrKWlzAt/PdfVycvIk5z5Pkjm9OSenDmOMEQAAAACg0pyBDgAAAAAAwYYiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAVfDyyy/L4XCoXbt2gY7iY/ny5br99tvVokULuVwuXXTRRbrjjju0ffv2Sj1+5MiRcjgcpf58+OGH1Zz+/HLmXEdFRemiiy5S//79NX/+fBUVFZV4TPfu3dW9e3dL6/nxxx+VmpqqX375xdLjzlzXL7/8IofDof/3//6fpeepyNSpU7VixYoSy9esWSOHw6E1a9b4dX0A4C+1Ah0AAILRvHnzJElbt27VP/7xD3Xq1CnAiU55/vnnFRsbqyeffFIXX3yxdu3apalTp6pDhw76+uuv1bZt2wqfw+Vy6fPPPy+x/NJLL62OyOe10+e6sLBQu3bt0qpVqzR27Fi9+OKL+vjjj9WkSRPv+NmzZ1tex48//qjJkyere/fuuuiiiyr9uKqsqyqmTp2qwYMHa+DAgT7LO3TooK+++kq/+93vaiQHAFhFkQIAizZs2KCMjAzdeOON+uijjzR37lzbFKkPPvhAjRo18ll23XXX6aKLLtKMGTP0+uuvV/gcTqdTnTt3rvQ6CwoKFBkZaTkrSp/r4cOHa9SoUerbt68GDx6sr7/+2ntfTZSK4tcz0AWmTp06lt6HAFDTOLUPACyaO3euJOm5555Tly5dtHTpUhUUFJQYt3v3bg0ePFjR0dGqV6+e7rjjDn377bdyOBxasGCBz9gNGzaof//+iomJUUREhC6//HItW7bMZ0xBQYEmTpyo5s2bKyIiQjExMbryyiu1ZMkS75gzS5QkxcfHq0mTJtq1a9dZb3tqaqocDoe+++47DR48WPXr19cll1wiSTLGaPbs2fr9738vl8ul+vXra/Dgwfr55599nsMYo2nTpikhIUERERHq0KGDVq1aVeJUsgULFsjhcJQ4Ja2sU74+++wz9ezZU3Xq1FFkZKS6du2qv//976Xm37p1q26//XbVrVtXjRs31ujRo3X48GGfsR6PRzNnzvRuT7169dS5c2e9//77kqQxY8YoJiam1Nf+uuuuq9TRv7KkpKRo7Nix+sc//qH09HTv8tJO7ZszZ44SExNVu3ZtRUdH69JLL9UTTzwh6dQc3nLLLZKkHj16eE8jLH7/de/eXe3atVN6erq6dOmiyMhIjR49usx1Fc/LM888o2bNmikiIkJXXnlliXkeOXJkqUe/iue/mMPhUH5+vhYuXOjNVrzOsl7n999/X1dffbUiIyMVHR2t5ORkffXVV6WupzKvMwBUFUUKACwoLCzUkiVL1LFjR7Vr106jR4/WkSNH9Pbbb/uMy8/PV48ePbR69Wo9//zzWrZsmRo3bqwhQ4aUeM7Vq1era9euOnTokF555RW99957+v3vf68hQ4b4FK5HHnlEc+bM0QMPPKCPP/5Yb775pm655RYdOHCg3Mw///yzdu7caekX+xMnTvj8nDx50uf+QYMGqUWLFnr77bf1yiuvSJLGjRunhx56SL169dKKFSs0e/Zsbd26VV26dNGvv/7qfezkyZP12GOPKTk5WStWrNA999yjsWPHatu2bZXOd6ZFixYpJSVFderU0cKFC7Vs2TLFxMSod+/eJX7Jl6Sbb75ZrVq10t/+9jc9/vjjWrx4sR5++GGfMSNHjtSDDz6ojh076q233tLSpUvVv39/b7F78MEHlZubq8WLF/s87scff9Tq1at13333VXl7JKl///6S5FOkzrR06VLde++96tatm959912tWLFCDz/8sPLz8yVJN954o6ZOnSpJ+stf/qKvvvpKX331lW688Ubvc2RnZ2vYsGEaOnSoVq5cqXvvvbfcXLNmzdLHH3+sl156SYsWLZLT6VSfPn1KlJnK+Oqrr+RyuXTDDTd4s5V3SuHixYs1YMAA1alTR0uWLNHcuXOVm5ur7t27a926dSXGV+Z1BoAqMwCASnvjjTeMJPPKK68YY4w5cuSIqV27trn22mt9xv3lL38xksyqVat8lo8bN85IMvPnz/cuu/TSS83ll19u3G63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v0EUHh6uyy+/vFrmp2vXrrr77rs1atQobdiwQUlJSYqKilJ2drbWrVun9u3b65577lH9+vU1ceJETZkyRXfddZduueUW7dq1S6mpqSVOGevYsaNat26tiRMn6sSJE6pfv77efffdEldnq127tmbOnKkRI0bo4MGDGjx4sBo1aqTffvtNGRkZ+u233ypViE537bXX6s4779SUKVP066+/qm/fvgoPD9emTZsUGRmp+++/3zu2Xr16Gj58uObMmaOEhAT169ev0uvxeDze16ioqEhZWVlatWqVli1bpjZt2pS4BP6Zxo4dK5fLpa5duyouLk779u3Ts88+q7p166pjx46STr03Jem1115TdHS0IiIi1Lx58xKnvVVWSEiIkpOT9cgjj8jj8ej5559XXl6eJk+e7B0zZMgQ/elPf9Jtt92mP/zhDzp27JhefvnlUr9D1b59e61Zs0YffPCB4uLiFB0dXeoRPafTqWnTpumOO+5Q3759NW7cOBUVFemFF17QoUOH9Nxzz1VpewCgygJ0kQsACCoDBw40YWFhZv/+/WWOue2220ytWrXMvn37jDHGZGVlmUGDBpnatWub6Ohoc/PNN5uVK1caSea9997zeWxGRoa59dZbTaNGjUxoaKiJjY011113nffqgMYY8/jjj5srr7zS1K9f34SHh5uLL77YPPzwwyYnJ8c7JiEhodSr7kkq9SpqZ6roSnLFV0P77bffSr1/3rx5plOnTiYqKsq4XC5zySWXmOHDh5sNGzZ4x3g8HvPss8+apk2bmrCwMHPZZZeZDz74oMRV4owx5qeffjIpKSmmTp065oILLjD333+/+eijj0q9Ct3atWvNjTfeaGJiYkxoaKi58MILzY033mjefvvtCvOXdoXAkydPmhkzZph27dqZsLAwU7duXXP11VebDz74oMR2r1mzxkgyzz33XJlzd6Yzr5DocrlMs2bNTL9+/cy8efNMUVFRicecOUcLFy40PXr0MI0bNzZhYWEmPj7e3HrrrWbLli0+j3vppZdM8+bNTUhIiM9VI7t162batm1bar6yrtr3/PPPm8mTJ5smTZqYsLAwc/nll5tPPvmkxONXrlxpfv/73xuXy2UuvvhiM2vWrFKv2rd582bTtWtXExkZ6XPlxjOv2ldsxYoVplOnTiYiIsJERUWZnj17mi+//NJnjJXXGQCqymFMJS4LBADwi6lTp+qPf/yjsrKy1KRJk0DHsZXT/xBrsJkwYYLmzJmjXbt2VflIDwAguHBqHwBUk1mzZkmSLr30Urndbn3++ed6+eWXNWzYMErUOeLrr7/WTz/9pNmzZ2vcuHGUKAA4j1CkAKCaREZGasaMGfrll19UVFSkZs2a6bHHHtMf//jHQEeDnxR/P61v376aMmVKoOMAAGoQp/YBAAAAgEVc/hwAAAAALKJIAQAAAIBFFCkAAAAAsIiLTejUH0Tcu3evoqOj5XA4Ah0HAAAAQIAYY3TkyBHFx8fL6Sz7uBNFStLevXvVtGnTQMcAAAAAYBO7du0q98+VUKQkRUdHSzo1WXXq1AloFrfbrU8//VQpKSkKDQ0NaJbyBENOMvpPMOQMhoxScOQMhoxScOQMhoxScOQko/8EQ85gyCgFR85gyCjZK2deXp6aNm3q7QhloUhJ3tP56tSpY4siFRkZqTp16gT8TVSeYMhJRv8JhpzBkFEKjpzBkFEKjpzBkFEKjpxk9J9gyBkMGaXgyBkMGSV75qzoKz9cbAIAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEW1Ah0AAAC7yMrKUk5Ojt+ez+PxSJIyMjLkdNr33y4rk7Nhw4Zq1qxZTcYCAFujSAEAoFMlqk3rNio4VuC353S5XFqyZImSkpJUWFjot+f1t8rkjIyIVOa2TMoUAPwfihQAAJJycnJUcKxAi7RIbdTGL8/pkUd7tEfpSpfTxmfTV5QzU5kadmyYcnJyKFIA8H8oUgAAnKaN2qiDOvjludxya4/2KFGJClWoX56zOgRLTgCwk4D+89izzz6rjh07Kjo6Wo0aNdLAgQO1bds2nzEjR46Uw+Hw+encubPPmKKiIt1///1q2LChoqKi1L9/f+3evbsmNwUAAADAeSSgRWrt2rW677779PXXXystLU0nTpxQSkqK8vPzfcZdf/31ys7O9v6sXLnS5/6HHnpI7777rpYuXap169bp6NGj6tu3r06ePFmTmwMAAADgPBHQU/s+/vhjn9vz589Xo0aNtHHjRiUlJXmXh4eHKzY2ttTnOHz4sObOnas333xTvXr1kiQtWrRITZs21WeffabevXtX3wYAAAAAOC/Z6jtShw8fliTFxMT4LF+zZo0aNWqkevXqqVu3bnrmmWfUqFEjSdLGjRvldruVkpLiHR8fH6927dpp/fr1pRapoqIiFRUVeW/n5eVJktxut9xut9+3y4ri9Qc6R0WCIScZ/ScYcgZDRik4cgZDRsn/OT0ej1wulzzyyC3/PKfb5fb5r11VlNMjj1xyyePxBOx9EQzvy2DIKAVHzmDIKAVHzmDIKNkrZ2UzOIwxppqzVIoxRgMGDFBubq6++OIL7/K33npLtWvXVkJCgnbs2KGnnnpKJ06c0MaNGxUeHq7Fixdr1KhRPsVIklJSUtS8eXO9+uqrJdaVmpqqyZMnl1i+ePFiRUZG+n/jAAAAAASFgoICDR06VIcPH1adOnXKHGebI1Ljx4/Xli1btG7dOp/lQ4YM8f7vdu3a6corr1RCQoI++ugjDRo0qMznM8bI4XCUet+kSZP0yCOPeG/n5eWpadOmSklJKXeyaoLb7VZaWpqSk5MVGmrfKycFQ04y+k8w5AyGjFJw5AyGjJL/c2ZkZCgpKUnpSleiEv2Q8NQRnrR5aUoenazQQhvPZQU5M5ShJCUpPT1diYn+mRurguF9GQwZpeDIGQwZpeDIGQwZJXvlLD5brSK2KFL333+/3n//faWnp6tJkybljo2Li1NCQoK2b98uSYqNjdXx48eVm5ur+vXre8ft379fXbp0KfU5wsPDFR4eXmJ5aGhowF+4YnbKUp5gyElG/wmGnMGQUQqOnMGQUfJfTqfTqcLCQjnl9PslwEMLQ21dpIqVldMppwpVKKfTGfD3RDC8L4MhoxQcOYMhoxQcOYMho2SPnJVdf0Cv2meM0fjx47V8+XJ9/vnnat68eYWPOXDggHbt2qW4uDhJ0hVXXKHQ0FClpaV5x2RnZ+uHH34os0gBAAAAwNkI6BGp++67T4sXL9Z7772n6Oho7du3T5JUt25duVwuHT16VKmpqbr55psVFxenX375RU888YQaNmyom266yTt2zJgxmjBhgho0aKCYmBhNnDhR7du3917FDwAAAAD8KaBFas6cOZKk7t27+yyfP3++Ro4cqZCQEH3//fd64403dOjQIcXFxalHjx566623FB0d7R0/Y8YM1apVS7feeqsKCwvVs2dPLViwQCEhITW5OQAAAADOEwEtUhVdMNDlcumTTz6p8HkiIiI0c+ZMzZw501/RAAAAAKBMtrjYBACgZmVlZSknJ6fU+zwej6RTV7FzOgP6Vdpy+TtnZmbmWT8HAOD8QZECgPNMVlaW2rRuo4JjBaXe73K5tGTJEiUlJamwsLCG01VesOQEAJybKFIAcJ7JyclRwbECLdIitVGbEvd75NEe7VG60uUM7MVdy+XvnCu1Uk/pKT8kAwCcDyhSAHCeaqM26qAOJZa75dYe7VGiEv3+95T8yd85M8WpfQCAyrPvPzUCAAAAgE1RpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUBLVLPPvusOnbsqOjoaDVq1EgDBw7Utm3bfMYYY5Samqr4+Hi5XC51795dW7du9RlTVFSk+++/Xw0bNlRUVJT69++v3bt31+SmAAAAADiPBLRIrV27Vvfdd5++/vprpaWl6cSJE0pJSVF+fr53zLRp0zR9+nTNmjVL3377rWJjY5WcnKwjR454xzz00EN69913tXTpUq1bt05Hjx5V3759dfLkyUBsFgAAAIBzXK1Arvzjjz/2uT1//nw1atRIGzduVFJSkowxeumll/Tkk09q0KBBkqSFCxeqcePGWrx4scaNG6fDhw9r7ty5evPNN9WrVy9J0qJFi9S0aVN99tln6t27d41vFwAAAIBzW0CL1JkOHz4sSYqJiZEk7dixQ/v27VNKSop3THh4uLp166b169dr3Lhx2rhxo9xut8+Y+Ph4tWvXTuvXry+1SBUVFamoqMh7Oy8vT5LkdrvldrurZdsqq3j9gc5RkWDISUb/CYacwZBRskdOj8cjl8sljzxyq2QOt8vt81+7qo6cLpU9L1VxrsylR55Tc+PxBOy9a4fPTkWCIaMUHDmDIaMUHDmDIaNkr5yVzeAwxphqzlIpxhgNGDBAubm5+uKLLyRJ69evV9euXbVnzx7Fx8d7x959993auXOnPvnkEy1evFijRo3yKUaSlJKSoubNm+vVV18tsa7U1FRNnjy5xPLFixcrMjLSz1sGAAAAIFgUFBRo6NChOnz4sOrUqVPmONsckRo/fry2bNmidevWlbjP4XD43DbGlFh2pvLGTJo0SY888oj3dl5enpo2baqUlJRyJ6smuN1upaWlKTk5WaGhoQHNUp5gyElG/wmGnMGQUbJHzoyMDCUlJSld6UpUYon73S630ualKXl0skILbTyXfs65TMs0VmPLnJeqOFfmMkMZSlKS0tPTlZjon7mxyg6fnYoEQ0YpOHIGQ0YpOHIGQ0bJXjmLz1ariC2K1P3336/3339f6enpatKkiXd5bGysJGnfvn2Ki4vzLt+/f78aN27sHXP8+HHl5uaqfv36PmO6dOlS6vrCw8MVHh5eYnloaGjAX7hidspSnmDISUb/CYacwZBRCmxOp9OpwsJCOeVUqMrOEFoYautf/ov5M2ehKp6Xqgj2uXTKeWpunM6Af76C4TMeDBml4MgZDBml4MgZDBkle+Ss7PoDetU+Y4zGjx+v5cuX6/PPP1fz5s197m/evLliY2OVlpbmXXb8+HGtXbvWW5KuuOIKhYaG+ozJzs7WDz/8UGaRAgAAAICzEdAjUvfdd58WL16s9957T9HR0dq3b58kqW7dunK5XHI4HHrooYc0depUtWzZUi1bttTUqVMVGRmpoUOHeseOGTNGEyZMUIMGDRQTE6OJEyeqffv23qv4AQAAAIA/BbRIzZkzR5LUvXt3n+Xz58/XyJEjJUmPPvqoCgsLde+99yo3N1edOnXSp59+qujoaO/4GTNmqFatWrr11ltVWFionj17asGCBQoJCampTQEAAABwHglokarMBQMdDodSU1OVmppa5piIiAjNnDlTM2fO9GM6AAAAAChdQL8jBQAAAADBiCIFAAAAABZRpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAIooUAAAAAFhUpSK1Y8cOv6w8PT1d/fr1U3x8vBwOh1asWOFz/8iRI+VwOHx+Onfu7DOmqKhI999/vxo2bKioqCj1799fu3fv9ks+AAAAAChNlYpUixYt1KNHDy1atEjHjh2r8srz8/OVmJioWbNmlTnm+uuvV3Z2tvdn5cqVPvc/9NBDevfdd7V06VKtW7dOR48eVd++fXXy5Mkq5wIAAACA8lSpSGVkZOjyyy/XhAkTFBsbq3Hjxumbb76x/Dx9+vTRlClTNGjQoDLHhIeHKzY21vsTExPjve/w4cOaO3euXnzxRfXq1UuXX365Fi1apO+//16fffZZVTYNAAAAACpUqyoPateunaZPn65p06bpgw8+0IIFC3TNNdeoZcuWGjNmjO68805dcMEFfgm4Zs0aNWrUSPXq1VO3bt30zDPPqFGjRpKkjRs3yu12KyUlxTs+Pj5e7dq10/r169W7d+9Sn7OoqEhFRUXe23l5eZIkt9stt9vtl9xVVbz+QOeoSDDkJKP/BEPOYMgo2SOnx+ORy+WSRx65VTKH2+X2+a9dVUdOl8qel6o4V+bSI8+pufF4AvbetcNnpyLBkFEKjpzBkFEKjpzBkFGyV87KZnAYY8zZrqyoqEizZ8/WpEmTdPz4cYWGhmrIkCF6/vnnFRcXV7kgDofeffddDRw40LvsrbfeUu3atZWQkKAdO3boqaee0okTJ7Rx40aFh4dr8eLFGjVqlE8pkqSUlBQ1b95cr776aqnrSk1N1eTJk0ssX7x4sSIjIyu/4QAAAADOKQUFBRo6dKgOHz6sOnXqlDmuSkekim3YsEHz5s3T0qVLFRUVpYkTJ2rMmDHau3ev/vSnP2nAgAFVOuWv2JAhQ7z/u127drryyiuVkJCgjz76qNzTAY0xcjgcZd4/adIkPfLII97beXl5atq0qVJSUsqdrJrgdruVlpam5ORkhYaGBjRLeYIhJxn9JxhyBkNGyR45MzIylJSUpHSlK1GJJe53u9xKm5em5NHJCi208Vz6OecyLdNYjS1zXqriXJnLDGUoSUlKT09XYqJ/5sYqO3x2KhIMGaXgyBkMGaXgyBkMGSV75Sw+W60iVSpS06dP1/z587Vt2zbdcMMNeuONN3TDDTfI6Tz1lavio0GXXnppVZ6+THFxcUpISND27dslSbGxsTp+/Lhyc3NVv35977j9+/erS5cuZT5PeHi4wsPDSywPDQ0N+AtXzE5ZyhMMOcnoP8GQMxgySoHN6XQ6VVhYKKecClXZGUILQ239y38xf+YsVMXzUhXBPpdOOU/NjdMZ8M9XMHzGgyGjFBw5gyGjFBw5gyGjZI+clV1/lS42MWfOHA0dOlRZWVlasWKF+vbt6y1RxZo1a6a5c+dW5enLdODAAe3atct7uuAVV1yh0NBQpaWlecdkZ2frhx9+KLdIAQAAAMDZqNIRqeIjQuUJCwvTiBEjyh1z9OhR/etf//Le3rFjhzZv3qyYmBjFxMQoNTVVN998s+Li4vTLL7/oiSeeUMOGDXXTTTdJkurWrasxY8ZowoQJatCggWJiYjRx4kS1b99evXr1qsqmAQAAAECFqlSk5s+fr9q1a+uWW27xWf7222+roKCgwgJVbMOGDerRo4f3dvH3lkaMGKE5c+bo+++/1xtvvKFDhw4pLi5OPXr00FtvvaXo6GjvY2bMmKFatWrp1ltvVWFhoXr27KkFCxYoJCSkKpsGAAAAABWqUpF67rnn9Morr5RY3qhRI919992VLlLdu3dXeRcN/OSTTyp8joiICM2cOVMzZ86s1DoBAAAA4GxV6TtSO3fuVPPmzUssT0hIUFZW1lmHAgAAAAA7q1KRatSokbZs2VJieUZGhho0aHDWoQAAAADAzqpUpG677TY98MADWr16tU6ePKmTJ0/q888/14MPPqjbbrvN3xkBAAAAwFaq9B2pKVOmaOfOnerZs6dq1Tr1FB6PR8OHD9fUqVP9GhAAAAAA7KZKRSosLExvvfWW/vu//1sZGRlyuVxq3769EhIS/J0PAAAAAGynSkWqWKtWrdSqVSt/ZQEAAACAoFClInXy5EktWLBAf//737V//355PB6f+z///HO/hAMAAAAAO6pSkXrwwQe1YMEC3XjjjWrXrp0cDoe/cwEAAACAbVWpSC1dulTLli3TDTfc4O88AAAAAGB7Vbr8eVhYmFq0aOHvLAAAAAAQFKpUpCZMmKD/+Z//kTHG33kAAAAAwPaqdGrfunXrtHr1aq1atUpt27ZVaGioz/3Lly/3SzgAAAAAsKMqFal69erppptu8ncWAAAAAAgKVSpS8+fP93cOAAAAAAgaVfqOlCSdOHFCn332mV599VUdOXJEkrR3714dPXrUb+EAAAAAwI6qdERq586duv7665WVlaWioiIlJycrOjpa06ZN07Fjx/TKK6/4OycAAAAA2EaVjkg9+OCDuvLKK5WbmyuXy+VdftNNN+nvf/+738IBAAAAgB1V+ap9X375pcLCwnyWJyQkaM+ePX4JBgAAAAB2VaUjUh6PRydPniyxfPfu3YqOjj7rUAAAAABgZ1UqUsnJyXrppZe8tx0Oh44ePaqnn35aN9xwg7+yAQAAAIAtVenUvhkzZqhHjx763e9+p2PHjmno0KHavn27GjZsqCVLlvg7IwAAAADYSpWKVHx8vDZv3qwlS5bou+++k8fj0ZgxY3THHXf4XHwCAAAAAM5FVSpSkuRyuTR69GiNHj3an3kAAAAAwPaqVKTeeOONcu8fPnx4lcIAAAAAQDCoUpF68MEHfW673W4VFBQoLCxMkZGRFCkAAAAA57QqXbUvNzfX5+fo0aPatm2brrnmGi42AQAAAOCcV6UiVZqWLVvqueeeK3G0CgAAAADONX4rUpIUEhKivXv3+vMpAQAAAMB2qvQdqffff9/ntjFG2dnZmjVrlrp27eqXYAAAAABgV1UqUgMHDvS57XA4dMEFF+i6667Tiy++6I9cAAAAAGBbVSpSHo/H3zkAAAAAIGj49TtSAAAAAHA+qNIRqUceeaTSY6dPn16VVQAAAACAbVWpSG3atEnfffedTpw4odatW0uSfvrpJ4WEhKhDhw7ecQ6Hwz8pAQAAAMBGqlSk+vXrp+joaC1cuFD169eXdOqP9I4aNUrXXnutJkyY4NeQAAAAAGAnVfqO1Isvvqhnn33WW6IkqX79+poyZQpX7QMAAABwzqtSkcrLy9Ovv/5aYvn+/ft15MiRsw4FAAAAAHZWpSJ10003adSoUXrnnXe0e/du7d69W++8847GjBmjQYMG+TsjAAAAANhKlb4j9corr2jixIkaNmyY3G73qSeqVUtjxozRCy+84NeAAAAAAGA3VSpSkZGRmj17tl544QX9+9//ljFGLVq0UFRUlL/zAQAAAIDtnNUf5M3OzlZ2drZatWqlqKgoGWP8lQsAAAAAbKtKRerAgQPq2bOnWrVqpRtuuEHZ2dmSpLvuuotLnwMAAAA451WpSD388MMKDQ1VVlaWIiMjvcuHDBmijz/+2G/hAAAAAMCOqvQdqU8//VSffPKJmjRp4rO8ZcuW2rlzp1+CAQAAAIBdVemIVH5+vs+RqGI5OTkKDw8/61AAAAAAYGdVKlJJSUl64403vLcdDoc8Ho9eeOEF9ejRw2/hAAAAAMCOqnRq3wsvvKDu3btrw4YNOn78uB599FFt3bpVBw8e1JdffunvjAAqkJWVpZycnGp7fo/HI0nKyMiQ03lWF/usNqVlbNiwoZo1axbIWAAA4BxVpSL1u9/9Tlu2bNGcOXMUEhKi/Px8DRo0SPfdd5/i4uL8nRFAObKystSmdRsVHCuotnW4XC4tWbJESUlJKiwsrLb1nI3SMkZGRCpzWyZlCgAA+J3lIuV2u5WSkqJXX31VkydPro5MACzIyclRwbECLdIitVGbalmHRx7t0R6lK13Os/vzc9XmzIyZytSwY8OUk5NDkQIAAH5nuUiFhobqhx9+kMPhqI48AKqojdqogzpUy3O75dYe7VGiEhWq0GpZx9kKhowAAODcUaV/Wh4+fLjmzp3r7ywAAAAAEBSq9B2p48eP6/XXX1daWpquvPJKRUVF+dw/ffp0v4QDAAAAADuyVKR+/vlnXXTRRfrhhx/UocOpU4h++uknnzGc8gcAAADgXGepSLVs2VLZ2dlavXq1JGnIkCF6+eWX1bhx42oJBwAAAAB2ZOk7UsYYn9urVq1Sfn6+XwMBAAAAgN2d1XWMzyxWAAAAAHA+sFSkHA5Hie9A8Z0oAAAAAOcbS9+RMsZo5MiRCg8PlyQdO3ZM//Vf/1Xiqn3Lly/3X0IAAAAAsBlLRWrEiBE+t4cNG+bXMAAAAAAQDCwVqfnz51dXDgAAAAAIGmd1sQkAAAAAOB9RpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALAooEUqPT1d/fr1U3x8vBwOh1asWOFzvzFGqampio+Pl8vlUvfu3bV161afMUVFRbr//vvVsGFDRUVFqX///tq9e3cNbgUAAACA801Ai1R+fr4SExM1a9asUu+fNm2apk+frlmzZunbb79VbGyskpOTdeTIEe+Yhx56SO+++66WLl2qdevW6ejRo+rbt69OnjxZU5sBAAAA4DxTK5Ar79Onj/r06VPqfcYYvfTSS3ryySc1aNAgSdLChQvVuHFjLV68WOPGjdPhw4c1d+5cvfnmm+rVq5ckadGiRWratKk+++wz9e7du9TnLioqUlFRkfd2Xl6eJMntdsvtdvtzEy0rXn+gc1QkGHKeLxk9Ho9cLpc88sit6tlWt8vt8187OjOjRx655JLH47HVe8AO78uK3jPB8HpL1ZPTJf9+ls6VubTD58kOn52KBENGKThyBkNGKThyBkNGyV45K5vBYYwx1ZylUhwOh959910NHDhQkvTzzz/rkksu0XfffafLL7/cO27AgAGqV6+eFi5cqM8//1w9e/bUwYMHVb9+fe+YxMREDRw4UJMnTy51XampqaXet3jxYkVGRvp3wwAAAAAEjYKCAg0dOlSHDx9WnTp1yhwX0CNS5dm3b58kqXHjxj7LGzdurJ07d3rHhIWF+ZSo4jHFjy/NpEmT9Mgjj3hv5+XlqWnTpkpJSSl3smqC2+1WWlqakpOTFRoaGtAs5QmGnOdLxoyMDCUlJSld6UpUop8TnuJ2uZU2L03Jo5MVWmjTuTwjY4YylKQkpaenKzGxeualKuzwvqzoPRMMr7fk/5zLtExjNdavn6VzZS7t8Hmyw2enIsGQUQqOnMGQUQqOnMGQUbJXzuKz1Spi2yJVzOFw+Nw2xpRYdqaKxoSHhys8PLzE8tDQ0IC/cMXslKU8wZDzXM/odDpVWFgop5wKVfVuZ2hhqK1/GZT+k9EppwpVKKfTacvXP5Dvy8q+Z4Lh9Zb8m7NQ1fNZCva5tNPn6Vz///SaFAw5gyGjFBw5gyGjZI+clV2/bYtUbGyspFNHneLi4rzL9+/f7z1KFRsbq+PHjys3N9fnqNT+/fvVpUuXmg0MwJYyMzMDHcGHx+ORdOqokNMZmOv92G1OAAAIRrYtUs2bN1dsbKzS0tK835E6fvy41q5dq+eff16SdMUVVyg0NFRpaWm69dZbJUnZ2dn64YcfNG3atIBlBxB42cqWU04NGzYs0FF8uFwuLVmyRElJSSosLAx0HAAAUEUBLVJHjx7Vv/71L+/tHTt2aPPmzYqJiVGzZs300EMPaerUqWrZsqVatmypqVOnKjIyUkOHDpUk1a1bV2PGjNGECRPUoEEDxcTEaOLEiWrfvr33Kn4Azk+HdEgeebRIi9RGbQIdx8sjj/Zoj9KVLmeA/gLFSq3UU3oqIOsGAOBcEdAitWHDBvXo0cN7u/gCECNGjNCCBQv06KOPqrCwUPfee69yc3PVqVMnffrpp4qOjvY+ZsaMGapVq5ZuvfVWFRYWqmfPnlqwYIFCQkJqfHsA2E8btVEHdQh0DC+33NqjPUpUYrV/p60smeLUPgAAzlZAi1T37t1V3tXXHQ6HUlNTlZqaWuaYiIgIzZw5UzNnzqyGhAAAAABQUmDOKwEAAACAIEaRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEW2/YO8AAAAdpeVlaWcnBxJksfjkSRlZGTI6bTvv1XXVM6GDRuqWbNm1fb8QKBRpAAAAKogKytLbVq3UcGxAkmSy+XSkiVLlJSUpMLCwgCnK1tN5YyMiFTmtkzKFM5ZFCkAAIAqyMnJUcGxAi3SIrVRG3nk0R7tUbrS5bTxtydqImemMjXs2DDl5ORQpHDOokgBAACchTZqow7qILfc2qM9SlSiQhUa6FhlCpacgN1RpAAAQKVkZmYGbN12/P5RIOcDQOBRpAAAQLmylS2nnBo2bFjAMgTL948AnD8oUgAAoFyHdEgeebzfBQoEO37/aKVW6ik9FegYAAKEIgUAACql+LtAgWDH7/VkilP7gPOZPf5JBwAAAACCCEUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAolqBDlCe1NRUTZ482WdZ48aNtW/fPkmSMUaTJ0/Wa6+9ptzcXHXq1El/+ctf1LZt20DERQ3IyspSTk5OpcZ6PB5JUkZGhpxOe/6bgT8yZmZm+jMSAAAAKsHWRUqS2rZtq88++8x7OyQkxPu/p02bpunTp2vBggVq1aqVpkyZouTkZG3btk3R0dGBiItqlJWVpTat26jgWEGlxrtcLi1ZskRJSUkqLCys5nRVEwwZAQAAUJLti1StWrUUGxtbYrkxRi+99JKefPJJDRo0SJK0cOFCNW7cWIsXL9a4ceNqOiqqWU5OjgqOFWiRFqmN2lQ43iOP9miP0pUup03PYvVHxpVaqaf0lJ+TAQAAoDy2L1Lbt29XfHy8wsPD1alTJ02dOlUXX3yxduzYoX379iklJcU7Njw8XN26ddP69evLLVJFRUUqKiry3s7Ly5Mkud1uud3u6tuYSihef6BzVCQQOT0ej1wul1qrtdqrfYXj3S639miPfuf6nUIVWgMJrfNHxkxlyiWXPPLIrep5Pdwut89/7ai0jNU9L1Vhl7ksb27skrEi1ZHT3++Zc2kuA/15sutcnj4vds14pprI6ZHn1Nx4PFX6XYHfh/wnGDJK9spZ2QwOY4yp5ixVtmrVKhUUFKhVq1b69ddfNWXKFP3zn//U1q1btW3bNnXt2lV79uxRfHy89zF33323du7cqU8++aTM5y3tu1eStHjxYkVGRlbLtgAAAACwv4KCAg0dOlSHDx9WnTp1yhxn6yJ1pvz8fF1yySV69NFH1blzZ3Xt2lV79+5VXFycd8zYsWO1a9cuffzxx2U+T2lHpJo2baqcnJxyJ6smuN1upaWlKTk5WaGh9jyKIgUmZ0ZGhpKSkpSudCUqscLxbpdbafPSlDw6WaGF9pxLf2RcpmUaq7GVnpeqCMa5rIl5qQo7zGVFc2OHjJXh75zV8Z45V+bSDp8nO87lmfNix4ylqYmcGcpQkpKUnp6uxETr7xl+H/KfYMgo2StnXl6eGjZsWGGRsv2pfaeLiopS+/bttX37dg0cOFCStG/fPp8itX//fjVu3Ljc5wkPD1d4eHiJ5aGhoQF/4YrZKUt5ajKn0+lUYWGhnHJaOg0utDDU1js06ewzFsr6vFRFsM1lTc1LVQR6LiszN4HOWFn+zFld75lzYS7t8nmy21yWNi92y1iW6szplPPU3DidZ/V7Ar8P+U8wZJTskbOy67fnN/DLUFRUpMzMTMXFxal58+aKjY1VWlqa9/7jx49r7dq16tKlSwBTAgAAADjX2fqI1MSJE9WvXz81a9ZM+/fv15QpU5SXl6cRI0bI4XDooYce0tSpU9WyZUu1bNlSU6dOVWRkpIYOHRro6AAAAADOYbYuUrt379btt9+unJwcXXDBBercubO+/vprJSQkSJIeffRRFRYW6t577/X+Qd5PP/2UvyEFAAAAoFrZukgtXbq03PsdDodSU1OVmppaM4EAAAAAQEH2HSkAAAAAsAOKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIAQAAAIBFFCkAAAAAsIgiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgUa1ABwAAAMC5KTMzs0qP83g8kqSMjAw5nfb9d/+q5GzYsKGaNWtWnbFQQyhSAAAA8KtsZcspp4YNG1alx7tcLi1ZskRJSUkqLCz0czr/qUrOyIhIZW7LpEydAyhSAAAA8KtDOiSPPFqkRWqjNpYf75FHe7RH6UqX08bfRLGaM1OZGnZsmHJycihS5wCKFAAAAKpFG7VRB3Ww/Di33NqjPUpUokIVWg3J/CNYcqJ62LfiAwAAAIBNUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAIooUAAAAAFhUK9ABULqMjAw5nfbtuR6PR1LN5szMzKyR9QAAAAAVoUjZzO7duyVJSUlJKiwsDHCasrlcLi1ZssT2OQEAAIDqQJGymQMHDkiS/lf/qzZqE+A0ZfPIoz3ao3Sly1lDZ4iu1Eo9padqZF0AAABAeShSNtVardVBHQIdo0xuubVHe5SoRIUqtEbWmSlO7QMAAIA92PdLOAAAAABgUxQpAAAAALCIIgUAAAAAFlGkAAAAAMAiihQAAAAAWESRAgAAAACLKFIAAAAAYBFFCgAAAAAsokgBAAAAgEUUKQAAAACwiCIFAAAAABZRpAAAAADAIooUAAAAAFhEkQIAAAAAiyhSAAAAAGBRrUAHAAAAAM4nmZmZNbYuj8cjScrIyJDTad9jKMU5gwlFCgAAAKgB2cqWU04NGzasxtbpcrm0ZMkSJSUlqbCwsMbWa1Vxzt27d6t58+aBjlMpFCkAAACgBhzSIXnk0SItUhu1qZF1euTRHu1RutLltPG3ejJ16ijdgQMHKFIAAAAASmqjNuqgDjWyLrfc2qM9SlSiQhVaI+usiuLCF0zsW0sBAAAAwKYoUgAAAABg0TlTpGbPnq3mzZsrIiJCV1xxhb744otARwIAAABwjjonitRbb72lhx56SE8++aQ2bdqka6+9Vn369FFWVlagowEAAAA4B50TRWr69OkaM2aM7rrrLrVp00YvvfSSmjZtqjlz5gQ6GgAAAIBzUNBfte/48ePauHGjHn/8cZ/lKSkpWr9+famPKSoqUlFRkff24cOHJUkHDx6U2+2uvrCVkJeXp4KCAm2K2KSj5mhAs5THE+FRQUGBvoj4Qk5TM318m7YpQhHaqI3KU16F4wOR0Sp/ZLQ6L1URjHNZE/NSFXaYy4rmxg4ZK8PfOavjPXOuzKUdPk92nMsz58WOGUtTEznP9j1zrs5lID5LwTKX2yO2q3ZBbeXl5enAgQMBzXLkyBFJkjGm3HEOU9EIm9u7d68uvPBCffnll+rSpYt3+dSpU7Vw4UJt27atxGNSU1M1efLkmowJAAAAIIjs2rVLTZo0KfP+oD8iVczhcPjcNsaUWFZs0qRJeuSRR7y3PR6PDh48qAYNGpT5mJqSl5enpk2bateuXapTp05As5QnGHKS0X+CIWcwZJSCI2cwZJSCI2cwZJSCIycZ/ScYcgZDRik4cgZDRsleOY0xOnLkiOLj48sdF/RFqmHDhgoJCdG+fft8lu/fv1+NGzcu9THh4eEKDw/3WVavXr3qilglderUCfibqDKCIScZ/ScYcgZDRik4cgZDRik4cgZDRik4cpLRf4IhZzBklIIjZzBklOyTs27duhWOse+JkpUUFhamK664QmlpaT7L09LSfE71AwAAAAB/CfojUpL0yCOP6M4779SVV16pq6++Wq+99pqysrL0X//1X4GOBgAAAOAcdE4UqSFDhujAgQP685//rOzsbLVr104rV65UQkJCoKNZFh4erqeffrrEqYd2Eww5yeg/wZAzGDJKwZEzGDJKwZEzGDJKwZGTjP4TDDmDIaMUHDmDIaMUPDlPF/RX7QMAAACAmhb035ECAAAAgJpGkQIAAAAAiyhSAAAAAGARRQoAAAAALKJIBUh6err69eun+Ph4ORwOrVixwuf+X3/9VSNHjlR8fLwiIyN1/fXXa/v27TWa8dlnn1XHjh0VHR2tRo0aaeDAgdq2bZvPGGOMUlNTFR8fL5fLpe7du2vr1q22yrh8+XL17t1bDRs2lMPh0ObNm2ssX2Vzut1uPfbYY2rfvr2ioqIUHx+v4cOHa+/evbbJKEmpqam69NJLFRUVpfr166tXr176xz/+YauMpxs3bpwcDodeeumlGssoVS7nyJEj5XA4fH46d+5sq4ySlJmZqf79+6tu3bqKjo5W586dlZWVZaucZ85j8c8LL7xgm4xHjx7V+PHj1aRJE7lcLrVp00Zz5sypkXxWcgZ63zNnzhxddtll3j/IefXVV2vVqlXe+wO9z6lsTjvsd8rLaId9TmVySoHf71Qm4+kCtd+pKGOg9zmVzSkFfr9jBUUqQPLz85WYmKhZs2aVuM8Yo4EDB+rnn3/We++9p02bNikhIUG9evVSfn5+jWVcu3at7rvvPn399ddKS0vTiRMnlJKS4pNh2rRpmj59umbNmqVvv/1WsbGxSk5O1pEjR2yTMT8/X127dtVzzz1XI5mqkrOgoEDfffednnrqKX333Xdavny5fvrpJ/Xv3982GSWpVatWmjVrlr7//nutW7dOF110kVJSUvTbb7/ZJmOxFStW6B//+Ifi4+NrJFtVcl5//fXKzs72/qxcudJWGf/973/rmmuu0aWXXqo1a9YoIyNDTz31lCIiImyV8/Q5zM7O1rx58+RwOHTzzTfbJuPDDz+sjz/+WIsWLVJmZqYefvhh3X///XrvvfdqJGNlctph39OkSRM999xz2rBhgzZs2KDrrrtOAwYM8JalQO9zKpvTDvud8jLaYZ9TmZxS4Pc7lclYLJD7ncpkDOQ+p7I57bDfscQg4CSZd99913t727ZtRpL54YcfvMtOnDhhYmJizP/+7/8GIOEp+/fvN5LM2rVrjTHGeDweExsba5577jnvmGPHjpm6deuaV155xRYZT7djxw4jyWzatKnmg52hvJzFvvnmGyPJ7Ny5swaT/UdlMh4+fNhIMp999lkNJvuPsjLu3r3bXHjhheaHH34wCQkJZsaMGQHJV6y0nCNGjDADBgwIXKgzlJZxyJAhZtiwYQFMVVJl3pcDBgww1113XQ2m8lVaxrZt25o///nPPuM6dOhg/vjHP9Z0PK8zc9p131O/fn3z+uuv23Kfc7rinKez037HmNIzFgv0Pud05eUM9H6n2JkZ7bbfMcY3o932Oac7Pacd9zvl4YiUDRUVFUmST/sOCQlRWFiY1q1bF6hYOnz4sCQpJiZGkrRjxw7t27dPKSkp3jHh4eHq1q2b1q9fb4uMdlWZnIcPH5bD4VC9evVqKFXJ9UtlZzx+/Lhee+011a1bV4mJiTUZzau0jB6PR3feeaf+8Ic/qG3btgHJdaay5nLNmjVq1KiRWrVqpbFjx2r//v2BiCepZEaPx6OPPvpIrVq1Uu/evdWoUSN16tSpxGnINa2i9+Wvv/6qjz76SGPGjKnJWD5Ky3jNNdfo/fff1549e2SM0erVq/XTTz+pd+/egYpZIqfd9j0nT57U0qVLlZ+fr6uvvtqW+5zSctpRZTIGep8jVZzTDvud0jLabb9T1jzaaZ8jlcxp1/1OuQLd5FDyiNTx48dNQkKCueWWW8zBgwdNUVGRefbZZ40kk5KSEpCMHo/H9OvXz1xzzTXeZV9++aWRZPbs2eMzduzYsQHJWVrG09nlXwYrymmMMYWFheaKK64wd9xxRw0m+4/yMn7wwQcmKirKOBwOEx8fb7755psAJCw749SpU01ycrLxeDzGGBPwfxksK+fSpUvNhx9+aL7//nvz/vvvm8TERNO2bVtz7NgxW2TMzs42kkxkZKSZPn262bRpk3n22WeNw+Ewa9asqfGMZeU80/PPP2/q169vCgsLazDZf5SVsaioyAwfPtxIMrVq1TJhYWHmjTfeCEhGY0rPaZd9z5YtW0xUVJQJCQkxdevWNR999JExxn77nLJyni7Q+53KZDQm8PucinLaYb9TXka77HfKy2infU5ZOe2436kIRcoGzixSxhizYcMGk5iYaCSZkJAQ07t3b9OnTx/Tp0+fgGS89957TUJCgtm1a5d3WfFObe/evT5j77rrLtO7d++ajlhqxtMFeodWrKKcx48fNwMGDDCXX365OXz4cA2nO6W8jEePHjXbt283X331lRk9erS56KKLzK+//mqLjBs2bDCNGzf2+UUr0EWqote72N69e01oaKj529/+VkPJ/qO0jHv27DGSzO233+4ztl+/fua2226r6YjGmMrNZevWrc348eNrMJWvsjK+8MILplWrVub99983GRkZZubMmaZ27domLS3NVjntsO8pKioy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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages_2 = pd.read_csv('data/ages_population2.csv')\n", + "ages_2['observation'] = ages_2['observation'].astype(int)\n", + "frequency_count_2 = ages_2['observation'].value_counts().sort_index()\n", + "display(frequency_count_2)\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(ages_2['observation'], color='magenta', edgecolor='black') # \n", + "plt.title('Ages2 Frequency Distribution')\n", + "plt.xlabel('Ages')\n", + "plt.ylabel('Frequency')\n", + "plt.xticks(range(19,37,1))\n", + "plt.grid(True)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- What do you see? Is there any difference with the frequency distribution in step 1?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "\"\"\"\n", + "This distribution is more concentrated around certain age ranges and shows a more pronounced peak, suggesting a clustering of ages in a specific range.\n", + "The peak of the second dataset is sharper and higher, which may indicate a more common specific age, \n", + "while the first dataset shows a broader peak, suggesting a less concentrated age prevalence.\n", + "The frequency distribution in step 1 covers a broader range of ages from younger to older, which is evident from the spread of the histogram.\n", + "This one, on the other hand seems to have a narrower age range and fewer outliers or extreme ages compared to the previous one.\n", + "Also, this histogram shows data slighly more skewed than the one in step 1.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 5.- Calculate the mean and standard deviation. Compare the results with the mean and standard deviation in step 2. What do you think?" + ] + }, + { + "cell_type": "code", + "execution_count": 209, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Here, the mean is 27.155, and the standard deviation is 2.969813932689186\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_age_2 = ages_2['observation'].mean()\n", + "std_dev_age_2 = ages_2['observation'].std()\n", + "\n", + "print(f\"Here, the mean is {mean_age_2}, and the standard deviation is {std_dev_age_2}\")\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "In this analysis, estimating the mean age is more straightforward by simply looking at the histogram, \n", + "as the data are less dispersed and predominantly concentrated within a narrower age range. \n", + "This concentration makes it easier to have a clearer estimation of the central tendency. \n", + "Additionally, the noticeably lower standard deviation reflects the reduced spread of ages, \n", + "indicating that most data points are closely clustered around the mean. \n", + "This tighter distribution highlights the homogeneity of the age range represented in the dataset.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 5\n", + "Now is the turn of `ages_population3.csv`.\n", + "\n", + "#### 1.- Read the file `ages_population3.csv`. Calculate the frequency distribution and plot it." + ] + }, + { + "cell_type": "code", + "execution_count": 216, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "observation\n", + "1 1\n", + "2 2\n", + "4 2\n", + "5 1\n", + "7 1\n", + " ..\n", + "73 6\n", + "74 6\n", + "75 2\n", + "76 1\n", + "77 2\n", + "Name: count, Length: 75, dtype: int64" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0sAAAIhCAYAAACfXCH+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABWQElEQVR4nO3dfVxUZf7/8fegMAwC3k0IpJCl4ZZpN5aphVppmVpGtpaRt7ltt5b17c7dDfdrZvXL2rbN2m9muuVNN+ZaqcWWN5m5qaWZEVmZoyW5QyqKgOhcvz9YpkbODAMOM6O8no8HD5xzLq7zmc8cZubtOZyxGWOMAAAAAAA+YiJdAAAAAABEI8ISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISABzh6aefls1mU+fOnSNdio8FCxbouuuuU4cOHeRwOHTSSSfp+uuv15YtW4L6+VGjRslms1l+vf322w1cfeNyZK+bNWumk046SVdccYVmzpypioqKGj/Tp08f9enTp07b+fLLL5WXl6fvv/++Tj935La+//572Ww2/b//9//qNE9tpkyZooULF9ZYvnz5ctlsNi1fvjyk2wOAUGsa6QIAINq8+OKLkqTNmzfr3//+t7p37x7hiqo8+uijSk1N1cSJE3XyySdr+/btmjJlis4++2ytWbNGp59+eq1zOBwOffDBBzWWd+rUqSFKbtR+3euysjJt375dS5Ys0bhx4/TEE09o6dKlatu2rXf8s88+W+dtfPnll5o0aZL69Omjk046Keifq8+26mPKlCkaOnSohgwZ4rP87LPP1scff6zTTjstLHUAQH0RlgDgV9atW6eNGzdq4MCBeueddzRjxoyoCUtvvfWWUlJSfJZddNFFOumkk/Tkk0/qhRdeqHWOmJgYnX/++UFv88CBA0pISKhzrbDu9YgRIzR69GgNGjRIQ4cO1Zo1a7zrwhEcqh/PSIeU5OTkOu2HABApnIYHAL8yY8YMSdLUqVPVs2dPzZs3TwcOHKgxbseOHRo6dKiSkpLUokULXX/99Vq7dq1sNpteeukln7Hr1q3TFVdcoVatWik+Pl5nnXWWXn31VZ8xBw4c0D333KP27dsrPj5erVq1Urdu3TR37lzvmCODkiSlp6erbdu22r59+1Hf97y8PNlsNn366acaOnSoWrZsqVNOOUWSZIzRs88+qzPPPFMOh0MtW7bU0KFD9d133/nMYYzRY489pszMTMXHx+vss8/WkiVLapz29dJLL8lms9U4fczf6Vn/+te/dPHFFys5OVkJCQnq1auX3n//fcv6N2/erOuuu07NmzdXmzZtNGbMGO3du9dnrMfj0V//+lfv/WnRooXOP/98LVq0SJI0duxYtWrVyvKxv+iii4I6iudP//79NW7cOP373//WypUrvcutTsObPn26unbtqsTERCUlJalTp0568MEHJVX18JprrpEk9e3b13vKX/X+16dPH3Xu3FkrV65Uz549lZCQoDFjxvjdVnVfHn74YWVkZCg+Pl7dunWr0edRo0ZZHsWq7n81m82m0tJSzZo1y1tb9Tb9Pc6LFi1Sjx49lJCQoKSkJPXr108ff/yx5XaCeZwB4GgRlgDgv8rKyjR37lyde+656ty5s8aMGaN9+/bptdde8xlXWlqqvn37atmyZXr00Uf16quvqk2bNho2bFiNOZctW6ZevXppz549eu655/TPf/5TZ555poYNG+YTqiZMmKDp06frjjvu0NKlS/WPf/xD11xzjYqLiwPW/N1332nbtm11evN+6NAhn6/Dhw/7rM/JyVGHDh302muv6bnnnpMk3XTTTbrzzjt1ySWXaOHChXr22We1efNm9ezZUz/99JP3ZydNmqT77rtP/fr108KFC3XzzTdr3LhxKiwsDLq+I7388svq37+/kpOTNWvWLL366qtq1aqVLr300hpv5CXp6quv1qmnnqo33nhD999/v+bMmaO77rrLZ8yoUaM0fvx4nXvuuZo/f77mzZunK664whvexo8fr927d2vOnDk+P/fll19q2bJluvXWW+t9fyTpiiuukCSfsHSkefPm6ZZbblHv3r315ptvauHChbrrrrtUWloqSRo4cKCmTJkiSfrb3/6mjz/+WB9//LEGDhzonWPnzp3Kzc3V8OHDtXjxYt1yyy0B63rmmWe0dOlSPfXUU3r55ZcVExOjAQMG1Agswfj444/lcDh0+eWXe2sLdPrfnDlzdOWVVyo5OVlz587VjBkztHv3bvXp00erVq2qMT6YxxkAjpoBABhjjJk9e7aRZJ577jljjDH79u0ziYmJ5sILL/QZ97e//c1IMkuWLPFZftNNNxlJZubMmd5lnTp1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0aOHd/ny5cuVkpKiFi1aqHfv3nr44YeVkpLid56KigpVVFR4b5eUlEiSKisrVVlZ2WD1V8/dkNuAL3oeXvQ7/ELZc4/HI4fDUfWs7+8E7KaSHFVjG+vjzH4efvQ8vOh3+NHz8AvU87o+DjZjjAlJVfW0adMm9ejRQ+Xl5UpMTNScOXN0+eWXS5Lmz5+vxMREZWZmauvWrfrjH/+oQ4cOaf369bLb7Zbz5eXladKkSTWWz5kzRwkJCQ16XwAAAABErwMHDmj48OHau3evkpOTax0f8bB08OBBuVwu7dmzR2+88YZeeOEFrVixQqeddlqNsTt37lRmZqbmzZunnJwcy/msjiy1a9dObrc7qIbUV2VlpfLz89WvXz/FxsY22HbwC3oeXvQ7/ELZ840bNyo7O1saLcnfmc1FkmZKK1euVNeuXY9qe8cq9vPwo+fhRb/Dj56HX6Cel5SUyOl0Bh2WIn4aXlxcnPcCD926ddPatWv1l7/8Rc8//3yNsWlpacrMzNSWLVv8zme32y2POsXGxoZlBw3XdvALeh5e9Dv8QtHzmJgYlZWVSYckefwMOiSprGpsY3+M2c/Dj56HF/0OP3oeflY9r+tjEHWfs2SM8Tky9GvFxcXavn270tLSwlwVAAAAgMYmokeWHnzwQQ0YMEDt2rXTvn37NG/ePC1fvlxLly7V/v37lZeXp6uvvlppaWn6/vvv9eCDD8rpdOqqq66KZNkAAAAAGoGIhqWffvpJN9xwg3bu3KnmzZurS5cuWrp0qfr166eysjJt2rRJs2fP1p49e5SWlqa+fftq/vz5SkpKimTZAAAAABqBiIalGTNm+F3ncDj07rvvhrEaAAAAAPhF1P3NEgAAAABEA8ISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACAhaaRLgAAcPxxuVxyu921jnM6ncrIyDjquYKZBwCAuiIsAQBCyuVyKatTlsrLymsdG++IV+FXhX6DTrBz1TYPAAD1QVgCAISU2+2uCjc5kpyBBkrlC8rldrv9hpyg5gpiHgAA6oOwBABoGE5J6VE4FwAAQeICDwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABgIaJhafr06erSpYuSk5OVnJysHj16aMmSJd71xhjl5eUpPT1dDodDffr00ebNmyNYMQAAAIDGIqJhqW3btpo6darWrVundevW6aKLLtKVV17pDUSPPfaYpk2bpmeeeUZr165Vamqq+vXrp3379kWybAAAAACNQETD0uDBg3X55Zfr1FNP1amnnqqHH35YiYmJWrNmjYwxeuqppzRx4kTl5OSoc+fOmjVrlg4cOKA5c+ZEsmwAAAAAjUDUfCjt4cOH9dprr6m0tFQ9evTQ1q1bVVRUpP79+3vH2O129e7dW6tXr9ZNN91kOU9FRYUqKiq8t0tKSiRJlZWVqqysbLD6q+duyG3AFz0PL/odfqHsucfjkcPhqHrW9/ffZE0lOarGHs02g9pWkNsLZ90S+3kk0PPwot/hR8/DL1DP6/o42IwxJiRV1dOmTZvUo0cPlZeXKzExUXPmzNHll1+u1atXq1evXvrhhx+Unv7Lx7b/7ne/07Zt2/Tuu+9azpeXl6dJkybVWD5nzhwlJCQ02P0AAAAAEN0OHDig4cOHa+/evUpOTq51fMSPLGVlZWnDhg3as2eP3njjDY0cOVIrVqzwrrfZbD7jjTE1lv3aAw88oAkTJnhvl5SUqF27durfv39QDamvyspK5efnq1+/foqNjW2w7eAX9Dy86Hf4hbLnGzduVHZ2tjRaUqqfQUWSZkorV65U165dG3ZbQW4vnHVL7OeRQM/Di36HHz0Pv0A9rz7rLFgRD0txcXHq0KGDJKlbt25au3at/vKXv+i+++6TJBUVFSktLc07fteuXWrTpo3f+ex2u+x2e43lsbGxYdlBw7Ud/IKehxf9Dr9Q9DwmJkZlZWXSIUkeP4MOSSqrGns02wtqW0FuL5x1/xr7efjR8/Ci3+FHz8PPqud1fQyi7nOWjDGqqKhQ+/btlZqaqvz8fO+6gwcPasWKFerZs2cEKwQAAADQGET0yNKDDz6oAQMGqF27dtq3b5/mzZun5cuXa+nSpbLZbLrzzjs1ZcoUdezYUR07dtSUKVOUkJCg4cOHR7JsAAAAAI1ARMPSTz/9pBtuuEE7d+5U8+bN1aVLFy1dulT9+vWTJN17770qKyvTLbfcot27d6t79+567733lJSUFMmyAQAAADQCEQ1LM2bMCLjeZrMpLy9PeXl54SkIAAAAAP4r6v5mCQAAAACiAWEJAAAAACwQlgAAAADAAmEJAAAAACxE/ENpAQAIF5fLJbfb7Xe9xxPoU3QBAI0NYQkA0Ci4XC5ldcpSeVm53zEOh0Nz587Vjh071L59+zBWBwCIRoQlAECj4Ha7q4JSjiSnn0F7q74VFxcTlgAAhCUAQCPjlJTuZx2vigCAX+ECDwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABaaRroAAEDjVlBQUK91AAA0NMISACAy9kuySbm5uZGuBAAAS4QlAEBklEsyknIkOf2M2SJpWdgqAgDAB2EJABBZTknpfta5w1kIAAC+uMADAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFiIaFh65JFHdO655yopKUkpKSkaMmSICgsLfcaMGjVKNpvN5+v888+PUMUAAAAAGouIhqUVK1bo1ltv1Zo1a5Sfn69Dhw6pf//+Ki0t9Rl32WWXaefOnd6vxYsXR6hiAAAAAI1FRD9naenSpT63Z86cqZSUFK1fv17Z2dne5Xa7XampqUHNWVFRoYqKCu/tkpISSVJlZaUqKytDULW16rkbchvwRc/Di36H3o4dO1RcXOx3vcfjkRSanns8HjkcjqpnfX//TdZUkqNq7NFsM6htSVJs1fYCjgtmzH/rLigo8PbMSmFh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nqe3SFoWvpqKi4ur/nGFpOZ+BvG6EbXqFZaGDBnic9tms+mEE07QRRddpCeeeCIUdQFA8JyS0o/j7QEA6ibQ83TtZ1I3jNaSUiK0bdRbvcKSx+MJdR0AAAAAEFXqdTU8AAAAADje1evI0oQJE4IeO23atPpsAgAAAAAiql5h6bPPPtOnn36qQ4cOKSsrS5L09ddfq0mTJjr77LO942w2W2iqBAAAAIAwq1dYGjx4sJKSkjRr1iy1bNlSUtUH1Y4ePVoXXnih7r777pAWCQAAAADhVq+/WXriiSf0yCOPeIOSJLVs2VKTJ0/mangAAAAAjgv1CkslJSX66aefaizftWuX9u3bd9RFAQAAAECk1SssXXXVVRo9erRef/117dixQzt27NDrr7+usWPHKicnJ9Q1AgAAAEDY1etvlp577jndc889ys3NVWVlZdVETZtq7Nixevzxx0NaIAAcqwoKCuq1Djie1LavFxYWKjExMUzVAEDd1CssJSQk6Nlnn9Xjjz+ub7/9VsYYdejQQc2aNQt1fQBw7NkvySbl5uZGuhIgcoL8PXA4HJo7d254agKAOqpXWKq2c+dO7dy5U9nZ2XI4HDLGcLlwACiXZCTlSHL6GbNF0rKwVQSEXzC/B5K0LTzlAEB91CssFRcX67e//a2WLVsmm82mLVu26OSTT9aNN96oFi1acEU8AJCq3iCm+1nnDmchQAQF+j2QpL3hKgQA6q5eF3i46667FBsbK5fLpYSEBO/yYcOGaenSpSErDgAAAAAipV5Hlt577z29++67atu2rc/yjh07ats2jqcDAAAAOPbV68hSaWmpzxGlam63W3a7/aiLAgAAAIBIq1dYys7O1uzZs723bTabPB6PHn/8cfXt2zdkxQEAAABApNTrNLzHH39cffr00bp163Tw4EHde++92rx5s37++Wd99NFHoa4RAAAAAMKuXkeWTjvtNH3++ec677zz1K9fP5WWlionJ0efffaZTjnllFDXCAAAAABhV+cjS5WVlerfv7+ef/55TZo0qSFqAgAAAICIq/ORpdjYWH3xxRd8+CwAAACA41q9/mZpxIgRmjFjhqZOnRrqegCgwRQUFARc73Q6lZGREaZqolegPtXWQzQcHpfauVwuud2BP/GZ33PURTC/WxUVFQGvBl1YWKjExMRQloUwqldYOnjwoF544QXl5+er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L/odfvQ8/Oh5+NHz8KLf4UfPwy+UPY/qq+EBAAAAQKRE9d8sAQAAAECkEJYAAAAAwAJhCQAAAAAsEJYAAAAAwAJhKQSeffZZtW/fXvHx8TrnnHP04YcfRrqk48bKlSs1ePBgpaeny2azaeHChT7rjTHKy8tTenq6HA6H+vTpo82bN0em2OPEI488onPPPVdJSUlKSUnRkCFDVFhY6DOGvofO9OnT1aVLF+8H5/Xo0UNLlizxrqfXDe+RRx6RzWbTnXfe6V1G30MrLy9PNpvN5ys1NdW7nn6H3g8//KDc3Fy1bt1aCQkJOvPMM7V+/XrvenoeWieddFKNfdxms+nWW2+VRL8bwqFDh/SHP/xB7du3l8Ph0Mknn6w///nP8ng83jEh6bvBUZk3b56JjY01//d//2e+/PJLM378eNOsWTOzbdu2SJd2XFi8eLGZOHGieeONN4wk8+abb/qsnzp1qklKSjJvvPGG2bRpkxk2bJhJS0szJSUlkSn4OHDppZeamTNnmi+++MJs2LDBDBw40GRkZJj9+/d7x9D30Fm0aJF55513TGFhoSksLDQPPvigiY2NNV988YUxhl43tE8++cScdNJJpkuXLmb8+PHe5fQ9tB566CFz+umnm507d3q/du3a5V1Pv0Pr559/NpmZmWbUqFHm3//+t9m6dav517/+Zb755hvvGHoeWrt27fLZv/Pz840ks2zZMmMM/W4IkydPNq1btzZvv/222bp1q3nttddMYmKieeqpp7xjQtF3wtJROu+888zvf/97n2WdOnUy999/f4QqOn4dGZY8Ho9JTU01U6dO9S4rLy83zZs3N88991wEKjw+7dq1y0gyK1asMMbQ93Bo2bKleeGFF+h1A9u3b5/p2LGjyc/PN7179/aGJfoeeg899JDp2rWr5Tr6HXr33XefueCCC/yup+cNb/z48eaUU04xHo+HfjeQgQMHmjFjxvgsy8nJMbm5ucaY0O3nnIZ3FA4ePKj169erf//+Psv79++v1atXR6iqxmPr1q0qKiry6b/dblfv3r3pfwjt3btXktSqVStJ9L0hHT58WPPmzVNpaal69OhBrxvYrbfeqoEDB+qSSy7xWU7fG8aWLVuUnp6u9u3b69prr9V3330niX43hEWLFqlbt2665pprlJKSorPOOkv/93//511PzxvWwYMH9fLLL2vMmDGy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mamTTz5ZN9xwg1555RUdOHAgPHcQABBVmka6AAAAgjVjxgwdOnRIJ554oneZMUaxsbHavXu3jDGy2Ww+P3PkCRQej0c33XST7rjjjhrzZ2RkKC4uTp9++qmWL1+u9957T3/605+Ul5entWvXqkWLFg1yvwAA0YmwBAA4Jhw6dEizZ8/WE088of79+/usu/rqq/XKK6+oU6dOWrx4sc+6devW+dw+++yztXnzZnXo0MHvtpo2bapLLrlEl1xyiR566CG1aNFCH3zwgXJyckJ3hwAAUY+wBAA4Jrz99tvavXu3xo4dq+bNm/usGzp0qGbMmKEFCxZo2rRpuu+++zR27Fht2LDBe7W86iNO9913n84//3zdeuutGjdunJo1a6aCggLl5+frr3/9q95++2199913ys7OVsuWLbV48WJ5PB5lZWWF+y4DACKMv1kCABwTZsyYoUsuuaRGUJKqjixt2LBBu3fv1uuvv64FCxaoS5cumj59uvdqeHa7XZLUpUsXrVixQlu2bNGFF16os846S3/84x+VlpYmSWrRooUWLFigiy66SL/5zW/03HPPae7cuTr99NPDd2cBAFGBq+EBAI5rDz/8sJ577jlt37490qUAAI4xnIYHADiuPPvsszr33HPVunVrffTRR3r88ce9n6EEAEBdEJYAAMeVLVu2aPLkyfr555+VkZGhu+++Ww888ECkywIAHIM4DQ8AAAAALHCBBwAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAv/H0gu5BOhVGKKAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages_3 = pd.read_csv('data/ages_population3.csv')\n", + "ages_3['observation'] = ages_3['observation'].astype(int)\n", + "frequency_count_3 = ages_3['observation'].value_counts().sort_index()\n", + "display(frequency_count_3)\n", + "\n", + "plt.figure(figsize=(10, 6))\n", + "plt.hist(ages_3['observation'], bins=range(1,78,1), color='green', edgecolor='black') # \n", + "plt.title('Ages2 Frequency Distribution')\n", + "plt.xlabel('Ages')\n", + "plt.ylabel('Frequency')\n", + "#plt.xticks(range(1,78,2))\n", + "plt.grid(True)\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Calculate the mean and standard deviation. Compare the results with the plot in step 1. What is happening?" + ] + }, + { + "cell_type": "code", + "execution_count": 214, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Here, the mean is 41.989, and the standard deviation is 16.144705959865934\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_age_3 = ages_3['observation'].mean()\n", + "std_dev_age_3 = ages_3['observation'].std()\n", + "\n", + "print(f\"Here, the mean is {mean_age_3}, and the standard deviation is {std_dev_age_3}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The mean is larger than the dataset in step 1, indicating an older average age.\n", + "The standard deviation is also larger, which confirms the wider spread of the data around the man, that can be observed in the histogram.\n", + "The histogram shows a wider distribution of ages, indicating a diverse age range within the population. \n", + "There are peaks at different age intervals, suggesting multiple modes or clusters of ages.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Calculate the four quartiles. Use the results to explain your reasoning for question in step 2. How much of a difference is there between the median and the mean?" + ] + }, + { + "cell_type": "code", + "execution_count": 218, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Q1: 30.0,\n", + "Q2 (Median): 40.0,\n", + "Q3: 53.0\n" + ] + } + ], + "source": [ + "# your code here\n", + "# Calculate quartiles for the third dataset\n", + "quartiles = ages_3['observation'].quantile([0.25, 0.5, 0.75])\n", + "median_age_3 = quartiles[0.5]\n", + "\n", + "print(f\"Q1: {quartiles[0.25]},\\nQ2 (Median): {quartiles[0.5]},\\nQ3: {quartiles[0.75]}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The mean and median are relatively close. This closeness indicates a rather symmetric distribution. \n", + "Being the mean slightly higher than the median, it suggests there is a minor right skew in the data, with older individuals pulling the mean upwards.\n", + "This skewness could be due to a few older ages that are not extreme enough to significantly distort the mean.\n", + "Q1 shows that 25% percent of the data is below 30 years old, indicating a youthful segment of the population\n", + "Q3 shows that 75% of the data is under 53 years old, but there is still a significant portion (25%) of the population that is older, \n", + "up to the maximum age, which influences the skewness and the rather high standard deviation from the previous step,\n", + "which also confirms a wide spread around the mean, encompassing a diverse range of ages.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- Calculate other percentiles that might be useful to give more arguments to your reasoning." + ] + }, + { + "cell_type": "code", + "execution_count": 219, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "0.10 22.0\n", + "0.90 67.0\n", + "0.95 70.0\n", + "0.99 74.0\n", + "Name: observation, dtype: float64" + ] + }, + "execution_count": 219, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "# Calculate additional percentiles to enhance the analysis\n", + "additional_percentiles = ages_3['observation'].quantile([0.1, 0.9, 0.95, 0.99])\n", + "\n", + "additional_percentiles" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The 10th and 99th percentiles (22 and 74 years) outline the bounds within which most of the population lies, indicating that most of the population is between 22 ansd 74 years old (wide range)\n", + "The 90th and 95th percentiles (67 and 70 years) are relatively close together, indicating that there is a rapid increase in age towards the older segment of the population, \n", + "but it plateaus shortly after 70 years. This closeness supports the idea of a right-skewed distribution, where there is a significant presence of older individuals, but not many extremely old ages, as mentioned before.\n", + "The range between the 10th and 90th percentiles covers most of the population (80%), stretching from 22 to 67 years. \n", + "The mean being close to the median but slightly higher, and with a substantial standard deviation, reinforces the presence of a right skew. \n", + "The ages beyond the 90th percentile, particularly up to the 99th percentile, show that the tail is not extreme but does contain older ages that impact the overall mean.\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Bonus challenge\n", + "Compare the information about the three neighbourhoods. Prepare a report about the three of them. Remember to find out which are their similarities and their differences backing your arguments in basic statistics." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"" + ] + } + ], + "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.11.7" + } + }, + "nbformat": 4, + "nbformat_minor": 4 +}