From 66a15f904c1519ac09420f306d54f4680276ef8e Mon Sep 17 00:00:00 2001 From: Yuliya Lavrenyuk Date: Sat, 11 May 2024 20:43:13 +0200 Subject: [PATCH] yuliya lavrenyuk --- your-code/main.ipynb | 2440 +++++++++++++++++++++++++++++++++--------- 1 file changed, 1918 insertions(+), 522 deletions(-) diff --git a/your-code/main.ipynb b/your-code/main.ipynb index 5759add..2d94794 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -1,522 +1,1918 @@ -{ - "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": 61, + "metadata": {}, + "outputs": [], + "source": [ + "# Libraries\n", + "import pandas as pd\n", + "import numpy as np\n", + "import seaborn as sns\n", + "import matplotlib.pyplot as plt" + ] + }, + { + "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": 62, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([1, 2, 3, 4, 5, 6])" + ] + }, + "execution_count": 62, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "n_sides = 6\n", + "# Represent a die by using a numpy array\n", + "die = np.array([i for i in range(1, n_sides+1)])\n", + "\n", + "die" + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([6, 3, 4, 3, 6, 2, 5, 3, 4, 5])" + ] + }, + "execution_count": 63, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#diferent result\n", + "np.random.choice(die)\n", + "# Roll the die 10 times\n", + "n_rolls = 10\n", + "\n", + "rolls = np.array([np.random.choice(die) for _ in range(n_rolls)])\n", + "\n", + "rolls\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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pct9y7JUUlKi/Px8Pffcc40yGAAAgCc8ipvQ0FCX+y1atFCvXr20ZMkSTZgwoVEGAwAA8IRHcbN+/frGngMAAKBRNOgzNwUFBdqwYYM2bNiggwcPun393r179cADD6hjx46y2WzasmVLnefn5ubKZrPdcCstLfVwBQAAwDQevXJz5swZPfjgg8rNzdXtt98uSTp//rzGjRunjRs3qkOHDvV6noqKCg0aNEiPPvroDZ/jqcuxY8cUEhLivB8WFubW/AAAwFwexc2TTz6pCxcu6PDhw+rTp48k6YsvvtD06dP11FNP6R//+Ee9nmfixImaOHGi218/LCzMGVUAAAA/5dHbUjt37tRrr73mDBtJ6tu3rzIyMrRjx45GG642MTExioyM1Pjx4/Xxxx/XeW5lZaUcDofLDQAAmMujuKmurlZgYOANxwMDA1VdXd3goWoTGRmp1atX6+2339bbb7+tqKgojR07VgcOHKj1mvT0dIWGhjpvUVFRTTYfAADwPo/i5p577tHcuXP13XffOY+dPn1aTz/9tO69995GG+56vXr10mOPPaahQ4cqLi5O69atU1xcXK1/DkKS0tLSVF5e7rydOnWqyeYDAADe51HcvPrqq3I4HOrWrZvuvPNO3XnnnYqOjpbD4dCf/vSnxp6xTiNGjNDx48drfdxutyskJMTlBgAAzOXRB4qjoqJ04MABffDBBzp69KgkqU+fPoqPj2/U4eqjsLBQkZGRzf51AQCAb3Irbnbv3q3k5GTt379fISEhGj9+vMaPHy9JKi8vV79+/bR69Wrdfffd9Xq+ixcvurzqcuLECRUWFqpdu3bq0qWL0tLSdPr0af3tb3+TJK1YsULR0dHq16+fLl++rNdff127d+/W+++/784yAACAwdyKmxUrVmj27Nk1vrUTGhqqxx57TMuWLat33OTn52vcuHHO+6mpqZKk6dOnKzMzUyUlJSouLnY+fuXKFT3zzDM6ffq0WrdurYEDB+qDDz5weQ4AAHBrcytuPvvsM/3hD3+o9fEJEybolVdeqffzjR07VpZl1fp4Zmamy/358+dr/vz59X5+AABw63HrA8VlZWU1/hPwawICAvT99983eCgAAABPuRU3nTp1UlFRUa2Pf/7553y4FwAAeJVbcXP//ffrueee0+XLl2947NKlS1q0aJF+8YtfNNpwAAAA7nLrMzcL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LS11/qbla8LDw1VaWtrUIzZIfdfXq1cvrVu3Tlu3btWGDRtUXV2tuLg4ffvtt804rXsOHTqk2267TXa7XY8//rg2b96svn371niuP+6fO+vzx/3buHGjDhw44PxzLDfjb3vo7vr8bQ9HjhypzMxM7dy5U6tWrdKJEyd0991368KFCzWe72/75+76/G3/JOnrr7/WqlWr1LNnT+3atUtPPPGEnnrqKf31r3+t9Zra9tHhcOjSpUtNM2iTvSZksMcff9zq2rWrderUqTrPCwwMtLKyslyOZWRkWGFhYU05XoPVd33Xu3LlinXnnXdaCxcubKLJGq6ystL68ssvrfz8fGvBggVW+/btrcOHD9d4rj/unzvru56v719xcbEVFhZmffbZZ85jN3vbxp/20JP1Xc/X9/B6586ds0JCQmp969Sf9q8mN1vf9fxh/wIDA63Y2FiXY08++aQ1atSoWq/p2bOn9fvf/97l2HvvvWdJsn744YcmmZNXbtyUnJysbdu26cMPP1Tnzp3rPDciIkJlZWUux8rKyhQREdGUIzaIO+u7XmBgoAYPHqzjx4830XQNFxQUpB49emjo0KFKT0/XoEGDtHLlyhrP9cf9c2d91/P1/SsoKNCZM2c0ZMgQBQQEKCAgQHv27NEf//hHBQQEqKqq6oZr/GkPPVnf9Xx9D693++2366677qp1Xn/av5rcbH3X84f9i4yMvOHV4D59+tT59ltt+xgSEqJWrVo1yZzETT1ZlqXk5GRt3rxZu3fvVnR09E2viY2NVU5Ojsux7OzsOj8D4S2erO96VVVVOnTokCIjI5tgwqZRXV2tysrKGh/zp/2rTV3ru56v79+9996rQ4cOqbCw0HkbNmyYHnroIRUWFqply5Y3XONPe+jJ+q7n63t4vYsXL+qrr76qdV5/2r+a3Gx91/OH/Rs9evQNvybkX//6l7p27VrrNV7ZxyZ5PchATzzxhBUaGmrl5uZaJSUlzttPX1J75JFHrAULFjjvf/zxx1ZAQID1yiuvWEeOHLEWLVpkBQYGWocOHfLGEurkyfoWL15s7dq1y/rqq6+sgoIC68EHH7SCg4Pr/TZIc1uwYIG1Z88e68SJE9bnn39uLViwwLLZbNb7779vWZZ/759lub8+f9u/mlz/to2/7+H1brY+f9vDZ555xsrNzbVOnDhhffzxx1Z8fLzVvn1768yZM5Zl+f/+ubs+f9s/y7KsTz75xAoICLB+97vfWV9++aX197//3WrdurW1YcMG5zkLFiywHnnkEef9r7/+2mrdurU1b94868iRI1ZGRobVsmVLa+fOnU02J3FTT5JqvK1fv955zpgxY6zp06e7XPfmm29ad911lxUUFGT169fPeu+995p38HryZH0pKSlWly5drKCgICs8PNy6//77rQMHDjT/8PX06KOPWl27drWCgoKsDh06WPfee6/zB79l+ff+WZb76/O3/avJ9T/8/X0Pr3ez9fnbHk6dOtWKjIy0goKCrE6dOllTp061jh8/7nzc3/fP3fX52/5d889//tPq37+/Zbfbrd69e1tr1651eXz69OnWmDFjXI59+OGHVkxMjBUUFGR1797d5WdLU7BZlmU13etCAAAAzYvP3AAAAKMQNwAAwCjEDQAAMApxAwAAjELcAAAAoxA3AADAKMQNAAAwCnEDAACMQtwAAACjEDcAAMAoxA0AADAKcQMAAIzy/wFWVJlZzAVDCQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "\n", + "sns.histplot(np.sort(rolls))\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": 65, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unique Values: [2 3 4 5 6]\n", + "Frequency Values: [1 3 2 2 2]\n" + ] + } + ], + "source": [ + "# your code here\n", + "unique, frequency = np.unique(rolls,return_counts = True)\n", + "\n", + "print(\"Unique Values:\",unique)\n", + " \n", + "# print frequency array\n", + "print(\"Frequency Values:\",frequency)" + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAGdCAYAAAAxCSikAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAABGCklEQVR4nO3de1yUdd4//tdwGg7CKHIWVDyBctLUCM8mioQm3Zupd6W1um3+dDfXzKQtra0NO9139l1XtyO13WZZaQWKBxRMRV1UBDyCoqAyoCgzMMBwmOv3x8DEKCADDNccXs/H4/qDaz7XzPuzV4+dt/O6PtclEQRBABEREZEJsxG7ACIiIqL7YcNCREREJo8NCxEREZk8NixERERk8tiwEBERkcljw0JEREQmjw0LERERmTw2LERERGTy7MQuoDtoNBrcuHEDrq6ukEgkYpdDREREHSAIAiorK+Hn5wcbm/Z/Q7GIhuXGjRsICAgQuwwiIiLqhOLiYvj7+7c7xiIaFldXVwDaCbu5uYlcDREREXWEUqlEQECA7nu8PRbRsDTHQG5ubmxYiIiIzExHLufgRbdERERk8tiwEBERkcljw0JEREQmjw0LERERmTw2LERERGTy2LAQERGRyWPDQkRERCaPDQsRERGZPDYsREREZPIMalg2bdqE8PBw3R1lo6KisGvXrnaP2bZtG4KDg+Ho6IiwsDDs3LlT73VBELB27Vr4+vrCyckJ0dHRyM/PN3wmREREZLEMalj8/f2xfv16nDhxAllZWXj44YcxZ84cnDlzptXxR44cwYIFC7B48WKcOnUK8fHxiI+PR15enm7Mu+++i48++gibN2/GsWPH4OLigpiYGNTW1nZtZkRERGQxJIIgCF15A3d3d7z33ntYvHjxPa/NmzcPKpUKycnJun0PPfQQRo4cic2bN0MQBPj5+eHFF1/EqlWrAAAKhQLe3t5ISkrC/PnzO1SDUqmETCaDQqHgs4SIiIjMhCHf352+hqWxsRFbt26FSqVCVFRUq2MyMzMRHR2tty8mJgaZmZkAgMLCQsjlcr0xMpkMkZGRujGtUavVUCqVehtRaxo1Aj799TLyrivELoWIiLrA4IYlNzcXvXr1glQqxfPPP4/t27djxIgRrY6Vy+Xw9vbW2+ft7Q25XK57vXlfW2Nak5iYCJlMptsCAgIMnQZZiZ9PX8dbKefw1GfHUFbJmJGIyFwZ3LAEBQUhOzsbx44dw9KlS7Fo0SKcPXvWGLW1KSEhAQqFQrcVFxf36OeT+Ug+XQIAqKiux6vb89DFBJSIiERicMPi4OCAIUOGYPTo0UhMTERERAQ2bNjQ6lgfHx+Ulpbq7SstLYWPj4/u9eZ9bY1pjVQq1a1Uat6I7qaoqcfB/JsAAFsbCfacLcXPp2+IXBUREXVGl+/DotFooFarW30tKioKaWlpevv27t2ru+YlMDAQPj4+emOUSiWOHTvW5nUxRB2192wp6hsFDPPuhRXThgIA1v50BmVKRkNERObGoIYlISEBBw8exJUrV5Cbm4uEhASkp6fjySefBAAsXLgQCQkJuvEvvPACUlNT8cEHH+D8+fN4/fXXkZWVheXLlwMAJBIJVqxYgbfeegs///wzcnNzsXDhQvj5+SE+Pr77ZklWKSVH+2tKXJgfnp8yGGH9ZFDU1OOV7bmMhoiIzIydIYPLysqwcOFClJSUQCaTITw8HLt378b06dMBAEVFRbCx+a0HGjduHLZs2YJXX30Vr7zyCoYOHYodO3YgNDRUN2b16tVQqVR47rnnUFFRgQkTJiA1NRWOjo7dNEWyRorqehwquAUAiAv3gb2tDd6fG4HZ/+8Q9p0rw48nr+N3o/1FrpKIiDqqy/dhMQW8DwvdbVtWMV76PgfBPq5IXTFJt3/jgQK8t/sCXB3tsPcvk+EjY2NMRCSWHrkPC5EpS8nVrg6KC/PV2//HSYMQ4S9DZW0DEn7MYTRERGQm2LCQxamorsOhfG0c9Ei4fsNi1xQNOdjZ4MCFm9h24poYJRIRkYHYsJDF2XOmFA0aAcE+rhjs2eue14d6u2Ll9GEAgDd/OYsbFTU9XSIRERmIDQtZnOSmOGjWXb+utPSHiYMwqn9vVKobsOZHrhoiIjJ1bFjIotxR1eFw0+qgR8LablhsbSR4f24EpHY2OHjxJr79D++WTERkytiwkEXZfUaORo2AEb5uGNRKHNTSYM9eeCkmCADwVso5XLtT3RMlEhFRJ7BhIYuiWx3UThzU0rPjAzFmQB9UqRvw8g9cNUREZKrYsJDFuK2qw5FL5QDuXc7cFlsbCd6bGwFHexscLijH/x0rMmaJRETUSWxYyGI0x0Gh/dww0MOlw8cFerhgdUwwAODtnedQfJvREBGRqWHDQhYjJaf5ZnF+Bh/7zLiBeHCgO6rrGrH6+xxoNIyGiIhMCRsWsgjlVWocudT07KAOxkEt2dhI8N7ccDjZ2yLzcjm+Pna1u0skIqIuYMNCFiH1jBwaAQjrJ0P/vs6deo8BfV2wJlYbDSXuPI+r5aruLJGIiLqADQtZBF0c1MHVQW15+qEBeGiQO2rqG/ESoyEiIpPBhoXM3s1KNY5eNmx1UFtsbCR47/EIODvY4njhbXyZeaUbKiQioq5iw0JmrzkOivCXIcC9c3FQSwHuznjlkeEAgHdSz6PwFqMhIiKxsWEhs5eScwNA1+Oglp6M7I8JQzxQW6/BS9tOo5HREBGRqNiwkFkrq6zF8cLbANp/dpChJBIJ1v8uDL2kdsi6egdfHC7stvcmIiLDsWEhs7Y7TxsHjQzoDf8+XY+DWvLv44y/xmmjofd2X8Clm1Xd+v5ERNRxbFjIrCU3rQ6a1Y1xUEvzxwZg4lAPqBs0WMVoiIhINGxYyGyVKWtx/Io2DortxjioJYlEgnd+Fw5XqR1OFVXg018vG+VziIiofWxYyGztypNDEIBR/XujX28no32OX28nvDZrBADgg70XkV9aabTPIiKi1rFhIbP127ODjPPrSktzx/hjSpAn6pqioYZGjdE/k4iIfsOGhcySXFGL/1zt/tVBbZFIJFj/X+FwdbTD6WsKfMxoiIioR7FhIbO0K68EggCMHtAHfkaMg1rykTni9dkhAIAP9+bjgpzREBFRT2HDQmapJ+Oglv7rgX6YFuyFukZtNFTPaIiIqEewYSGzI1fUIuvqHQA9Ewe1JJFI8PZ/hUHmZI/c6wpsTr/Uo59PRGSt2LCQ2dmZq/11ZezAPvCROfb453u7OeKNR7XR0Ef783GuRNnjNRARWRs2LGR2UnLFiYNamjPSDzNGeKO+UcCL3zEaIiIyNjYsZFZuVNTgxNU7kEiMd7O4jpBIJPj7Y2Ho42yPsyVKbDxQIFotRETWgA0LmRVdHDTAHd5uPR8HteTpKsUbc0IBAP/YX4C86wpR6yEismRsWMis6OIgIz07yFCzw30RG+qDBo2AVdtOo66B0RARkTEY1LAkJiZi7NixcHV1hZeXF+Lj43HhwoV2j5kyZQokEsk9W1xcnG7MM888c8/rM2fO7NyMyGJdu1ONU0UV2jgo1EfscgBoo6E340Ph7uKA8/JK/GN/vtglERFZJIMaloyMDCxbtgxHjx7F3r17UV9fjxkzZkClUrV5zI8//oiSkhLdlpeXB1tbW8ydO1dv3MyZM/XGffPNN52bEVmsXblyAMCDA93hJXIc1JJHLynebIqGNqZfQu41RkNERN3NzpDBqampen8nJSXBy8sLJ06cwKRJk1o9xt3dXe/vrVu3wtnZ+Z6GRSqVwsfHNP7VTKYpuSkOmmUicVBLceG+2Jnni5ScEry4LRu//GkCpHa2YpdFRGQxunQNi0Kh/Zfk3U1Jez777DPMnz8fLi4uevvT09Ph5eWFoKAgLF26FOXl5W2+h1qthlKp1NvIshXfrsbp4grYSIAYE4mD7vbmnFB49HLAxdIqbNjHaIiIqDt1umHRaDRYsWIFxo8fj9DQ0A4dc/z4ceTl5WHJkiV6+2fOnImvvvoKaWlpeOedd5CRkYHY2Fg0Nja2+j6JiYmQyWS6LSAgoLPTIDOxK0/760pkYF94uZpOHNSSu4sD3ooPAwBszriE08UV4hZERGRBJIIgCJ05cOnSpdi1axcOHToEf3//Dh3zxz/+EZmZmcjJyWl33OXLlzF48GDs27cP06ZNu+d1tVoNtVqt+1upVCIgIAAKhQJubm6GTYTMwpx/HMLpawq8FR+Kpx4aIHY57Xph6yn8lH0DQ7x6IflPE+Boz2iIiKg1SqUSMpmsQ9/fnfqFZfny5UhOTsaBAwc63KyoVCps3boVixcvvu/YQYMGwcPDAwUFrd+MSyqVws3NTW8jy1V8uxqnrylgIwFmmmgc1NLrs0Pg6SpFQVkV/nffRbHLISKyCAY1LIIgYPny5di+fTv279+PwMDADh+7bds2qNVqPPXUU/cde+3aNZSXl8PX1/QurqSe13zvlYcG9YVHL6nI1dxfHxcHvP2YNhr65OBlnGh6UCMREXWeQQ3LsmXL8PXXX2PLli1wdXWFXC6HXC5HTU2NbszChQuRkJBwz7GfffYZ4uPj0bdvX739VVVVeOmll3D06FFcuXIFaWlpmDNnDoYMGYKYmJhOTossSUqOad0sriOmj/DGf43qB40AvLTtNGrrW78ei4iIOsaghmXTpk1QKBSYMmUKfH19ddu3336rG1NUVISSkhK94y5cuIBDhw61GgfZ2toiJycHjz76KIYNG4bFixdj9OjR+PXXXyGVmv6/psm4rparkHu9KQ4KMf04qKV1s0Pg5SrF5VsqfLCn/RssEhFR+wy6D0tHrs9NT0+/Z19QUFCbxzo5OWH37t2GlEFWpDkOGjfYA33NIA5qSeZsj/W/C8Pvk7Lw6aFCxIT4YMzAjt8CgIiIfsNnCZFJM8c4qKWHg73x+Gh/CAKwattp1NQxGiIi6gw2LGSyrtxS4cwNJWxtJIgxsziopddmjYCPmyOulFfj3d3nxS6HiMgssWEhk/VbHNQX7i4OIlfTeTInbTQEAElHruDY5bbv4kxERK1jw0ImqzkOMsVnBxlqSpAX5o8NgCAAL32fg+q6BrFLIiIyK2xYyCRdvlmFsyXaOGjGCPONg1r6a9xw+MkcUXS7Gu/sYjRERGQINixkknY2xUHjh3igjxnHQS25OtrjncfDAQBfZl7FkUu3RK6IiMh8sGEhk5TcHAeFmX8c1NLEoZ7478j+AIDV3+dApWY0RETUEWxYyOQUlFXhvLwSdjYSzAjxFrucbvfKI8PRr7cTrt2pQeKuc2KXQ0RkFtiwkMlpjoMmDPVAb2fLiINa6iW1w3tN0dDXR4twKJ/REBHR/bBhIZOju1mchcVBLY0b4oGnHxoAAHj5hxxU1taLXBERkWljw0ImpaCsEhdKK2Fvazmrg9qyJjYYAe5OuF5Rg7d3MhoiImoPGxYyKSk5cgDai1NlzvYiV2NcLlI7vPd4BADgm+PFOHjxpsgVERGZLjYsZFJScm8AsOw4qKWHBvXFM+MGAtBGQ0pGQ0RErWLDQibjYmklLpZWwd5WgugRlrc6qC2rZwZhQF9nlChq8VbyWbHLISIySWxYyGQ0X2w7aagnZE6WHQe15OygjYYkEuC7rGs4cL5M7JKIiEwOGxYyCYIg6B52GGcBzw4y1IOB7vj9+EAAwJofc6CoZjRERNQSGxYyCRdLq1BQVgUHWxurioNaWjUjCIM8XFCqVONvjIaIiPSwYSGTkJKjvdh20jBPuDlaTxzUkpODLd6bGwEbCfDDyWvYd7ZU7JKIiEwGGxYSnSAISG6Kg2ZZYRzU0ugBfbBk4iAAQML2XFRU14lcERGRaWDDQqK7UFqJyzdVcLCzwbThXmKXI7qV04dhsKcLblaq8frPZ8Quh4jIJLBhIdE1rw6aMswTrlYaB7XkaG+L95uioR3ZN7D7jFzskoiIRMeGhUQlCMJvzw6y8jiopVH9++CPkwcDAP66PRe3VYyGiMi6sWEhUZ0rqcTlW81xkHWuDmrLiuihGOrVC7eq6rCO0RARWTk2LCSq5lvxTw3yRC+pncjVmBapnTYasrWR4JfTN7Cz6cJkIiJrxIaFRKMfB/mJXI1pigjojaVN0dBrO/JQXqUWuSIiInGwYSHRnLmhxJXyakjtbDAtmKuD2vKnaUMQ7OOKclUd1v7EaIiIrBMbFhJN8634Hw72ggvjoDY1R0N2NhKk5JYguekme0RE1oQNC4mCq4MME9pPhv9v6hAA2mjoZiWjISKyLmxYSBRnbihRdLsajvY2eJhxUIcsnzoEw33dcKe6Hq/uyIUgCGKXRETUY9iwkCiSm35dmRbsDWcHxkEd4WBngw+aoqHdZ0rx82lGQ0RkPdiwUI8TBEG3nPmRMMZBhhjh54Y/TxsKAFj70xmUKWtFroiIqGcY1LAkJiZi7NixcHV1hZeXF+Lj43HhwoV2j0lKSoJEItHbHB0d9cYIgoC1a9fC19cXTk5OiI6ORn5+vuGzIbOQe12B4ts1cLK3xdRgT7HLMTtLpwxGaD83KGrq8cp2RkNEZB0MalgyMjKwbNkyHD16FHv37kV9fT1mzJgBlUrV7nFubm4oKSnRbVevXtV7/d1338VHH32EzZs349ixY3BxcUFMTAxqa/mvR0vUfLHtw8O9GAd1gr2tDd6fGwF7Wwn2nSvD9lPXxS6JiMjoDPq2SE1N1fs7KSkJXl5eOHHiBCZNmtTmcRKJBD4+Pq2+JggCPvzwQ7z66quYM2cOAOCrr76Ct7c3duzYgfnz5xtSIpk4QRB016/MYhzUacE+blgRPQzv7b6A138+g/FDPODt5nj/A4mIzFSXrmFRKBQAAHd393bHVVVVYcCAAQgICMCcOXNw5sxvN78qLCyEXC5HdHS0bp9MJkNkZCQyMzNbfT+1Wg2lUqm3kXk4fU2B6xU1cHawxZQgrg7qij9OGoRwfxmUtQ1I+JHREBFZtk43LBqNBitWrMD48eMRGhra5rigoCB8/vnn+Omnn/D1119Do9Fg3LhxuHbtGgBALpcDALy99R985+3trXvtbomJiZDJZLotICCgs9OgHpbSdNOzacO94eRgK3I15s3OVrtqyMHWBvvPl+H7E9fELomIyGg63bAsW7YMeXl52Lp1a7vjoqKisHDhQowcORKTJ0/Gjz/+CE9PT/zrX//q7EcjISEBCoVCtxUXF3f6vajnCIKAnbnaJjSOcVC3GOrtir9MHwYA+NsvZ1GiqBG5IiIi4+hUw7J8+XIkJyfjwIED8Pf3N+hYe3t7jBo1CgUFBQCgu7altLRUb1xpaWmb171IpVK4ubnpbWT6sosrcL2iBi4OtpgSxNVB3eUPEwMxMqA3KtUNePkHRkNEZJkMalgEQcDy5cuxfft27N+/H4GBgQZ/YGNjI3Jzc+Hrq/0XdmBgIHx8fJCWlqYbo1QqcezYMURFRRn8/mS6mlcHRY/whqM946DuYte0asjBzgYHL97Ed1n8xZGILI9BDcuyZcvw9ddfY8uWLXB1dYVcLodcLkdNzW8/Qy9cuBAJCQm6v//2t79hz549uHz5Mk6ePImnnnoKV69exZIlSwBoVxCtWLECb731Fn7++Wfk5uZi4cKF8PPzQ3x8fPfMkkSn0QjY2fSwQ94srvsN8eqFl2YEAQDeTD6H6xWMhojIshi0rHnTpk0AgClTpujt/+KLL/DMM88AAIqKimBj81sfdOfOHfzhD3+AXC5Hnz59MHr0aBw5cgQjRozQjVm9ejVUKhWee+45VFRUYMKECUhNTb3nBnNkvk4VV+CGohYuDraYPIxxkDH8fkIgUs/IceLqHbz8fQ7+vfhBSCQSscsiIuoWEsECAm+lUgmZTAaFQsHrWUzU3345i88PFyJ+pB8+nD9K7HIs1uWbVYjd8CvUDRr8/bFQPBk5QOySiIjaZMj3N58lREbXMg6KC/cTuRrLNsizF1bPDAYAvJ1yDsW3q0WuiIioe7BhIaM7WXQHcmUtXKV2mDjUQ+xyLN6z4wbiwYHuUNU14uUfcqDRmP2PqEREbFjI+JpvxT+dq4N6hI2NBO8+Hg5HexscuVSO/zt29f4HERGZODYsZFQajYBdec1xEFcH9ZSBHi5Y0xwN7TyPonJGQ0Rk3tiwkFGdKLqDUqUaro52mMA4qEctjBqIyEB31NQ3YtX3pxkNEZFZY8NCRtV8s7gZI3wgtWMc1JNsbCR47/EIODvY4njhbXyVeUXskoiIOo0NCxlNo97qoNYfs0DG1b+vMxIeGQ4AWJ96HlduqUSuiIioc9iwkNFkXbmNssqmOGgIbxYnlicf7I9xg/uitl6DVdtOo5HREBGZITYsZDQpTb+uxIT4wMGO/6mJxcZGgnd+Fw4XB1tkXb2DLw4Xil0SEZHB+C1CRqGNg+QAuDrIFAS4O+OvcdrHYby3+wIu36wSuSIiIsOwYSGjOF54G7eq1JA52WP8YK4OMgULHgzAxKEeUDcwGiIi88OGhYwiJfcGACAmxJtxkImQSCRY/7tw9JLa4WRRBT47dFnskoiIOozfJNTtGjUCUvOa4yA+O8iU9OvthNdmaVcNvb/nIgrKKkWuiIioY9iwULc7VliOW1V16O1sj3GD+4pdDt3liTEBmDzME3UNGry4LQcNjRqxSyIiui82LNTtmm8WFzPCB/a2/E/M1GijoTC4OtrhdHEFPvmVq4aIyPTx24S6VUOjpkUcxNVBpspX5oS1s7Srhv5370VcLGU0RESmjQ0LdatjhbdRrqpDH2d7RDEOMmmPj/bHw8FeqGvU4MXvTqOe0RARmTA2LNStkpvioJmhjINMnUQiQeJ/hcHN0Q651xX4V8YlsUsiImoTv1Go22jjoKZnB4VxdZA58HZzxBtzQgAAG9LycV6uFLkiIqLWsWGhbpN5uRx3quvh7uKAhwa5i10OdVD8yH6YPsIb9Y0CoyEiMllsWKjbpLSIg+wYB5kNiUSCvz8Wit7O9jhzQ4l/HmA0RESmh98q1C3qGzXYfUa7OmhWGFcHmRsvV0e88ag2Gvp/+/Nx5oZC5IqIiPSxYaFukXlJGwd59HLAg4GMg8zRoxF+mBnigwaNNhqqa2A0RESmgw0LdQvdzeJCGAeZK4lEgrceC4W7iwPOyyvxjwMFYpdERKTDbxbqsvpGDVLP8GZxlsCjlxR/a1o1tPFAAfKuMxoiItPAhoW67HDBLShqtHFQZCBvFmfuZoX7IS7MF41N0ZC6oVHskoiI2LBQ1zXHQbGhvrC1kYhcDXWHv80JQV8XB1worcRHaflil0NExIaFuqau4bfVQYyDLEffXlK8FR8KANiccRmniyvELYiIrB4bFuqSwwW3oKxtgKerFGMHcnWQJYkN88WjEX5o1AhYte00ausZDRGReNiwUJc0PzvokVAfxkEW6I1HQ+DRS4r8sip8uI/REBGJhw0LdVpdgwZ7zjbHQXx2kCXq4+KAtx/TRkMfH7yEk0V3RK6IiKyVQQ1LYmIixo4dC1dXV3h5eSE+Ph4XLlxo95hPPvkEEydORJ8+fdCnTx9ER0fj+PHjemOeeeYZSCQSvW3mzJmGz4Z61KGCm6isbYCXqxRjBvQRuxwykhkhPnhsVD9oBOAlRkNEJBKDGpaMjAwsW7YMR48exd69e1FfX48ZM2ZApVK1eUx6ejoWLFiAAwcOIDMzEwEBAZgxYwauX7+uN27mzJkoKSnRbd98803nZkQ9RhcHhfnChnGQRVs3ewS8XKW4dFOF/9l7UexyiMgKSQRBEDp78M2bN+Hl5YWMjAxMmjSpQ8c0NjaiT58++Mc//oGFCxcC0P7CUlFRgR07dnSqDqVSCZlMBoVCATc3t069BxlG3dCIMW/uQ6W6Aduej+IFt1Yg7VwpFn+ZBYkE+P75KIwewHNORF1jyPd3l65hUSi0d8F0d+/4/3FVV1ejvr7+nmPS09Ph5eWFoKAgLF26FOXl5W2+h1qthlKp1NuoZ/168RYq1Q3wdpNidH/GQdZg2nBv/O4BfwgCsGpbDmrqGA0RUc/pdMOi0WiwYsUKjB8/HqGhoR0+7uWXX4afnx+io6N1+2bOnImvvvoKaWlpeOedd5CRkYHY2Fg0Nrb+f4iJiYmQyWS6LSAgoLPToE5KyWUcZI3Wzh4BbzcpCm+p8N7u9q9fIyLqTp2OhJYuXYpdu3bh0KFD8Pf379Ax69evx7vvvov09HSEh4e3Oe7y5csYPHgw9u3bh2nTpt3zulqthlqt1v2tVCoREBDASKiH1NY3Ysxb+1ClbsAPSxkNWJsDF8rw7Bf/gUQCfPtcFJ/OTUSdZvRIaPny5UhOTsaBAwc63Ky8//77WL9+Pfbs2dNuswIAgwYNgoeHBwoKWn9arFQqhZubm95GPefgxZuoUjfAV+aIUQGMg6zN1CAvPDFGGw299P1pVNc1iF0SEVkBgxoWQRCwfPlybN++Hfv370dgYGCHjnv33Xfx5ptvIjU1FWPGjLnv+GvXrqG8vBy+vrzVuyliHESvzhoBX5kjrpZX491URkNEZHwGNSzLli3D119/jS1btsDV1RVyuRxyuRw1NTW6MQsXLkRCQoLu73feeQevvfYaPv/8cwwcOFB3TFVVFQCgqqoKL730Eo4ePYorV64gLS0Nc+bMwZAhQxATE9NN06TuUlvfiH1nSwHw2UHWzM3RHu/8TvtLadKRK8i81PZF8kRE3cGghmXTpk1QKBSYMmUKfH19ddu3336rG1NUVISSkhK9Y+rq6vD444/rHfP+++8DAGxtbZGTk4NHH30Uw4YNw+LFizF69Gj8+uuvkEql3TRN6i4ZF29CVdeIfr2dMCqgt9jlkIgmDfPEggf7AwBW/3AaKjWjISIyHjtDBnfk+tz09HS9v69cudLueCcnJ+zevduQMkhEKU03i4sN9YFEwjjI2v01bjgOXryJ4ts1WL/rPN6M7/iKQSIiQ/BZQtRhtfWN2HeOcRD9ppfUDu8+ro2G/n30Kg4X3BK5IiKyVGxYqMPSL5ShuikOGsk4iJqMH+KBpx5qioa+z0Flbb3IFRGRJWLDQh3W/OyguHBfxkGkJyF2OPz7OOF6RQ3e3nle7HKIyAKxYaEOqalrRNq5MgBAXBjjINLnIrXDe49HAAC+OV6EgxdvilwREVkaNizUIQculKGmvhH+fZwQ7i8TuxwyQVGD+2JR1AAAwJofcqBkNERE3YgNC3VICuMg6oCXY4PR390ZNxS1+HvyObHLISILwoaF7qu6rgH7z2vjoFlhfiJXQ6bM2cEO78+N0D5nKKsYBy6UiV0SEVkINix0XwfO30RNfSMC3J0Q2o/PbaL2PRjojmfHaR/bkfBDLhQ1jIaIqOvYsNB9peTeAADEhfkxDqIOeSkmCIEeLpAra/Fm8lmxyyEiC8CGhdqlUreIg3izOOogJwdbvPd4OCQS4PsT15DWdMNBIqLOYsNC7dp/vgy19RoM6OuMED/GQdRxYwa6Y8mEpmjox1xUVNeJXBERmTM2LNQu3eqgMK4OIsO9OCMIgzxdUFapxhu/MBoios5jw0JtqlI36FZ58NlB1BmO9rZ4f24EbCTA9lPXseeMXOySiMhMsWGhNqWdK4W6QYNADxeM8GUcRJ3zQP8++MOkQQCAV7bn4Y6K0RARGY4NC7WJcRB1l79ED8MQr164VaXGup/PiF0OEZkhNizUqip1A9KbngfDOIi6ytHeFh/MjYCtjQQ/n76B1LwSsUsiIjPDhoValXauFHUNGgzycEGwj6vY5ZAFiAjojecna6Ohv27PQ3mVWuSKiMicsGGhViXz2UFkBH+eNhRB3q4oV9VhLaMhIjIAGxa6R2VtPTIuMA6i7ie1064asrWRICWnBMk5N8QuiYjMBBsWuse+c6Woa9RgsKcLgrwZB1H3CvOXYdmUwQCA13bk4WYloyEiuj82LHQP3eqgcD47iIxj+cNDEezjijvV9XhtRx4EQRC7JCIycWxYSI+iph4HL94CwGcHkfE42NnggyciYGcjQeoZOX7J4aohImofGxbSs++sNg4a6tULwxgHkRGF+Mmw/OEhAIC1P+WhrLJW5IqIyJSxYSE9O3N/Wx1EZGzLpg7BCF83VFTX46/bGQ0RUdvYsJCOoqYeB/ObVgeFsWEh47O31UZD9rYS7D1bih3Z18UuiYhMFBsW0tl7thT1jQKGeffCUMZB1EOG+7rhhWlDAQCv/3wWpUpGQ0R0LzYspJPSdE+MuDA/kSsha/P85MEI6yeDoqYer/yYy2iIiO7BhoUAAIrqevyar10dFBfuI3I1ZG3sbG3w/twIONjaIO18GX44yWiIiPSxYSEAwO6zcjRoBAT7uGKIF+Mg6nlBPq5YMV0bDb3xyxnIFYyGiOg3bFgIQIubxfFiWxLRcxMHISKgNyprG7DmxxxGQ0Skw4aFcEdVh8MF2jjoES5nJhHZ2drgg7nhcLCzQfqFm9iWdU3skojIRBjUsCQmJmLs2LFwdXWFl5cX4uPjceHChfset23bNgQHB8PR0RFhYWHYuXOn3uuCIGDt2rXw9fWFk5MToqOjkZ+fb9hMqNP2NMVBw33dMNizl9jlkJUb4uWKF6cPAwC8mXwW1ytqRK6IiEyBQQ1LRkYGli1bhqNHj2Lv3r2or6/HjBkzoFKp2jzmyJEjWLBgARYvXoxTp04hPj4e8fHxyMvL041599138dFHH2Hz5s04duwYXFxcEBMTg9paZtg9ISVXDoC34ifTsWTiIIzq3xuV6gas+YHREBEBEqEL/09w8+ZNeHl5ISMjA5MmTWp1zLx586BSqZCcnKzb99BDD2HkyJHYvHkzBEGAn58fXnzxRaxatQoAoFAo4O3tjaSkJMyfP/++dSiVSshkMigUCri5uXV2OlbpjqoOY/6+D40aAQdWTUGgh4vYJREBAC7drMIjG36FukGDtx8Lw39H9he7JCLqZoZ8f9t15YMUCgUAwN3dvc0xmZmZWLlypd6+mJgY7NixAwBQWFgIuVyO6Oho3esymQyRkZHIzMxstWFRq9VQq397JL1SqezKNKza7jNyNGoEjPB1Y7NCJmWwZy+8FBOEt1LO4e8pZ3GxtBJ8eDiReOxsJPhr3AjxPr+zB2o0GqxYsQLjx49HaGhom+Pkcjm8vb319nl7e0Mul+teb97X1pi7JSYm4o033uhs6dRCCp8dRCbs2fGBSM2TI+vqHSQduSJ2OURWzcHOxjwblmXLliEvLw+HDh3qzno6JCEhQe9XG6VSiYCAgB6vw9yVV6lx5FI5AC5nJtNkayPBP598AN8cL0ZdY6PY5RBZNVsbcRcWd6phWb58OZKTk3Hw4EH4+/u3O9bHxwelpaV6+0pLS+Hj46N7vXmfr6+v3piRI0e2+p5SqRRSqbQzpVMLu8+UolEjILSfGwYyDiIT5eXmiBeih4pdBhGJzKB2SRAELF++HNu3b8f+/fsRGBh432OioqKQlpamt2/v3r2IiooCAAQGBsLHx0dvjFKpxLFjx3RjyDhScvnsICIiMg8G/cKybNkybNmyBT/99BNcXV1115jIZDI4OTkBABYuXIh+/fohMTERAPDCCy9g8uTJ+OCDDxAXF4etW7ciKysLH3/8MQBAIpFgxYoVeOuttzB06FAEBgbitddeg5+fH+Lj47txqtTSrSo1MhkHERGRmTCoYdm0aRMAYMqUKXr7v/jiCzzzzDMAgKKiIti0yLnGjRuHLVu24NVXX8Urr7yCoUOHYseOHXoX6q5evRoqlQrPPfccKioqMGHCBKSmpsLR0bGT06L7Sc2TQyMA4f4y9O/rLHY5RERE7erSfVhMBe/DYrj//uQojlwqR0JsMP44ebDY5RARkRUy5PubzxKyQjcr1Th6WRsHPcI4iIiIzAAbFiuUekYbB0X4yxDgzjiIiIhMHxsWK5SS07Q6iDeLIyIiM8GGxcqUVdbiWOFtAIyDiIjIfLBhsTKpeXIIAjAyoDf8+zAOIiIi88CGxcok52ifHTSLcRAREZkRNixWpFRZi/9c0cZBsYyDiIjIjLBhsSK7cksgCMAD/XujX28nscshIiLqMDYsVmRnrvZRCnHhfHYQERGZFzYsVkKuqMV/rjavDvIRuRoiIiLDsGGxErvytHHQ6AF94CtjHEREROaFDYuVSGlaHcQnMxMRkTliw2IFShQ1yLp6BwBvFkdEROaJDYsVaL7YduzAPvCROYpcDRERkeHYsFgB3bOD+OsKERGZKTYsFu56RQ1OFlVAIuHN4oiIyHyxYbFwu3K1F9uOHegObzfGQUREZJ7YsFi4lFw+O4iIiMwfGxYLdu1ONU41xUEzQ3mzOCIiMl9sWCzYrqbVQQ8OdIeXK+MgIiIyX2xYLFgy4yAiIrIQbFgsVPHtapwuroCNBIhhHERERGaODYuF2tn060pkYF/GQUREZPbYsFio5tVBcYyDiIjIArBhsUBF5dXIuaaADVcHERGRhWDDYoGaf12JGtwXHr2kIldDRETUdWxYLFDz9StxYX4iV0JERNQ92LBYmKvlKuReV8DWRoKYEG+xyyEiIuoWbFgsjC4OGtQXfRkHERGRhWDDYmFScrg6iIiILA8bFgtSeEuFMzeUTXEQVwcREZHlMLhhOXjwIGbPng0/Pz9IJBLs2LGj3fHPPPMMJBLJPVtISIhuzOuvv37P68HBwQZPxto1X2w7bnBfuLs4iFwNERFR9zG4YVGpVIiIiMDGjRs7NH7Dhg0oKSnRbcXFxXB3d8fcuXP1xoWEhOiNO3TokKGlWb3kHD47iIiILJOdoQfExsYiNja2w+NlMhlkMpnu7x07duDOnTt49tln9Quxs4OPD2OMzrp0swrnSpSws5Fgxgj+70hERJalx69h+eyzzxAdHY0BAwbo7c/Pz4efnx8GDRqEJ598EkVFRW2+h1qthlKp1Nus3c6mX1fGD/FAH8ZBRERkYXq0Yblx4wZ27dqFJUuW6O2PjIxEUlISUlNTsWnTJhQWFmLixImorKxs9X0SExN1v9zIZDIEBAT0RPkmTffsoDDGQUREZHl6tGH58ssv0bt3b8THx+vtj42Nxdy5cxEeHo6YmBjs3LkTFRUV+O6771p9n4SEBCgUCt1WXFzcA9WbroKyKpyXV2rjIN4sjoiILJDB17B0liAI+Pzzz/H000/DwaH9yKJ3794YNmwYCgoKWn1dKpVCKuVN0Zo1rw6aMNQDvZ0ZBxERkeXpsV9YMjIyUFBQgMWLF993bFVVFS5dugRfX8YbHaG7WRzjICIislAGNyxVVVXIzs5GdnY2AKCwsBDZ2dm6i2QTEhKwcOHCe4777LPPEBkZidDQ0HteW7VqFTIyMnDlyhUcOXIEjz32GGxtbbFgwQJDy7M6+aWVuFBaCXtbrg4iIiLLZXAklJWVhalTp+r+XrlyJQBg0aJFSEpKQklJyT0rfBQKBX744Qds2LCh1fe8du0aFixYgPLycnh6emLChAk4evQoPD09DS3P6jRfbDtxqCdkzvYiV0NERGQcEkEQBLGL6CqlUgmZTAaFQgE3Nzexy+lR0/8nA/llVfhgbgR+N9pf7HKIiIg6zJDvbz5LyIxdLK1EflkVHGxtED2Cq4OIiMhysWExY8234p80zAMyJ8ZBRERkudiwmClBEHTLmR/h6iAiIrJwbFjM1MXSKhQwDiIiIivBhsVMpeTcAABMGuYJN0fGQUREZNnYsJghQRCQ3BQHzQpnHERERJaPDYsZOi+vxOWbKjjY2WDacC+xyyEiIjI6NixmqPlW/FOGecKVcRAREVkBNixmRhAE3d1t4xgHERGRlWDDYmbOlihReEsFqZ0Npg3n6iAiIrIObFjMTPO9V6YGeaGX1OBHQREREZklNixmRBAE3fUrjzAOIiIiK8KGxYycuaHElfJqbRwUzNVBRERkPdiwmJHmi20fDvaCC+MgIiKyImxYzETLOIirg4iIyNqwYTETedeVKLpdDUd7GzzMOIiIiKwMGxYzkZyrfXbQtGBvODswDiIiIuvChsUMMA4iIiJrx4bFDORcU+DanRo42dtiahDjICIisj5sWMxA883iHh7uBScHW5GrISIi6nlsWEycIAhIboqDZoUxDiIiIuvEhsXEnb6mwPWKGjg72GIK4yAiIrJSbFhMXEpO0+qg4d6Mg4iIyGqxYTFhequDGAcREZEVY8Niwk4VV+CGohYuDraYEuQpdjlERESiYcNiwpp/XYke4Q1He8ZBRERkvdiwmCiNRtAtZ2YcRERE1o4Ni4k6VXwHJYpa9JLaYdIwxkFERGTd2LCYqJQcOQAgergX4yAiIrJ6bFhMkF4cFO4ncjVERETiY8Nigk4W3YFcWQtXqR0mDvUQuxwiIiLRGdywHDx4ELNnz4afnx8kEgl27NjR7vj09HRIJJJ7Nrlcrjdu48aNGDhwIBwdHREZGYnjx48bWprFaL4V/3SuDiIiIgLQiYZFpVIhIiICGzduNOi4CxcuoKSkRLd5ef12m/lvv/0WK1euxLp163Dy5ElEREQgJiYGZWVlhpZn9vTjIK4OIiIiAgA7Qw+IjY1FbGyswR/k5eWF3r17t/ra//zP/+APf/gDnn32WQDA5s2bkZKSgs8//xxr1qwx+LPMWdbVOyirVMPV0Q4TGAcREREB6MFrWEaOHAlfX19Mnz4dhw8f1u2vq6vDiRMnEB0d/VtRNjaIjo5GZmZmq++lVquhVCr1NkvR/OygGSN8ILVjHERERAT0QMPi6+uLzZs344cffsAPP/yAgIAATJkyBSdPngQA3Lp1C42NjfD29tY7ztvb+57rXJolJiZCJpPptoCAAGNPo0c0agTszNPOeRbjICIiIh2DIyFDBQUFISgoSPf3uHHjcOnSJfzv//4v/v3vf3fqPRMSErBy5Urd30ql0iKalv9cuY2blWq4Odph/BDGQURERM2M3rC05sEHH8ShQ4cAAB4eHrC1tUVpaanemNLSUvj4+LR6vFQqhVQqNXqdPa35YtsZIT5wsOOKcyIiomaifCtmZ2fD11cbeTg4OGD06NFIS0vTva7RaJCWloaoqCgxyhNFo0bAzlxtHMTVQURERPoM/oWlqqoKBQUFur8LCwuRnZ0Nd3d39O/fHwkJCbh+/Tq++uorAMCHH36IwMBAhISEoLa2Fp9++in279+PPXv26N5j5cqVWLRoEcaMGYMHH3wQH374IVQqlW7VkDU4Xngbt6rUkDnZY/xgxkFEREQtGdywZGVlYerUqbq/m68lWbRoEZKSklBSUoKioiLd63V1dXjxxRdx/fp1ODs7Izw8HPv27dN7j3nz5uHmzZtYu3Yt5HI5Ro4cidTU1HsuxLVkKbna1UExId6Mg4iIiO4iEQRBELuIrlIqlZDJZFAoFHBzcxO7HIM1NGrwUGIablXV4cvfP4jJfDozERFZAUO+v/lPeROgjYPq0NvZHuMG9xW7HCIiIpPDhsUEJDetDpoZ4gN7W54SIiKiu/HbUWQNjRqk5nF1EBERUXvYsIjs6OXbuK2qQx9ne0QNYhxERETUGjYsIktpjoNCfWDHOIiIiKhV/IYUkTYO0jYscWF+IldDRERkutiwiCjzcjnuVNfD3cUBDw1yF7scIiIik8WGRUQpOYyDiIiIOoLfkiKpb9Qg9Yx2ddCsMK4OIiIiag8bFpEcuVSOiup6ePRywIOBjIOIiIjaw4ZFJCk52mcHMQ4iIiK6P35TiqCuQYPdZ0oBcHUQERFRR7BhEcHhS7egqKmHRy8p4yAiIqIOYMMigp1Nq4NiQ31gayMRuRoiIiLTx4alh2njID47iIiIyBBsWHrY4YJbUNY2wNNVirEDGQcRERF1BBuWHpbcFAc9wjiIiIiow9iw9CB1QyP2nG2Og7g6iIiIqKPYsPSgQ/m3UFnbAC9XKcYM6CN2OURERGaDDUsPan520CNhvrBhHERERNRhbFh6SG19I/ae1d4sbhZXBxERERmEDUsP+TX/FirVDfBxc8QD/RkHERERGYINSw/Zmdt0s7gwH8ZBREREBmLD0gMYBxEREXUNG5YecPDiTVSpG+Arc8SoAMZBREREhmLD0gNScrk6iIiIqCvYsBhZbX0j9jXFQXx2EBERUeewYTGy9As3oaprRL/eThgV0FvscoiIiMwSGxYj+y0O8oFEwjiIiIioM9iwGFFNXSPSzjXHQXx2EBERUWexYTGi9AtlqG6KgyL8ZWKXQ0REZLYMblgOHjyI2bNnw8/PDxKJBDt27Gh3/I8//ojp06fD09MTbm5uiIqKwu7du/XGvP7665BIJHpbcHCwoaWZnOY4KC7cl3EQERFRFxjcsKhUKkRERGDjxo0dGn/w4EFMnz4dO3fuxIkTJzB16lTMnj0bp06d0hsXEhKCkpIS3Xbo0CFDSzMp2jioDAAQF8bVQURERF1hZ+gBsbGxiI2N7fD4Dz/8UO/vt99+Gz/99BN++eUXjBo16rdC7Ozg4+NjaDkm68CFMtTUN8K/jxPCGQcRERF1SY9fw6LRaFBZWQl3d3e9/fn5+fDz88OgQYPw5JNPoqioqM33UKvVUCqVepupSclhHERERNRderxhef/991FVVYUnnnhCty8yMhJJSUlITU3Fpk2bUFhYiIkTJ6KysrLV90hMTIRMJtNtAQEBPVV+h1TXNSDtfNOzg8K4OoiIiKirerRh2bJlC9544w1899138PLy0u2PjY3F3LlzER4ejpiYGOzcuRMVFRX47rvvWn2fhIQEKBQK3VZcXNxTU+iQ/efLUFuvQX93Z4T2cxO7HCIiIrNn8DUsnbV161YsWbIE27ZtQ3R0dLtje/fujWHDhqGgoKDV16VSKaRSqTHK7BaMg4iIiLpXj/zC8s033+DZZ5/FN998g7i4uPuOr6qqwqVLl+Dra36ra1TqBuw/z9VBRERE3cngX1iqqqr0fvkoLCxEdnY23N3d0b9/fyQkJOD69ev46quvAGhjoEWLFmHDhg2IjIyEXC4HADg5OUEm066eWbVqFWbPno0BAwbgxo0bWLduHWxtbbFgwYLumGOP2n++DOoGDQb0dUaIH+MgIiKi7mDwLyxZWVkYNWqUbknyypUrMWrUKKxduxYAUFJSorfC5+OPP0ZDQwOWLVsGX19f3fbCCy/oxly7dg0LFixAUFAQnnjiCfTt2xdHjx6Fp6dnV+fX43RxUBjjICIiou4iEQRBELuIrlIqlZDJZFAoFHBzE+9XjSp1A0a/uRfqBg1S/jwBIX68/woREVFbDPn+5rOEulHauVKoGzQI9HDBCF/GQURERN2FDUs3YhxERERkHGxYukllbT3SL94EoF3OTERERN2HDUs3STtXhroGDQZ5uiDYx1XscoiIiCwKG5ZuktwUB81iHERERNTt2LB0A2VtPQ42xUGPMA4iIiLqdmxYukHauVLUNWow2NMFQd6Mg4iIiLobG5Zu8Nuzg/wYBxERERkBG5YuUtTU4+DFWwCAWYyDiIiIjIINSxftO6uNg4Z69cIwxkFERERGwYali1Jym+Mg/rpCRERkLGxYukBRXY9f85tuFhfGhoWIiMhY2LB0wZ6zctQ3CgjydsVQxkFERERGw4alCxgHERER9Qw2LJ1UUV2HQ/na1UGPMA4iIiIyKjYsnbTnbCkaNAKCfVwxxKuX2OUQERFZNDYsnaS7WRx/XSEiIjI6NiydcEdVh8MFTXEQr18hIiIyOjYsnbDnrBwNGgHDfd0w2JNxEBERkbGxYemE5KY4iLfiJyIi6hlsWAx0W1WHI5fKAXB1EBERUU9hw2Kg3WfkaNQICPFzQ6CHi9jlEBERWQU2LAbSrQ5iHERERNRj2LAYoLxKjSOXtKuDuJyZiIio57BhMcDuM6XQCEBoPzcM6Ms4iIiIqKewYTFASu4NAEBcmJ/IlRAREVkXNiwddKtKjcym1UGMg4iIiHoWG5YOSs2TQyMA4f4y9O/rLHY5REREVoUNSwfx2UFERETiYcPSAWWVtThWyJvFERERiYUNSwfsboqDIgJ6I8CdcRAREVFPM7hhOXjwIGbPng0/Pz9IJBLs2LHjvsekp6fjgQcegFQqxZAhQ5CUlHTPmI0bN2LgwIFwdHREZGQkjh8/bmhpRqN7dhB/XSEiIhKFwQ2LSqVCREQENm7c2KHxhYWFiIuLw9SpU5GdnY0VK1ZgyZIl2L17t27Mt99+i5UrV2LdunU4efIkIiIiEBMTg7KyMkPL63Zlylocv3IbABAb5iNyNURERNZJIgiC0OmDJRJs374d8fHxbY55+eWXkZKSgry8PN2++fPno6KiAqmpqQCAyMhIjB07Fv/4xz8AABqNBgEBAfjTn/6ENWvW3LcOpVIJmUwGhUIBNze3zk6nVV9lXsHan85gZEBv7Fg2vlvfm4iIyJoZ8v1t9GtYMjMzER0drbcvJiYGmZmZAIC6ujqcOHFCb4yNjQ2io6N1Y+6mVquhVCr1NmPRxUF8dhAREZFojN6wyOVyeHt76+3z9vaGUqlETU0Nbt26hcbGxlbHyOXyVt8zMTERMplMtwUEBBil9lJlLf6ji4PYsBAREYnFLFcJJSQkQKFQ6Lbi4mKjfI6zgy3+Hh+GZ8YNRL/eTkb5DCIiIro/O2N/gI+PD0pLS/X2lZaWws3NDU5OTrC1tYWtrW2rY3x8Wr/IVSqVQiqVGq3mZq6O9vjvyP5G/xwiIiJqn9F/YYmKikJaWprevr179yIqKgoA4ODggNGjR+uN0Wg0SEtL040hIiIi62Zww1JVVYXs7GxkZ2cD0C5bzs7ORlFREQBtXLNw4ULd+Oeffx6XL1/G6tWrcf78efzzn//Ed999h7/85S+6MStXrsQnn3yCL7/8EufOncPSpUuhUqnw7LPPdnF6REREZAkMjoSysrIwdepU3d8rV64EACxatAhJSUkoKSnRNS8AEBgYiJSUFPzlL3/Bhg0b4O/vj08//RQxMTG6MfPmzcPNmzexdu1ayOVyjBw5EqmpqfdciEtERETWqUv3YTEVxrwPCxERERmHSd2HhYiIiKir2LAQERGRyWPDQkRERCaPDQsRERGZPDYsREREZPLYsBAREZHJY8NCREREJo8NCxEREZk8NixERERk8oz+tOae0HyzXqVSKXIlRERE1FHN39sduem+RTQslZWVAICAgACRKyEiIiJDVVZWQiaTtTvGIp4lpNFocOPGDbi6ukIikXTreyuVSgQEBKC4uNgin1Nk6fMDLH+OnJ/5s/Q5Wvr8AMufo7HmJwgCKisr4efnBxub9q9SsYhfWGxsbODv72/Uz3Bzc7PI/wibWfr8AMufI+dn/ix9jpY+P8Dy52iM+d3vl5VmvOiWiIiITB4bFiIiIjJ5bFjuQyqVYt26dZBKpWKXYhSWPj/A8ufI+Zk/S5+jpc8PsPw5msL8LOKiWyIiIrJs/IWFiIiITB4bFiIiIjJ5bFiIiIjI5LFhISIiIpNn1Q1LYmIixo4dC1dXV3h5eSE+Ph4XLly473Hbtm1DcHAwHB0dERYWhp07d/ZAtYbrzPySkpIgkUj0NkdHxx6q2HCbNm1CeHi47mZGUVFR2LVrV7vHmMv5Awyfn7mdv7utX78eEokEK1asaHecOZ3Du3VkjuZ0Hl9//fV7ag0ODm73GHM7f4bO0ZzOX7Pr16/jqaeeQt++feHk5ISwsDBkZWW1e0x6ejoeeOABSKVSDBkyBElJSUat0aobloyMDCxbtgxHjx7F3r17UV9fjxkzZkClUrV5zJEjR7BgwQIsXrwYp06dQnx8POLj45GXl9eDlXdMZ+YHaO9kWFJSotuuXr3aQxUbzt/fH+vXr8eJEyeQlZWFhx9+GHPmzMGZM2daHW9O5w8wfH6AeZ2/lv7zn//gX//6F8LDw9sdZ27nsKWOzhEwr/MYEhKiV+uhQ4faHGuu58+QOQLmdf7u3LmD8ePHw97eHrt27cLZs2fxwQcfoE+fPm0eU1hYiLi4OEydOhXZ2dlYsWIFlixZgt27dxuvUIF0ysrKBABCRkZGm2OeeOIJIS4uTm9fZGSk8Mc//tHY5XVZR+b3xRdfCDKZrOeKMoI+ffoIn376aauvmfP5a9be/Mz1/FVWVgpDhw4V9u7dK0yePFl44YUX2hxrrufQkDma03lct26dEBER0eHx5nj+DJ2jOZ0/QRCEl19+WZgwYYJBx6xevVoICQnR2zdv3jwhJiamO0vTY9W/sNxNoVAAANzd3dsck5mZiejoaL19MTExyMzMNGpt3aEj8wOAqqoqDBgwAAEBAff917wpaWxsxNatW6FSqRAVFdXqGHM+fx2ZH2Ce52/ZsmWIi4u759y0xlzPoSFzBMzrPObn58PPzw+DBg3Ck08+iaKiojbHmuv5M2SOgHmdv59//hljxozB3Llz4eXlhVGjRuGTTz5p9xgxziMbliYajQYrVqzA+PHjERoa2uY4uVwOb29vvX3e3t6Qy+XGLrFLOjq/oKAgfP755/jpp5/w9ddfQ6PRYNy4cbh27VoPVmuY3Nxc9OrVC1KpFM8//zy2b9+OESNGtDrWHM+fIfMzx/O3detWnDx5EomJiR0ab47n0NA5mtN5jIyMRFJSElJTU7Fp0yYUFhZi4sSJqKysbHW8OZ4/Q+doTucPAC5fvoxNmzZh6NCh2L17N5YuXYo///nP+PLLL9s8pq3zqFQqUVNTY5xCjfbbjZl5/vnnhQEDBgjFxcXtjrO3txe2bNmit2/jxo2Cl5eXMcvrso7O7251dXXC4MGDhVdffdVIlXWdWq0W8vPzhaysLGHNmjWCh4eHcObMmVbHmuP5M2R+dzP181dUVCR4eXkJp0+f1u27X1xibuewM3O8m6mfx5bu3LkjuLm5tRlbmtv5a8395ng3Uz9/9vb2QlRUlN6+P/3pT8JDDz3U5jFDhw4V3n77bb19KSkpAgChurraKHXyFxYAy5cvR3JyMg4cOAB/f/92x/r4+KC0tFRvX2lpKXx8fIxZYpcYMr+72dvbY9SoUSgoKDBSdV3n4OCAIUOGYPTo0UhMTERERAQ2bNjQ6lhzPH+GzO9upn7+Tpw4gbKyMjzwwAOws7ODnZ0dMjIy8NFHH8HOzg6NjY33HGNu57Azc7ybqZ/Hlnr37o1hw4a1Wau5nb/W3G+OdzP18+fr63vPr7bDhw9vN/Zq6zy6ubnBycnJKHVadcMiCAKWL1+O7du3Y//+/QgMDLzvMVFRUUhLS9Pbt3fv3navKRBLZ+Z3t8bGRuTm5sLX19cIFRqHRqOBWq1u9TVzOn9taW9+dzP18zdt2jTk5uYiOztbt40ZMwZPPvkksrOzYWtre88x5nYOOzPHu5n6eWypqqoKly5darNWczt/rbnfHO9m6udv/Pjx99zy4uLFixgwYECbx4hyHo3yu42ZWLp0qSCTyYT09HShpKREt7X8Oevpp58W1qxZo/v78OHDgp2dnfD+++8L586dE9atWyfY29sLubm5YkyhXZ2Z3xtvvCHs3r1buHTpknDixAlh/vz5gqOjY4cjiJ62Zs0aISMjQygsLBRycnKENWvWCBKJRNizZ48gCOZ9/gTB8PmZ2/lrzd1xibmfw9bcb47mdB5ffPFFIT09XSgsLBQOHz4sREdHCx4eHkJZWZkgCJZx/gydozmdP0EQhOPHjwt2dnbC3//+dyE/P1/4v//7P8HZ2Vn4+uuvdWPWrFkjPP3007q/L1++LDg7OwsvvfSScO7cOWHjxo2Cra2tkJqaarQ6rbphAdDq9sUXX+jGTJ48WVi0aJHecd99950wbNgwwcHBQQgJCRFSUlJ6tvAO6sz8VqxYIfTv319wcHAQvL29hUceeUQ4efJkzxffQb///e+FAQMGCA4ODoKnp6cwbdo03Ze5IJj3+RMEw+dnbuevNXd/mZv7OWzN/eZoTudx3rx5gq+vr+Dg4CD069dPmDdvnlBQUKB73RLOn6FzNKfz1+yXX34RQkNDBalUKgQHBwsff/yx3uuLFi0SJk+erLfvwIEDwsiRIwUHBwdh0KBBet8txiARBEEw3u83RERERF1n1dewEBERkXlgw0JEREQmjw0LERERmTw2LERERGTy2LAQERGRyWPDQkRERCaPDQsRERGZPDYsREREZPLYsBAREZHJY8NCREREJo8NCxEREZk8NixERERk8v5/qJHJ0JkEnYUAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(unique,frequency)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\n", + "Both graphs have a common trend\n", + "\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": 68, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "4.1\n" + ] + } + ], + "source": [ + "# your code here\n", + "def mean(array):\n", + " return sum(array)/len(array)\n", + "\n", + "mean_array = mean(rolls)\n", + "\n", + "print(mean_array)" + ] + }, + { + "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": 69, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unique Values: [2 3 4 5 6]\n", + "Frequency Values: [1 3 2 2 2]\n" + ] + } + ], + "source": [ + "unique, frequency = np.unique(rolls,return_counts = True)\n", + "\n", + "print(\"Unique Values:\",unique)\n", + " \n", + "# print frequency array\n", + "print(\"Frequency Values:\",frequency)" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.0\n" + ] + } + ], + "source": [ + "mean_freq = mean(frequency)\n", + "\n", + "print(mean_freq)" + ] + }, + { + "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": 91, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here\n", + "def median_calc(nums):\n", + " nums = np.sort(nums)\n", + " n= len(nums)\n", + " m= n // 2\n", + " if n %2 == 0:\n", + " return (nums[m-1] + nums[m])/2\n", + " else:\n", + " return nums[m]\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.0" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "median_rolls = median_calc(rolls)\n", + "\n", + "median_rolls" + ] + }, + { + "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": 79, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3\n" + ] + } + ], + "source": [ + "def quartile_calc(quartile, nums):\n", + " sort_nums = np.sort(nums)\n", + " n = len(nums)\n", + " if quartile == 0.5:\n", + " return np.median(nums)\n", + " else: \n", + " pos = int(quartile * (n))\n", + " if isinstance(pos, int):\n", + " return sort_nums[pos] \n", + " else: \n", + " return (sort_nums[(pos) - 1] + sort_nums[(pos)]) / 2\n", + "\n", + "calc = quartile_calc(0.25,rolls)\n", + "print(calc)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 74, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[2 3 3 3 4 4 5 5 6 6]\n" + ] + } + ], + "source": [ + "sort_nums = np.sort(rolls)\n", + "print(sort_nums)" + ] + }, + { + "cell_type": "code", + "execution_count": 75, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.0 4.0 5.0 6.0\n" + ] + } + ], + "source": [ + "q25 = np.percentile(rolls,25)\n", + "q50 = np.percentile(rolls,50)\n", + "q75 = np.percentile(rolls,75)\n", + "q100 = np.percentile(rolls,100)\n", + "\n", + "print(q25,q50,q75,q100)" + ] + }, + { + "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": 88, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0rollvalue
0001
1112
2226
3331
4446
............
9595954
9696966
9797971
9898983
9999996
\n", + "

100 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 roll value\n", + "0 0 0 1\n", + "1 1 1 2\n", + "2 2 2 6\n", + "3 3 3 1\n", + "4 4 4 6\n", + ".. ... ... ...\n", + "95 95 95 4\n", + "96 96 96 6\n", + "97 97 97 1\n", + "98 98 98 3\n", + "99 99 99 6\n", + "\n", + "[100 rows x 3 columns]" + ] + }, + "execution_count": 88, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "path = ''\n", + "df = pd.read_csv(r\"D:\\IronHack\\Study\\Bootcamp\\labs\\Week03\\Descriptive-Stats\\data\\roll_the_dice_hundred.csv\")\n", + "\n", + "df" + ] + }, + { + "cell_type": "code", + "execution_count": 87, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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m2HD5nTpmrlVL7TKrCJdK6Y6qgzF0OrXVWUrJ1AwguxExTv741TONmdLR5vL873nQv9mrSonpWXJFM+xY8fIz8/H37/o5Zv9/f2Jj48/Y/lJkybh6+vruAUFlc+wVMyCiXTMiiLLdCGywwt0G73gvOVEREREyl7FPTrmFOPGjSMlJcVxi4s787sxykK7wW+xwbMnR+79meD+ozFslWLziIiIVDmWjHvVqVMHJycnEhKKfiNjQkICAQFnXonQzc0NN7fy/wKjGj416fLMz+X+c0REROTcLBkicHV1pVu3bixZ8s+3eNrtdpYsWUJYWPGXAhYREZHqw7Ijh8aMGUN4eDjdu3cnODiY9957j/T0dIYNO/s3AYuIiEj1YFlBuffeezl69CgTJ04kPj6ezp0788svv5xx4KyIiIhUP7rUvYiIiFwSleZS9yIiIiLFUUERERGRCkcFRURERCocFRQRERGpcFRQREREpMJRQREREZEKRwVFREREKhwVFBEREalwVFBERESkwrHsUvcXo/Dit6mpqRYnERERkZIq3G+X5CL2lbKgnDx5EoCgoCCLk4iIiEhpnTx5El9f33MuUym/i8dut3P48GG8vb0xDKNM152amkpQUBBxcXH6np9ypm196WhbXzra1peOtvWlU1bb2jRNTp48SWBgIDbbuY8yqZQjKDabjYYNG5brz/Dx8dEf/CWibX3paFtfOtrWl4629aVTFtv6fCMnhXSQrIiIiFQ4KigiIiJS4aignMbNzY3nnnsONzc3q6NUedrWl4629aWjbX3paFtfOlZs60p5kKyIiIhUbRpBERERkQpHBUVEREQqHBUUERERqXBUUERERKTCUUE5xUcffUSTJk1wd3cnJCSEyMhIqyNVepMmTaJHjx54e3tTr149br/9dqKjo4ssk5WVxahRo6hduzY1atSgf//+JCQkWJS46njttdcwDIPRo0c77tO2LjuHDh1i0KBB1K5dGw8PDzp06MDatWsdj5umycSJE6lfvz4eHh706dOHmJgYCxNXTvn5+UyYMIGmTZvi4eFB8+bNeemll4p8l4u29YX566+/6NevH4GBgRiGwXfffVfk8ZJs16SkJAYOHIiPjw9+fn6MGDGCtLS0sgloimmapjlv3jzT1dXV/OKLL8xt27aZDzzwgOnn52cmJCRYHa1S69u3rzlt2jRz69at5saNG82bbrrJbNSokZmWluZY5uGHHzaDgoLMJUuWmGvXrjVDQ0PNnj17Wpi68ouMjDSbNGliduzY0XziiScc92tbl42kpCSzcePG5tChQ82IiAgzNjbW/PXXX83du3c7lnnttddMX19f87vvvjM3bdpk3nrrrWbTpk3NzMxMC5NXPq+88opZu3Ztc/HixebevXvNBQsWmDVq1DD/97//OZbRtr4wP/30kzl+/Hjz22+/NQFz4cKFRR4vyXa94YYbzE6dOplr1qwxV6xYYbZo0cK87777yiSfCsr/Cw4ONkeNGuX4//z8fDMwMNCcNGmShamqnsTERBMwly9fbpqmaSYnJ5suLi7mggULHMvs2LHDBMzVq1dbFbNSO3nypNmyZUvz999/N6+88kpHQdG2LjvPPvus2bt377M+brfbzYCAAPPNN9903JecnGy6ubmZc+fOvRQRq4ybb77ZHD58eJH77rzzTnPgwIGmaWpbl5XTC0pJtuv27dtNwIyKinIs8/PPP5uGYZiHDh266Eya4gFycnJYt24dffr0cdxns9no06cPq1evtjBZ1ZOSkgJArVq1AFi3bh25ublFtn3r1q1p1KiRtv0FGjVqFDfffHORbQra1mXphx9+oHv37tx9993Uq1ePLl268Pnnnzse37t3L/Hx8UW2ta+vLyEhIdrWpdSzZ0+WLFnCrl27ANi0aRN///03N954I6BtXV5Ksl1Xr16Nn58f3bt3dyzTp08fbDYbERERF52hUn5ZYFk7duwY+fn5+Pv7F7nf39+fnTt3WpSq6rHb7YwePZpevXrRvn17AOLj43F1dcXPz6/Isv7+/sTHx1uQsnKbN28e69evJyoq6ozHtK3LTmxsLJ988gljxozhP//5D1FRUTz++OO4uroSHh7u2J7FvadoW5fO2LFjSU1NpXXr1jg5OZGfn88rr7zCwIEDAbSty0lJtmt8fDz16tUr8rizszO1atUqk22vgiKXzKhRo9i6dSt///231VGqpLi4OJ544gl+//133N3drY5Tpdntdrp3786rr74KQJcuXdi6dSuTJ08mPDzc4nRVy/z585kzZw5ffvkl7dq1Y+PGjYwePZrAwEBt6ypOUzxAnTp1cHJyOuNshoSEBAICAixKVbU8+uijLF68mD///JOGDRs67g8ICCAnJ4fk5OQiy2vbl966detITEyka9euODs74+zszPLly3n//fdxdnbG399f27qM1K9fn7Zt2xa5r02bNhw4cADAsT31nnLx/v3vfzN27FgGDBhAhw4dGDx4ME8++SSTJk0CtK3LS0m2a0BAAImJiUUez8vLIykpqUy2vQoK4OrqSrdu3ViyZInjPrvdzpIlSwgLC7MwWeVnmiaPPvooCxcuZOnSpTRt2rTI4926dcPFxaXIto+OjubAgQPa9qV07bXXsmXLFjZu3Oi4de/enYEDBzr+W9u6bPTq1euM0+V37dpF48aNAWjatCkBAQFFtnVqaioRERHa1qWUkZGBzVZ0V+Xk5ITdbge0rctLSbZrWFgYycnJrFu3zrHM0qVLsdvthISEXHyIiz7MtoqYN2+e6ebmZk6fPt3cvn27+eCDD5p+fn5mfHy81dEqtX/961+mr6+vuWzZMvPIkSOOW0ZGhmOZhx9+2GzUqJG5dOlSc+3atWZYWJgZFhZmYeqq49SzeExT27qsREZGms7OzuYrr7xixsTEmHPmzDE9PT3N2bNnO5Z57bXXTD8/P/P77783N2/ebN5222069fUChIeHmw0aNHCcZvztt9+aderUMZ955hnHMtrWF+bkyZPmhg0bzA0bNpiA+c4775gbNmww9+/fb5pmybbrDTfcYHbp0sWMiIgw//77b7Nly5Y6zbg8fPDBB2ajRo1MV1dXMzg42FyzZo3VkSo9oNjbtGnTHMtkZmaajzzyiFmzZk3T09PTvOOOO8wjR45YF7oKOb2gaFuXnUWLFpnt27c33dzczNatW5ufffZZkcftdrs5YcIE09/f33RzczOvvfZaMzo62qK0lVdqaqr5xBNPmI0aNTLd3d3NZs2amePHjzezs7Mdy2hbX5g///yz2Pfn8PBw0zRLtl2PHz9u3nfffWaNGjVMHx8fc9iwYebJkyfLJJ9hmqdcjk9ERESkAtAxKCIiIlLhqKCIiIhIhaOCIiIiIhWOCoqIiIhUOCooIiIiUuGooIiIiEiFo4IiIiIiFY4KioiIiFQ4KigiIiJS4aigiIiISIWjgiIiIiIVjgqKiIiIVDj/BxZf9270uRpRAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.plot(df)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 14, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "your comments here:\n", + "\n", + "Increasing number of rolls, and green - values from 1 o 6\n", + "\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": 102, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.74\n" + ] + } + ], + "source": [ + "# your code here\n", + "def mean(array):\n", + " return sum(array)/len(array)\n", + "\n", + "mean_df = mean(df[\"value\"])\n", + "\n", + "print(mean_df)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 103, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unique Values: [1 2 3 4 5 6]\n", + "Frequency Values: [12 17 14 22 12 23]\n" + ] + } + ], + "source": [ + "# your code here\n", + "\n", + "unique, frequency = np.unique(df[\"value\"],return_counts = True)\n", + "\n", + "print(\"Unique Values:\",unique)\n", + " \n", + "# print frequency array\n", + "print(\"Frequency Values:\",frequency)\n" + ] + }, + { + "cell_type": "code", + "execution_count": 107, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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fIywvr6+mDVrVixdurToUapGV1dXtLW1xYYNG+LRRx+Nt956K84555zo6+srerSKNmXKlFiyZEls2rQpNm7cGGeddVacf/758ec//7no0arG008/HT/5yU9i5syZRY9SFY499th49dVXB9cf//jHokeqaP/85z9j7ty5ceCBB8bDDz8cf/nLX+L73/9+fPjDHy56tHSFf7fL/q61tTVaW1uLHqOqrFmzZsjjFStWxMSJE2PTpk1x+umnFzRV5VuwYMGQx9/97ndj2bJlsWHDhjj22GMLmqp67NmzJy677LK4++6745Zbbil6nKpQW1u716/NYO9uu+22aGlpieXLlw9umz59eoETFceVDypeT09PREQ0NjYWPEn1ePvtt2PVqlXR19fnaw3eo7a2tjjvvPNi3rx5RY9SNZ5//vlobm6Oww8/PC677LJ46aWXih6pov3mN7+Jk046KS666KKYOHFinHDCCXH33XcXPVYhXPmgog0MDMSiRYti7ty5cdxxxxU9TsV79tlnY86cOfHGG2/EwQcfHPfdd18cc8wxRY9V8VatWhXPPPNMPP3000WPUjVmz54dK1asiKOOOipeffXVuOmmm+K0006LLVu2RH19fdHjVaS//e1vsWzZsmhvb49vfvOb8fTTT8dXv/rVGD16dCxcuLDo8VKJDypaW1tbbNmyxXvJ79FRRx0Vmzdvjp6envj1r38dCxcujK6uLgHyLrq7u+Oaa66JRx99NMaMGVP0OFXj/76dPHPmzJg9e3ZMmzYt7r333rjyyisLnKxyDQwMxEknnRS33nprRESccMIJsWXLlrjzzjs/cPHhbRcq1lVXXRUPPvhgPPbYYzFlypSix6kKo0ePjiOOOCJOPPHE6OzsjFmzZsWPfvSjoseqaJs2bYrXXnstPvGJT0RtbW3U1tZGV1dX3HHHHVFbWxtvv/120SNWhfHjx8eRRx4ZW7duLXqUijV58uR3/EXg6KOP/kC+XeXKBxWnVCrF1VdfHffdd1+sW7fuA3tDVjkMDAxEf39/0WNUtLPPPjueffbZIduuuOKKmDFjRnz961+PUaNGFTRZddmzZ0+88MIL8YUvfKHoUSrW3Llz3/FrA/7617/GtGnTCpqoOOJjhO3Zs2fI3wS2bdsWmzdvjsbGxpg6dWqBk1Wutra2WLlyZdx///1RX18fO3bsiIiIhoaGGDt2bMHTVa6Ojo5obW2NqVOnxu7du2PlypWxbt26eOSRR4oeraLV19e/436igw46KCZMmOA+o3dx3XXXxYIFC2LatGmxffv2WLx4cYwaNSouvfTSokerWNdee2186lOfiltvvTU+97nPxVNPPRV33XVX3HXXXUWPlq/EiHrsscdKEfGOtXDhwqJHq1h7O18RUVq+fHnRo1W0L37xi6Vp06aVRo8eXTr00ENLZ599dul3v/td0WNVpU9/+tOla665pugxKtrFF19cmjx5cmn06NGlj3zkI6WLL764tHXr1qLHqngPPPBA6bjjjivV1dWVZsyYUbrrrruKHqkQNaVSqVRQ9wAAH0BuOAUAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACDV/wOjJCwbtzp4BwAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(unique, frequency)\n", + "plt.show()" + ] + }, + { + "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": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\n", + "\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": 110, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0rollvalue
0005
1116
2221
3336
4445
............
9959959951
9969969964
9979979974
9989989983
9999999996
\n", + "

1000 rows × 3 columns

\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 roll value\n", + "0 0 0 5\n", + "1 1 1 6\n", + "2 2 2 1\n", + "3 3 3 6\n", + "4 4 4 5\n", + ".. ... ... ...\n", + "995 995 995 1\n", + "996 996 996 4\n", + "997 997 997 4\n", + "998 998 998 3\n", + "999 999 999 6\n", + "\n", + "[1000 rows x 3 columns]" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "df_thousand = pd.read_csv(r\"D:\\IronHack\\Study\\Bootcamp\\labs\\Week03\\Descriptive-Stats\\data\\roll_the_dice_thousand.csv\")\n", + "\n", + "df_thousand" + ] + }, + { + "cell_type": "code", + "execution_count": 111, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unique Values: [1 2 3 4 5 6]\n", + "Frequency Values: [175 167 175 168 149 166]\n" + ] + } + ], + "source": [ + "\n", + "unique, frequency = np.unique(df_thousand[\"value\"],return_counts = True)\n", + "\n", + "print(\"Unique Values:\",unique)\n", + " \n", + "# print frequency array\n", + "print(\"Frequency Values:\",frequency)" + ] + }, + { + "cell_type": "code", + "execution_count": 112, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGdCAYAAAA44ojeAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAe2ElEQVR4nO3df2xVhf3/8dcttRfQ/vAWSntHKT+cgEJrAe06FIswoZiqkalg3aoS0KWgtHHyqVH5EWc7f43pOhhGYcvoUBdFxYgDhFZji1DSIM4w2qGgtLDI6KU1XIHe7x+L97u7FrT1Xs/7lucjOUnvOeee+74nGp6ce8p1BQKBgAAAAAyJcXoAAACA/0WgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwJxYpwfoiY6ODh06dEjx8fFyuVxOjwMAAL6FQCCg48ePy+v1Kibm7NdIojJQDh06pPT0dKfHAAAAPXDw4EENHjz4rPtEZaDEx8dL+s8bTEhIcHgaAADwbfh8PqWnpwf/HD+bqAyUrz/WSUhIIFAAAIgy3+b2DG6SBQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5hAoAADAnG4HSk1NjQoKCuT1euVyubR+/fqQ7S6Xq8vliSeeCO4zdOjQTtsrKiq+85sBAAC9Q7cDpb29XVlZWaqsrOxye3Nzc8jywgsvyOVyaebMmSH7LVu2LGS/BQsW9OwdAACAXqfbXxaYn5+v/Pz8M25PTU0Nefzaa69p8uTJGj58eMj6+Pj4TvsCAABIEb4H5fDhw3rzzTc1Z86cTtsqKiqUnJys7OxsPfHEEzp16tQZj+P3++Xz+UIWAADQe3X7Ckp3/PGPf1R8fLxuuummkPX33nuvxo0bJ4/Ho/fff19lZWVqbm7W008/3eVxysvLtXTp0kiOGmLo/735vb2WJZ9UXOf0COcc/lsDgK5FNFBeeOEFFRYWqm/fviHrS0tLgz9nZmYqLi5Od999t8rLy+V2uzsdp6ysLOQ5Pp9P6enpkRscAAA4KmKB8u6772rv3r168cUXv3HfnJwcnTp1Sp988olGjhzZabvb7e4yXAAAQO8UsXtQnn/+eY0fP15ZWVnfuG9DQ4NiYmKUkpISqXEAAEAU6fYVlLa2NjU2NgYf79+/Xw0NDfJ4PBoyZIik/3wE8/LLL+upp57q9Pza2lpt375dkydPVnx8vGpra1VSUqLbb79dF1544Xd4KwAAoLfodqDs3LlTkydPDj7++t6QoqIirVmzRpK0bt06BQIBzZ49u9Pz3W631q1bpyVLlsjv92vYsGEqKSkJuccEAACc27odKHl5eQoEAmfdZ968eZo3b16X28aNG6e6urruviwAADiH8F08AADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMCeiXxYIAJHAt0ADvR9XUAAAgDlcQUFYnKt/o5X4Wy0ARAJXUAAAgDlcQQEA4Ay4OuwcrqAAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMwhUAAAgDkECgAAMIdAAQAA5hAoAADAHAIFAACYQ6AAAABzCBQAAGAOgQIAAMzpdqDU1NSooKBAXq9XLpdL69evD9l+xx13yOVyhSzTp08P2efo0aMqLCxUQkKCkpKSNGfOHLW1tX2nNwIAAHqPbgdKe3u7srKyVFlZecZ9pk+frubm5uDyl7/8JWR7YWGhPvroI23atEkbNmxQTU2N5s2b1/3pAQBArxTb3Sfk5+crPz//rPu43W6lpqZ2ue3jjz/Wxo0btWPHDk2YMEGS9Oyzz2rGjBl68skn5fV6uzsSAADoZSJyD8q2bduUkpKikSNH6he/+IW++OKL4Lba2lolJSUF40SSpk6dqpiYGG3fvj0S4wAAgCjT7Sso32T69Om66aabNGzYMDU1NenBBx9Ufn6+amtr1adPH7W0tCglJSV0iNhYeTwetbS0dHlMv98vv98ffOzz+cI9NgAAMCTsgTJr1qzgz2PHjlVmZqZGjBihbdu2acqUKT06Znl5uZYuXRquEQEAgHER/zXj4cOHa8CAAWpsbJQkpaam6siRIyH7nDp1SkePHj3jfStlZWVqbW0NLgcPHoz02AAAwEFhv4Lyvz777DN98cUXSktLkyTl5ubq2LFjqq+v1/jx4yVJ77zzjjo6OpSTk9PlMdxut9xud6RHBYBebej/ven0CI74pOI6p0dAD3Q7UNra2oJXQyRp//79amhokMfjkcfj0dKlSzVz5kylpqaqqalJDzzwgC666CJNmzZNkjR69GhNnz5dc+fO1cqVK3Xy5EnNnz9fs2bN4jd4AACApB58xLNz505lZ2crOztbklRaWqrs7Gw98sgj6tOnj3bv3q3rr79eF198sebMmaPx48fr3XffDbkCsnbtWo0aNUpTpkzRjBkzdOWVV2rVqlXhe1cAACCqdfsKSl5engKBwBm3v/322994DI/Ho6qqqu6+NAAAOEfwXTwAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmdDtQampqVFBQIK/XK5fLpfXr1we3nTx5UosWLdLYsWN1/vnny+v16uc//7kOHToUcoyhQ4fK5XKFLBUVFd/5zQAAgN6h24HS3t6urKwsVVZWdtr25ZdfateuXXr44Ye1a9cuvfLKK9q7d6+uv/76TvsuW7ZMzc3NwWXBggU9ewcAAKDXie3uE/Lz85Wfn9/ltsTERG3atClk3e9+9ztdccUVOnDggIYMGRJcHx8fr9TU1O6+PAAAOAdE/B6U1tZWuVwuJSUlhayvqKhQcnKysrOz9cQTT+jUqVNnPIbf75fP5wtZAABA79XtKyjdceLECS1atEizZ89WQkJCcP29996rcePGyePx6P3331dZWZmam5v19NNPd3mc8vJyLV26NJKjAgAAQyIWKCdPntQtt9yiQCCgFStWhGwrLS0N/pyZmam4uDjdfffdKi8vl9vt7nSssrKykOf4fD6lp6dHanQAAOCwiATK13Hy6aef6p133gm5etKVnJwcnTp1Sp988olGjhzZabvb7e4yXAAAQO8U9kD5Ok727dunrVu3Kjk5+Ruf09DQoJiYGKWkpIR7HAAAEIW6HShtbW1qbGwMPt6/f78aGhrk8XiUlpamn/70p9q1a5c2bNig06dPq6WlRZLk8XgUFxen2tpabd++XZMnT1Z8fLxqa2tVUlKi22+/XRdeeGH43hkAAIha3Q6UnTt3avLkycHHX98bUlRUpCVLluj111+XJF122WUhz9u6davy8vLkdru1bt06LVmyRH6/X8OGDVNJSUnIPSYAAODc1u1AycvLUyAQOOP2s22TpHHjxqmurq67LwsAAM4hfBcPAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzOl2oNTU1KigoEBer1cul0vr168P2R4IBPTII48oLS1N/fr109SpU7Vv376QfY4eParCwkIlJCQoKSlJc+bMUVtb23d6IwAAoPfodqC0t7crKytLlZWVXW5//PHH9cwzz2jlypXavn27zj//fE2bNk0nTpwI7lNYWKiPPvpImzZt0oYNG1RTU6N58+b1/F0AAIBeJba7T8jPz1d+fn6X2wKBgJYvX66HHnpIN9xwgyTpT3/6kwYNGqT169dr1qxZ+vjjj7Vx40bt2LFDEyZMkCQ9++yzmjFjhp588kl5vd7v8HYAAEBvENZ7UPbv36+WlhZNnTo1uC4xMVE5OTmqra2VJNXW1iopKSkYJ5I0depUxcTEaPv27V0e1+/3y+fzhSwAAKD3CmugtLS0SJIGDRoUsn7QoEHBbS0tLUpJSQnZHhsbK4/HE9znf5WXlysxMTG4pKenh3NsAABgTFT8Fk9ZWZlaW1uDy8GDB50eCQAARFBYAyU1NVWSdPjw4ZD1hw8fDm5LTU3VkSNHQrafOnVKR48eDe7zv9xutxISEkIWAADQe4U1UIYNG6bU1FRt2bIluM7n82n79u3Kzc2VJOXm5urYsWOqr68P7vPOO++oo6NDOTk54RwHAABEqW7/Fk9bW5saGxuDj/fv36+GhgZ5PB4NGTJECxcu1KOPPqof/vCHGjZsmB5++GF5vV7deOONkqTRo0dr+vTpmjt3rlauXKmTJ09q/vz5mjVrFr/BAwAAJPUgUHbu3KnJkycHH5eWlkqSioqKtGbNGj3wwANqb2/XvHnzdOzYMV155ZXauHGj+vbtG3zO2rVrNX/+fE2ZMkUxMTGaOXOmnnnmmTC8HQAA0Bt0O1Dy8vIUCATOuN3lcmnZsmVatmzZGffxeDyqqqrq7ksDAIBzRFT8Fg8AADi3ECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOWEPlKFDh8rlcnVaiouLJUl5eXmdtt1zzz3hHgMAAESx2HAfcMeOHTp9+nTw8Z49e/STn/xEN998c3Dd3LlztWzZsuDj/v37h3sMAAAQxcIeKAMHDgx5XFFRoREjRujqq68Oruvfv79SU1PD/dIAAKCXiOg9KF999ZX+/Oc/66677pLL5QquX7t2rQYMGKAxY8aorKxMX3755VmP4/f75fP5QhYAANB7hf0Kyn9bv369jh07pjvuuCO47rbbblNGRoa8Xq92796tRYsWae/evXrllVfOeJzy8nItXbo0kqMCAABDIhoozz//vPLz8+X1eoPr5s2bF/x57NixSktL05QpU9TU1KQRI0Z0eZyysjKVlpYGH/t8PqWnp0ducAAA4KiIBcqnn36qzZs3n/XKiCTl5ORIkhobG88YKG63W263O+wzAgAAmyJ2D8rq1auVkpKi66677qz7NTQ0SJLS0tIiNQoAAIgyEbmC0tHRodWrV6uoqEixsf//JZqamlRVVaUZM2YoOTlZu3fvVklJiSZNmqTMzMxIjAIAAKJQRAJl8+bNOnDggO66666Q9XFxcdq8ebOWL1+u9vZ2paena+bMmXrooYciMQYAAIhSEQmUa6+9VoFAoNP69PR0VVdXR+IlAQBAL8J38QAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJgT9kBZsmSJXC5XyDJq1Kjg9hMnTqi4uFjJycm64IILNHPmTB0+fDjcYwAAgCgWkSsol156qZqbm4PLe++9F9xWUlKiN954Qy+//LKqq6t16NAh3XTTTZEYAwAARKnYiBw0Nlapqamd1re2tur5559XVVWVrrnmGknS6tWrNXr0aNXV1elHP/pRJMYBAABRJiJXUPbt2yev16vhw4ersLBQBw4ckCTV19fr5MmTmjp1anDfUaNGaciQIaqtrT3j8fx+v3w+X8gCAAB6r7AHSk5OjtasWaONGzdqxYoV2r9/v6666iodP35cLS0tiouLU1JSUshzBg0apJaWljMes7y8XImJicElPT093GMDAABDwv4RT35+fvDnzMxM5eTkKCMjQy+99JL69evXo2OWlZWptLQ0+Njn8xEpAAD0YhH/NeOkpCRdfPHFamxsVGpqqr766isdO3YsZJ/Dhw93ec/K19xutxISEkIWAADQe0U8UNra2tTU1KS0tDSNHz9e5513nrZs2RLcvnfvXh04cEC5ubmRHgUAAESJsH/Ec//996ugoEAZGRk6dOiQFi9erD59+mj27NlKTEzUnDlzVFpaKo/Ho4SEBC1YsEC5ubn8Bg8AAAgKe6B89tlnmj17tr744gsNHDhQV155perq6jRw4EBJ0m9+8xvFxMRo5syZ8vv9mjZtmn7/+9+HewwAABDFwh4o69atO+v2vn37qrKyUpWVleF+aQAA0EvwXTwAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAwJ+yBUl5erssvv1zx8fFKSUnRjTfeqL1794bsk5eXJ5fLFbLcc8894R4FAABEqbAHSnV1tYqLi1VXV6dNmzbp5MmTuvbaa9Xe3h6y39y5c9Xc3BxcHn/88XCPAgAAolRsuA+4cePGkMdr1qxRSkqK6uvrNWnSpOD6/v37KzU1NdwvDwAAeoGI34PS2toqSfJ4PCHr165dqwEDBmjMmDEqKyvTl19+ecZj+P1++Xy+kAUAAPReYb+C8t86Ojq0cOFCTZw4UWPGjAmuv+2225SRkSGv16vdu3dr0aJF2rt3r1555ZUuj1NeXq6lS5dGclQAAGBIRAOluLhYe/bs0XvvvReyft68ecGfx44dq7S0NE2ZMkVNTU0aMWJEp+OUlZWptLQ0+Njn8yk9PT1ygwMAAEdFLFDmz5+vDRs2qKamRoMHDz7rvjk5OZKkxsbGLgPF7XbL7XZHZE4AAGBP2AMlEAhowYIFevXVV7Vt2zYNGzbsG5/T0NAgSUpLSwv3OAAAIAqFPVCKi4tVVVWl1157TfHx8WppaZEkJSYmql+/fmpqalJVVZVmzJih5ORk7d69WyUlJZo0aZIyMzPDPQ4AAIhCYQ+UFStWSPrPP8b231avXq077rhDcXFx2rx5s5YvX6729nalp6dr5syZeuihh8I9CgAAiFIR+YjnbNLT01VdXR3ulwUAAL0I38UDAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcxwNlMrKSg0dOlR9+/ZVTk6OPvjgAyfHAQAARjgWKC+++KJKS0u1ePFi7dq1S1lZWZo2bZqOHDni1EgAAMAIxwLl6aef1ty5c3XnnXfqkksu0cqVK9W/f3+98MILTo0EAACMiHXiRb/66ivV19errKwsuC4mJkZTp05VbW1tp/39fr/8fn/wcWtrqyTJ5/NFZL4O/5cROa513+V8nqvnTOK89cR3/X+X89YznLfuO1fPmRSZP2O/PmYgEPjmnQMO+PzzzwOSAu+//37I+l/+8peBK664otP+ixcvDkhiYWFhYWFh6QXLwYMHv7EVHLmC0l1lZWUqLS0NPu7o6NDRo0eVnJwsl8vl4GTh5fP5lJ6eroMHDyohIcHpcaIC56xnOG89w3nrGc5b9/XWcxYIBHT8+HF5vd5v3NeRQBkwYID69Omjw4cPh6w/fPiwUlNTO+3vdrvldrtD1iUlJUVyREclJCT0qv8gvw+cs57hvPUM561nOG/d1xvPWWJi4rfaz5GbZOPi4jR+/Hht2bIluK6jo0NbtmxRbm6uEyMBAABDHPuIp7S0VEVFRZowYYKuuOIKLV++XO3t7brzzjudGgkAABjhWKDceuut+te//qVHHnlELS0tuuyyy7Rx40YNGjTIqZEc53a7tXjx4k4fZ+HMOGc9w3nrGc5bz3Deuo9zJrkCgW/zuz4AAADfH76LBwAAmEOgAAAAcwgUAABgDoECAADMIVAMqKmpUUFBgbxer1wul9avX+/0SOaVl5fr8ssvV3x8vFJSUnTjjTdq7969To9l3ooVK5SZmRn8x59yc3P11ltvOT1WVKmoqJDL5dLChQudHsW0JUuWyOVyhSyjRo1yeqyo8Pnnn+v2229XcnKy+vXrp7Fjx2rnzp1Oj/W9I1AMaG9vV1ZWliorK50eJWpUV1eruLhYdXV12rRpk06ePKlrr71W7e3tTo9m2uDBg1VRUaH6+nrt3LlT11xzjW644QZ99NFHTo8WFXbs2KE//OEPyszMdHqUqHDppZequbk5uLz33ntOj2Tev//9b02cOFHnnXee3nrrLf3973/XU089pQsvvNDp0b53UfFdPL1dfn6+8vPznR4jqmzcuDHk8Zo1a5SSkqL6+npNmjTJoansKygoCHn8q1/9SitWrFBdXZ0uvfRSh6aKDm1tbSosLNRzzz2nRx991OlxokJsbGyXX1+CM/v1r3+t9PR0rV69Orhu2LBhDk7kHK6goFdobW2VJHk8HocniR6nT5/WunXr1N7ezldMfAvFxcW67rrrNHXqVKdHiRr79u2T1+vV8OHDVVhYqAMHDjg9knmvv/66JkyYoJtvvlkpKSnKzs7Wc8895/RYjuAKCqJeR0eHFi5cqIkTJ2rMmDFOj2Pehx9+qNzcXJ04cUIXXHCBXn31VV1yySVOj2XaunXrtGvXLu3YscPpUaJGTk6O1qxZo5EjR6q5uVlLly7VVVddpT179ig+Pt7p8cz65z//qRUrVqi0tFQPPvigduzYoXvvvVdxcXEqKipyerzvFYGCqFdcXKw9e/bw+fa3NHLkSDU0NKi1tVV//etfVVRUpOrqaiLlDA4ePKj77rtPmzZtUt++fZ0eJ2r898fWmZmZysnJUUZGhl566SXNmTPHwcls6+jo0IQJE/TYY49JkrKzs7Vnzx6tXLnynAsUPuJBVJs/f742bNigrVu3avDgwU6PExXi4uJ00UUXafz48SovL1dWVpZ++9vfOj2WWfX19Tpy5IjGjRun2NhYxcbGqrq6Ws8884xiY2N1+vRpp0eMCklJSbr44ovV2Njo9CimpaWldfrLwujRo8/Jj8e4goKoFAgEtGDBAr366qvatm3bOXsTWTh0dHTI7/c7PYZZU6ZM0Ycffhiy7s4779SoUaO0aNEi9enTx6HJoktbW5uampr0s5/9zOlRTJs4cWKnfzLhH//4hzIyMhyayDkEigFtbW0hf6vYv3+/Ghoa5PF4NGTIEAcns6u4uFhVVVV67bXXFB8fr5aWFklSYmKi+vXr5/B0dpWVlSk/P19DhgzR8ePHVVVVpW3btuntt992ejSz4uPjO93bdP755ys5OZl7ns7i/vvvV0FBgTIyMnTo0CEtXrxYffr00ezZs50ezbSSkhL9+Mc/1mOPPaZbbrlFH3zwgVatWqVVq1Y5Pdr3LwDHbd26NSCp01JUVOT0aGZ1db4kBVavXu30aKbdddddgYyMjEBcXFxg4MCBgSlTpgT+9re/OT1W1Ln66qsD9913n9NjmHbrrbcG0tLSAnFxcYEf/OAHgVtvvTXQ2Njo9FhR4Y033giMGTMm4Ha7A6NGjQqsWrXK6ZEc4QoEAgGH2ggAAKBL3CQLAADMIVAAAIA5BAoAADCHQAEAAOYQKAAAwBwCBQAAmEOgAAAAcwgUAABgDoECAADMIVAAAIA5BAoAADCHQAEAAOb8PzWGXjDEWPQ9AAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(unique, frequency)\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 20, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"\n", + "#Along with the increase in the number of roll dicing, the frequency of values almost evens out" + ] + }, + { + "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": 113, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
068.0
112.0
245.0
338.0
449.0
......
99527.0
99647.0
99753.0
99833.0
99931.0
\n", + "

1000 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 68.0\n", + "1 12.0\n", + "2 45.0\n", + "3 38.0\n", + "4 49.0\n", + ".. ...\n", + "995 27.0\n", + "996 47.0\n", + "997 53.0\n", + "998 33.0\n", + "999 31.0\n", + "\n", + "[1000 rows x 1 columns]" + ] + }, + "execution_count": 113, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "df_age_pop_1 = pd.read_csv(r\"D:\\IronHack\\Study\\Bootcamp\\labs\\Week03\\Descriptive-Stats\\data\\ages_population.csv\")\n", + "df_age_pop_1\n" + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unique Values: [ 1. 2. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19.\n", + " 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37.\n", + " 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55.\n", + " 56. 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 73. 82.]\n", + "Frequency Values: [ 2 2 1 2 2 1 5 2 3 3 11 6 10 8 8 10 7 11 13 14 16 17 18 19\n", + " 23 25 20 26 34 24 30 22 29 33 31 30 30 45 27 36 32 32 23 29 23 17 19 19\n", + " 16 9 14 12 13 13 15 7 7 8 4 2 4 7 2 2 3 4 3 1 1 1 1 1]\n" + ] + } + ], + "source": [ + "unique, frequency = np.unique(df_age_pop_1[\"observation\"],return_counts = True)\n", + "\n", + "print(\"Unique Values:\",unique)\n", + " \n", + "# print frequency array\n", + "print(\"Frequency Values:\",frequency)" + ] + }, + { + "cell_type": "code", + "execution_count": 115, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8pXeV/AAAACXBIWXMAAA9hAAAPYQGoP6dpAAAdE0lEQVR4nO3df3RX9X348VcwJGAhQXAkUIjQX6K1sBYrfmq3tpqNwzhOK2fHnsM2/LH2dIsOZKcV2imjmwtnO0erPYhbR/HsVMZKT6FVV52LGk9XUInSSrehrrTkFBO600OCWAKHvL9/9Pj5NvxQAuGd3PB4nPM5x9x7+eT9Phc+eXrzue9PRUopBQBAJiMGewAAwNlFfAAAWYkPACAr8QEAZCU+AICsxAcAkJX4AACyEh8AQFaVgz2Ao/X29saePXti7NixUVFRMdjDAQBOQkop9u/fH5MnT44RI9762saQi489e/bE1KlTB3sYAMApaG9vjylTprzlMUMuPsaOHRsRvxp8TU3NII8GADgZ3d3dMXXq1PLP8bcy5OLjzV+11NTUiA8AKJiTecuEN5wCAFmJDwAgK/EBAGQlPgCArMQHAJCV+AAAshIfAEBW4gMAyEp8AABZiQ8AICvxAQBkJT4AgKzEBwCQlfgAALKqHOwBAMUybdmjx2z7yar5gzASoKhc+QAAshIfAEBW4gMAyEp8AABZiQ8AICvxAQBkJT4AgKzEBwCQlfgAALISHwBAVuIDAMhKfAAAWYkPACAr8QEAZCU+AICsxAcAkJX4AACyEh8AQFbiAwDISnwAAFmJDwAgK/EBAGQlPgCArMQHAJCV+AAAshIfAEBW4gMAyEp8AABZiQ8AICvxAQBkJT4AgKzEBwCQlfgAALISHwBAVqcVH6tWrYqKiopYsmRJedvBgwejqakpJkyYEGPGjIkFCxZEZ2fn6Y4TABgmTjk+nn/++fiHf/iHmDlzZp/tt912Wzz88MOxcePGaG1tjT179sR111132gMFAIaHU4qP119/PRYuXBhf/epX47zzzitv7+rqirVr18bdd98dV155ZcyePTvWrVsX3//+92Pr1q0DNmgAoLhOKT6amppi/vz50djY2Gd7W1tbHD58uM/2GTNmRENDQ2zZsuW4z9XT0xPd3d19HgDA8FXZ3z+wYcOGeOGFF+L5558/Zl9HR0dUVVXFuHHj+myvq6uLjo6O4z5fc3NzrFy5sr/DAAAKql9XPtrb22Px4sXx0EMPxahRowZkAMuXL4+urq7yo729fUCeFwAYmvoVH21tbbF379740Ic+FJWVlVFZWRmtra1x3333RWVlZdTV1cWhQ4di3759ff5cZ2dn1NfXH/c5q6uro6amps8DABi++vVrl6uuuipeeumlPttuvPHGmDFjRtx+++0xderUGDlyZLS0tMSCBQsiImLnzp2xe/fuKJVKAzdqAKCw+hUfY8eOjUsuuaTPtne84x0xYcKE8vabb745li5dGuPHj4+ampq49dZbo1QqxeWXXz5wowYACqvfbzh9O/fcc0+MGDEiFixYED09PTF37ty4//77B/rbAAAFVZFSSoM9iF/X3d0dtbW10dXV5f0fMARNW/boMdt+smr+IIwEGEr68/PbZ7sAAFmJDwAgK/EBAGQlPgCArMQHAJCV+AAAshIfAEBW4gMAyEp8AABZiQ8AICvxAQBkJT4AgKzEBwCQlfgAALISHwBAVuIDAMhKfAAAWYkPACAr8QEAZCU+AICsxAcAkJX4AACyEh8AQFbiAwDISnwAAFlVDvYAgOFr2rJHj9n2k1XzB2EkwFDiygcAkJX4AACyEh8AQFbiAwDISnwAAFmJDwAgK/EBAGQlPgCArMQHAJCV+AAAshIfAEBW4gMAyEp8AABZiQ8AIKvKwR4AnE2O/oh5Hy8PnI1c+QAAshIfAEBW4gMAyEp8AABZiQ8AICvxAQBkJT4AgKys8wHD1NFrikRYVwQYGlz5AACyEh8AQFbiAwDISnwAAFmJDwAgK/EBAGQlPgCArKzzAWR39BokP1k137okcBZx5QMAyEp8AABZiQ8AICvxAQBkJT4AgKzEBwCQlfgAALKyzgecZY63xgZATq58AABZiQ8AIKt+xceaNWti5syZUVNTEzU1NVEqleK73/1uef/BgwejqakpJkyYEGPGjIkFCxZEZ2fngA8aACiufsXHlClTYtWqVdHW1hbbtm2LK6+8Mq655pr40Y9+FBERt912Wzz88MOxcePGaG1tjT179sR11113RgYOABRTv95wevXVV/f5+q677oo1a9bE1q1bY8qUKbF27dpYv359XHnllRERsW7durjoooti69atcfnllw/cqAGAwjrl93wcOXIkNmzYEAcOHIhSqRRtbW1x+PDhaGxs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m9eUzZs3x759++KGG26IiOL/nVy2bFl0d3fHjBkz4pxzzokjR47EXXfdFQsXLoyIYv4sGJbxQfE0NTXFjh074nvf+95gD2XAXHjhhbF9+/bo6uqKb37zm7Fo0aJobW0d7GGdtvb29li8eHE88cQTMWrUqMEezoB78/8mIyJmzpwZc+bMiQsuuCC+8Y1vxOjRowdxZKevt7c3Lr300vjbv/3biIj44Ac/GDt27IgHHnggFi1aNMijGzhr166NefPmndRHuxfBN77xjXjooYdi/fr18f73vz+2b98eS5YsicmTJxf2vA3LX7ucf/75cc455xzzTubOzs6or68fpFENvDfnUvR53nLLLfHII4/EU089FVOmTClvr6+vj0OHDsW+ffv6HF+U+VVVVcV73vOemD17djQ3N8esWbPi3nvvLfy82traYu/evfGhD30oKisro7KyMlpbW+O+++6LysrKqKurK/T8jjZu3Lh43/veF6+++mrhz92kSZPi4osv7rPtoosuKv9aaTi8pvz0pz+N//iP/4g/+ZM/KW8r+nn73Oc+F8uWLYtPfepT8YEPfCD+6I/+KG677bZobm6OiGKet2EZH1VVVTF79uxoaWkpb+vt7Y2WlpYolUqDOLKBNX369Kivr+8zz+7u7nj22WcLMc+UUtxyyy2xadOmePLJJ2P69Ol99s+ePTtGjhzZZ347d+6M3bt3F2J+R+vt7Y2enp7Cz+uqq66Kl156KbZv315+XHrppbFw4cLyfxd5fkd7/fXX43//939j0qRJhT93V1xxxTG3s7/88stxwQUXRETxX1MiItatWxcTJ06M+fPnl7cV/by98cYbMWJE3x/X55xzTvT29kZEQc/bYL/j9UzZsGFDqq6uTg8++GD6r//6r/SZz3wmjRs3LnV0dAz20Ppl//796cUXX0wvvvhiioh09913pxdffDH99Kc/TSn96vaqcePGpW9/+9vphz/8YbrmmmuG9O1Vv+5P//RPU21tbXr66af73CL3xhtvlI/57Gc/mxoaGtKTTz6Ztm3blkqlUiqVSoM46pOzbNmy1Nramnbt2pV++MMfpmXLlqWKior07//+7yml4s7rRH79bpeUij2/v/iLv0hPP/102rVrV/rP//zP1NjYmM4///y0d+/elFKx5/bcc8+lysrKdNddd6VXXnklPfTQQ+ncc89NX//618vHFPk15ciRI6mhoSHdfvvtx+wr8nlbtGhReuc731m+1fZb3/pWOv/889PnP//58jFFO2/DNj5SSukrX/lKamhoSFVVVemyyy5LW7duHewh9dtTTz2VIuKYx6JFi1JKv7rF6o477kh1dXWpuro6XXXVVWnnzp2DO+iTdLx5RURat25d+Zhf/vKX6c/+7M/Seeedl84999z0yU9+Mr322muDN+iTdNNNN6ULLrggVVVVpd/4jd9IV111VTk8UiruvE7k6Pgo8vyuv/76NGnSpFRVVZXe+c53puuvv77POhhFnltKKT388MPpkksuSdXV1WnGjBnpH//xH/vsL/JryuOPP54i4rjjLfJ56+7uTosXL04NDQ1p1KhR6V3velf64he/mHp6esrHFO28VaT0a0ukAQCcYcPyPR8AwNAlPgCArMQHAJCV+AAAshIfAEBW4gMAyEp8AABZiQ8AICvxAQBkJT4AgKzEBwCQlfgAALL6fxhuoAK/ts1eAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(unique, frequency)\n", + "plt.show()" + ] + }, + { + "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": 120, + "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", + "
observation
count1000.0000
mean36.5600
std12.8165
min1.0000
25%28.0000
50%37.0000
75%45.0000
max82.0000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.0000\n", + "mean 36.5600\n", + "std 12.8165\n", + "min 1.0000\n", + "25% 28.0000\n", + "50% 37.0000\n", + "75% 45.0000\n", + "max 82.0000" + ] + }, + "execution_count": 120, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "df_age_pop_1.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 23, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"\n", + "# Yes, i expected that mean will be in range 30-40 years" + ] + }, + { + "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": 121, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
025.0
131.0
229.0
331.0
429.0
......
99526.0
99622.0
99721.0
99819.0
99928.0
\n", + "

1000 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 25.0\n", + "1 31.0\n", + "2 29.0\n", + "3 31.0\n", + "4 29.0\n", + ".. ...\n", + "995 26.0\n", + "996 22.0\n", + "997 21.0\n", + "998 19.0\n", + "999 28.0\n", + "\n", + "[1000 rows x 1 columns]" + ] + }, + "execution_count": 121, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "df_age_pop_2 = pd.read_csv(r\"D:\\IronHack\\Study\\Bootcamp\\labs\\Week03\\Descriptive-Stats\\data\\ages_population2.csv\")\n", + "df_age_pop_2\n" + ] + }, + { + "cell_type": "code", + "execution_count": 122, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unique Values: [19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36.]\n", + "Frequency Values: [ 3 13 17 35 41 78 98 120 125 139 115 90 61 31 22 7 3 2]\n" + ] + } + ], + "source": [ + "unique, frequency = np.unique(df_age_pop_2[\"observation\"],return_counts = True)\n", + "\n", + "print(\"Unique Values:\",unique)\n", + " \n", + "# print frequency array\n", + "print(\"Frequency Values:\",frequency)" + ] + }, + { + "cell_type": "code", + "execution_count": 123, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(unique, frequency)\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": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 25, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"\n", + "\n", + "# Now frequency higher in range between 25 - 28 years old" + ] + }, + { + "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": 124, + "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", + "
observation
count1000.000000
mean27.155000
std2.969814
min19.000000
25%25.000000
50%27.000000
75%29.000000
max36.000000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.000000\n", + "mean 27.155000\n", + "std 2.969814\n", + "min 19.000000\n", + "25% 25.000000\n", + "50% 27.000000\n", + "75% 29.000000\n", + "max 36.000000" + ] + }, + "execution_count": 124, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "df_age_pop_2.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 27, + "metadata": {}, + "output_type": "execute_result" + } + ], + "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": 125, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
021.0
121.0
224.0
331.0
454.0
......
99516.0
99655.0
99730.0
99835.0
99943.0
\n", + "

1000 rows × 1 columns

\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 21.0\n", + "1 21.0\n", + "2 24.0\n", + "3 31.0\n", + "4 54.0\n", + ".. ...\n", + "995 16.0\n", + "996 55.0\n", + "997 30.0\n", + "998 35.0\n", + "999 43.0\n", + "\n", + "[1000 rows x 1 columns]" + ] + }, + "execution_count": 125, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "df_age_pop_3 = pd.read_csv(r\"D:\\IronHack\\Study\\Bootcamp\\labs\\Week03\\Descriptive-Stats\\data\\ages_population3.csv\")\n", + "df_age_pop_3\n" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Unique Values: [ 1. 2. 4. 5. 7. 8. 9. 10. 11. 12. 13. 14. 15. 16. 17. 18. 19. 20.\n", + " 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. 36. 37. 38.\n", + " 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 53. 54. 55. 56.\n", + " 57. 58. 59. 60. 61. 62. 63. 64. 65. 66. 67. 68. 69. 70. 71. 72. 73. 74.\n", + " 75. 76. 77.]\n", + "Frequency Values: [ 1 2 2 1 1 1 1 2 2 4 2 5 8 9 10 9 12 11 14 11 11 19 17 15\n", + " 19 18 25 24 21 37 17 20 31 26 31 25 29 21 25 14 22 17 24 22 15 25 18 21\n", + " 14 17 14 9 13 10 8 6 8 6 6 3 12 12 15 19 22 17 17 19 11 8 6 6\n", + " 2 1 2]\n" + ] + } + ], + "source": [ + "unique, frequency = np.unique(df_age_pop_3[\"observation\"],return_counts = True)\n", + "\n", + "print(\"Unique Values:\",unique)\n", + " \n", + "# print frequency array\n", + "print(\"Frequency Values:\",frequency)" + ] + }, + { + "cell_type": "code", + "execution_count": 129, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(unique, frequency)\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": 126, + "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", + "
observation
count1000.000000
mean41.989000
std16.144706
min1.000000
25%30.000000
50%40.000000
75%53.000000
max77.000000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.000000\n", + "mean 41.989000\n", + "std 16.144706\n", + "min 1.000000\n", + "25% 30.000000\n", + "50% 40.000000\n", + "75% 53.000000\n", + "max 77.000000" + ] + }, + "execution_count": 126, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "df_age_pop_3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 30, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"\n", + "#A high std indicates that the data is distributed over a wide range of results." + ] + }, + { + "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": 131, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "30.0 40.0 53.0\n" + ] + } + ], + "source": [ + "# your code here\n", + "calc_25 = quartile_calc(0.25,df_age_pop_3[\"observation\"])\n", + "calc_50 = quartile_calc(0.5,df_age_pop_3[\"observation\"])\n", + "calc_75 = quartile_calc(0.75,df_age_pop_3[\"observation\"])\n", + "print(calc_25,calc_50,calc_75)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 32, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"\n", + "\n", + "#41.98 - mean and 40 median" + ] + }, + { + "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": [] + }, + { + "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": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.11" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}