From d587d595855d720e43a3c756c1dc4dfbff9f5d37 Mon Sep 17 00:00:00 2001 From: ReginaVeliczky Date: Mon, 6 May 2024 15:10:39 +0200 Subject: [PATCH] 'ReginaVeliczky' --- .../.ipynb_checkpoints/main-checkpoint.ipynb | 1031 +++++++++++ your-code/main.ipynb | 1553 +++++++++++------ 2 files changed, 2062 insertions(+), 522 deletions(-) create mode 100644 your-code/.ipynb_checkpoints/main-checkpoint.ipynb diff --git a/your-code/.ipynb_checkpoints/main-checkpoint.ipynb b/your-code/.ipynb_checkpoints/main-checkpoint.ipynb new file mode 100644 index 0000000..359098d --- /dev/null +++ b/your-code/.ipynb_checkpoints/main-checkpoint.ipynb @@ -0,0 +1,1031 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Understanding Descriptive Statistics\n", + "\n", + "Import the necessary libraries here:" + ] + }, + { + "cell_type": "code", + "execution_count": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# Libraries\n", + "import numpy as np\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": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([5, 2, 2, 1, 4, 5, 3, 1, 1, 6])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "dataset = np.random.randint(1,7,size=10)\n", + "dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[1, 1, 1, 2, 2, 3, 4, 5, 5, 6]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "sorted_values = sorted(dataset)\n", + "sorted_values" + ] + }, + { + "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": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Counter({1: 3, 5: 2, 2: 2, 4: 1, 3: 1, 6: 1})" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "from collections import Counter\n", + "\n", + "freq_dist = Counter(dataset)\n", + "freq_dist\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "#The two plots represent the same dataset but from 2 different point of view. \n", + "#The first one visualize the elements in ascending order while the 2nd shows how many times each element occures.\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": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.7\n" + ] + } + ], + "source": [ + "# your code here \n", + "dataset = [2, 2, 2, 6, 2, 1, 4, 1, 6, 1]\n", + "mean = (np.sum(dataset))/len(dataset)\n", + "print(mean)" + ] + }, + { + "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": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Counter({2: 4, 1: 3, 6: 2, 4: 1})" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "frequency_distribution = Counter(dataset)\n", + "frequency_distribution\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean: 2.7\n" + ] + } + ], + "source": [ + "total_sum = sum(value * frequency for value, frequency in frequency_distribution.items())\n", + "\n", + "total_count = sum(frequency_distribution.values())\n", + "\n", + "mean = total_sum / total_count\n", + "\n", + "print(\"Mean:\", mean)" + ] + }, + { + "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": 11, + "metadata": {}, + "outputs": [], + "source": [ + "def calculate_median(numbers):\n", + " \n", + " sorted_numbers = sorted(numbers)\n", + " \n", + " n = len(sorted_numbers)\n", + " if n % 2 == 1:\n", + " median = sorted_numbers[n // 2]\n", + " else:\n", + " mid1 = sorted_numbers[(n // 2) - 1]\n", + " mid2 = sorted_numbers[n // 2]\n", + " median = (mid1 + mid2) / 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": 16, + "metadata": {}, + "outputs": [], + "source": [ + "def calculate_quartiles(numbers):\n", + " sorted_numbers = sorted(numbers)\n", + " n = len(sorted_numbers)\n", + " \n", + " Q2 = calculate_median(sorted_numbers)\n", + "\n", + " if n % 2 == 1:\n", + " lower_half = sorted_numbers[:n // 2]\n", + " upper_half = sorted_numbers[(n // 2) + 1:]\n", + " else:\n", + " lower_half = sorted_numbers[:n // 2]\n", + " upper_half = sorted_numbers[n // 2:]\n", + " \n", + "\n", + " Q1 = calculate_median(lower_half)\n", + " Q3 = calculate_median(upper_half)\n", + "\n", + " Q4 = sorted_numbers[-1]\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": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'C:\\\\Users\\\\User\\\\OneDrive\\\\Desktop\\\\Ironhack\\\\week 2\\\\Descriptive-Stats\\\\your-code'" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pwd" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "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": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "dice_csv = pd.read_csv(r\"C:\\Users\\User\\OneDrive\\Desktop\\Ironhack\\week 2\\Descriptive-Stats\\data\\roll_the_dice_hundred.csv\")\n", + "dice_csv\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([12., 0., 17., 0., 14., 0., 22., 0., 12., 0., 23.]),\n", + " array([1. , 1.45454545, 1.90909091, 2.36363636, 2.81818182,\n", + " 3.27272727, 3.72727273, 4.18181818, 4.63636364, 5.09090909,\n", + " 5.54545455, 6. ]),\n", + " )" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVtUlEQVR4nO3de2yVhf348c+Z1SO60gWVXkJlzcamE2TGGgQv4I2sWcgcbtO5C+4WjehkjXFD/1i3OLqZaNxC1gT+YJCM4R+bl8ULsKhli2EDNqJhxmFksZs2RKYUGlOjPr8/Fvr7dkWxevo59PB6JU/ic+l5Pjwx8vY5T88pFUVRBABAkg9VewAA4NgiPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVHXVHuB/vf322/HSSy9FfX19lEqlao8DALwHRVHEgQMHoqWlJT70oXe/t3HUxcdLL70Ura2t1R4DAHgf+vr6Ytq0ae96zFEXH/X19RHx3+EnT55c5WkAgPdiYGAgWltbh/8efzdHXXwceqtl8uTJ4gMAJpj38siEB04BgFTiAwBIJT4AgFTiAwBIJT4AgFTiAwBIJT4AgFTiAwBIJT4AgFTiAwBIJT4AgFTiAwBIJT4AgFTiAwBIVVftAQCgpvRur/YERza/vaqnd+cDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEhVV+0BAD6w3u3VnuDI5rdXewI4arjzAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkGlN8dHd3x3nnnRf19fUxderUuPLKK+O5554bcUxRFNHV1RUtLS0xadKkWLBgQezatauiQwMAE9eY4qO3tzeWLl0aW7dujc2bN8ebb74ZCxcujMHBweFj7rrrrrjnnnti5cqVsW3btmhqaoorrrgiDhw4UPHhAYCJp24sBz/22GMj1tesWRNTp06NHTt2xMUXXxxFUcS9994bd9xxRyxevDgiItauXRuNjY2xfv36uP766ys3OQAwIX2gZz72798fERFTpkyJiIg9e/ZEf39/LFy4cPiYcrkc8+fPj6eeeuqwrzE0NBQDAwMjFgCgdr3v+CiKIjo7O+PCCy+MmTNnRkREf39/REQ0NjaOOLaxsXF43//q7u6OhoaG4aW1tfX9jgQATADvOz5uuummePrpp+M3v/nNqH2lUmnEelEUo7Ydsnz58ti/f//w0tfX935HAgAmgDE983HIzTffHA899FBs2bIlpk2bNry9qakpIv57B6S5uXl4+969e0fdDTmkXC5HuVx+P2MAABPQmO58FEURN910U/zud7+Lxx9/PNra2kbsb2tri6ampti8efPwtjfeeCN6e3tj3rx5lZkYAJjQxnTnY+nSpbF+/fp48MEHo76+fvg5joaGhpg0aVKUSqVYtmxZrFixImbMmBEzZsyIFStWxEknnRTXXnvtuPwBAICJZUzx0dPTExERCxYsGLF9zZo1cd1110VExG233Ravv/563HjjjfHqq6/GnDlzYtOmTVFfX1+RgQGAiW1M8VEUxRGPKZVK0dXVFV1dXe93JgCghvluFwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAgVV21B2CC6t1e7QmObH57tScA4DDc+QAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACDVmONjy5YtsWjRomhpaYlSqRQPPPDAiP3XXXddlEqlEcv5559fqXkBgAluzPExODgYs2fPjpUrV77jMZ/5zGfi5ZdfHl4eeeSRDzQkAFA76sb6Ax0dHdHR0fGux5TL5WhqanrfQwEAtWtcnvl48sknY+rUqfGJT3wivvOd78TevXvf8dihoaEYGBgYsQAAtavi8dHR0RG//vWv4/HHH4+77747tm3bFpdeemkMDQ0d9vju7u5oaGgYXlpbWys9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NLZu3RqbN2+ON998MxYuXBiDg4PVHq2mTJs2LX7605/G9u3bY/v27XHppZfG5z73udi1a1e1R6tZ27Zti1WrVsXZZ59d7VFq0llnnRUvv/zy8PLMM89Ue6Sa8+qrr8YFF1wQxx9/fDz66KPx97//Pe6+++5x/0TxdzJu3+1yNOno6IiOjo5qj1HzHnvssRHra9asialTp8aOHTvi4osvrtJUtWfRokUj1n/yk59ET09PbN26Nc4666wqTVW7Dh48GF/5yldi9erVceedd1Z7nJpUV1fnbsc4+9nPfhatra2xZs2a4W0f/ehHqzbPMXHng+rYv39/RERMmTKlypPUrrfeeis2bNgQg4ODMXfu3GqPU5OWLl0an/3sZ+Pyyy+v9ig1a/fu3dHS0hJtbW1xzTXXxAsvvFDtkWrOQw89FO3t7fHFL34xpk6dGuecc06sXr26avOID8ZFURTR2dkZF154YcycObPa49ScZ555Jj784Q9HuVyOG264Ie6///741Kc+Ve2xas6GDRvir3/9a3R3d1d7lJo1Z86cWLduXWzcuDFWr14d/f39MW/evNi3b1+1R6spL7zwQvT09MSMGTNi48aNccMNN8R3v/vdWLduXVXmOSbediHfTTfdFE8//XT86U9/qvYoNemTn/xk7Ny5M1577bX47W9/G0uWLIne3l4BUkF9fX1xyy23xKZNm+LEE0+s9jg16/++JT5r1qyYO3dufOxjH4u1a9dGZ2dnFSerLW+//Xa0t7fHihUrIiLinHPOiV27dkVPT098/etfT5/HnQ8q7uabb46HHnoonnjiiZg2bVq1x6lJJ5xwQnz84x+P9vb26O7ujtmzZ8fPf/7zao9VU3bs2BF79+6Nc889N+rq6qKuri56e3vjF7/4RdTV1cVbb71V7RFr0sknnxyzZs2K3bt3V3uUmtLc3Dzqf07OPPPMePHFF6syjzsfVExRFHHzzTfH/fffH08++WS0tbVVe6RjRlEUMTQ0VO0xaspll1026rcuvvGNb8QZZ5wR3//+9+O4446r0mS1bWhoKJ599tm46KKLqj1KTbngggtGffTBP/7xj6p94esxER8HDx6M559/fnh9z549sXPnzpgyZUqcfvrpVZystixdujTWr18fDz74YNTX10d/f39ERDQ0NMSkSZOqPF3tuP3226OjoyNaW1vjwIEDsWHDhnjyySdH/bYRH0x9ff2o55VOPvnkOOWUUzzHVEG33nprLFq0KE4//fTYu3dv3HnnnTEwMBBLliyp9mg15Xvf+17MmzcvVqxYEV/60pfiL3/5S6xatSpWrVpVnYGKY8ATTzxRRMSoZcmSJdUeraYc7hpHRLFmzZpqj1ZTvvnNbxbTp08vTjjhhOK0004rLrvssmLTpk3VHuuYMH/+/OKWW26p9hg15eqrry6am5uL448/vmhpaSkWL15c7Nq1q9pj1aTf//73xcyZM4tyuVycccYZxapVq6o2S6koiqI62QMAHIs8cAoApBIfAEAq8QEApBIfAEAq8QEApBIfAEAq8QEApBIfAEAq8QEApBIfAEAq8QEApBIfAECq/wcMeZ+eIlB8TgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sorted_values = dice_csv['value'].sort_values()\n", + "sorted_values\n", + "\n", + "plt.hist(sorted_values, bins=11, color='pink')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "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": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.0" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "calculate_median(sorted_values)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Counter({6: 23, 4: 22, 2: 17, 3: 14, 1: 12, 5: 12})" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "frequency_distribution = Counter(sorted_values)\n", + "frequency_distribution" + ] + }, + { + "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": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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zFyoTZs2eu655xQeHq5///vfzvGSfk9uuukmfffddy7bSn/M8tlsNvXu3VuSFBkZqdzcXOcsX6Hly5eXO1thwSmciSv05ptvlvsYQFXHzAxQwRo2bKi4uDg9/fTTWrZsmYYMGaLExEQNHjxYd9xxh4YPH668vDy9+OKL+vXXXzV79uwKOW94eLhWrFihhQsX6pprrlGNGjWKvY1SmjfffFPR0dG65ZZbNHToUF1xxRX65ZdflJGRoX//+9/6xz/+UeYxfvrpJ6WmpsqyLOXm5urbb7/V0qVL9fXXXys2NlbDhg0rdf/Cd9l069ZNkydPVqtWrfTTTz9p9erVevPNN+VwODRjxgwlJycrIiJCY8aMUdu2bfX777/rwIED+uc//6k33nijzFtVl2LXrl0aPXq07r//frVu3Vq1atXSxo0btWvXLk2ePNm5XXh4uJYvX6733ntPV155pXx8fBQeHq7Y2FgtXbpUt99+u2bMmKHg4GB9/PHHWrBggZ544gnnO+FiYmL08ssva8iQIXrhhRfUqlUrrV27VuvXr5ckl2ewStKuXTuFhoZq8uTJsixLfn5+WrNmjZKTkyvn4gAeQJkBKsGTTz6p1157TTNmzNCgQYP04IMPqm7dukpISNCAAQPk5eWl7t27a9OmTYqIiKiQc44dO1bp6el65plndPLkSVmWVeYDt3/Wu3dvbdu2TTNnztS4ceOUnZ2tRo0aqX379nrggQfKdYz3339f77//vmrUqKF69eopODhYPXr00BtvvFGuD57r3Lmztm3bpmnTpikuLk65ubkKCAjQjTfeqFq1akn64/mj7du36/nnn9eLL76oH374QQ6HQyEhIc6HsCtTQECAQkNDtWDBAh0+fFg2m01XXnml5s6dqyeffNK53fTp03X06FENGzZMubm5Cg4O1oEDB9SkSRNt2bJFcXFxiouLU05Ojq688kolJiZq/Pjxzv3r1q2rjRs3aty4cXr66adls9nUt29fLViwQLfddpsaNGhQZtaaNWtqzZo1Gjt2rIYPHy5vb2/dfPPN2rBhg1q0aFEZlwe47GyWu//aAQA8atasWXruued06NChSp2BAkzBzAwAVGGvvfaapD9uF507d04bN27UK6+8oiFDhlBkgP8fZQYAqrA6dero5Zdf1oEDB5SXl6cWLVpo0qRJeu655zwdDagyuM0EAACM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zvrrX//q6VjVxo4dO3Ts2DFdc8018vb2lre3t1JSUvTKK6/I29tb+fn5no5YbdWtW1fh4eHas2ePp6NUK82aNSvyPzthYWE6dOiQR/IwM4MqybIsPfnkk1q5cqU2b96skJAQT0f6n2JZlvLy8jwdo9q46aabiryj5uGHH1a7du00adIkeXl5eShZ9ZeXl6eMjAzdcMMNno5SrVx//fVFPi7jP//5j4KDgz2ShzJzEU6dOqW9e/c6lzMzM5WWliY/Pz+1aNHCg8mqj1GjRmnZsmX68MMP5XA4lJWVJUny9fVV7dq1PZyuennmmWcUHR2toKAg5ebmavny5dq8eXORd5Th4jkcjiLPe9WtW1eNGjXiObAKNnHiRPXr108tWrTQsWPH9MILLygnJ0cxMTGejlatxMbGKiIiQrNmzdIDDzygbdu26a233tJbb73lmUAW3LZp0yZLUpFXTEyMp6NVG8VdX0lWUlKSp6NVO4888ogVHBxs1apVy2rSpIl10003WZ988omnY1V7kZGR1tixYz0do9oZMGCA1axZM6tmzZpWYGCg1b9/fys9Pd3TsaqlNWvWWB07drTsdrvVrl0766233vJYFptlWZZnahQAAMCl4wFgAABgNMoMAAAwGmUGAAAYjTIDAACMRpkBAABGo8wAAACjUWYAAIDRKDMAyu3AgQOy2WxKS0vzdJQKFx8fry5dunjs/NX52gKVjTIDGGTo0KGy2WyaPXu2y/iqVatks9k8lMo8NptNq1atuiznioqKks1mk81mk91u1xVXXKF+/fppxYoVLtsFBQXp6NGj/HgD4CJQZgDD+Pj4aM6cOcrOzvZ0lApz9uxZT0eoVMOGDdPRo0e1d+9effDBB2rfvr0GDhyoxx9/3LmNl5eXAgIC5O3Nj8wD3EWZAQxz8803KyAgQAkJCSVuU9wtk/nz56tly5bO5aFDh+ruu+/WrFmz5O/vrwYNGmj69Ok6f/68nnrqKfn5+al58+Z65513ihz/+++/V0REhHx8fNShQwdt3rzZZf13332n2267TfXq1ZO/v7/+8pe/6Pjx4871UVFRGj16tMaPH6/GjRurT58+xX4dBQUFmjFjhpo3by673a4uXbq4/ADMwlszK1asUO/evVWnTh117txZW7duLfHaFF6De+65RzabzeWaSNL//d//qWXLlvL19dXAgQOVm5vrXGdZlhITE3XllVeqdu3a6ty5s95///0Sz1WoTp06CggIUFBQkLp37645c+bozTff1KJFi7RhwwaXr+XC20zp6em6/fbbVb9+fTkcDt1www3at2+fc31SUpLCwsLk4+Ojdu3aacGCBWVmAaojygxgGC8vL82aNUuvvvqqfvjhh0s61saNG3XkyBF99tlnmjdvnuLj43XHHXeoYcOG+vLLLzVixAiNGDFChw8fdtnvqaee0oQJE7Rz505FRETozjvv1IkTJyRJR48eVWRkpLp06aLt27dr3bp1+umnn/TAAw+4HGPJkiXy9vbWF198oTfffLPYfH/96181d+5cvfTSS9q1a5duueUW3XnnndqzZ4/Lds8++6wmTpyotLQ0tWnTRoMGDdL58+eLPeZXX30l6Y8icPToUeeyJO3bt0+rVq3SRx99pI8++kgpKSkut/See+45JSUlaeHChUpPT1dsbKyGDBmilJSUcl7x/4qJiVHDhg2L3G4q9OOPP6pXr17y8fHRxo0btWPHDj3yyCPOr2vRokV69tlnNXPmTGVkZGjWrFmaMmWKlixZ4nYWwHge+xGXANwWExNj3XXXXZZlWVb37t2tRx55xLIsy1q5cqV14V/nadOmWZ07d3bZ9+WXX7aCg4NdjhUcHGzl5+c7x9q2bWvdcMMNzuXz589bdevWtd59913LsiwrMzPTkmTNnj3buc25c+es5s2bW3PmzLEsy7KmTJli9e3b1+Xchw8ftiRZu3fvtizrj58Y3aVLlzK/3sDAQGvmzJkuY9dee601cuRIlzxvv/22c316erolycrIyCjxuJKslStXuoxNmzbNqlOnjpWTk+Mce+qpp6xu3bpZlmVZp06dsnx8fKwtW7a47Pfoo49agwYNKvFcpf107G7dulnR0dEuX8vOnTsty7KsuLg4KyQkxDp79myx+wYFBVnLli1zGXv++eetHj16lJgFqK64OQsYas6cObrxxhs1YcKEiz5Ghw4dVKPGfydo/f39XR5A9fLyUqNGjXTs2DGX/Xr06OH8tbe3t7p27aqMjAxJ0o4dO7Rp0ybVq1evyPn27dunNm3aSJK6du1aaracnBwdOXJE119/vcv49ddfr6+//tplrFOnTs5fN2vWTJJ07NgxtWvXrtRz/FnLli3lcDhcjlX4tX/33Xf6/fffi9wSO3v2rK666iq3zlPIsqwSH9xOS0vTDTfcoJo1axZZ9/PPP+vw4cN69NFHNWzYMOf4+fPn5evre1FZAJNRZgBD9erVS7fccoueeeYZDR061GVdjRo1ZFmWy9i5c+eKHOPP3yhtNluxYwUFBWXmKfymXFBQoH79+mnOnDlFtiksGpJUt27dMo954XELFVcALsx8YQ53lfa1F/73448/1hVXXOGynd1ud/tc+fn52rNnj6699tpi19euXbvEfQuzLFq0SN26dXNZ5+Xl5XYWwHSUGcBgs2fPVpcuXZyzHYWaNGmirKwsl2/8Ffn5JampqerVq5ekP2YDduzYodGjR0uSrr76an3wwQdq2bLlJb0zp379+goMDNTnn3/uPJckbdmyRdddd90l5a9Zs6by8/Pd2qd9+/ay2+06dOiQIiMjL+n80h/PDGVnZ+vee+8tdn2nTp20ZMkSnTt3rkjJ8vf31xVXXKH9+/dr8ODBl5wFMB1lBjBYeHi4Bg8erFdffdVlPCoqSj///LMSExN13333ad26dVq7dq3q169fIed9/fXX1bp1a4WFhenll19Wdna2HnnkEUnSqFGjtGjRIg0aNEhPPfWUGjdurL1792r58uVatGiRWzMHTz31lKZNm6bQ0FB16dJFSUlJSktL0//7f//vkvK3bNlSn376qa6//nrZ7XY1bNiwzH0cDocmTpyo2NhYFRQUqGfPnsrJydGWLVtUr149xcTElLjvmTNnlJWVpfPnz+vHH3/UihUr9PLLL+uJJ55Q7969i91n9OjRevXVVzVw4EDFxcXJ19dXqampuu6669S2bVvFx8drzJgxql+/vqKjo5WXl6ft27crOztb48ePv+hrA5iIdzMBhnv++eeL3FIKCwvTggUL9Prrr6tz587atm2bJk6cWGHnnD17tubMmaPOnTvrX//6lz788EM1btxYkhQYGKgvvvhC+fn5uuWWW9SxY0eNHTtWvr6+Ls/nlMeYMWM0YcIETZgwQeHh4Vq3bp1Wr16t1q1bX1L+uXPnKjk5WUFBQW497/L8889r6tSpSkhIUFhYmG655RatWbNGISEhpe63aNEiNWvWTKGhobrnnnv03Xff6b333iv1rdSNGjXSxo0bderUKUVGRuqaa67RokWLnLM0jz32mN5++20tXrxY4eHhioyM1OLFi8vMAlRHNuvP/woCAAAYhJkZAABgNMoMAAAwGmUGAAAYjTIDAACMRpkBAABGo8wAAACjUWYAAIDRKDMAAMBolBkAAGA0ygwAADAaZQYAABiNMgMAAIz2/wFHOx67DxUdegAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(sorted_values, bins=11, color='pink')\n", + "plt.title('Roll the Dice Histogram')\n", + "plt.xlabel('Number on the Dice')\n", + "plt.ylabel('Number of Roll')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The shape is not symmetric,the standard deviation is not too high. The mean value should be probably 4, as 4 and 6 has the highest frequency. \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": 64, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9fUlEQVR4nO3dfXwM9/7//+dWkiWRhIhcEaFKq+Jaq0UrEVQQF9FTDj0SwmlLlZLTHu2tFT39CHXoBYdqS1CUth+Ual1fn2rrohTtV0NdSxpFhSCJZH5/9Gc/XUmQtexm+rjfbnO7mfe8Z+Y1sxt55j0zuxbDMAwBAACY1F2uLgAAAOB2IuwAAABTI+wAAABTI+wAAABTI+wAAABTI+wAAABTI+wAAABTI+wAAABTI+wAAABTI+zgls2aNUsWi6XYKTk52dXlmcq157p8+fIKCQlRdHS0UlNTlZWVVWSdlJQUWSyWUu3n4sWLSklJ0YYNG0q1XnH7qlmzprp06VKq7dzI/Pnz9dZbbxW7zGKxKCUlxan7c7a1a9eqefPm8vHxkcVi0ZIlS4rtd/jwYVksFtvr0KRJE1WrVk0FBQUlbrtVq1YKDAxUXl7eTdVydR+zZs0q5VGUTmJioqKiom6qb2FhoT788EO1a9dOgYGB8vT0VFBQkLp06aJly5apsLCw1PsvC+8L3D4eri4A5pGWlqb77rvPri0sLMxF1Zjb1XOdn5+vrKwsbdmyRePHj9e///1vLVy4UO3atbP1HThwoDp27Fiq7V+8eFFjxoyRpJv+BeXovhwxf/587d27V8OHDy+ybOvWrapevfptr8FRhmHoiSeeUN26dbV06VL5+Pjo3nvvval1k5KSNHToUK1cuVKdOnUqsvynn37SV199peHDh8vLy8vZpd8Rly9fVvfu3bVq1Sr17t1b06ZNU0hIiE6dOqUVK1boL3/5ixYuXKhu3bq5ulSUIYQdOE1kZKSaN29+U33z8/NlsVjk4cFb0BHXnuuePXvq+eefV+vWrRUfH6/09HQFBwdLkqpXr37bf/lfvHhR3t7ed2RfN/LQQw+5dP83cvLkSZ05c0Y9evRQTExMqdbt27ev/vGPf2jmzJnFhp2ZM2dKkgYMGOCUWl1hxIgRWrlypWbPnq1+/frZLYuPj9c//vEPXbp0yUXVoaziMhZuuw0bNshisejDDz/UyJEjVa1aNVmtVh04cECStGbNGsXExMjPz0/e3t5q1aqV1q5dW2Q7y5cvV+PGjWW1WlWrVi39+9//LnLZ5HpD8sUNY6enp6tPnz4KCgqS1WpVvXr19J///KfY+j/66CO9/PLLCgsLk5+fn9q1a6f9+/cX2c+KFSsUExMjf39/eXt7q169ekpNTZUkffjhh7JYLNq6dWuR9V577TV5enrq5MmTNzynxalRo4YmTpyo8+fPa/r06bb24i4trVu3TlFRUapSpYoqVKigGjVqqGfPnrp48aIOHz6sqlWrSpLGjBlju2SWmJhot72dO3fq8ccfV+XKlVW7du0S93XV4sWL1bBhQ5UvX15333233nnnHbvlVy/RHT582K796vm/eiknKipKy5cv15EjR+wu6V1V3Ou8d+9edevWTZUrV1b58uXVuHFjzZ49u9j93OzrXJwtW7YoJiZGvr6+8vb2VsuWLbV8+XLb8pSUFFsYfPHFF2WxWFSzZs2b2rYkVa5cWT169NCyZct0+vRpu2UFBQX68MMP9cADD6hBgwY6cOCA+vfvrzp16sjb21vVqlVTXFyc9uzZc8P9JCYmFltXca+vYRiaOnWqGjdurAoVKqhy5cp6/PHH9fPPP9/0cV2VmZmpDz74QI899liRoHNVnTp11LBhQ9v80aNH9eSTT9r9DE+cOPGGl7pKeq8W9z68ein2888/V5MmTVShQgXVq1dPn3/+uW2devXqycfHRw8++KC2b99ut83ExERVrFhRBw4cUKdOnVSxYkWFh4dr5MiRys3NvdnTg1tA2IHTFBQU6MqVK3bTH40aNUpHjx7Vu+++q2XLlikoKEhz585Vhw4d5Ofnp9mzZ+vjjz9WQECAHnvsMbvAs3btWnXr1k2+vr5asGCBJkyYoI8//lhpaWkO1/vDDz/ogQce0N69ezVx4kR9/vnn6ty5s5577jnbJZw/eumll3TkyBF98MEHeu+995Senq64uDi7+ydmzJihTp06qbCw0Haczz33nI4fPy5J6tWrl0JCQooEqitXrmj69Onq0aPHLV3669Spk8qVK6dNmzaV2Ofw4cPq3LmzvLy8NHPmTK1YsULjxo2Tj4+P8vLyFBoaqhUrVkj6/bLJ1q1btXXrVr3yyit224mPj9c999yjTz75RO++++5169q1a5eGDx+u559/XosXL1bLli01bNgw/fvf/y71MU6dOlWtWrVSSEiIrbbiwuNV+/fvV8uWLbVv3z698847WrRoke6//34lJibqjTfeKNL/Zl7n4mzcuFFt27bVuXPnNGPGDH300Ufy9fVVXFycFi5cKOn3y3yLFi2SJA0dOlRbt27V4sWLS9xmzZo1ZRiG3aXEpKQk5eXlae7cuXZ9V65cqZMnTyopKUnS7yNIVapU0bhx47RixQr95z//kYeHh1q0aHHT4e1mPPXUUxo+fLjatWunJUuWaOrUqdq3b59atmypX375xdZv1qxZN7wHbP369crPz1f37t1vat+nTp1Sy5YttWrVKv3rX//S0qVL1a5dOyUnJ+vZZ5+9haMqavfu3Ro1apRefPFFLVq0SP7+/oqPj9fo0aP1wQcfaOzYsZo3b57OnTunLl26FBl9ys/PV9euXRUTE6PPPvtMAwYM0Jtvvqnx48c7tU6UwABuUVpamiGp2Ck/P99Yv369Icl49NFH7dbLyckxAgICjLi4OLv2goICo1GjRsaDDz5oa2vRooURFhZmXLp0ydaWnZ1tBAQEGH98Gx86dMiQZKSlpRWpU5IxevRo2/xjjz1mVK9e3Th37pxdv2effdYoX768cebMGcMwDFv9nTp1suv38ccfG5KMrVu3GoZhGOfPnzf8/PyM1q1bG4WFhSWer9GjRxteXl7GL7/8YmtbuHChIcnYuHFjiesZxv+d623btpXYJzg42KhXr57d/v54jj799FNDkrFr164St3Hq1Kki5+va7b366qslLvujiIgIw2KxFNlf+/btDT8/PyMnJ8fu2A4dOmTX7+r5X79+va2tc+fORkRERLG1X1t37969DavVahw9etSuX2xsrOHt7W389ttvdvu50etckoceesgICgoyzp8/b2u7cuWKERkZaVSvXt32nrj6Hp0wYcJ1t1eSwsJCo1atWkbDhg3t2nv27Gl4e3sXeT//sZa8vDyjTp06xvPPP29rL+5nJiEhodjze+3ru3XrVkOSMXHiRLt+x44dMypUqGC88MILpTq2cePGGZKMFStW3FT/f/7zn4Yk45tvvrFrf+aZZwyLxWLs37/f1nbt+6K496phFP8+jIiIMCpUqGAcP37c1rZr1y5DkhEaGmp7DxuGYSxZssSQZCxdutTWlpCQYEgyPv74Y7t9derUybj33ntv6lhxaxjZgdPMmTNH27Zts5v+eE9Oz5497fp/9dVXOnPmjBISEuxGgwoLC9WxY0dt27ZNOTk5ysnJ0bZt2xQfH6/y5cvb1r/6V7MjLl++rLVr16pHjx7y9va223+nTp10+fJlff3113brdO3a1W7+6lD6kSNHbMeTnZ2twYMHX/fpp2eeeUaS9P7779vapkyZogYNGujRRx916Hj+yDCM6y5v3LixvLy89Pe//12zZ8926HKDVPT1vJ769eurUaNGdm19+vRRdna2du7c6dD+b9a6desUExOj8PBwu/bExERdvHixyKjQjV7n4uTk5Oibb77R448/rooVK9ray5Urp7/97W86fvy400ZTLBaL+vfvr++//147duyQJJ0+fVrLli1Tz5495efnJ+n30cKxY8fq/vvvl5eXlzw8POTl5aX09HT9+OOPTqnl888/l8Vi0ZNPPmn3MxQSEqJGjRqV+mm+0lq3bp3uv/9+Pfjgg3btiYmJMgxD69atc9q+GjdurGrVqtnm69WrJ+n3y6re3t5F2q99v1gsliL/XzVs2PC67ys4D2EHTlOvXj01b97cbvqj0NBQu/mrQ9yPP/64PD097abx48fLMAydOXNGZ8+eVWFhoUJCQorss7i2m3H69GlduXJFkydPLrLvqzd+/vrrr3brVKlSxW7earVKkm24+tSpU5J0wxt0g4OD1atXL02fPl0FBQX6/vvvtXnzZqcMu+fk5Oj06dPXvRRWu3ZtrVmzRkFBQRoyZIhq166t2rVr6+233y7Vvq59Pa/neq/dtfeeONvp06eLrfXqObp2/zd6nYtz9uxZGYZRqv3civ79++uuu+6yXcadN2+e8vLybJewpN9v9H3llVfUvXt3LVu2TN988422bdumRo0aOe0G319++UWGYSg4OLjIz9HXX39d5GfoRmrUqCFJOnTo0E31L+1reysCAgLs5q8+7VZS++XLl+3avb297f5Yk35/b13bD7cHj8Lgjrl2tCMwMFCSNHny5BKfoAkODrY9uZWZmVlk+bVtV/8zufamv2v/06tcubLtr+4hQ4YUu+9atWpd52iKunpT79X7c65n2LBh+vDDD/XZZ59pxYoVqlSpkvr27Vuq/RVn+fLlKigouOHj4o888ogeeeQRFRQUaPv27Zo8ebKGDx+u4OBg9e7d+6b2VZrP7rnea3c1XJT02pX2F+a1qlSpooyMjCLtV28Ev/o+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8vPzM9Wb+07gnDmG8+YYzptjOG+lZ8Zzdr0RnavKfNiRpBEjRuhvf/ubmjdvrocffljvvfeejh49qqefftrVpQEAABczRdjp1auXTp8+rddee00ZGRmKjIzUF198oYiICFeXBgAAXMwUYUeSBg8erMGDB7u6DLditVo1evToIpfsUDLOmWM4b47hvDmG81Z6f/ZzZjFu9LwWAABAGVbmP1QQAADgegg7AADA1Ag7AADA1Ag7AADA1Ag7JrRp0ybFxcUpLCxMFotFS5YscXVJbi81NVUPPPCAfH19FRQUpO7du2v//v2uLsvtTZs2TQ0bNrR9UNnDDz+sL7/80tVllSmpqamyWCwaPny4q0txaykpKbJYLHZTSEiIq8sqE06cOKEnn3xSVapUkbe3txo3bqwdO3a4uqw7irBjQjk5OWrUqJGmTJni6lLKjI0bN2rIkCH6+uuvtXr1al25ckUdOnRQTk6Oq0tza9WrV9e4ceO0fft2bd++XW3btlW3bt20b98+V5dWJmzbtk3vvfeeGjZs6OpSyoT69esrIyPDNu3Zs8fVJbm9s2fPqlWrVvL09NSXX36pH374QRMnTjT1twYUxzSfs4P/Exsbq9jYWFeXUaasWLHCbj4tLU1BQUHasWOHHn30URdV5f7i4uLs5v/nf/5H06ZN09dff6369eu7qKqy4cKFC+rbt6/ef/99vf76664up0zw8PBgNKeUxo8fr/DwcKWlpdnaatas6bqCXISRHaAY586dkyQFBAS4uJKyo6CgQAsWLFBOTo4efvhhV5fj9oYMGaLOnTurXbt2ri6lzEhPT1dYWJhq1aql3r176+eff3Z1SW5v6dKlat68uf7yl78oKChITZo00fvvv+/qsu44wg5wDcMwNGLECLVu3VqRkZGuLsft7dmzRxUrVpTVatXTTz+txYsX6/7773d1WW5twYIF2rlzp1JTU11dSpnRokULzZkzRytXrtT777+vzMxMtWzZUqdPn3Z1aW7t559/1rRp01SnTh2tXLlSTz/9tJ577jnNmTPH1aXdUVzGAq7x7LPP6vvvv9eWLVtcXUqZcO+992rXrl367bff9L//+79KSEjQxo0bCTwlOHbsmIYNG6ZVq1apfPnyri6nzPjjpfkGDRro4YcfVu3atTV79myNGDHChZW5t8LCQjVv3lxjx46VJDVp0kT79u3TtGnT1K9fPxdXd+cwsgP8wdChQ7V06VKtX79e1atXd3U5ZYKXl5fuueceNW/eXKmpqWrUqJHefvttV5fltnbs2KGsrCw1a9ZMHh4e8vDw0MaNG/XOO+/Iw8NDBQUFri6xTPDx8VGDBg2Unp7u6lLcWmhoaJE/POrVq6ejR4+6qCLXYGQH0O+XroYOHarFixdrw4YNqlWrlqtLKrMMw1Bubq6ry3BbMTExRZ4i6t+/v+677z69+OKLKleunIsqK1tyc3P1448/6pFHHnF1KW6tVatWRT5G46efflJERISLKnINwo4JXbhwQQcOHLDNHzp0SLt27VJAQIBq1Kjhwsrc15AhQzR//nx99tln8vX1VWZmpiTJ399fFSpUcHF17uull15SbGyswsPDdf78eS1YsEAbNmwo8nQb/o+vr2+Re8F8fHxUpUoV7hG7juTkZMXFxalGjRrKysrS66+/ruzsbCUkJLi6NLf2/PPPq2XLlho7dqyeeOIJffvtt3rvvff03nvvubq0O8uA6axfv96QVGRKSEhwdWluq7jzJclIS0tzdWlubcCAAUZERITh5eVlVK1a1YiJiTFWrVrl6rLKnDZt2hjDhg1zdRlurVevXkZoaKjh6elphIWFGfHx8ca+fftcXVaZsGzZMiMyMtKwWq3GfffdZ7z33nuuLumOsxiGYbgoZwEAANx23KAMAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADwLSioqI0fPhwV5cBwMUIOwDcUlxcnNq1a1fssq1bt8pisWjnzp13uCoAZRFhB4BbSkpK0rp163TkyJEiy2bOnKnGjRuradOmLqgMQFlD2AHglrp06aKgoCDNmjXLrv3ixYtauHChunfvrr/+9a+qXr26vL291aBBA3300UfX3abFYtGSJUvs2ipVqmS3jxMnTqhXr16qXLmyqlSpom7duunw4cPOOSgALkHYAeCWPDw81K9fP82aNUt//Aq/Tz75RHl5eRo4cKCaNWumzz//XHv37tXf//53/e1vf9M333zj8D4vXryo6OhoVaxYUZs2bdKWLVtUsWJFdezYUXl5ec44LAAuQNgB4LYGDBigw4cPa8OGDba2mTNnKj4+XtWqVVNycrIaN26su+++W0OHDtVjjz2mTz75xOH9LViwQHfddZc++OADNWjQQPXq1VNaWpqOHj1qVwOAssXD1QUAQEnuu+8+tWzZUjNnzlR0dLQOHjyozZs3a9WqVSooKNC4ceO0cOFCnThxQrm5ucrNzZWPj4/D+9uxY4cOHDggX19fu/bLly/r4MGDt3o4AFyEsAPArSUlJenZZ5/Vf/7zH6WlpSkiIkIxMTGaMGGC3nzzTb311ltq0KCBfHx8NHz48OtebrJYLHaXxCQpPz/f9u/CwkI1a9ZM8+bNK7Ju1apVnXdQAO4owg4At/bEE09o2LBhmj9/vmbPnq1BgwbJYrFo8+bN6tatm5588klJvweV9PR01atXr8RtVa1aVRkZGbb59PR0Xbx40TbftGlTLVy4UEFBQfLz87t9BwXgjuKeHQBurWLFiurVq5deeuklnTx5UomJiZKke+65R6tXr9ZXX32lH3/8UU899ZQyMzOvu622bdtqypQp2rlzp7Zv366nn35anp6etuV9+/ZVYGCgunXrps2bN+vQoUPauHGjhg0bpuPHj9/OwwRwGxF2ALi9pKQknT17Vu3atVONGjUkSa+88oqaNm2qxx57TFFRUQoJCVH37t2vu52JEycqPDxcjz76qPr06aPk5GR5e3vblnt7e2vTpk2qUaOG4uPjVa9ePQ0YMECXLl1ipAcowyzGtRewAQAATISRHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGr/HzVvogMwyx1dAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "thousand = pd.read_csv(r\"C:\\Users\\User\\OneDrive\\Desktop\\Ironhack\\week 2\\Descriptive-Stats\\data\\roll_the_dice_thousand.csv\")\n", + "thousand\n", + "\n", + "df = pd.DataFrame(data)\n", + "\n", + "values = thousand['value']\n", + "\n", + "frequency_distribution = values.value_counts().sort_index() \n", + "\n", + "plt.bar(frequency_distribution.index, frequency_distribution.values, color='b', alpha=0.7)\n", + "plt.xlabel(\"Value\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Frequency Distribution of 'Value' Column\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The standard deviation is much smaller then in the previous occasion\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": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHFCAYAAAAHcXhbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA60ElEQVR4nO3de1iVVf7//9dWBAHBPAHikRRN85iWiZYaaimRh5rR0RJPn6m0gtRqzM8kNY2HHB0r046iZqbVqIlOKuX5o5WHPDaXaSGah7B0hDyAwvr90Y/9dbNBYYtuFj0f17Wvq73ute/7vfbeyKt13/fCYYwxAgAAsFQ5bxcAAABwLQgzAADAaoQZAABgNcIMAACwGmEGAABYjTADAACsRpgBAABWI8wAAACrEWYAAIDVCDO4ojlz5sjhcBT4GDNmjLfLK1Pyv9cVK1ZUWFiYunTpookTJyo9Pd3tNYmJiXI4HMU6zrlz55SYmKh169YV63UFHat+/fq6//77i7Wfq1mwYIGmT59e4DaHw6HExMQSPV5J++KLL9S2bVsFBgbK4XBo6dKlBfY7dOiQHA6H83No3bq1atWqpZycnEL33aFDB1WvXl3Z2dlFqiXvGHPmzCnmKIpn8ODB6ty5c5H65ubm6v3331fXrl1VvXp1VahQQSEhIbr//vuVnJys3NzcYh/fhu8Fri8fbxcAOyQlJemWW25xaQsPD/dSNWVb3nt98eJFpaena9OmTZo8ebL+8Y9/aNGiReratauz7/Dhw3XfffcVa//nzp3Tiy++KElF/gXk6bE8sWDBAu3du1cJCQlu27Zs2aLatWtf9xo8ZYzRH//4RzVq1EjLli1TYGCgGjduXKTXDhs2TE8++aRWrVqlnj17um3/7rvvtHnzZiUkJMjX17ekS78hLly4oN69e2v16tXq37+/Zs2apbCwMJ08eVIrV67UH/7wBy1atEi9evXydqmwDGEGRdKsWTO1bdu2SH0vXrwoh8MhHx++Xp7I/14/+OCDevrpp9WxY0f17dtXBw4cUGhoqCSpdu3a1/2X+7lz5xQQEHBDjnU1d955p1ePfzXHjh3TqVOn1KdPH0VHRxfrtQMHDtQzzzyj2bNnFxhmZs+eLUkaOnRoidTqDaNGjdKqVas0d+5cDRo0yGVb37599cwzz+j8+fNeqg424zQTrsm6devkcDj0/vvva/To0apVq5b8/Px08OBBSdLnn3+u6OhoBQcHKyAgQB06dNAXX3zhtp8VK1aoVatW8vPzU0REhP7xj3+4nda40pR5QdPMBw4c0IABAxQSEiI/Pz81adJEb7zxRoH1f/jhhxo3bpzCw8MVHBysrl27av/+/W7HWblypaKjo1W5cmUFBASoSZMmmjhxoiTp/fffl8Ph0JYtW9xe99JLL6lChQo6duzYVd/TgtStW1dTp05VZmam3nrrLWd7Qad+1qxZo86dO6tatWry9/dX3bp19eCDD+rcuXM6dOiQatSoIUl68cUXnae0Bg8e7LK/HTt26KGHHlKVKlXUoEGDQo+VZ8mSJWrRooUqVqyom2++Wa+99prL9rxTaIcOHXJpz3v/8061dO7cWStWrFBaWprLKbc8BX3Oe/fuVa9evVSlShVVrFhRrVq10ty5cws8TlE/54Js2rRJ0dHRCgoKUkBAgKKiorRixQrn9sTERGfYe+655+RwOFS/fv0i7VuSqlSpoj59+ig5OVm//PKLy7acnBy9//77uv3229W8eXMdPHhQQ4YMUWRkpAICAlSrVi3FxsZqz549Vz3O4MGDC6yroM/XGKOZM2eqVatW8vf3V5UqVfTQQw/phx9+KPK48pw4cULvvvuu7r33XrcgkycyMlItWrRwPj98+LAefvhhl5/hqVOnXvVUVGHf1YK+h3mnSpcvX67WrVvL399fTZo00fLly52vadKkiQIDA3XHHXdo27ZtLvscPHiwKlWqpIMHD6pnz56qVKmS6tSpo9GjRysrK6uobw+uEWEGRZKTk6NLly65PC43duxYHT58WG+++aaSk5MVEhKi+fPnq3v37goODtbcuXP10UcfqWrVqrr33ntdAs0XX3yhXr16KSgoSAsXLtSUKVP00UcfKSkpyeN6v/32W91+++3au3evpk6dquXLlysmJkZPPfWU8xTL5Z5//nmlpaXp3Xff1dtvv60DBw4oNjbW5fqF9957Tz179lRubq5znE899ZR+/PFHSVK/fv0UFhbmFpguXbqkt956S3369LmmU3M9e/ZU+fLltWHDhkL7HDp0SDExMfL19dXs2bO1cuVKTZo0SYGBgcrOzlbNmjW1cuVKSb+d1tiyZYu2bNmiv/71ry776du3rxo2bKiPP/5Yb7755hXr2rlzpxISEvT0009ryZIlioqKUnx8vP7xj38Ue4wzZ85Uhw4dFBYW5qytoHCYZ//+/YqKitK+ffv02muvafHixWratKkGDx6sV155xa1/UT7ngqxfv1733HOPzpw5o/fee08ffvihgoKCFBsbq0WLFkn67TTc4sWLJUlPPvmktmzZoiVLlhS6z/r168sY43Kqb9iwYcrOztb8+fNd+q5atUrHjh3TsGHDJP02A1StWjVNmjRJK1eu1BtvvCEfHx+1a9euyOGsKB599FElJCSoa9euWrp0qWbOnKl9+/YpKipKP/30k7PfnDlzrnoN1tq1a3Xx4kX17t27SMc+efKkoqKitHr1av3tb3/TsmXL1LVrV40ZM0ZPPPHENYzK3a5duzR27Fg999xzWrx4sSpXrqy+fftq/PjxevfddzVhwgR98MEHOnPmjO6//3632aOLFy/qgQceUHR0tD799FMNHTpU//znPzV58uQSrRNXYIArSEpKMpIKfFy8eNGsXbvWSDJ33323y+vOnj1rqlatamJjY13ac3JyTMuWLc0dd9zhbGvXrp0JDw8358+fd7ZlZGSYqlWrmsu/oqmpqUaSSUpKcqtTkhk/frzz+b333mtq165tzpw549LviSeeMBUrVjSnTp0yxhhn/T179nTp99FHHxlJZsuWLcYYYzIzM01wcLDp2LGjyc3NLfT9Gj9+vPH19TU//fSTs23RokVGklm/fn2hrzPm/73XW7duLbRPaGioadKkicvxLn+PPvnkEyPJ7Ny5s9B9nDx50u39yr+/F154odBtl6tXr55xOBxux+vWrZsJDg42Z8+edRlbamqqS7+893/t2rXOtpiYGFOvXr0Ca89fd//+/Y2fn585fPiwS78ePXqYgIAA89///tflOFf7nAtz5513mpCQEJOZmelsu3TpkmnWrJmpXbu28zuR9x2dMmXKFfdXmNzcXBMREWFatGjh0v7ggw+agIAAt+/z5bVkZ2ebyMhI8/TTTzvbC/qZiYuLK/D9zf/5btmyxUgyU6dOdel35MgR4+/vb5599tlijW3SpElGklm5cmWR+v/lL38xksxXX33l0v74448bh8Nh9u/f72zL/70o6LtqTMHfw3r16hl/f3/z448/Ott27txpJJmaNWs6v8PGGLN06VIjySxbtszZFhcXZySZjz76yOVYPXv2NI0bNy7SWHHtmJlBkcybN09bt251eVx+TcyDDz7o0n/z5s06deqU4uLiXGZzcnNzdd9992nr1q06e/aszp49q61bt6pv376qWLGi8/V5/9friQsXLuiLL75Qnz59FBAQ4HL8nj176sKFC/ryyy9dXvPAAw+4PM+b6k5LS3OOJyMjQyNGjLji3UOPP/64JOmdd95xts2YMUPNmzfX3Xff7dF4LmeMueL2Vq1aydfXV3/+8581d+5cj04HSO6f55XceuutatmypUvbgAEDlJGRoR07dnh0/KJas2aNoqOjVadOHZf2wYMH69y5c26zOlf7nAty9uxZffXVV3rooYdUqVIlZ3v58uX1yCOP6Mcffyyx2RCHw6EhQ4Zo9+7d2r59uyTpl19+UXJysh588EEFBwdL+m22b8KECWratKl8fX3l4+MjX19fHThwQP/5z39KpJbly5fL4XDo4YcfdvkZCgsLU8uWLYt9N1xxrVmzRk2bNtUdd9zh0j548GAZY7RmzZoSO1arVq1Uq1Yt5/MmTZpI+u20Z0BAgFt7/u+Lw+Fw+/eqRYsWV/xeoWQRZlAkTZo0Udu2bV0el6tZs6bL87wp6IceekgVKlRweUyePFnGGJ06dUqnT59Wbm6uwsLC3I5ZUFtR/PLLL7p06ZJef/11t2PnXVj5888/u7ymWrVqLs/9/PwkyTmdfPLkSUm66gWwoaGh6tevn9566y3l5ORo9+7d2rhxY4lMi589e1a//PLLFU9VNWjQQJ9//rlCQkI0cuRINWjQQA0aNNCrr75arGPl/zyv5EqfXf5rP0raL7/8UmCtee9R/uNf7XMuyOnTp2WMKdZxrsWQIUNUrlw552nWDz74QNnZ2c5TTNJvF9L+9a9/Ve/evZWcnKyvvvpKW7duVcuWLUvsAtqffvpJxhiFhoa6/Rx9+eWXbj9DV1O3bl1JUmpqapH6F/ezvRZVq1Z1eZ53t1hh7RcuXHBpDwgIcPmfMem371b+frh+uN0EJSL/bEX16tUlSa+//nqhd6CEhoY673w6ceKE2/b8bXn/WOS/qC7/P2pVqlRx/l/zyJEjCzx2RETEFUbjLu+i2bzrY64kPj5e77//vj799FOtXLlSN910kwYOHFis4xVkxYoVysnJuert1HfddZfuuusu5eTkaNu2bXr99deVkJCg0NBQ9e/fv0jHKs7aNVf67PLCQ2GfXXF/IeZXrVo1HT9+3K0970LrvO/htahSpYrKlSt33Y+Tp3bt2urevbsWLFigqVOnKikpSQ0bNnSZ2Zs/f74GDRqkCRMmuLz2559/1k033XTF/VesWLHAC1PzfxbVq1eXw+HQxo0bnaHvcgW1XUmXLl1UoUIFLV26VI899thV+1/LZ3v59+3yOq/1+4bSi5kZXBcdOnTQTTfdpG+//dZtRifv4evr67xDYPHixS7/F5OZmank5GSXfYaGhqpixYravXu3S/unn37q8jwgIEBdunTRN998oxYtWhR47Pz/h341UVFRqly5st58882rnupp06aNoqKiNHnyZH3wwQcaPHiwAgMDi3W8/A4fPqwxY8aocuXKevTRR4v0mvLly6tdu3bOC5LzTvkUZTaiOPbt26ddu3a5tC1YsEBBQUG67bbbJMl590z+z27ZsmVu+/Pz8ytybdHR0VqzZo3bXWLz5s1TQEBAidzKHRgYqHbt2mnx4sUudeXm5mr+/PmqXbu2GjVqdM3HudywYcN0+vRpvfDCC9q5c6eGDBnidldX/jCxYsUKHT169Kr7rl+/vtLT010u4M3OztaqVatc+t1///0yxujo0aMF/gw1b968WGMKCwvT8OHDtWrVKs2bN6/APt9//73zOxIdHa1vv/3W7VTlvHnz5HA41KVLlyuOUXL/vuX/NwVlBzMzuC4qVaqk119/XXFxcTp16pQeeughhYSE6OTJk9q1a5dOnjypWbNmSZL+9re/6b777lO3bt00evRo5eTkaPLkyQoMDNSpU6ec+8w7fz979mw1aNBALVu21Ndff60FCxa4Hf/VV19Vx44dddddd+nxxx9X/fr1lZmZqYMHDyo5ObnY59srVaqkqVOnavjw4eratav+53/+R6GhoTp48KB27dqlGTNmuPSPj49Xv3795HA4NGLEiGIda+/evc7rE9LT07Vx40YlJSWpfPnyWrJkiXOWqCBvvvmm1qxZo5iYGNWtW1cXLlxwrk+St9heUFCQ6tWrp08//VTR0dGqWrWqqlevXqzbiC8XHh6uBx54QImJiapZs6bmz5+vlJQUTZ482Xm9we23367GjRtrzJgxunTpkqpUqaIlS5Zo06ZNbvtr3ry5Fi9erFmzZqlNmzYqV65coWscjR8/XsuXL1eXLl30wgsvqGrVqvrggw+0YsUKvfLKK6pcubJHY8pv4sSJ6tatm7p06aIxY8bI19dX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m4MHDzr72Dq+9PR0l88sJSXFSDJr1641xtg7LmN++9uG1apVM8uXLzepqanm448/NpUqVTLTp0939rFxfISZIrrjjjvMY4895tJ2yy23mL/85S9equja5Q8zubm5JiwszEyaNMnZduHCBVO5cmXz5ptveqHCa5Oenm4kmfXr1xtjyt74qlSpYt59990yM67MzEwTGRlpUlJSTKdOnZxhxubxjR8/3rRs2bLAbTaPyxhjnnvuOdOxY8dCt9s+vsvFx8ebBg0amNzcXOvHFRMTY4YOHerS1rdvX/Pwww8bY+z93DjNVATZ2dnavn27unfv7tLevXt3bd682UtVlbzU1FSdOHHCZZx+fn7q1KmTleM8c+aMJKlq1aqSys74cnJytHDhQp09e1bt27cvM+MaOXKkYmJi1LVrV5d228d34MABhYeHKyIiQv3799cPP/wgyf5xLVu2TG3bttUf/vAHhYSEqHXr1nrnnXec220fX57s7GzNnz9fQ4cOlcPhsH5cHTt21BdffKHvvvtOkrRr1y5t2rRJPXv2lGTv52bFCsDe9vPPPysnJ8ftL3WHhoa6/UVvm+WNpaBxpqWleaMkjxljNGrUKHXs2FHNmjWTZP/49uzZo/bt2+vChQuqVKmSlixZoqZNmzr/gbF1XJK0cOFC7dixQ1u3bnXbZvPn1q5dO82bN0+NGjXSTz/9pJdffllRUVHat2+f1eOSpB9++EGzZs3SqFGj9Pzzz+vrr7/WU089JT8/Pw0aNMj68eVZunSp/vvf/2rw4MGS7P4+StJzzz2nM2fO6JZbblH58uWVk5Ojv//97/rTn/4kyd7xEWaKweFwuDw3xri1lQVlYZxPPPGEdu/erU2bNrlts3V8jRs31s6dO/Xf//5X//rXvxQXF6f169c7t9s6riNHjig+Pl6rV69WxYoVC+1n4/h69Ojh/O/mzZurffv2atCggebOnas777xTkp3jkqTc3Fy1bdtWEyZMkCS1bt1a+/bt06xZszRo0CBnP1vHl+e9995Tjx49FB4e7tJu67gWLVqk+fPna8GCBbr11lu1c+dOJSQkKDw8XHFxcc5+to2P00xFUL16dZUvX95tFiY9Pd0tvdos7y4L28f55JNPatmyZVq7dq1q167tbLd9fL6+vmrYsKHatm2riRMnqmXLlnr11VetH9f27duVnp6uNm3ayMfH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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = pd.read_csv(r\"C:\\Users\\User\\OneDrive\\Desktop\\Ironhack\\week 2\\Descriptive-Stats\\data\\ages_population.csv\")\n", + "data\n", + "\n", + "df = pd.DataFrame(data)\n", + "\n", + "values = data['observation']\n", + "\n", + "frequency_distribution = values.value_counts().sort_index() \n", + "\n", + "plt.bar(frequency_distribution.index, frequency_distribution.values, color='b', alpha=0.7)\n", + "plt.xlabel(\"Value\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Frequency Distribution of 'Value' Column\")\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": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean is: observation 36.56\n", + "dtype: float64\n", + "Standard deviation is: 12.81649962597677\n" + ] + } + ], + "source": [ + "import statistics as stats\n", + "\n", + "print(\"The mean is:\",data.mean())\n", + "\n", + "std_dev = stats.stdev(values) \n", + "print(\"Standard deviation is:\",std_dev)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "My guess was 37/38, because it has to be close to the median but a bit lower than that because the chart is positively skewed.\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": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBiUlEQVR4nO3de1iUdf7/8dckMAICCgqI5wpL85iWG1oeUMwDmtZqaykq7VqWSWoHt1+JbYunlWx1U9sULDOtVk1zUzHNQ1p5yErrMjXyCFHpgkdA+Pz+8GK+jpwUBxlun4/rmutqPvd9f+73Z+6ZePm573vGZowxAgAAsKibKroAAACA8kTYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYwTVLTk6WzWYr8jFu3LiKLs9SLn+tq1atqtDQUHXu3FmTJk1SRkZGoW3i4+Nls9muaj9nz55VfHy8Pvvss6varqh9NWzYUL17976qfkqzaNEizZgxo8hlNptN8fHxLt2fq3366adq27atfH19ZbPZtHz58iLX+/nnn2Wz2RzHoXXr1qpTp47y8vKK7bt9+/aqWbOmcnJyrqiWgn0kJydf5SiuztChQ9WpU6crWjc/P1/vvPOOunbtqpo1a8rT01PBwcHq3bu3Vq5cqfz8/Kvef2V4X6D8eFR0AbCOpKQk3X777U5tYWFhFVSNtRW81rm5ucrIyNCWLVs0ZcoU/eMf/9CSJUvUtWtXx7qPPfaY7r///qvq/+zZs5o4caIkXfEfqLLuqywWLVqkPXv2KC4urtCybdu2qW7duuVeQ1kZYzRgwAA1btxYK1askK+vr2677bYr2jY2NlajRo3SmjVr1LNnz0LLf/zxR23dulVxcXHy8vJydenXxfnz5/XAAw9o7dq1evjhhzV79myFhobq119/1erVq/XHP/5RS5YsUd++fSu6VFQihB24TLNmzdS2bdsrWjc3N1c2m00eHrwFy+Ly1/rBBx/UM888ow4dOqh///7av3+/QkJCJEl169Yt9z/+Z8+elY+Pz3XZV2n+8Ic/VOj+S3P8+HGdOHFC/fr1U2Rk5FVt+8gjj+jZZ5/V/Pnziww78+fPlyQNHz7cJbVWhDFjxmjNmjVasGCBhgwZ4rSsf//+evbZZ3Xu3LkKqg6VFaexUO4+++wz2Ww2vfPOOxo7dqzq1Kkju92uAwcOSJLWrVunyMhI+fv7y8fHR+3bt9enn35aqJ9Vq1apVatWstvtatSokf7xj38UOm1S0pR8UdPY+/fv16BBgxQcHCy73a4mTZroX//6V5H1v/fee3rxxRcVFhYmf39/de3aVfv27Su0n9WrVysyMlIBAQHy8fFRkyZNNGnSJEnSO++8I5vNpm3bthXa7pVXXpGnp6eOHz9e6mtalPr162v69Ok6deqU5s6d62gv6tTS+vXr1alTJwUFBcnb21v169fXgw8+qLNnz+rnn39WrVq1JEkTJ050nDIbOnSoU3+7du3SQw89pBo1auiWW24pdl8Fli1bphYtWqhq1aq6+eab9c9//tNpecEpup9//tmpveD1LziV06lTJ61atUqHDh1yOqVXoKjjvGfPHvXt21c1atRQ1apV1apVKy1YsKDI/VzpcS7Kli1bFBkZKT8/P/n4+CgiIkKrVq1yLI+Pj3eEweeff142m00NGza8or4lqUaNGurXr59Wrlyp33//3WlZXl6e3nnnHd11111q3ry5Dhw4oGHDhik8PFw+Pj6qU6eOoqOj9d1335W6n6FDhxZZV1HH1xijN954Q61atZK3t7dq1Kihhx56SD/99NMVj6tAenq63nrrLXXv3r1Q0CkQHh6uFi1aOJ4fPnxYjz76qNNnePr06aWe6iruvVrU+7DgVOzHH3+s1q1by9vbW02aNNHHH3/s2KZJkyby9fXV3XffrR07djj1OXToUFWrVk0HDhxQz549Va1aNdWrV09jx45Vdnb2lb48uAaEHbhMXl6eLly44PS41Pjx43X48GHNmTNHK1euVHBwsBYuXKioqCj5+/trwYIFev/99xUYGKju3bs7BZ5PP/1Uffv2lZ+fnxYvXqxp06bp/fffV1JSUpnr/f7773XXXXdpz549mj59uj7++GP16tVLTz/9tOMUzqX++te/6tChQ3rrrbf05ptvav/+/YqOjna6fmLevHnq2bOn8vPzHeN8+umndfToUUnSwIEDFRoaWihQXbhwQXPnzlW/fv2u6dRfz549VaVKFW3atKnYdX7++Wf16tVLXl5emj9/vlavXq3JkyfL19dXOTk5ql27tlavXi3p4mmTbdu2adu2bXrppZec+unfv79uvfVWffDBB5ozZ06Jde3evVtxcXF65plntGzZMkVE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3ofXokaNGrrpppvKfT8F6tatq6ioKC1atEjTp09XUlKSbr31VqeZwYULF2rIkCFKSEhw2va3335T9erVS+y/atWqRV44e/mxqFmzpmw2mzZv3uwIhZcqqq0knTt3lqenp5YvX67HH3+81PWv5dhe+n67tM5rfb/BPTGzgwrTvn17Va9eXd9//32hGaGCh5eXl+MOh6VLlzr9K+jUqVNauXKlU58hISGqWrWqvv32W6f2jz76yOm5j4+POnfurK+//lotWrQoct+X/wu/NBEREQoICNCcOXNKPZXUpk0bRUREaMqUKXr33Xc1dOhQ+fr6XtX+Lnf48GGNGzdOAQEBGjFixBVtU6VKFbVr185xwXTBKaUrmc24Gnv37tU333zj1LZo0SL5+fnpzjvvlCTH3T+XH7sVK1YU6s9ut19xbZGRkVq/fn2hu9zefvtt+fj4uORWdV9fX7Vr105Lly51qis/P18LFy5U3bp11bhx42vez6ViY2N18uRJvfzyy9q9e7eGDRtW6K60y8PGqlWrdOzYsVL7btiwoTIyMpwuMM7JydGaNWuc1uvdu7eMMTp27FiRn6HmzZtf1ZhCQ0P12GOPac2aNXr77beLXOfgwYOO90hkZKS+//77QqdC3377bdlsNnXu3LnEMUqF32+X/z8F1sDMDipMtWrVNHPmTMXExOjEiRN66KGHFBwcrF9//VXffPONfv31V82ePVuS9Le//U3333+/unXrprFjxyovL09TpkyRr6+vTpw44eiz4PqB+fPn65ZbblHLli311VdfadGiRYX2//rrr6tDhw6699579cQTT6hhw4Y6deqUDhw4oJUrV171+f5q1app+vTpeuyxx9S1a1f9+c9/VkhIiA4cOKBvvvlGs2bNclp/9OjRGjhwoGw2m0aOHHlV+9qzZ4/j+oiMjAxt3rxZSUlJqlKlipYtW+aYZSrKnDlztH79evXq1Uv169fX+fPnHd/PUvBlhH5+fmrQoIE++ugjRUZGKjAwUDVr1ryq26QvFRYWpj59+ig+Pl61a9fWwoULlZKSoilTpjiud7jrrrt02223ady4cbpw4YJq1KihZcuWacuWLYX6a968uZYuXarZs2erTZs2uummm4r9jqcJEybo448/VufOnfXyyy8rMDBQ7777rlatWqWpU6cqICCgTGO63KRJk9StWzd17txZ48aNk5eXl9544w3t2bNH77333lV/i3Vp+vTpo5o1a2ratGmqUqWKYmJinJb37t1bycnJuv3229WiRQvt3LlT06ZNu6LvQRo4cKBefvllPfzww3r22Wd1/vx5/fOf/yx0R1r79u31l7/8RcOGDdOOHTt03333ydfXV2lpadqyZYuaN2/uuEbtSiUmJuqnn37S0KFDtWbNGvXr108hISH67bfflJKSoqSkJC1evFgtWrTQM888o7ffflu9evXSK6+8ogYNGmjVqlV644039MQTT5QYMHv27KnAwEDFxsbqlVdekYeHh5KTk3XkyJGrqheVRAVeHA2LKO0OoYK7XD744IMil2/cuNH06tXLBAYGGk9PT1OnTh3Tq1evQuuvWLHCtGjRwnh5eZn69eubyZMnF3lHRWZmpnnsscdMSEiI8fX1NdHR0ebnn38u8u6i1NRUM3z4cFOnTh3j6elpatWqZSIiIsyrr75aav3F3fn13//+13Ts2NH4+voaHx8f07RpUzNlypRC487OzjZ2u93cf//9Rb4uRbn8zjcvLy8THBxsOnbsaBISEkxGRkahbYq6g6Zfv36mQYMGxm63m6CgINOxY0enu0eMMWbdunWmdevWxm63G0kmJibGqb9ff/211H0Zc/FOll69epkPP/zQ3HHHHcbLy8s0bNjQJCYmFtr+xx9/NFFRUcbf39/UqlXLjBo1yqxatarQ3VgnTpwwDz30kKlevbqx2WxO+yzqOH/33XcmOjraBAQEGC8vL9OyZctCx+1qj3NRNm/ebLp06WJ8fX2Nt7e3+cMf/mBWrlxZZH9lvRvrUs8880yRd5AZY8zJkydNbGysCQ4ONj4+PqZDhw5m8+bNpmPHjqZjx46F6inqfdyqVSvj7e1tbr75ZjNr1qxi72CaP3++adeunWPct9xyixkyZIjZsWNHmcZ14cIFs2DBAtOlSxcTGBhoPDw8TK1atUyPHj3MokWLTF5enmPdQ4cOmUGDBpmgoCDj6elpbrvtNjNt2jSndYwp+n3x1VdfmYiICOPr62vq1KljJkyYYN56660i78bq1atXoTolmSeffNKprajjGxMTY3x9fQttX9zrCdezGVPKfDvgxuLj4zVx4sRSTxu5o5UrV6pPnz5atWpVkd+GCwBwDU5jAdfZ999/r0OHDmns2LFq1aqVevToUdElAYClcYEycJ2NHDlS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3FmffPKJgoODdfDgQVWvXt2xztSpU5WYmKjk5GQ1btxYr776qrp166Z9+/bJz8/PJXUAAIDK66rCzk8//aSGDRtqz549uvPOOyVJP/74o9M6rjy9NWXKFNWrV09JSUmOtoYNGzr+2xijGTNm6MUXX1T//v0lSQsWLFBISIgWLVqkESNGuKwWALjRREe7vs+VK13fJ1CaqzqNFR4ert9++00bNmzQhg0bFBwcrMWLFzueb9iwQevXr3dZcStWrFDbtm31xz/+UcHBwWrdurX+/e9/O5anpqYqPT1dUVFRjja73a6OHTtq69atLqsDAABUXlcVdi7/VfNPPvlEZ86ccWlBl/rpp580e/ZshYeHa82aNXr88cf19NNPO77QMD09XZIUEhLitF1ISIhjWVGys7OVlZXl9AAAANZUpmt2ClweflwtPz9fbdu2VUJCgiSpdevW2rt3r2bPnq0hQ4Y41rv81JkxpsTTaZMmTeK2eQAAbhBXNbNjs9kKhYjyvAW9du3aatq0qVNbkyZNdPjwYUlSaGioJBWaxcnIyCg023Op8ePHKzMz0/E4cuSIiysHAADu4qpmdowxGjp0qOPHPs+fP6/HH3+80N1YS5cudUlx7du31759+5zafvzxRzVo0ECS1KhRI4WGhiolJUWtW7eWdPFOsY0bN2rKlCnF9mu32/nBUgAAbhBXFXZiYmKcnj/66KMuLeZyzzzzjCIiIpSQkKABAwboq6++0ptvvqk333xT0sVZpbi4OCUkJCg8PFzh4eFKSEiQj4+PBg0aVK61AQCAyuGqws6lt4BfD3fddZeWLVum8ePH65VXXlGjRo00Y8YMPfLII451nnvuOZ07d04jR47UyZMn1a5dO61du5bv2AEAAJKu8QLl66F3797q3bt3scttNpvi4+MVHx9//YoCAACVRpl+LgIAAKCyIOwAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wA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nTtXkrU/76WN/VJW+7y7CqexKiFjjJ566iktXbpU69evV6NGjZyWN2rUSKGhoUpJSXG05eTkaOPGjYqIiCi233vuucdpG0lau3ZtidtUhNLGL/3f//j279+vdevWKSgoqEz72b17t9Mfj4p2JWO/3O+//64jR46UOI7KcOyvZuzz5s1TmzZt1LJlyzLtx92Oe3GMMcrOzrb8Z74oBWOXrPt5L86lY7+cVT7vLldRU0oouyeeeMIEBASYzz77zKSlpTkeZ8+edawzefJkExAQYJYuXWq+++4786c//cnUrl3bZGVlOdYZPHiweeGFFxzPP//8c1OlShUzefJk88MPP5jJkycbDw8P88UXX1zX8ZWmtPHn5uaaPn36mLp165rdu3c7rZOdne3o5/Lxx8fHm9WrV5uDBw+ar7/+2gwbNsx4eHiYL7/88rqPsTiljf3UqVNm7NixZuvWrSY1NdVs2LDB3HPPPaZOnTqV/thfyfveGGMyMzONj4+PmT17dpH9VMbjbowx48ePN5s2bTKpqanm22+/NX/961/NTTfdZNauXWuMsfZnvqSxW/nzbkzJY7fy593VCDuVkKQiH0lJSY518vPzzYQJE0xoaKix2+3mvvvuM999951TPx07djQxMTFObR988IG57bbbjKenp7n99ttLPO9bUUobf2pqarHrbNiwwdHP5eOPi4sz9evXN15eXqZWrVomKirKbN269foOrhSljf3s2bMmKirK1KpVy3h6epr69eubmJgYc/jwYad+KuOxv5L3vTHGzJ0713h7e5v//e9/RfZTGY+7McYMHz7cNGjQwFFnZGSkI+gYY+3PfEljt/Ln3ZiSx27lz7ur2YwxpnznjgAAACoO1+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAsKxOnTopLi6uossAUMEIOwDcUnR0tLp27Vrksm3btslms2nXrl3XuSoAlRFhB4Bbio2N1fr163Xo0KFCy+bPn69WrVrpzjvvrIDKAFQ2hB0Abql3794KDg5WcnKyU/vZs2e1ZMkSPfDAA/rTn/6kunXrysfHR82bN9d7771XYp82m03Lly93aqtevbrTPo4dO6aBAweqRo0aCgoKUt++ffXzzz+7ZlAAKgRhB4Bb8vDw0JAhQ5ScnKxLf8Lvgw8+UE5Ojh577DG1adNGH3/8sfbs2aO//OUvGjx4sL788ssy7/Ps2bPq3LmzqlWrpk2bNmnLli2qVq2a7r//fuXk5LhiWAAqAGEHgNsaPny4fv75Z3322WeOtvnz56t///6qU6eOxo0bp1atWunmm2/WqFGj1L17d33wwQdl3t/ixYt100036a233lLz5s3VpEkTJSUl6fDhw041AKhcPCq6AAAozu23366IiAjNnz9fnTt31sGDB7V582atXbtWeXl5mjx5spYsWaJjx44pOztb2dnZ8vX1LfP+du7cqQMHDsjPz8+p/fz58zp48OC1DgdABSHsAHBrsbGxeuqpp/Svf/1LSUlJatCggSIjIzVt2jS99tprmjFjhpo3by5fX1/FxcWVeLrJZrM5nRKTpNzcXMd/5+fnq02bNnr33XcLbVurVi3XDQrAdUXYAeDWBgwYoNGjR2vRokVasGCB/vznP8tms2nz5s3q27evHn30UUkXg8r+/fvVpEmTYvuqVauW0tLSHM/379+vs2fPOp7feeedWrJkiYKDg+Xv719+gwJwXXHNDgC3Vq1aNQ0cOFB//etfdfz4cQ0dOlSSdOuttyolJUVbt27VDz/8oBEjRig9Pb3Evrp06aJZs2Zp165d2rFjhx5//HF5eno6lj/yyCOqWbOm+vbtq82bNys1NVUbN27U6NGjdfTo0fIcJoByRNgB4PZiY2N18uRJde3aVfXr15ckvfTSS7rzzjvVvXt3derUSaGhoXrggQdK7Gf69OmqV6+e7rvvPg0aNEjjxo2Tj4+PY7mPj482bdqk+vXrq3///mrSpImGDx+uc+fOMdMDVGI2c/kJbAAAAAthZgcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFja/we9Sb0EGeMhLAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "ages2 = pd.read_csv(r\"C:\\Users\\User\\OneDrive\\Desktop\\Ironhack\\week 2\\Descriptive-Stats\\data\\ages_population2.csv\")\n", + "ages2\n", + "\n", + "df = pd.DataFrame(ages2)\n", + "\n", + "values = ages2['observation']\n", + "\n", + "frequency_distribution = values.value_counts().sort_index() \n", + "\n", + "plt.bar(frequency_distribution.index, frequency_distribution.values, color='b', alpha=0.7)\n", + "plt.xlabel(\"Value\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Frequency Distribution of 'Value' Column\")\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", + "This one is more symmetric, then the previous one\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": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean is: observation 27.155\n", + "dtype: float64\n", + "Standard deviation is: 12.81649962597677\n" + ] + } + ], + "source": [ + "print(\"The mean is:\",ages2.mean())\n", + "\n", + "std_dev = stats.stdev(values) \n", + "print(\"Standard deviation is:\",std_dev)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The standard deviation is the same, while the mean is lower, which results to the chart being symmetric \n", + "compared to the first one, so the numbes are as expected.\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": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAHFCAYAAADlrWMiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/eUlEQVR4nO3deXxN1/7/8fcpciSRKCKTIVJTzVpaQ7XEVKEpor1UVWLobWsoRduLb6/oINTlaqu095agqnRAqdbQmr9oUbN+NdqYhygqakhI1u+PPnJ+jgTJEc7Zx+v5eOzHo3vtffb+rHNO4t21916xGWOMAAAALOwudxcAAABwswg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0uK5p06bJZrPlugwZMsTd5XmVq9/rokWLKjQ0VFFRUUpMTFRqamqO1yQkJMhms+XrPOfPn1dCQoJWrlyZr9fldq4KFSrosccey9dxbmTWrFmaMGFCrttsNpsSEhIK9HwF7fvvv1f9+vXl7+8vm82m+fPn57rfvn37ZLPZHJ/DfffdpzJlyigzM/Oax37ooYcUFBSkjIyMPNWSfY5p06blsxf5Ex8fr2bNmuVp36ysLH388cdq2bKlgoKCVKRIEQUHB+uxxx7TwoULlZWVle/zW+F7gVuvsLsLgDUkJSXp3nvvdWoLDw93UzXeLfu9vnTpklJTU7V27VqNGTNG//rXvzRnzhy1bNnSsW/v3r3Vpk2bfB3//PnzGjlypCTl+R8hV8/lilmzZmnnzp0aOHBgjm3r169X2bJlb3kNrjLG6G9/+5uqVKmiBQsWyN/fX1WrVs3Ta3v16qX+/ftryZIlatu2bY7tv/zyi9atW6eBAwfKx8enoEu/LS5evKgOHTpo6dKl6tKliyZPnqzQ0FCdOHFCixcv1pNPPqk5c+aoffv27i4VFkSgQZ7UrFlT9evXz9O+ly5dks1mU+HCfL1ccfV73alTJ7300ktq0qSJYmNjlZycrJCQEElS2bJlb/k/8OfPn5efn99tOdeNNGzY0K3nv5EjR47o1KlT6tixo1q0aJGv1z799NN6+eWXNXXq1FwDzdSpUyVJPXv2LJBa3WHQoEFasmSJpk+fru7duztti42N1csvv6wLFy64qTpYHZeccFNWrlwpm82mjz/+WIMHD1aZMmVkt9u1d+9eSdJ3332nFi1aKDAwUH5+fnrooYf0/fff5zjOokWLVLduXdntdkVGRupf//pXjksc1xs+z23IOTk5WV27dlVwcLDsdruqVaum999/P9f6P/30Uw0fPlzh4eEKDAxUy5YttWfPnhznWbx4sVq0aKHixYvLz89P1apVU2JioiTp448/ls1m0/r163O87vXXX1eRIkV05MiRG76nuSlfvrzGjRuns2fP6sMPP3S053YZaPny5WrWrJlKlSolX19flS9fXp06ddL58+e1b98+lS5dWpI0cuRIx+Wt+Ph4p+P99NNPeuKJJ1SiRAlVrFjxmufKNm/ePNWuXVtFixbVPffco3fffddpe/bltH379jm1Z7//2ZddmjVrpkWLFmn//v1Ol9+y5fY579y5U+3bt1eJEiVUtGhR1a1bV9OnT8/1PHn9nHOzdu1atWjRQgEBAfLz81Pjxo21aNEix/aEhARH4Hv11Vdls9lUoUKFPB1bkkqUKKGOHTtq4cKFOnnypNO2zMxMffzxx3rggQdUq1Yt7d27Vz169FDlypXl5+enMmXKKCYmRjt27LjheeLj43OtK7fP1xijSZMmqW7duvL19VWJEiX0xBNP6Lfffstzv7IdO3ZMH330kR599NEcYSZb5cqVVbt2bcf6gQMH1K1bN6ef4XHjxt3wstS1vqu5fQ+zL5t+/fXXuu++++Tr66tq1arp66+/drymWrVq8vf314MPPqhNmzY5HTM+Pl7FihXT3r171bZtWxUrVkzlypXT4MGDlZ6ente3BwWAQIM8yczM1OXLl52WKw0dOlQHDhzQBx98oIULFyo4OFgzZ85U69atFRgYqOnTp+uzzz5TyZIl9eijjzqFmu+//17t27dXQECAZs+erbFjx+qzzz5TUlKSy/Xu3r1bDzzwgHbu3Klx48bp66+/Vrt27fTiiy86LrdcadiwYdq/f78++ugj/ec//1FycrJiYmKc7meYMmWK2rZtq6ysLEc/X3zxRR06dEiS1LlzZ4WGhuYITZcvX9aHH36ojh073tRlurZt26pQoUJavXr1NffZt2+f2rVrJx8fH02dOlWLFy/W6NGj5e/vr4yMDIWFhWnx4sWS/rrEsX79eq1fv16vvfaa03FiY2NVqVIlff755/rggw+uW9fWrVs1cOBAvfTSS5o3b54aN26sAQMG6F//+le++zhp0iQ99NBDCg0NddSWW0DMtmfPHjVu3Fi7du3Su+++q7lz56p69eqKj4/X22+/nWP/vHzOuVm1apWaN2+uM2fOaMqUKfr0008VEBCgmJgYzZkzR9Jfl+Tmzp0rSerfv7/Wr1+vefPmXfOYFSpUkDHG6bJfr169lJGRoZkzZzrtu2TJEh05ckS9evWS9NdIUKlSpTR69GgtXrxY77//vgoXLqwGDRrkOaDlxXPPPaeBAweqZcuWmj9/viZNmqRdu3apcePGOn78uGO/adOm3fCerBUrVujSpUvq0KFDns594sQJNW7cWEuXLtUbb7yhBQsWqGXLlhoyZIj69et3E73Kadu2bRo6dKheffVVzZ07V8WLF1dsbKxGjBihjz76SKNGjdInn3yiM2fO6LHHHssxinTp0iU9/vjjatGihb766iv17NlT//73vzVmzJgCrRM3YIDrSEpKMpJyXS5dumRWrFhhJJlHHnnE6XXnzp0zJUuWNDExMU7tmZmZpk6dOubBBx90tDVo0MCEh4ebCxcuONrS0tJMyZIlzZVf0ZSUFCPJJCUl5ahTkhkxYoRj/dFHHzVly5Y1Z86ccdqvX79+pmjRoubUqVPGGOOov23btk77ffbZZ0aSWb9+vTHGmLNnz5rAwEDTpEkTk5WVdc33a8SIEcbHx8ccP37c0TZnzhwjyaxateqarzPm/7/XGzduvOY+ISEhplq1ak7nu/I9+uKLL4wks3Xr1mse48SJEzner6uP989//vOa264UERFhbDZbjvO1atXKBAYGmnPnzjn1LSUlxWm/7Pd/xYoVjrZ27dqZiIiIXGu/uu4uXboYu91uDhw44LRfdHS08fPzM3/88YfTeW70OV9Lw4YNTXBwsDl79qyj7fLly6ZmzZqmbNmyju9E9nd07Nix1z3etWRlZZnIyEhTu3Ztp/ZOnToZPz+/HN/nK2vJyMgwlStXNi+99JKjPbefmbi4uFzf36s/3/Xr1xtJZty4cU77HTx40Pj6+ppXXnklX30bPXq0kWQWL16cp/3/8Y9/GEnmhx9+cGp/4YUXjM1mM3v27HG0Xf29yO27akzu38OIiAjj6+trDh065GjbunWrkWTCwsIc32FjjJk/f76RZBYsWOBoi4uLM5LMZ5995nSutm3bmqpVq+aprygYjNAgT2bMmKGNGzc6LVfeI9OpUyen/detW6dTp04pLi7OaVQnKytLbdq00caNG3Xu3DmdO3dOGzduVGxsrIoWLep4ffb//bri4sWL+v7779WxY0f5+fk5nb9t27a6ePGiNmzY4PSaxx9/3Gk9e9h7//79jv6kpaWpT58+132q6IUXXpAk/fe//3W0TZw4UbVq1dIjjzziUn+uZIy57va6devKx8dHf//73zV9+nSXLg1IOT/P66lRo4bq1Knj1Na1a1elpaXpp59+cun8ebV8+XK1aNFC5cqVc2qPj4/X+fPnc4zu3Ohzzs25c+f0ww8/6IknnlCxYsUc7YUKFdIzzzyjQ4cOFdioiM1mU48ePbR9+3Zt3rxZknTy5EktXLhQnTp1UmBgoKS/Rv1GjRql6tWry8fHR4ULF5aPj4+Sk5P1888/F0gtX3/9tWw2m7p16+b0MxQaGqo6derk+ym5/Fq+fLmqV6+uBx980Kk9Pj5exhgtX768wM5Vt25dlSlTxrFerVo1SX9dAvXz88vRfvX3xWaz5fh9Vbt27et+r1DwCDTIk2rVqql+/fpOy5XCwsKc1rOHo5944gkVKVLEaRkzZoyMMTp16pROnz6trKwshYaG5jhnbm15cfLkSV2+fFnvvfdejnNn32z5+++/O72mVKlSTut2u12SHEPLJ06ckKQb3hQbEhKizp0768MPP1RmZqa2b9+uNWvWFMgQ+blz53Ty5MnrXraqWLGivvvuOwUHB6tv376qWLGiKlasqHfeeSdf57r687ye6312V98LUtBOnjyZa63Z79HV57/R55yb06dPyxiTr/PcjB49euiuu+5yXHL95JNPlJGR4bjcJP11c+1rr72mDh06aOHChfrhhx+0ceNG1alTp8Buqj1+/LiMMQoJCcnxc7Rhw4YcP0M3Ur58eUlSSkpKnvbP72d7M0qWLOm0nv0U2bXaL1686NTu5+fn9D9k0l/frav3w63FYygoEFePWgQFBUmS3nvvvWs+mRISEuJ4IurYsWM5tl/dlv0L4+ob7a7+xVaiRAnH/z337ds313NHRkZepzc5Zd9Im32/zPUMGDBAH3/8sb766istXrxYd999t55++ul8nS83ixYtUmZm5g0ftX744Yf18MMPKzMzU5s2bdJ7772ngQMHKiQkRF26dMnTufIzt831PrvsAHGtzy6//yherVSpUjp69GiO9uybr7O/hzejRIkSuuuuu275ebKVLVtWrVu31qxZszRu3DglJSWpUqVKTiN8M2fOVPfu3TVq1Cin1/7++++6++67r3v8okWL5nqz6tWfRVBQkGw2m9asWeMIflfKre16oqKiVKRIEc2fP1/PP//8Dfe/mc/2yu/blXXe7PcNno0RGtwSDz30kO6++27t3r07x8hO9uLj4+N4cmDu3LlO/zdz9uxZLVy40OmYISEhKlq0qLZv3+7U/tVXXzmt+/n5KSoqSlu2bFHt2rVzPffV/6d+I40bN1bx4sX1wQcf3PCyT7169dS4cWONGTNGn3zyieLj4+Xv75+v813twIEDGjJkiIoXL67nnnsuT68pVKiQGjRo4LhJOfvyT15GJfJj165d2rZtm1PbrFmzFBAQoPvvv1+SHE/VXP3ZLViwIMfx7HZ7nmtr0aKFli9fnuPpsRkzZsjPz69AHvP29/dXgwYNNHfuXKe6srKyNHPmTJUtW1ZVqlS56fNcqVevXjp9+rT++c9/auvWrerRo0eOp72uDhSLFi3S4cOHb3jsChUqKDU11emm3oyMDC1ZssRpv8cee0zGGB0+fDjXn6FatWrlq0+hoaHq3bu3lixZohkzZuS6z6+//ur4jrRo0UK7d+/OcdlyxowZstlsioqKum4fpZzft6t/p8C7MEKDW6JYsWJ67733FBcXp1OnTumJJ55QcHCwTpw4oW3btunEiROaPHmyJOmNN95QmzZt1KpVKw0ePFiZmZkaM2aM/P39derUKccxs6/nT506VRUrVlSdOnX0448/atasWTnO/84776hJkyZ6+OGH9cILL6hChQo6e/as9u7dq4ULF+b7+nuxYsU0btw49e7dWy1bttSzzz6rkJAQ7d27V9u2bdPEiROd9h8wYIA6d+4sm82mPn365OtcO3fudNyvkJqaqjVr1igpKUmFChXSvHnzHKNFufnggw+0fPlytWvXTuXLl9fFixcd85dkT8gXEBCgiIgIffXVV2rRooVKliypoKCgfD1ifKXw8HA9/vjjSkhIUFhYmGbOnKlly5ZpzJgxjvsPHnjgAVWtWlVDhgzR5cuXVaJECc2bN09r167NcbxatWpp7ty5mjx5surVq6e77rrrmnMgjRgxQl9//bWioqL0z3/+UyVLltQnn3yiRYsW6e2331bx4sVd6tPVEhMT1apVK0VFRWnIkCHy8fHRpEmTtHPnTn366af5nq35Rh5//HEFBQVp7NixKlSokOLi4py2P/bYY5o2bZruvfde1a5dW5s3b9bYsWPzNE9Q586d9c9//lNdunTRyy+/rIsXL+rdd9/N8aTXQw89pL///e/q0aOHNm3apEceeUT+/v46evSo1q5dq1q1ajnuGcur8ePH67ffflN8fLyWLFmijh07KiQkRL///ruWLVumpKQkzZ49W7Vr19ZLL72kGTNmqF27dnr99dcVERGhRYsWadKkSXrhhReuGyLbtm2rkiVLqlevXnr99ddVuHBhTZs2TQcPHsxXvbAYN96QDAu40ZM32U+PfP7557luX7VqlWnXrp0pWbKkKVKkiClTpoxp165djv0XLFhgateubXx8fEz58uXN6NGjc31S4cyZM6Z3794mJCTE+Pv7m5iYGLNv375cn9pJSUkxPXv2NGXKlDFFihQxpUuXNo0bNzZvvvnmDeu/1hNV33zzjWnatKnx9/c3fn5+pnr16mbMmDE5+p2enm7sdrtp06ZNru9Lbq5+oszHx8cEBwebpk2bmlGjRpnU1NQcr8ntyZSOHTuaiIgIY7fbTalSpUzTpk2dnsowxpjvvvvO3HfffcZutxtJJi4uzul4J06cuOG5jPnrCZF27dqZL774wtSoUcP4+PiYChUqmPHjx+d4/S+//GJat25tAgMDTenSpU3//v3NokWLcjzldOrUKfPEE0+Yu+++29hsNqdz5vY579ixw8TExJjixYsbHx8fU6dOnRyfW34/59ysWbPGNG/e3Pj7+xtfX1/TsGFDs3DhwlyP5+pTTld66aWXcn0yyxhjTp8+bXr16mWCg4ONn5+fadKkiVmzZo1p2rSpadq0aY56cvse161b1/j6+pp77rnHTJw48ZpPBk2dOtU0aNDA0e+KFSua7t27m02bNrnUr8uXL5vp06eb5s2bm5IlS5rChQub0qVLm+joaDNr1iyTmZnp2Hf//v2ma9euplSpUqZIkSKmatWqZuzYsU77GJP79+LHH380jRs3Nv7+/qZMmTJmxIgR5qOPPsr1Kad27drlqFOS6du3r1Nbbp9vXFyc8ff3z/H6a72fuHVsxtxg/Bxwk4SEBI0cOfKGl3g80cKFC/X4449r0aJFuc76CgAoWFxyAgrQ7t27tX//fg0ePFh169ZVdHS0u0sCgDsCNwUDBahPnz56/PHHVaJEiVtybwUAIHdccgIAAJbHCA0AALA8Ag0AALA8Ag0AALA8r3/KKSsrS0eOHFFAQAA3aAIAYBHGGJ09e1bh4eG6664bj794faA5cuRIjr/ECwAArOHgwYN5mgXb6wNNQECApL/ekMDAQDdXAwAA8iItLU3lypVz/Dt+I14faLIvMwUGBhJoAACwmLzeLsJNwQAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIKu7sAAJ4nJsZ5feFC99QBAHnFCA0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8twaayZMnq3bt2goMDFRgYKAaNWqkb7/91rE9Pj5eNpvNaWnYsKEbKwYAAJ6osDtPXrZsWY0ePVqVKlWSJE2fPl3t27fXli1bVKNGDUlSmzZtlJSU5HiNj4+PW2oFAACey62BJiYmxmn9rbfe0uTJk7VhwwZHoLHb7QoNDXVHeQAAwCI85h6azMxMzZ49W+fOnVOjRo0c7StXrlRwcLCqVKmiZ599VqmpqW6sEgAAeCK3jtBI0o4dO9SoUSNdvHhRxYoV07x581S9enVJUnR0tJ588klFREQoJSVFr732mpo3b67NmzfLbrfnerz09HSlp6c71tPS0m5LPwAAgPu4PdBUrVpVW7du1R9//KEvv/xScXFxWrVqlapXr67OnTs79qtZs6bq16+viIgILVq0SLGxsbkeLzExUSNHjrxd5QMAAA/g9ktOPj4+qlSpkurXr6/ExETVqVNH77zzTq77hoWFKSIiQsnJydc83tChQ3XmzBnHcvDgwVtVOgAA8BBuH6G5mjHG6ZLRlU6ePKmDBw8qLCzsmq+32+3XvBwFAAC8k1sDzbBhwxQdHa1y5crp7Nmzmj17tlauXKnFixfrzz//VEJCgjp16qSwsDDt27dPw4YNU1BQkDp27OjOsgEAgIdxa6A5fvy4nnnmGR09elTFixdX7dq1tXjxYrVq1UoXLlzQjh07NGPGDP3xxx8KCwtTVFSU5syZo4CAAHeWDQAAPIxbA82UKVOuuc3X11dLliy5jdUAAACrcvtNwQAAADeLQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyvsLsLAOCdYmJyti1cWHD7A8CVGKEBAACWR6ABAACWR6ABAACWR6ABAACW59ZAM3nyZNWuXVuBgYEKDAxUo0aN9O233zq2G2OUkJCg8PBw+fr6qlmzZtq1a5cbKwYAAJ7IrYGmbNmyGj16tDZt2qRNmzapefPmat++vSO0vP322xo/frwmTpyojRs3KjQ0VK1atdLZs2fdWTYAAPAwbg00MTExatu2rapUqaIqVarorbfeUrFixbRhwwYZYzRhwgQNHz5csbGxqlmzpqZPn67z589r1qxZ7iwbAAB4GI+5hyYzM1OzZ8/WuXPn1KhRI6WkpOjYsWNq3bq1Yx+73a6mTZtq3bp11zxOenq60tLSnBYAAODd3B5oduzYoWLFislut+v555/XvHnzVL16dR07dkySFBIS4rR/SEiIY1tuEhMTVbx4ccdSrly5W1o/AABwP7cHmqpVq2rr1q3asGGDXnjhBcXFxWn37t2O7TabzWl/Y0yOtisNHTpUZ86ccSwHDx68ZbUDAADP4PY/feDj46NKlSpJkurXr6+NGzfqnXfe0auvvipJOnbsmMLCwhz7p6am5hi1uZLdbpfdbr+1RQMAAI/i9hGaqxljlJ6ersjISIWGhmrZsmWObRkZGVq1apUaN27sxgoBAICncesIzbBhwxQdHa1y5crp7Nmzmj17tlauXKnFixfLZrNp4MCBGjVqlCpXrqzKlStr1KhR8vPzU9euXd1ZNgAA8DBuDTTHjx/XM888o6NHj6p48eKqXbu2Fi9erFatWkmSXnnlFV24cEF9+vTR6dOn1aBBAy1dulQBAQHuLBsAAHgYtwaaKVOmXHe7zWZTQkKCEhISbk9BAADAkjzuHhoAAID8ItAAAADLI9AAAADLc/s8NADgipgY5/WFC91TBwDPwAgNAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwvMLuLgDAnSUmJmfbwoW3vw4A3oURGgAAYHkEGgAAYHkEGgAAYHkEGgAAYHkEGgAAYHluDTSJiYl64IEHFBAQoODgYHXo0EF79uxx2ic+Pl42m81padiwoZsqBgAAnsitgWbVqlXq27evNmzYoGXLluny5ctq3bq1zp0757RfmzZtdPToUcfyzTffuKliAADgidw6D83ixYud1pOSkhQcHKzNmzfrkUcecbTb7XaFhobe7vIAAIBFeNQ9NGfOnJEklSxZ0ql95cqVCg4OVpUqVfTss88qNTX1msdIT09XWlqa0wIAALybx8wUbIzRoEGD1KRJE9WsWdPRHh0drSeffFIRERFKSUnRa6+9pubNm2vz5s2y2+05jpOYmKiRI0feztIBj+GNs/AWRJ+s8r5cXacn1gh4Ko8JNP369dP27du1du1ap/bOnTs7/rtmzZqqX7++IiIitGjRIsXGxuY4ztChQzVo0CDHelpamsqVK3frCgcAAG7nEYGmf//+WrBggVavXq2yZcted9+wsDBFREQoOTk51+12uz3XkRsAAOC93BpojDHq37+/5s2bp5UrVyoyMvKGrzl58qQOHjyosLCw21AhAACwArfeFNy3b1/NnDlTs2bNUkBAgI4dO6Zjx47pwoULkqQ///xTQ4YM0fr167Vv3z6tXLlSMTExCgoKUseOHd1ZOgAA8CBuHaGZPHmyJKlZs2ZO7UlJSYqPj1ehQoW0Y8cOzZgxQ3/88YfCwsIUFRWlOXPmKCAgwA0VAwAAT+T2S07X4+vrqyVLltymagAAgFV51Dw0AAAAriDQAAAAy/OIx7YB3FpWmVjOqnh/AfdjhAYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFieS4EmJSWloOsAAABwmUuBplKlSoqKitLMmTN18eLFgq4JAAAgX1wKNNu2bdN9992nwYMHKzQ0VM8995x+/PHHgq4NAAAgT1wKNDVr1tT48eN1+PBhJSUl6dixY2rSpIlq1Kih8ePH68SJEwVdJwAAwDXd1E3BhQsXVseOHfXZZ59pzJgx+vXXXzVkyBCVLVtW3bt319GjRwuqTgAAgGu6qUCzadMm9enTR2FhYRo/fryGDBmiX3/9VcuXL9fhw4fVvn37gqoTAADgmgq78qLx48crKSlJe/bsUdu2bTVjxgy1bdtWd931Vz6KjIzUhx9+qHvvvbdAiwUAAMiNS4Fm8uTJ6tmzp3r06KHQ0NBc9ylfvrymTJlyU8UBAADkhUuBJjk5+Yb7+Pj4KC4uzpXDA4BbxcTkbFu48OaP48oxYA0F9Z2B61y6hyYpKUmff/55jvbPP/9c06dPv+miAAAA8sOlQDN69GgFBQXlaA8ODtaoUaNuuigAAID8cCnQ7N+/X5GRkTnaIyIidODAgZsuCgAAID9cCjTBwcHavn17jvZt27apVKlSN10UAABAfrgUaLp06aIXX3xRK1asUGZmpjIzM7V8+XINGDBAXbp0KegaAQAArsulp5zefPNN7d+/Xy1atFDhwn8dIisrS927d+ceGgAAcNu5FGh8fHw0Z84cvfHGG9q2bZt8fX1Vq1YtRUREFHR9AAAAN+RSoMlWpUoVValSpaBqAQAAcIlLgSYzM1PTpk3T999/r9TUVGVlZTltX758eYEUBwAAkBcuBZoBAwZo2rRpateunWrWrCmbzVbQdQG4DbxxJltv7FNumJkWcOZSoJk9e7Y+++wztW3btqDrAQAAyDeXHtv28fFRpUqVCroWAAAAl7gUaAYPHqx33nlHxpiCrgcAACDfXLrktHbtWq1YsULffvutatSooSJFijhtnzt3boEUBwAAkBcujdDcfffd6tixo5o2baqgoCAVL17cacmrxMREPfDAAwoICFBwcLA6dOigPXv2OO1jjFFCQoLCw8Pl6+urZs2aadeuXa6UDQAAvJRLIzRJSUkFcvJVq1apb9++euCBB3T58mUNHz5crVu31u7du+Xv7y9JevvttzV+/HhNmzZNVapU0ZtvvqlWrVppz549CggIKJA6AACAtbk8sd7ly5e1cuVK/frrr+ratasCAgJ05MgRBQYGqlixYnk6xuLFi53Wk5KSFBwcrM2bN+uRRx6RMUYTJkzQ8OHDFRsbK0maPn26QkJCNGvWLD333HOulg8AALyIS5ec9u/fr1q1aql9+/bq27evTpw4Iemv0ZQhQ4a4XMyZM2ckSSVLlpQkpaSk6NixY2rdurVjH7vdrqZNm2rdunW5HiM9PV1paWlOCwAA8G4uT6xXv359bdu2TaVKlXK0d+zYUb1793apEGOMBg0apCZNmqhmzZqSpGPHjkmSQkJCnPYNCQnR/v37cz1OYmKiRo4c6VINAPKPCd4AeAKXn3L63//9X/n4+Di1R0RE6PDhwy4V0q9fP23fvl1r167Nse3qmYiNMdecnXjo0KEaNGiQYz0tLU3lypVzqSYAAGANLgWarKwsZWZm5mg/dOiQSzfq9u/fXwsWLNDq1atVtmxZR3toaKikv0ZqwsLCHO2pqak5Rm2y2e122e32fNcAAACsy6V7aFq1aqUJEyY41m02m/7880+NGDEiX38OwRijfv36ae7cuVq+fLkiIyOdtkdGRio0NFTLli1ztGVkZGjVqlVq3LixK6UDAAAv5NIIzb///W9FRUWpevXqunjxorp27ark5GQFBQXp008/zfNx+vbtq1mzZumrr75SQECA456Z4sWLy9fXVzabTQMHDtSoUaNUuXJlVa5cWaNGjZKfn5+6du3qSukAAMALuRRowsPDtXXrVn366af66aeflJWVpV69eunpp5+Wr69vno8zefJkSVKzZs2c2pOSkhQfHy9JeuWVV3ThwgX16dNHp0+fVoMGDbR06VLmoAEAAA4uz0Pj6+urnj17qmfPni6fPC9/C8pmsykhIUEJCQkunwcAAHg3lwLNjBkzrru9e/fuLhUDAADgCpfnobnSpUuXdP78efn4+MjPz49AAwAAbiuXnnI6ffq00/Lnn39qz549atKkSb5uCgYAACgILt9Dc7XKlStr9OjR6tatm/7v//6voA4LWNbVM+i6Mnsus/ACnuVW/0wWxO+NO5VLIzTXUqhQIR05cqQgDwkAAHBDLo3QLFiwwGndGKOjR49q4sSJeuihhwqkMAAAgLxyKdB06NDBad1ms6l06dJq3ry5xo0bVxB1AQAA5JnLf8sJAADAUxToPTQAAADu4NIIzaBBg/K87/jx4105BQAAQJ65FGi2bNmin376SZcvX1bVqlUlSb/88osKFSqk+++/37GfzWYrmCoBAACuw6VAExMTo4CAAE2fPl0lSpSQ9Ndkez169NDDDz+swYMHF2iRAAAA1+NSoBk3bpyWLl3qCDOSVKJECb355ptq3bo1gQa4xZhw787BZw3kjUs3Baelpen48eM52lNTU3X27NmbLgoAACA/XAo0HTt2VI8ePfTFF1/o0KFDOnTokL744gv16tVLsbGxBV0jAADAdbl0yemDDz7QkCFD1K1bN126dOmvAxUurF69emns2LEFWiAAAMCNuBRo/Pz8NGnSJI0dO1a//vqrjDGqVKmS/P39C7o+AACAG7qpifWOHj2qo0ePqkqVKvL395cxpqDqAgAAyDOXAs3JkyfVokULValSRW3bttXRo0clSb179+YJJwAAcNu5FGheeuklFSlSRAcOHJCfn5+jvXPnzlq8eHGBFQcAAJAXLt1Ds3TpUi1ZskRly5Z1aq9cubL2799fIIUBAADklUsjNOfOnXMamcn2+++/y26333RRAAAA+eHSCM0jjzyiGTNm6I033pD0199sysrK0tixYxUVFVWgBQLexMqzvlq59oJi5ffAyrVb2bXedz6PgudSoBk7dqyaNWumTZs2KSMjQ6+88op27dqlU6dO6X//938LukYAAIDrcumSU/Xq1bV9+3Y9+OCDatWqlc6dO6fY2Fht2bJFFStWLOgaAQAArivfIzSXLl1S69at9eGHH2rkyJG3oiYAAIB8yfcITZEiRbRz507ZbLZbUQ8AAEC+uXTJqXv37poyZUpB1wIAAOASl24KzsjI0EcffaRly5apfv36Of6G0/jx4wukOAAAgLzIV6D57bffVKFCBe3cuVP333+/JOmXX35x2odLUQAA4HbLV6CpXLmyjh49qhUrVkj6608dvPvuuwoJCbklxQEAAORFvu6hufqvaX/77bc6d+5cgRYEAACQXy7dFJzt6oADAADgDvkKNDabLcc9MtwzAwAA3C1f99AYYxQfH+/4A5QXL17U888/n+Mpp7lz5xZchQAAADeQr0ATFxfntN6tW7cCLQYAAMAV+Qo0SUlJt6oOAAAAl93UTcE3a/Xq1YqJiVF4eLhsNpvmz5/vtD0+Pt5x30720rBhQ/cUCwAAPJZbA825c+dUp04dTZw48Zr7tGnTRkePHnUs33zzzW2sEAAAWIFLf/qgoERHRys6Ovq6+9jtdoWGht6migAAgBW5dYQmL1auXKng4GBVqVJFzz77rFJTU6+7f3p6utLS0pwWAADg3dw6QnMj0dHRevLJJxUR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WrRo4QgzxnhHH6/n6kDjLf3NnpOjSJEiJjw83MTGxppdu3Y5tntLP40xZuHChaZmzZrGbrebe++91/znP/9x2u5NfV2yZImRZPbs2ZNjmzf1My0tzQwYMMCUL1/eFC1a1Nxzzz1m+PDhJj093bFPQfTXZowxrg4jAQAAeALuoQEAAJZHoAEAAJZHoAEAAJZHoAEAAJZHoAEAAJZHoAEAAJZHoAEAAJZHoAFgSc2aNdPAgQPdXQYAD0GgAXDbxcTEqGXLlrluW79+vWw2m3766afbXBUAKyPQALjtevXqpeXLl2v//v05tk2dOlV169bV/fff74bKAFgVgQbAbffYY48pODhY06ZNc2o/f/685syZow4dOuipp55S2bJl5efnp1q1aunTTz+97jFtNpvmz5/v1Hb33Xc7nePw4cPq3LmzSpQooVKlSql9+/bat29fwXQKgFsRaADcdoULF1b37t01bdo0Xfnn5D7//HNlZGSod+/eqlevnr7++mvt3LlTf//73/XMM8/ohx9+cPmc58+fV1RUlIoVK6bVq1dr7dq1KlasmNq0aaOMjIyC6BYANyLQAHCLnj17at++fVq5cqWjberUqYqNjVWZMmU0ZMgQ1a1bV/fcc4/69++vRx99VJ9//rnL55s9e7buuusuffTRR6pVq5aqVaumpKQkHThwwKkGANZU2N0FALgz3XvvvWrcuLGmTp2qqKgo/frrr1qzZo2WLl2qzMxMjR49WnPmzNHhw4eVnp6u9PR0+fv7u3y+zZs3a+/evQoICHBqv3jxon799deb7Q4ANyPQAHCbXr16qV+/fnr//feVlJSkiIgItWjRQmPHjtW///1vTZgwQbVq1ZK/v78GDhx43UtDNpvN6fKVJF26dMnx31lZWapXr54++eSTHK8tXbp0wXUKgFsQaAC4zd/+9jcNGDBAs2bN0vTp0/Xss8/KZrNpzZo1at++vbp16ybprzCSnJysatWqXfNYpUuX1tGjRx3rycnJOn/+vGP9/vvv15w5cxQcHKzAwMBb1ykAbsE9NADcplixYurcubOGDRumI0eOKD4+XpJUqVIlLVu2TOvWrdPPP/+s5557TseOHbvusZo3b66JEyfqp59+0qZNm/T888+rSJEiju1PP/20goKC1L59e61Zs0YpKSlatWqVBgwYoEOHDt3KbgK4DQg0ANyqV69eOn36tFq2bKny5ctLkl577TXdf//9evTRR9WsWTOFhoaqQ4cO1z3OuHHjVK5cOT3yyCPq2rWrhgwZIj8/P8d2Pz8/rV69WuXLl1dsbKyqVaumnj176sKFC4zYAF7AZq6+6AwAAGAxjNAAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADL+38yYilvbN/DaQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ages3 = pd.read_csv(r\"C:\\Users\\User\\OneDrive\\Desktop\\Ironhack\\week 2\\Descriptive-Stats\\data\\ages_population3.csv\")\n", + "ages3\n", + "\n", + "df = pd.DataFrame(ages2)\n", + "\n", + "values = ages3['observation']\n", + "\n", + "frequency_distribution = values.value_counts().sort_index() \n", + "\n", + "plt.bar(frequency_distribution.index, frequency_distribution.values, color='b', alpha=0.7)\n", + "plt.xlabel(\"Value\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Frequency Distribution of 'Value' Column\")\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": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean is: observation 41.989\n", + "dtype: float64\n", + "Standard deviation is: 16.14470595986593\n" + ] + } + ], + "source": [ + "print(\"The mean is:\",ages3.mean())\n", + "\n", + "std_dev = stats.stdev(values) \n", + "print(\"Standard deviation is:\",std_dev)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The standard deviation is higher then the previous ones, and the chart is negatively skewed.\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": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the first quartile is 30.0\n", + "the second quartile is 40.0\n", + "the third quartile is 53.0\n" + ] + } + ], + "source": [ + "q1 = np.quantile(ages3, 0.25)\n", + "print(\"the first quartile is\", q1)\n", + "q2 = np.quantile(ages3, 0.50)\n", + "print(\"the second quartile is\",q2)\n", + "q3 = np.quantile(ages3, 0.75)\n", + "print(\"the third quartile is\", q3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The difference between the median and mean is 1.989. The chart is negatively skewed when the 3rd and 4th quartile is higher then the other two.\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": "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": 2 +} diff --git a/your-code/main.ipynb b/your-code/main.ipynb index 5759add..359098d 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -1,522 +1,1031 @@ -{ - "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": 16, + "metadata": {}, + "outputs": [], + "source": [ + "# Libraries\n", + "import numpy as np\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": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([5, 2, 2, 1, 4, 5, 3, 1, 1, 6])" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "dataset = np.random.randint(1,7,size=10)\n", + "dataset" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "[1, 1, 1, 2, 2, 3, 4, 5, 5, 6]" + ] + }, + "execution_count": 3, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "sorted_values = sorted(dataset)\n", + "sorted_values" + ] + }, + { + "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": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Counter({1: 3, 5: 2, 2: 2, 4: 1, 3: 1, 6: 1})" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "from collections import Counter\n", + "\n", + "freq_dist = Counter(dataset)\n", + "freq_dist\n" + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [], + "source": [ + "#The two plots represent the same dataset but from 2 different point of view. \n", + "#The first one visualize the elements in ascending order while the 2nd shows how many times each element occures.\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": 7, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "2.7\n" + ] + } + ], + "source": [ + "# your code here \n", + "dataset = [2, 2, 2, 6, 2, 1, 4, 1, 6, 1]\n", + "mean = (np.sum(dataset))/len(dataset)\n", + "print(mean)" + ] + }, + { + "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": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Counter({2: 4, 1: 3, 6: 2, 4: 1})" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "frequency_distribution = Counter(dataset)\n", + "frequency_distribution\n" + ] + }, + { + "cell_type": "code", + "execution_count": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean: 2.7\n" + ] + } + ], + "source": [ + "total_sum = sum(value * frequency for value, frequency in frequency_distribution.items())\n", + "\n", + "total_count = sum(frequency_distribution.values())\n", + "\n", + "mean = total_sum / total_count\n", + "\n", + "print(\"Mean:\", mean)" + ] + }, + { + "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": 11, + "metadata": {}, + "outputs": [], + "source": [ + "def calculate_median(numbers):\n", + " \n", + " sorted_numbers = sorted(numbers)\n", + " \n", + " n = len(sorted_numbers)\n", + " if n % 2 == 1:\n", + " median = sorted_numbers[n // 2]\n", + " else:\n", + " mid1 = sorted_numbers[(n // 2) - 1]\n", + " mid2 = sorted_numbers[n // 2]\n", + " median = (mid1 + mid2) / 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": 16, + "metadata": {}, + "outputs": [], + "source": [ + "def calculate_quartiles(numbers):\n", + " sorted_numbers = sorted(numbers)\n", + " n = len(sorted_numbers)\n", + " \n", + " Q2 = calculate_median(sorted_numbers)\n", + "\n", + " if n % 2 == 1:\n", + " lower_half = sorted_numbers[:n // 2]\n", + " upper_half = sorted_numbers[(n // 2) + 1:]\n", + " else:\n", + " lower_half = sorted_numbers[:n // 2]\n", + " upper_half = sorted_numbers[n // 2:]\n", + " \n", + "\n", + " Q1 = calculate_median(lower_half)\n", + " Q3 = calculate_median(upper_half)\n", + "\n", + " Q4 = sorted_numbers[-1]\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": 10, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'C:\\\\Users\\\\User\\\\OneDrive\\\\Desktop\\\\Ironhack\\\\week 2\\\\Descriptive-Stats\\\\your-code'" + ] + }, + "execution_count": 10, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "pwd" + ] + }, + { + "cell_type": "code", + "execution_count": 18, + "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": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "import pandas as pd\n", + "import matplotlib.pyplot as plt\n", + "dice_csv = pd.read_csv(r\"C:\\Users\\User\\OneDrive\\Desktop\\Ironhack\\week 2\\Descriptive-Stats\\data\\roll_the_dice_hundred.csv\")\n", + "dice_csv\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "(array([12., 0., 17., 0., 14., 0., 22., 0., 12., 0., 23.]),\n", + " array([1. , 1.45454545, 1.90909091, 2.36363636, 2.81818182,\n", + " 3.27272727, 3.72727273, 4.18181818, 4.63636364, 5.09090909,\n", + " 5.54545455, 6. ]),\n", + " )" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGdCAYAAACyzRGfAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAVtUlEQVR4nO3de2yVhf348c+Z1SO60gWVXkJlzcamE2TGGgQv4I2sWcgcbtO5C+4WjehkjXFD/1i3OLqZaNxC1gT+YJCM4R+bl8ULsKhli2EDNqJhxmFksZs2RKYUGlOjPr8/Fvr7dkWxevo59PB6JU/ic+l5Pjwx8vY5T88pFUVRBABAkg9VewAA4NgiPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVHXVHuB/vf322/HSSy9FfX19lEqlao8DALwHRVHEgQMHoqWlJT70oXe/t3HUxcdLL70Ura2t1R4DAHgf+vr6Ytq0ae96zFEXH/X19RHx3+EnT55c5WkAgPdiYGAgWltbh/8efzdHXXwceqtl8uTJ4gMAJpj38siEB04BgFTiAwBIJT4AgFTiAwBIJT4AgFTiAwBIJT4AgFTiAwBIJT4AgFTiAwBIJT4AgFTiAwBIJT4AgFTiAwBIVVftAQCgpvRur/YERza/vaqnd+cDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEglPgCAVOIDAEhVV+0BAD6w3u3VnuDI5rdXewI4arjzAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkEh8AQCrxAQCkGlN8dHd3x3nnnRf19fUxderUuPLKK+O5554bcUxRFNHV1RUtLS0xadKkWLBgQezatauiQwMAE9eY4qO3tzeWLl0aW7dujc2bN8ebb74ZCxcujMHBweFj7rrrrrjnnnti5cqVsW3btmhqaoorrrgiDhw4UPHhAYCJp24sBz/22GMj1tesWRNTp06NHTt2xMUXXxxFUcS9994bd9xxRyxevDgiItauXRuNjY2xfv36uP766ys3OQAwIX2gZz72798fERFTpkyJiIg9e/ZEf39/LFy4cPiYcrkc8+fPj6eeeuqwrzE0NBQDAwMjFgCgdr3v+CiKIjo7O+PCCy+MmTNnRkREf39/REQ0NjaOOLaxsXF43//q7u6OhoaG4aW1tfX9jgQATADvOz5uuummePrpp+M3v/nNqH2lUmnEelEUo7Ydsnz58ti/f//w0tfX935HAgAmgDE983HIzTffHA899FBs2bIlpk2bNry9qakpIv57B6S5uXl4+969e0fdDTmkXC5HuVx+P2MAABPQmO58FEURN910U/zud7+Lxx9/PNra2kbsb2tri6ampti8efPwtjfeeCN6e3tj3rx5lZkYAJjQxnTnY+nSpbF+/fp48MEHo76+fvg5joaGhpg0aVKUSqVYtmxZrFixImbMmBEzZsyIFStWxEknnRTXXnvtuPwBAICJZUzx0dPTExERCxYsGLF9zZo1cd1110VExG233Ravv/563HjjjfHqq6/GnDlzYtOmTVFfX1+RgQGAiW1M8VEUxRGPKZVK0dXVFV1dXe93JgCghvluFwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAglfgAAFKJDwAgVV21B2CC6t1e7QmObH57tScA4DDc+QAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACCV+AAAUokPACDVmONjy5YtsWjRomhpaYlSqRQPPPDAiP3XXXddlEqlEcv5559fqXkBgAluzPExODgYs2fPjpUrV77jMZ/5zGfi5ZdfHl4eeeSRDzQkAFA76sb6Ax0dHdHR0fGux5TL5WhqanrfQwEAtWtcnvl48sknY+rUqfGJT3wivvOd78TevXvf8dihoaEYGBgYsQAAtavi8dHR0RG//vWv4/HHH4+77747tm3bFpdeemkMDQ0d9vju7u5oaGgYXlpbWys9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NLZu3RqbN2+ON998MxYuXBiDg4PVHq2mTJs2LX7605/G9u3bY/v27XHppZfG5z73udi1a1e1R6tZ27Zti1WrVsXZZ59d7VFq0llnnRUvv/zy8PLMM89Ue6Sa8+qrr8YFF1wQxx9/fDz66KPx97//Pe6+++5x/0TxdzJu3+1yNOno6IiOjo5qj1HzHnvssRHra9asialTp8aOHTvi4osvrtJUtWfRokUj1n/yk59ET09PbN26Nc4666wqTVW7Dh48GF/5yldi9erVceedd1Z7nJpUV1fnbsc4+9nPfhatra2xZs2a4W0f/ehHqzbPMXHng+rYv39/RERMmTKlypPUrrfeeis2bNgQg4ODMXfu3GqPU5OWLl0an/3sZ+Pyyy+v9ig1a/fu3dHS0hJtbW1xzTXXxAsvvFDtkWrOQw89FO3t7fHFL34xpk6dGuecc06sXr26avOID8ZFURTR2dkZF154YcycObPa49ScZ555Jj784Q9HuVyOG264Ie6///741Kc+Ve2xas6GDRvir3/9a3R3d1d7lJo1Z86cWLduXWzcuDFWr14d/f39MW/evNi3b1+1R6spL7zwQvT09MSMGTNi48aNccMNN8R3v/vdWLduXVXmOSbediHfTTfdFE8//XT86U9/qvYoNemTn/xk7Ny5M1577bX47W9/G0uWLIne3l4BUkF9fX1xyy23xKZNm+LEE0+s9jg16/++JT5r1qyYO3dufOxjH4u1a9dGZ2dnFSerLW+//Xa0t7fHihUrIiLinHPOiV27dkVPT098/etfT5/HnQ8q7uabb46HHnoonnjiiZg2bVq1x6lJJ5xwQnz84x+P9vb26O7ujtmzZ8fPf/7zao9VU3bs2BF79+6Nc889N+rq6qKuri56e3vjF7/4RdTV1cVbb71V7RFr0sknnxyzZs2K3bt3V3uUmtLc3Dzqf07OPPPMePHFF6syjzsfVExRFHHzzTfH/fffH08++WS0tbVVe6RjRlEUMTQ0VO0xaspll1026rcuvvGNb8QZZ5wR3//+9+O4446r0mS1bWhoKJ599tm46KKLqj1KTbngggtGffTBP/7xj6p94esxER8HDx6M559/fnh9z549sXPnzpgyZUqcfvrpVZystixdujTWr18fDz74YNTX10d/f39ERDQ0NMSkSZOqPF3tuP3226OjoyNaW1vjwIEDsWHDhnjyySdH/bYRH0x9ff2o55VOPvnkOOWUUzzHVEG33nprLFq0KE4//fTYu3dv3HnnnTEwMBBLliyp9mg15Xvf+17MmzcvVqxYEV/60pfiL3/5S6xatSpWrVpVnYGKY8ATTzxRRMSoZcmSJdUeraYc7hpHRLFmzZpqj1ZTvvnNbxbTp08vTjjhhOK0004rLrvssmLTpk3VHuuYMH/+/OKWW26p9hg15eqrry6am5uL448/vmhpaSkWL15c7Nq1q9pj1aTf//73xcyZM4tyuVycccYZxapVq6o2S6koiqI62QMAHIs8cAoApBIfAEAq8QEApBIfAEAq8QEApBIfAEAq8QEApBIfAEAq8QEApBIfAEAq8QEApBIfAECq/wcMeZ+eIlB8TgAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "sorted_values = dice_csv['value'].sort_values()\n", + "sorted_values\n", + "\n", + "plt.hist(sorted_values, bins=11, color='pink')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nyour comments here\\n'" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "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": 22, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "4.0" + ] + }, + "execution_count": 22, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "calculate_median(sorted_values)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 28, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Counter({6: 23, 4: 22, 2: 17, 3: 14, 1: 12, 5: 12})" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "frequency_distribution = Counter(sorted_values)\n", + "frequency_distribution" + ] + }, + { + "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": 33, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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zFyoTZs2eu655xQeHq5///vfzvGSfk9uuukmfffddy7bSn/M8tlsNvXu3VuSFBkZqdzcXOcsX6Hly5eXO1thwSmciSv05ptvlvsYQFXHzAxQwRo2bKi4uDg9/fTTWrZsmYYMGaLExEQNHjxYd9xxh4YPH668vDy9+OKL+vXXXzV79uwKOW94eLhWrFihhQsX6pprrlGNGjWKvY1SmjfffFPR0dG65ZZbNHToUF1xxRX65ZdflJGRoX//+9/6xz/+UeYxfvrpJ6WmpsqyLOXm5urbb7/V0qVL9fXXXys2NlbDhg0rdf/Cd9l069ZNkydPVqtWrfTTTz9p9erVevPNN+VwODRjxgwlJycrIiJCY8aMUdu2bfX777/rwIED+uc//6k33nijzFtVl2LXrl0aPXq07r//frVu3Vq1atXSxo0btWvXLk2ePNm5XXh4uJYvX6733ntPV155pXx8fBQeHq7Y2FgtXbpUt99+u2bMmKHg4GB9/PHHWrBggZ544gnnO+FiYmL08ssva8iQIXrhhRfUqlUrrV27VuvXr5ckl2ewStKuXTuFhoZq8uTJsixLfn5+WrNmjZKTkyvn4gAeQJkBKsGTTz6p1157TTNmzNCgQYP04IMPqm7dukpISNCAAQPk5eWl7t27a9OmTYqIiKiQc44dO1bp6el65plndPLkSVmWVeYDt3/Wu3dvbdu2TTNnztS4ceOUnZ2tRo0aqX379nrggQfKdYz3339f77//vmrUqKF69eopODhYPXr00BtvvFGuD57r3Lmztm3bpmnTpikuLk65ubkKCAjQjTfeqFq1akn64/mj7du36/nnn9eLL76oH374QQ6HQyEhIc6HsCtTQECAQkNDtWDBAh0+fFg2m01XXnml5s6dqyeffNK53fTp03X06FENGzZMubm5Cg4O1oEDB9SkSRNt2bJFcXFxiouLU05Ojq688kolJiZq/Pjxzv3r1q2rjRs3aty4cXr66adls9nUt29fLViwQLfddpsaNGhQZtaaNWtqzZo1Gjt2rIYPHy5vb2/dfPPN2rBhg1q0aFEZlwe47GyWu//aAQA8atasWXruued06NChSp2BAkzBzAwAVGGvvfaapD9uF507d04bN27UK6+8oiFDhlBkgP8fZQYAqrA6dero5Zdf1oEDB5SXl6cWLVpo0qRJeu655zwdDagyuM0EAACM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zvrrX//q6VjVxo4dO3Ts2DFdc8018vb2lre3t1JSUvTKK6/I29tb+fn5no5YbdWtW1fh4eHas2ePp6NUK82aNSvyPzthYWE6dOiQR/IwM4MqybIsPfnkk1q5cqU2b96skJAQT0f6n2JZlvLy8jwdo9q46aabiryj5uGHH1a7du00adIkeXl5eShZ9ZeXl6eMjAzdcMMNno5SrVx//fVFPi7jP//5j4KDgz2ShzJzEU6dOqW9e/c6lzMzM5WWliY/Pz+1aNHCg8mqj1GjRmnZsmX68MMP5XA4lJWVJUny9fVV7dq1PZyuennmmWcUHR2toKAg5ebmavny5dq8eXORd5Th4jkcjiLPe9WtW1eNGjXiObAKNnHiRPXr108tWrTQsWPH9MILLygnJ0cxMTGejlatxMbGKiIiQrNmzdIDDzygbdu26a233tJbb73lmUAW3LZp0yZLUpFXTEyMp6NVG8VdX0lWUlKSp6NVO4888ogVHBxs1apVy2rSpIl10003WZ988omnY1V7kZGR1tixYz0do9oZMGCA1axZM6tmzZpWYGCg1b9/fys9Pd3TsaqlNWvWWB07drTsdrvVrl0766233vJYFptlWZZnahQAAMCl4wFgAABgNMoMAAAwGmUGAAAYjTIDAACMRpkBAABGo8wAAACjUWYAAIDRKDMAyu3AgQOy2WxKS0vzdJQKFx8fry5dunjs/NX52gKVjTIDGGTo0KGy2WyaPXu2y/iqVatks9k8lMo8NptNq1atuiznioqKks1mk81mk91u1xVXXKF+/fppxYoVLtsFBQXp6NGj/HgD4CJQZgDD+Pj4aM6cOcrOzvZ0lApz9uxZT0eoVMOGDdPRo0e1d+9effDBB2rfvr0GDhyoxx9/3LmNl5eXAgIC5O3Nj8wD3EWZAQxz8803KyAgQAkJCSVuU9wtk/nz56tly5bO5aFDh+ruu+/WrFmz5O/vrwYNGmj69Ok6f/68nnrqKfn5+al58+Z65513ihz/+++/V0REhHx8fNShQwdt3rzZZf13332n2267TfXq1ZO/v7/+8pe/6Pjx4871UVFRGj16tMaPH6/GjRurT58+xX4dBQUFmjFjhpo3by673a4uXbq4/ADMwlszK1asUO/evVWnTh117txZW7duLfHaFF6De+65RzabzeWaSNL//d//qWXLlvL19dXAgQOVm5vrXGdZlhITE3XllVeqdu3a6ty5s95///0Sz1WoTp06CggIUFBQkLp37645c+bozTff1KJFi7RhwwaXr+XC20zp6em6/fbbVb9+fTkcDt1www3at2+fc31SUpLCwsLk4+Ojdu3aacGCBWVmAaojygxgGC8vL82aNUuvvvqqfvjhh0s61saNG3XkyBF99tlnmjdvnuLj43XHHXeoYcOG+vLLLzVixAiNGDFChw8fdtnvqaee0oQJE7Rz505FRETozjvv1IkTJyRJR48eVWRkpLp06aLt27dr3bp1+umnn/TAAw+4HGPJkiXy9vbWF198oTfffLPYfH/96181d+5cvfTSS9q1a5duueUW3XnnndqzZ4/Lds8++6wmTpyotLQ0tWnTRoMGDdL58+eLPeZXX30l6Y8icPToUeeyJO3bt0+rVq3SRx99pI8++kgpKSkut/See+45JSUlaeHChUpPT1dsbKyGDBmilJSUcl7x/4qJiVHDhg2L3G4q9OOPP6pXr17y8fHRxo0btWPHDj3yyCPOr2vRokV69tlnNXPmTGVkZGjWrFmaMmWKlixZ4nYWwHge+xGXANwWExNj3XXXXZZlWVb37t2tRx55xLIsy1q5cqV14V/nadOmWZ07d3bZ9+WXX7aCg4NdjhUcHGzl5+c7x9q2bWvdcMMNzuXz589bdevWtd59913LsiwrMzPTkmTNnj3buc25c+es5s2bW3PmzLEsy7KmTJli9e3b1+Xchw8ftiRZu3fvtizrj58Y3aVLlzK/3sDAQGvmzJkuY9dee601cuRIlzxvv/22c316erolycrIyCjxuJKslStXuoxNmzbNqlOnjpWTk+Mce+qpp6xu3bpZlmVZp06dsnx8fKwtW7a47Pfoo49agwYNKvFcpf107G7dulnR0dEuX8vOnTsty7KsuLg4KyQkxDp79myx+wYFBVnLli1zGXv++eetHj16lJgFqK64OQsYas6cObrxxhs1YcKEiz5Ghw4dVKPGfydo/f39XR5A9fLyUqNGjXTs2DGX/Xr06OH8tbe3t7p27aqMjAxJ0o4dO7Rp0ybVq1evyPn27dunNm3aSJK6du1aaracnBwdOXJE119/vcv49ddfr6+//tplrFOnTs5fN2vWTJJ07NgxtWvXrtRz/FnLli3lcDhcjlX4tX/33Xf6/fffi9wSO3v2rK666iq3zlPIsqwSH9xOS0vTDTfcoJo1axZZ9/PPP+vw4cN69NFHNWzYMOf4+fPn5evre1FZAJNRZgBD9erVS7fccoueeeYZDR061GVdjRo1ZFmWy9i5c+eKHOPP3yhtNluxYwUFBWXmKfymXFBQoH79+mnOnDlFtiksGpJUt27dMo954XELFVcALsx8YQ53lfa1F/73448/1hVXXOGynd1ud/tc+fn52rNnj6699tpi19euXbvEfQuzLFq0SN26dXNZ5+Xl5XYWwHSUGcBgs2fPVpcuXZyzHYWaNGmirKwsl2/8Ffn5JampqerVq5ekP2YDduzYodGjR0uSrr76an3wwQdq2bLlJb0zp379+goMDNTnn3/uPJckbdmyRdddd90l5a9Zs6by8/Pd2qd9+/ay2+06dOiQIiMjL+n80h/PDGVnZ+vee+8tdn2nTp20ZMkSnTt3rkjJ8vf31xVXXKH9+/dr8ODBl5wFMB1lBjBYeHi4Bg8erFdffdVlPCoqSj///LMSExN13333ad26dVq7dq3q169fIed9/fXX1bp1a4WFhenll19Wdna2HnnkEUnSqFGjtGjRIg0aNEhPPfWUGjdurL1792r58uVatGiRWzMHTz31lKZNm6bQ0FB16dJFSUlJSktL0//7f//vkvK3bNlSn376qa6//nrZ7XY1bNiwzH0cDocmTpyo2NhYFRQUqGfPnsrJydGWLVtUr149xcTElLjvmTNnlJWVpfPnz+vHH3/UihUr9PLLL+uJJ55Q7969i91n9OjRevXVVzVw4EDFxcXJ19dXqampuu6669S2bVvFx8drzJgxql+/vqKjo5WXl6ft27crOztb48ePv+hrA5iIdzMBhnv++eeL3FIKCwvTggUL9Prrr6tz587atm2bJk6cWGHnnD17tubMmaPOnTvrX//6lz788EM1btxYkhQYGKgvvvhC+fn5uuWWW9SxY0eNHTtWvr6+Ls/nlMeYMWM0YcIETZgwQeHh4Vq3bp1Wr16t1q1bX1L+uXPnKjk5WUFBQW497/L8889r6tSpSkhIUFhYmG655RatWbNGISEhpe63aNEiNWvWTKGhobrnnnv03Xff6b333iv1rdSNGjXSxo0bderUKUVGRuqaa67RokWLnLM0jz32mN5++20tXrxY4eHhioyM1OLFi8vMAlRHNuvP/woCAAAYhJkZAABgNMoMAAAwGmUGAAAYjTIDAACMRpkBAABGo8wAAACjUWYAAIDRKDMAAMBolBkAAGA0ygwAADAaZQYAABiNMgMAAIz2/wFHOx67DxUdegAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.hist(sorted_values, bins=11, color='pink')\n", + "plt.title('Roll the Dice Histogram')\n", + "plt.xlabel('Number on the Dice')\n", + "plt.ylabel('Number of Roll')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The shape is not symmetric,the standard deviation is not too high. The mean value should be probably 4, as 4 and 6 has the highest frequency. \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": 64, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA9fUlEQVR4nO3dfXwM9/7//+dWkiWRhIhcEaFKq+Jaq0UrEVQQF9FTDj0SwmlLlZLTHu2tFT39CHXoBYdqS1CUth+Ual1fn2rrohTtV0NdSxpFhSCJZH5/9Gc/XUmQtexm+rjfbnO7mfe8Z+Y1sxt55j0zuxbDMAwBAACY1F2uLgAAAOB2IuwAAABTI+wAAABTI+wAAABTI+wAAABTI+wAAABTI+wAAABTI+wAAABTI+wAAABTI+zgls2aNUsWi6XYKTk52dXlmcq157p8+fIKCQlRdHS0UlNTlZWVVWSdlJQUWSyWUu3n4sWLSklJ0YYNG0q1XnH7qlmzprp06VKq7dzI/Pnz9dZbbxW7zGKxKCUlxan7c7a1a9eqefPm8vHxkcVi0ZIlS4rtd/jwYVksFtvr0KRJE1WrVk0FBQUlbrtVq1YKDAxUXl7eTdVydR+zZs0q5VGUTmJioqKiom6qb2FhoT788EO1a9dOgYGB8vT0VFBQkLp06aJly5apsLCw1PsvC+8L3D4eri4A5pGWlqb77rvPri0sLMxF1Zjb1XOdn5+vrKwsbdmyRePHj9e///1vLVy4UO3atbP1HThwoDp27Fiq7V+8eFFjxoyRpJv+BeXovhwxf/587d27V8OHDy+ybOvWrapevfptr8FRhmHoiSeeUN26dbV06VL5+Pjo3nvvval1k5KSNHToUK1cuVKdOnUqsvynn37SV199peHDh8vLy8vZpd8Rly9fVvfu3bVq1Sr17t1b06ZNU0hIiE6dOqUVK1boL3/5ixYuXKhu3bq5ulSUIYQdOE1kZKSaN29+U33z8/NlsVjk4cFb0BHXnuuePXvq+eefV+vWrRUfH6/09HQFBwdLkqpXr37bf/lfvHhR3t7ed2RfN/LQQw+5dP83cvLkSZ05c0Y9evRQTExMqdbt27ev/vGPf2jmzJnFhp2ZM2dKkgYMGOCUWl1hxIgRWrlypWbPnq1+/frZLYuPj9c//vEPXbp0yUXVoaziMhZuuw0bNshisejDDz/UyJEjVa1aNVmtVh04cECStGbNGsXExMjPz0/e3t5q1aqV1q5dW2Q7y5cvV+PGjWW1WlWrVi39+9//LnLZ5HpD8sUNY6enp6tPnz4KCgqS1WpVvXr19J///KfY+j/66CO9/PLLCgsLk5+fn9q1a6f9+/cX2c+KFSsUExMjf39/eXt7q169ekpNTZUkffjhh7JYLNq6dWuR9V577TV5enrq5MmTNzynxalRo4YmTpyo8+fPa/r06bb24i4trVu3TlFRUapSpYoqVKigGjVqqGfPnrp48aIOHz6sqlWrSpLGjBlju2SWmJhot72dO3fq8ccfV+XKlVW7du0S93XV4sWL1bBhQ5UvX15333233nnnHbvlVy/RHT582K796vm/eiknKipKy5cv15EjR+wu6V1V3Ou8d+9edevWTZUrV1b58uXVuHFjzZ49u9j93OzrXJwtW7YoJiZGvr6+8vb2VsuWLbV8+XLb8pSUFFsYfPHFF2WxWFSzZs2b2rYkVa5cWT169NCyZct0+vRpu2UFBQX68MMP9cADD6hBgwY6cOCA+vfvrzp16sjb21vVqlVTXFyc9uzZc8P9JCYmFltXca+vYRiaOnWqGjdurAoVKqhy5cp6/PHH9fPPP9/0cV2VmZmpDz74QI899liRoHNVnTp11LBhQ9v80aNH9eSTT9r9DE+cOPGGl7pKeq8W9z68ein2888/V5MmTVShQgXVq1dPn3/+uW2devXqycfHRw8++KC2b99ut83ExERVrFhRBw4cUKdOnVSxYkWFh4dr5MiRys3NvdnTg1tA2IHTFBQU6MqVK3bTH40aNUpHjx7Vu+++q2XLlikoKEhz585Vhw4d5Ofnp9mzZ+vjjz9WQECAHnvsMbvAs3btWnXr1k2+vr5asGCBJkyYoI8//lhpaWkO1/vDDz/ogQce0N69ezVx4kR9/vnn6ty5s5577jnbJZw/eumll3TkyBF98MEHeu+995Senq64uDi7+ydmzJihTp06qbCw0Haczz33nI4fPy5J6tWrl0JCQooEqitXrmj69Onq0aPHLV3669Spk8qVK6dNmzaV2Ofw4cPq3LmzvLy8NHPmTK1YsULjxo2Tj4+P8vLyFBoaqhUrVkj6/bLJ1q1btXXrVr3yyit224mPj9c999yjTz75RO++++5169q1a5eGDx+u559/XosXL1bLli01bNgw/fvf/y71MU6dOlWtWrVSSEiIrbbiwuNV+/fvV8uWLbVv3z698847WrRoke6//34lJibqjTfeKNL/Zl7n4mzcuFFt27bVuXPnNGPGDH300Ufy9fVVXFycFi5cKOn3y3yLFi2SJA0dOlRbt27V4sWLS9xmzZo1ZRiG3aXEpKQk5eXlae7cuXZ9V65cqZMnTyopKUnS7yNIVapU0bhx47RixQr95z//kYeHh1q0aHHT4e1mPPXUUxo+fLjatWunJUuWaOrUqdq3b59atmypX375xdZv1qxZN7wHbP369crPz1f37t1vat+nTp1Sy5YttWrVKv3rX//S0qVL1a5dOyUnJ+vZZ5+9haMqavfu3Ro1apRefPFFLVq0SP7+/oqPj9fo0aP1wQcfaOzYsZo3b57OnTunLl26FBl9ys/PV9euXRUTE6PPPvtMAwYM0Jtvvqnx48c7tU6UwABuUVpamiGp2Ck/P99Yv369Icl49NFH7dbLyckxAgICjLi4OLv2goICo1GjRsaDDz5oa2vRooURFhZmXLp0ydaWnZ1tBAQEGH98Gx86dMiQZKSlpRWpU5IxevRo2/xjjz1mVK9e3Th37pxdv2effdYoX768cebMGcMwDFv9nTp1suv38ccfG5KMrVu3GoZhGOfPnzf8/PyM1q1bG4WFhSWer9GjRxteXl7GL7/8YmtbuHChIcnYuHFjiesZxv+d623btpXYJzg42KhXr57d/v54jj799FNDkrFr164St3Hq1Kki5+va7b366qslLvujiIgIw2KxFNlf+/btDT8/PyMnJ8fu2A4dOmTX7+r5X79+va2tc+fORkRERLG1X1t37969DavVahw9etSuX2xsrOHt7W389ttvdvu50etckoceesgICgoyzp8/b2u7cuWKERkZaVSvXt32nrj6Hp0wYcJ1t1eSwsJCo1atWkbDhg3t2nv27Gl4e3sXeT//sZa8vDyjTp06xvPPP29rL+5nJiEhodjze+3ru3XrVkOSMXHiRLt+x44dMypUqGC88MILpTq2cePGGZKMFStW3FT/f/7zn4Yk45tvvrFrf+aZZwyLxWLs37/f1nbt+6K496phFP8+jIiIMCpUqGAcP37c1rZr1y5DkhEaGmp7DxuGYSxZssSQZCxdutTWlpCQYEgyPv74Y7t9derUybj33ntv6lhxaxjZgdPMmTNH27Zts5v+eE9Oz5497fp/9dVXOnPmjBISEuxGgwoLC9WxY0dt27ZNOTk5ysnJ0bZt2xQfH6/y5cvb1r/6V7MjLl++rLVr16pHjx7y9va223+nTp10+fJlff3113brdO3a1W7+6lD6kSNHbMeTnZ2twYMHX/fpp2eeeUaS9P7779vapkyZogYNGujRRx916Hj+yDCM6y5v3LixvLy89Pe//12zZ8926HKDVPT1vJ769eurUaNGdm19+vRRdna2du7c6dD+b9a6desUExOj8PBwu/bExERdvHixyKjQjV7n4uTk5Oibb77R448/rooVK9ray5Urp7/97W86fvy400ZTLBaL+vfvr++//147duyQJJ0+fVrLli1Tz5495efnJ+n30cKxY8fq/vvvl5eXlzw8POTl5aX09HT9+OOPTqnl888/l8Vi0ZNPPmn3MxQSEqJGjRqV+mm+0lq3bp3uv/9+Pfjgg3btiYmJMgxD69atc9q+GjdurGrVqtnm69WrJ+n3y6re3t5F2q99v1gsliL/XzVs2PC67ys4D2EHTlOvXj01b97cbvqj0NBQu/mrQ9yPP/64PD097abx48fLMAydOXNGZ8+eVWFhoUJCQorss7i2m3H69GlduXJFkydPLrLvqzd+/vrrr3brVKlSxW7earVKkm24+tSpU5J0wxt0g4OD1atXL02fPl0FBQX6/vvvtXnzZqcMu+fk5Oj06dPXvRRWu3ZtrVmzRkFBQRoyZIhq166t2rVr6+233y7Vvq59Pa/neq/dtfeeONvp06eLrfXqObp2/zd6nYtz9uxZGYZRqv3civ79++uuu+6yXcadN2+e8vLybJewpN9v9H3llVfUvXt3LVu2TN988422bdumRo0aOe0G319++UWGYSg4OLjIz9HXX39d5GfoRmrUqCFJOnTo0E31L+1reysCAgLs5q8+7VZS++XLl+3avb297f5Yk35/b13bD7cHj8Lgjrl2tCMwMFCSNHny5BKfoAkODrY9uZWZmVlk+bVtV/8zufamv2v/06tcubLtr+4hQ4YUu+9atWpd52iKunpT79X7c65n2LBh+vDDD/XZZ59pxYoVqlSpkvr27Vuq/RVn+fLlKigouOHj4o888ogeeeQRFRQUaPv27Zo8ebKGDx+u4OBg9e7d+6b2VZrP7rnea3c1XJT02pX2F+a1qlSpooyMjCLtV28Ev/o+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8vPzM9Wb+07gnDmG8+YYzptjOG+lZ8Zzdr0RnavKfNiRpBEjRuhvf/ubmjdvrocffljvvfeejh49qqefftrVpQEAABczRdjp1auXTp8+rddee00ZGRmKjIzUF198oYiICFeXBgAAXMwUYUeSBg8erMGDB7u6DLditVo1evToIpfsUDLOmWM4b47hvDmG81Z6f/ZzZjFu9LwWAABAGVbmP1QQAADgegg7AADA1Ag7AADA1Ag7AADA1Ag7JrRp0ybFxcUpLCxMFotFS5YscXVJbi81NVUPPPCAfH19FRQUpO7du2v//v2uLsvtTZs2TQ0bNrR9UNnDDz+sL7/80tVllSmpqamyWCwaPny4q0txaykpKbJYLHZTSEiIq8sqE06cOKEnn3xSVapUkbe3txo3bqwdO3a4uqw7irBjQjk5OWrUqJGmTJni6lLKjI0bN2rIkCH6+uuvtXr1al25ckUdOnRQTk6Oq0tza9WrV9e4ceO0fft2bd++XW3btlW3bt20b98+V5dWJmzbtk3vvfeeGjZs6OpSyoT69esrIyPDNu3Zs8fVJbm9s2fPqlWrVvL09NSXX36pH374QRMnTjT1twYUxzSfs4P/Exsbq9jYWFeXUaasWLHCbj4tLU1BQUHasWOHHn30URdV5f7i4uLs5v/nf/5H06ZN09dff6369eu7qKqy4cKFC+rbt6/ef/99vf76664up0zw8PBgNKeUxo8fr/DwcKWlpdnaatas6bqCXISRHaAY586dkyQFBAS4uJKyo6CgQAsWLFBOTo4efvhhV5fj9oYMGaLOnTurXbt2ri6lzEhPT1dYWJhq1aql3r176+eff3Z1SW5v6dKlat68uf7yl78oKChITZo00fvvv+/qsu44wg5wDcMwNGLECLVu3VqRkZGuLsft7dmzRxUrVpTVatXTTz+txYsX6/7773d1WW5twYIF2rlzp1JTU11dSpnRokULzZkzRytXrtT777+vzMxMtWzZUqdPn3Z1aW7t559/1rRp01SnTh2tXLlSTz/9tJ577jnNmTPH1aXdUVzGAq7x7LPP6vvvv9eWLVtcXUqZcO+992rXrl367bff9L//+79KSEjQxo0bCTwlOHbsmIYNG6ZVq1apfPnyri6nzPjjpfkGDRro4YcfVu3atTV79myNGDHChZW5t8LCQjVv3lxjx46VJDVp0kT79u3TtGnT1K9fPxdXd+cwsgP8wdChQ7V06VKtX79e1atXd3U5ZYKXl5fuueceNW/eXKmpqWrUqJHefvttV5fltnbs2KGsrCw1a9ZMHh4e8vDw0MaNG/XOO+/Iw8NDBQUFri6xTPDx8VGDBg2Unp7u6lLcWmhoaJE/POrVq6ejR4+6qCLXYGQH0O+XroYOHarFixdrw4YNqlWrlqtLKrMMw1Bubq6ry3BbMTExRZ4i6t+/v+677z69+OKLKleunIsqK1tyc3P1448/6pFHHnF1KW6tVatWRT5G46efflJERISLKnINwo4JXbhwQQcOHLDNHzp0SLt27VJAQIBq1Kjhwsrc15AhQzR//nx99tln8vX1VWZmpiTJ399fFSpUcHF17uull15SbGyswsPDdf78eS1YsEAbNmwo8nQb/o+vr2+Re8F8fHxUpUoV7hG7juTkZMXFxalGjRrKysrS66+/ruzsbCUkJLi6NLf2/PPPq2XLlho7dqyeeOIJffvtt3rvvff03nvvubq0O8uA6axfv96QVGRKSEhwdWluq7jzJclIS0tzdWlubcCAAUZERITh5eVlVK1a1YiJiTFWrVrl6rLKnDZt2hjDhg1zdRlurVevXkZoaKjh6elphIWFGfHx8ca+fftcXVaZsGzZMiMyMtKwWq3GfffdZ7z33nuuLumOsxiGYbgoZwEAANx23KAMAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADwLSioqI0fPhwV5cBwMUIOwDcUlxcnNq1a1fssq1bt8pisWjnzp13uCoAZRFhB4BbSkpK0rp163TkyJEiy2bOnKnGjRuradOmLqgMQFlD2AHglrp06aKgoCDNmjXLrv3ixYtauHChunfvrr/+9a+qXr26vL291aBBA3300UfX3abFYtGSJUvs2ipVqmS3jxMnTqhXr16qXLmyqlSpom7duunw4cPOOSgALkHYAeCWPDw81K9fP82aNUt//Aq/Tz75RHl5eRo4cKCaNWumzz//XHv37tXf//53/e1vf9M333zj8D4vXryo6OhoVaxYUZs2bdKWLVtUsWJFdezYUXl5ec44LAAuQNgB4LYGDBigw4cPa8OGDba2mTNnKj4+XtWqVVNycrIaN26su+++W0OHDtVjjz2mTz75xOH9LViwQHfddZc++OADNWjQQPXq1VNaWpqOHj1qVwOAssXD1QUAQEnuu+8+tWzZUjNnzlR0dLQOHjyozZs3a9WqVSooKNC4ceO0cOFCnThxQrm5ucrNzZWPj4/D+9uxY4cOHDggX19fu/bLly/r4MGDt3o4AFyEsAPArSUlJenZZ5/Vf/7zH6WlpSkiIkIxMTGaMGGC3nzzTb311ltq0KCBfHx8NHz48OtebrJYLHaXxCQpPz/f9u/CwkI1a9ZM8+bNK7Ju1apVnXdQAO4owg4At/bEE09o2LBhmj9/vmbPnq1BgwbJYrFo8+bN6tatm5588klJvweV9PR01atXr8RtVa1aVRkZGbb59PR0Xbx40TbftGlTLVy4UEFBQfLz87t9BwXgjuKeHQBurWLFiurVq5deeuklnTx5UomJiZKke+65R6tXr9ZXX32lH3/8UU899ZQyMzOvu622bdtqypQp2rlzp7Zv366nn35anp6etuV9+/ZVYGCgunXrps2bN+vQoUPauHGjhg0bpuPHj9/OwwRwGxF2ALi9pKQknT17Vu3atVONGjUkSa+88oqaNm2qxx57TFFRUQoJCVH37t2vu52JEycqPDxcjz76qPr06aPk5GR5e3vblnt7e2vTpk2qUaOG4uPjVa9ePQ0YMECXLl1ipAcowyzGtRewAQAATISRHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGqEHQAAYGr/HzVvogMwyx1dAAAAAElFTkSuQmCC", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "thousand = pd.read_csv(r\"C:\\Users\\User\\OneDrive\\Desktop\\Ironhack\\week 2\\Descriptive-Stats\\data\\roll_the_dice_thousand.csv\")\n", + "thousand\n", + "\n", + "df = pd.DataFrame(data)\n", + "\n", + "values = thousand['value']\n", + "\n", + "frequency_distribution = values.value_counts().sort_index() \n", + "\n", + "plt.bar(frequency_distribution.index, frequency_distribution.values, color='b', alpha=0.7)\n", + "plt.xlabel(\"Value\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Frequency Distribution of 'Value' Column\")\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The standard deviation is much smaller then in the previous occasion\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": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHFCAYAAAAHcXhbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA60ElEQVR4nO3de1iVVf7//9dWBAHBPAHikRRN85iWiZYaaimRh5rR0RJPn6m0gtRqzM8kNY2HHB0r046iZqbVqIlOKuX5o5WHPDaXaSGah7B0hDyAwvr90Y/9dbNBYYtuFj0f17Wvq73ute/7vfbeyKt13/fCYYwxAgAAsFQ5bxcAAABwLQgzAADAaoQZAABgNcIMAACwGmEGAABYjTADAACsRpgBAABWI8wAAACrEWYAAIDVCDO4ojlz5sjhcBT4GDNmjLfLK1Pyv9cVK1ZUWFiYunTpookTJyo9Pd3tNYmJiXI4HMU6zrlz55SYmKh169YV63UFHat+/fq6//77i7Wfq1mwYIGmT59e4DaHw6HExMQSPV5J++KLL9S2bVsFBgbK4XBo6dKlBfY7dOiQHA6H83No3bq1atWqpZycnEL33aFDB1WvXl3Z2dlFqiXvGHPmzCnmKIpn8ODB6ty5c5H65ubm6v3331fXrl1VvXp1VahQQSEhIbr//vuVnJys3NzcYh/fhu8Fri8fbxcAOyQlJemWW25xaQsPD/dSNWVb3nt98eJFpaena9OmTZo8ebL+8Y9/aNGiReratauz7/Dhw3XfffcVa//nzp3Tiy++KElF/gXk6bE8sWDBAu3du1cJCQlu27Zs2aLatWtf9xo8ZYzRH//4RzVq1EjLli1TYGCgGjduXKTXDhs2TE8++aRWrVqlnj17um3/7rvvtHnzZiUkJMjX17ekS78hLly4oN69e2v16tXq37+/Zs2apbCwMJ08eVIrV67UH/7wBy1atEi9evXydqmwDGEGRdKsWTO1bdu2SH0vXrwoh8MhHx++Xp7I/14/+OCDevrpp9WxY0f17dtXBw4cUGhoqCSpdu3a1/2X+7lz5xQQEHBDjnU1d955p1ePfzXHjh3TqVOn1KdPH0VHRxfrtQMHDtQzzzyj2bNnFxhmZs+eLUkaOnRoidTqDaNGjdKqVas0d+5cDRo0yGVb37599cwzz+j8+fNeqg424zQTrsm6devkcDj0/vvva/To0apVq5b8/Px08OBBSdLnn3+u6OhoBQcHKyAgQB06dNAXX3zhtp8VK1aoVatW8vPzU0REhP7xj3+4nda40pR5QdPMBw4c0IABAxQSEiI/Pz81adJEb7zxRoH1f/jhhxo3bpzCw8MVHBysrl27av/+/W7HWblypaKjo1W5cmUFBASoSZMmmjhxoiTp/fffl8Ph0JYtW9xe99JLL6lChQo6duzYVd/TgtStW1dTp05VZmam3nrrLWd7Qad+1qxZo86dO6tatWry9/dX3bp19eCDD+rcuXM6dOiQatSoIUl68cUXnae0Bg8e7LK/HTt26KGHHlKVKlXUoEGDQo+VZ8mSJWrRooUqVqyom2++Wa+99prL9rxTaIcOHXJpz3v/8061dO7cWStWrFBaWprLKbc8BX3Oe/fuVa9evVSlShVVrFhRrVq10ty5cws8TlE/54Js2rRJ0dHRCgoKUkBAgKKiorRixQrn9sTERGfYe+655+RwOFS/fv0i7VuSqlSpoj59+ig5OVm//PKLy7acnBy9//77uv3229W8eXMdPHhQQ4YMUWRkpAICAlSrVi3FxsZqz549Vz3O4MGDC6yroM/XGKOZM2eqVatW8vf3V5UqVfTQQw/phx9+KPK48pw4cULvvvuu7r33XrcgkycyMlItWrRwPj98+LAefvhhl5/hqVOnXvVUVGHf1YK+h3mnSpcvX67WrVvL399fTZo00fLly52vadKkiQIDA3XHHXdo27ZtLvscPHiwKlWqpIMHD6pnz56qVKmS6tSpo9GjRysrK6uobw+uEWEGRZKTk6NLly65PC43duxYHT58WG+++aaSk5MVEhKi+fPnq3v37goODtbcuXP10UcfqWrVqrr33ntdAs0XX3yhXr16KSgoSAsXLtSUKVP00UcfKSkpyeN6v/32W91+++3au3evpk6dquXLlysmJkZPPfWU8xTL5Z5//nmlpaXp3Xff1dtvv60DBw4oNjbW5fqF9957Tz179lRubq5znE899ZR+/PFHSVK/fv0UFhbmFpguXbqkt956S3369LmmU3M9e/ZU+fLltWHDhkL7HDp0SDExMfL19dXs2bO1cuVKTZo0SYGBgcrOzlbNmjW1cuVKSb+d1tiyZYu2bNmiv/71ry776du3rxo2bKiPP/5Yb7755hXr2rlzpxISEvT0009ryZIlioqKUnx8vP7xj38Ue4wzZ85Uhw4dFBYW5qytoHCYZ//+/YqKitK+ffv02muvafHixWratKkGDx6sV155xa1/UT7ngqxfv1733HOPzpw5o/fee08ffvihgoKCFBsbq0WLFkn67TTc4sWLJUlPPvmktmzZoiVLlhS6z/r168sY43Kqb9iwYcrOztb8+fNd+q5atUrHjh3TsGHDJP02A1StWjVNmjRJK1eu1BtvvCEfHx+1a9euyOGsKB599FElJCSoa9euWrp0qWbOnKl9+/YpKipKP/30k7PfnDlzrnoN1tq1a3Xx4kX17t27SMc+efKkoqKitHr1av3tb3/TsmXL1LVrV40ZM0ZPPPHENYzK3a5duzR27Fg999xzWrx4sSpXrqy+fftq/PjxevfddzVhwgR98MEHOnPmjO6//3632aOLFy/qgQceUHR0tD799FMNHTpU//znPzV58uQSrRNXYIArSEpKMpIKfFy8eNGsXbvWSDJ33323y+vOnj1rqlatamJjY13ac3JyTMuWLc0dd9zhbGvXrp0JDw8358+fd7ZlZGSYqlWrmsu/oqmpqUaSSUpKcqtTkhk/frzz+b333mtq165tzpw549LviSeeMBUrVjSnTp0yxhhn/T179nTp99FHHxlJZsuWLcYYYzIzM01wcLDp2LGjyc3NLfT9Gj9+vPH19TU//fSTs23RokVGklm/fn2hrzPm/73XW7duLbRPaGioadKkicvxLn+PPvnkEyPJ7Ny5s9B9nDx50u39yr+/F154odBtl6tXr55xOBxux+vWrZsJDg42Z8+edRlbamqqS7+893/t2rXOtpiYGFOvXr0Ca89fd//+/Y2fn585fPiwS78ePXqYgIAA89///tflOFf7nAtz5513mpCQEJOZmelsu3TpkmnWrJmpXbu28zuR9x2dMmXKFfdXmNzcXBMREWFatGjh0v7ggw+agIAAt+/z5bVkZ2ebyMhI8/TTTzvbC/qZiYuLK/D9zf/5btmyxUgyU6dOdel35MgR4+/vb5599tlijW3SpElGklm5cmWR+v/lL38xksxXX33l0v74448bh8Nh9u/f72zL/70o6LtqTMHfw3r16hl/f3/z448/Ott27txpJJmaNWs6v8PGGLN06VIjySxbtszZFhcXZySZjz76yOVYPXv2NI0bNy7SWHHtmJlBkcybN09bt251eVx+TcyDDz7o0n/z5s06deqU4uLiXGZzcnNzdd9992nr1q06e/aszp49q61bt6pv376qWLGi8/V5/9friQsXLuiLL75Qnz59FBAQ4HL8nj176sKFC/ryyy9dXvPAAw+4PM+b6k5LS3OOJyMjQyNGjLji3UOPP/64JOmdd95xts2YMUPNmzfX3Xff7dF4LmeMueL2Vq1aydfXV3/+8581d+5cj04HSO6f55XceuutatmypUvbgAEDlJGRoR07dnh0/KJas2aNoqOjVadOHZf2wYMH69y5c26zOlf7nAty9uxZffXVV3rooYdUqVIlZ3v58uX1yCOP6Mcffyyx2RCHw6EhQ4Zo9+7d2r59uyTpl19+UXJysh588EEFBwdL+m22b8KECWratKl8fX3l4+MjX19fHThwQP/5z39KpJbly5fL4XDo4YcfdvkZCgsLU8uWLYt9N1xxrVmzRk2bNtUdd9zh0j548GAZY7RmzZoSO1arVq1Uq1Yt5/MmTZpI+u20Z0BAgFt7/u+Lw+Fw+/eqRYsWV/xeoWQRZlAkTZo0Udu2bV0el6tZs6bL87wp6IceekgVKlRweUyePFnGGJ06dUqnT59Wbm6uwsLC3I5ZUFtR/PLLL7p06ZJef/11t2PnXVj5888/u7ymWrVqLs/9/PwkyTmdfPLkSUm66gWwoaGh6tevn9566y3l5ORo9+7d2rhxY4lMi589e1a//PLLFU9VNWjQQJ9//rlCQkI0cuRINWjQQA0aNNCrr75arGPl/zyv5EqfXf5rP0raL7/8UmCtee9R/uNf7XMuyOnTp2WMKdZxrsWQIUNUrlw552nWDz74QNnZ2c5TTNJvF9L+9a9/Ve/evZWcnKyvvvpKW7duVcuWLUvsAtqffvpJxhiFhoa6/Rx9+eWXbj9DV1O3bl1JUmpqapH6F/ezvRZVq1Z1eZ53t1hh7RcuXHBpDwgIcPmfMem371b+frh+uN0EJSL/bEX16tUlSa+//nqhd6CEhoY673w6ceKE2/b8bXn/WOS/qC7/P2pVqlRx/l/zyJEjCzx2RETEFUbjLu+i2bzrY64kPj5e77//vj799FOtXLlSN910kwYOHFis4xVkxYoVysnJuert1HfddZfuuusu5eTkaNu2bXr99deVkJCg0NBQ9e/fv0jHKs7aNVf67PLCQ2GfXXF/IeZXrVo1HT9+3K0970LrvO/htahSpYrKlSt33Y+Tp3bt2urevbsWLFigqVOnKikpSQ0bNnSZ2Zs/f74GDRqkCRMmuLz2559/1k033XTF/VesWLHAC1PzfxbVq1eXw+HQxo0bnaHvcgW1XUmXLl1UoUIFLV26VI899thV+1/LZ3v59+3yOq/1+4bSi5kZXBcdOnTQTTfdpG+//dZtRifv4evr67xDYPHixS7/F5OZmank5GSXfYaGhqpixYravXu3S/unn37q8jwgIEBdunTRN998oxYtWhR47Pz/h341UVFRqly5st58882rnupp06aNoqKiNHnyZH3wwQcaPHiwAgMDi3W8/A4fPqwxY8aocuXKevTRR4v0mvLly6tdu3bOC5LzTvkUZTaiOPbt26ddu3a5tC1YsEBBQUG67bbbJMl590z+z27ZsmVu+/Pz8ytybdHR0VqzZo3bXWLz5s1TQEBAidzKHRgYqHbt2mnx4sUudeXm5mr+/PmqXbu2GjVqdM3HudywYcN0+vRpvfDCC9q5c6eGDBnidldX/jCxYsUKHT169Kr7rl+/vtLT010u4M3OztaqVatc+t1///0yxujo0aMF/gw1b968WGMKCwvT8OHDtWrVKs2bN6/APt9//73zOxIdHa1vv/3W7VTlvHnz5HA41KVLlyuOUXL/vuX/NwVlBzMzuC4qVaqk119/XXFxcTp16pQeeughhYSE6OTJk9q1a5dOnjypWbNmSZL+9re/6b777lO3bt00evRo5eTkaPLkyQoMDNSpU6ec+8w7fz979mw1aNBALVu21Ndff60FCxa4Hf/VV19Vx44dddddd+nxxx9X/fr1lZmZqYMHDyo5ObnY59srVaqkqVOnavjw4eratav+53/+R6GhoTp48KB27dqlGTNmuPSPj49Xv3795HA4NGLEiGIda+/evc7rE9LT07Vx40YlJSWpfPnyWrJkiXOWqCBvvvmm1qxZo5iYGNWtW1cXLlxwrk+St9heUFCQ6tWrp08//VTR0dGqWrWqqlevXqzbiC8XHh6uBx54QImJiapZs6bmz5+vlJQUTZ482Xm9we23367GjRtrzJgxunTpkqpUqaIlS5Zo06ZNbvtr3ry5Fi9erFmzZqlNmzYqV65coWscjR8/XsuXL1eXLl30wgsvqGrVqvrggw+0YsUKvfLKK6pcubJHY8pv4sSJ6tatm7p06aIxY8bI19dX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m4MHDzr72Dq+9PR0l88sJSXFSDJr1641xtg7LmN++9uG1apVM8uXLzepqanm448/NpUqVTLTp0939rFxfISZIrrjjjvMY4895tJ2yy23mL/85S9equja5Q8zubm5JiwszEyaNMnZduHCBVO5cmXz5ptveqHCa5Oenm4kmfXr1xtjyt74qlSpYt59990yM67MzEwTGRlpUlJSTKdOnZxhxubxjR8/3rRs2bLAbTaPyxhjnnvuOdOxY8dCt9s+vsvFx8ebBg0amNzcXOvHFRMTY4YOHerS1rdvX/Pwww8bY+z93DjNVATZ2dnavn27unfv7tLevXt3bd682UtVlbzU1FSdOHHCZZx+fn7q1KmTleM8c+aMJKlq1aqSys74cnJytHDhQp09e1bt27cvM+MaOXKkYmJi1LVrV5d228d34MABhYeHKyIiQv3799cPP/wgyf5xLVu2TG3bttUf/vAHhYSEqHXr1nrnnXec220fX57s7GzNnz9fQ4cOlcPhsH5cHTt21BdffKHvvvtOkrRr1y5t2rRJPXv2lGTv52bFCsDe9vPPPysnJ8ftL3WHhoa6/UVvm+WNpaBxpqWleaMkjxljNGrUKHXs2FHNmjWTZP/49uzZo/bt2+vChQuqVKmSlixZoqZNmzr/gbF1XJK0cOFC7dixQ1u3bnXbZvPn1q5dO82bN0+NGjXSTz/9pJdffllRUVHat2+f1eOSpB9++EGzZs3SqFGj9Pzzz+vrr7/WU089JT8/Pw0aNMj68eVZunSp/vvf/2rw4MGS7P4+StJzzz2nM2fO6JZbblH58uWVk5Ojv//97/rTn/4kyd7xEWaKweFwuDw3xri1lQVlYZxPPPGEdu/erU2bNrlts3V8jRs31s6dO/Xf//5X//rXvxQXF6f169c7t9s6riNHjig+Pl6rV69WxYoVC+1n4/h69Ojh/O/mzZurffv2atCggebOnas777xTkp3jkqTc3Fy1bdtWEyZMkCS1bt1a+/bt06xZszRo0CBnP1vHl+e9995Tjx49FB4e7tJu67gWLVqk+fPna8GCBbr11lu1c+dOJSQkKDw8XHFxcc5+to2P00xFUL16dZUvX95tFiY9Pd0tvdos7y4L28f55JNPatmyZVq7dq1q167tbLd9fL6+vmrYsKHatm2riRMnqmXLlnr11VetH9f27duVnp6uNm3ayMfH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", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "data = pd.read_csv(r\"C:\\Users\\User\\OneDrive\\Desktop\\Ironhack\\week 2\\Descriptive-Stats\\data\\ages_population.csv\")\n", + "data\n", + "\n", + "df = pd.DataFrame(data)\n", + "\n", + "values = data['observation']\n", + "\n", + "frequency_distribution = values.value_counts().sort_index() \n", + "\n", + "plt.bar(frequency_distribution.index, frequency_distribution.values, color='b', alpha=0.7)\n", + "plt.xlabel(\"Value\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Frequency Distribution of 'Value' Column\")\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": 9, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean is: observation 36.56\n", + "dtype: float64\n", + "Standard deviation is: 12.81649962597677\n" + ] + } + ], + "source": [ + "import statistics as stats\n", + "\n", + "print(\"The mean is:\",data.mean())\n", + "\n", + "std_dev = stats.stdev(values) \n", + "print(\"Standard deviation is:\",std_dev)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "My guess was 37/38, because it has to be close to the median but a bit lower than that because the chart is positively skewed.\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": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBiUlEQVR4nO3de1iUdf7/8dckMAICCgqI5wpL85iWG1oeUMwDmtZqaykq7VqWSWoHt1+JbYunlWx1U9sULDOtVk1zUzHNQ1p5yErrMjXyCFHpgkdA+Pz+8GK+jpwUBxlun4/rmutqPvd9f+73Z+6ZePm573vGZowxAgAAsKibKroAAACA8kTYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYAQAAlkbYwTVLTk6WzWYr8jFu3LiKLs9SLn+tq1atqtDQUHXu3FmTJk1SRkZGoW3i4+Nls9muaj9nz55VfHy8Pvvss6varqh9NWzYUL17976qfkqzaNEizZgxo8hlNptN8fHxLt2fq3366adq27atfH19ZbPZtHz58iLX+/nnn2Wz2RzHoXXr1qpTp47y8vKK7bt9+/aqWbOmcnJyrqiWgn0kJydf5SiuztChQ9WpU6crWjc/P1/vvPOOunbtqpo1a8rT01PBwcHq3bu3Vq5cqfz8/Kvef2V4X6D8eFR0AbCOpKQk3X777U5tYWFhFVSNtRW81rm5ucrIyNCWLVs0ZcoU/eMf/9CSJUvUtWtXx7qPPfaY7r///qvq/+zZs5o4caIkXfEfqLLuqywWLVqkPXv2KC4urtCybdu2qW7duuVeQ1kZYzRgwAA1btxYK1askK+vr2677bYr2jY2NlajRo3SmjVr1LNnz0LLf/zxR23dulVxcXHy8vJydenXxfnz5/XAAw9o7dq1evjhhzV79myFhobq119/1erVq/XHP/5RS5YsUd++fSu6VFQihB24TLNmzdS2bdsrWjc3N1c2m00eHrwFy+Ly1/rBBx/UM888ow4dOqh///7av3+/QkJCJEl169Yt9z/+Z8+elY+Pz3XZV2n+8Ic/VOj+S3P8+HGdOHFC/fr1U2Rk5FVt+8gjj+jZZ5/V/Pnziww78+fPlyQNHz7cJbVWhDFjxmjNmjVasGCBhgwZ4rSsf//+evbZZ3Xu3LkKqg6VFaexUO4+++wz2Ww2vfPOOxo7dqzq1Kkju92uAwcOSJLWrVunyMhI+fv7y8fHR+3bt9enn35aqJ9Vq1apVatWstvtatSokf7xj38UOm1S0pR8UdPY+/fv16BBgxQcHCy73a4mTZroX//6V5H1v/fee3rxxRcVFhYmf39/de3aVfv27Su0n9WrVysyMlIBAQHy8fFRkyZNNGnSJEnSO++8I5vNpm3bthXa7pVXXpGnp6eOHz9e6mtalPr162v69Ok6deqU5s6d62gv6tTS+vXr1alTJwUFBcnb21v169fXgw8+qLNnz+rnn39WrVq1JEkTJ050nDIbOnSoU3+7du3SQw89pBo1auiWW24pdl8Fli1bphYtWqhq1aq6+eab9c9//tNpecEpup9//tmpveD1LziV06lTJ61atUqHDh1yOqVXoKjjvGfPHvXt21c1atRQ1apV1apVKy1YsKDI/VzpcS7Kli1bFBkZKT8/P/n4+CgiIkKrVq1yLI+Pj3eEweeff142m00NGza8or4lqUaNGurXr59Wrlyp33//3WlZXl6e3nnnHd11111q3ry5Dhw4oGHDhik8PFw+Pj6qU6eOoqOj9d1335W6n6FDhxZZV1HH1xijN954Q61atZK3t7dq1Kihhx56SD/99NMVj6tAenq63nrrLXXv3r1Q0CkQHh6uFi1aOJ4fPnxYjz76qNNnePr06aWe6iruvVrU+7DgVOzHH3+s1q1by9vbW02aNNHHH3/s2KZJkyby9fXV3XffrR07djj1OXToUFWrVk0HDhxQz549Va1aNdWrV09jx45Vdnb2lb48uAaEHbhMXl6eLly44PS41Pjx43X48GHNmTNHK1euVHBwsBYuXKioqCj5+/trwYIFev/99xUYGKju3bs7BZ5PP/1Uffv2lZ+fnxYvXqxp06bp/fffV1JSUpnr/f7773XXXXdpz549mj59uj7++GP16tVLTz/9tOMUzqX++te/6tChQ3rrrbf05ptvav/+/YqOjna6fmLevHnq2bOn8vPzHeN8+umndfToUUnSwIEDFRoaWihQXbhwQXPnzlW/fv2u6dRfz549VaVKFW3atKnYdX7++Wf16tVLXl5emj9/vlavXq3JkyfL19dXOTk5ql27tlavXi3p4mmTbdu2adu2bXrppZec+unfv79uvfVWffDBB5ozZ06Jde3evVtxcXF65plntGzZMkVE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3ofXokaNGrrpppvKfT8F6tatq6ioKC1atEjTp09XUlKSbr31VqeZwYULF2rIkCFKSEhw2va3335T9erVS+y/atWqRV44e/mxqFmzpmw2mzZv3uwIhZcqqq0knTt3lqenp5YvX67HH3+81PWv5dhe+n67tM5rfb/BPTGzgwrTvn17Va9eXd9//32hGaGCh5eXl+MOh6VLlzr9K+jUqVNauXKlU58hISGqWrWqvv32W6f2jz76yOm5j4+POnfurK+//lotWrQoct+X/wu/NBEREQoICNCcOXNKPZXUpk0bRUREaMqUKXr33Xc1dOhQ+fr6XtX+Lnf48GGNGzdOAQEBGjFixBVtU6VKFbVr185xwXTBKaUrmc24Gnv37tU333zj1LZo0SL5+fnpzjvvlCTH3T+XH7sVK1YU6s9ut19xbZGRkVq/fn2hu9zefvtt+fj4uORWdV9fX7Vr105Lly51qis/P18LFy5U3bp11bhx42vez6ViY2N18uRJvfzyy9q9e7eGDRtW6K60y8PGqlWrdOzYsVL7btiwoTIyMpwuMM7JydGaNWuc1uvdu7eMMTp27FiRn6HmzZtf1ZhCQ0P12GOPac2aNXr77beLXOfgwYOO90hkZKS+//77QqdC3377bdlsNnXu3LnEMUqF32+X/z8F1sDMDipMtWrVNHPmTMXExOjEiRN66KGHFBwcrF9//VXffPONfv31V82ePVuS9Le//U3333+/unXrprFjxyovL09TpkyRr6+vTpw44eiz4PqB+fPn65ZbblHLli311VdfadGiRYX2//rrr6tDhw6699579cQTT6hhw4Y6deqUDhw4oJUrV171+f5q1app+vTpeuyxx9S1a1f9+c9/VkhIiA4cOKBvvvlGs2bNclp/9OjRGjhwoGw2m0aOHHlV+9qzZ4/j+oiMjAxt3rxZSUlJqlKlipYtW+aYZSrKnDlztH79evXq1Uv169fX+fPnHd/PUvBlhH5+fmrQoIE++ugjRUZGKjAwUDVr1ryq26QvFRYWpj59+ig+Pl61a9fWwoULlZKSoilTpjiud7jrrrt02223ady4cbpw4YJq1KihZcuWacuWLYX6a968uZYuXarZs2erTZs2uummm4r9jqcJEybo448/VufOnfXyyy8rMDBQ7777rlatWqWpU6cqICCgTGO63KRJk9StWzd17txZ48aNk5eXl9544w3t2bNH77333lV/i3Vp+vTpo5o1a2ratGmqUqWKYmJinJb37t1bycnJuv3229WiRQvt3LlT06ZNu6LvQRo4cKBefvllPfzww3r22Wd1/vx5/fOf/yx0R1r79u31l7/8RcOGDdOOHTt03333ydfXV2lpadqyZYuaN2/uuEbtSiUmJuqnn37S0KFDtWbNGvXr108hISH67bfflJKSoqSkJC1evFgtWrTQM888o7ffflu9evXSK6+8ogYNGmjVqlV644039MQTT5QYMHv27KnAwEDFxsbqlVdekYeHh5KTk3XkyJGrqheVRAVeHA2LKO0OoYK7XD744IMil2/cuNH06tXLBAYGGk9PT1OnTh3Tq1evQuuvWLHCtGjRwnh5eZn69eubyZMnF3lHRWZmpnnsscdMSEiI8fX1NdHR0ebnn38u8u6i1NRUM3z4cFOnTh3j6elpatWqZSIiIsyrr75aav3F3fn13//+13Ts2NH4+voaHx8f07RpUzNlypRC487OzjZ2u93cf//9Rb4uRbn8zjcvLy8THBxsOnbsaBISEkxGRkahbYq6g6Zfv36mQYMGxm63m6CgINOxY0enu0eMMWbdunWmdevWxm63G0kmJibGqb9ff/211H0Zc/FOll69epkPP/zQ3HHHHcbLy8s0bNjQJCYmFtr+xx9/NFFRUcbf39/UqlXLjBo1yqxatarQ3VgnTpwwDz30kKlevbqx2WxO+yzqOH/33XcmOjraBAQEGC8vL9OyZctCx+1qj3NRNm/ebLp06WJ8fX2Nt7e3+cMf/mBWrlxZZH9lvRvrUs8880yRd5AZY8zJkydNbGysCQ4ONj4+PqZDhw5m8+bNpmPHjqZjx46F6inqfdyqVSvj7e1tbr75ZjNr1qxi72CaP3++adeunWPct9xyixkyZIjZsWNHmcZ14cIFs2DBAtOlSxcTGBhoPDw8TK1atUyPHj3MokWLTF5enmPdQ4cOmUGDBpmgoCDj6elpbrvtNjNt2jSndYwp+n3x1VdfmYiICOPr62vq1KljJkyYYN56660i78bq1atXoTolmSeffNKprajjGxMTY3x9fQttX9zrCdezGVPKfDvgxuLj4zVx4sRSTxu5o5UrV6pPnz5atWpVkd+GCwBwDU5jAdfZ999/r0OHDmns2LFq1aqVevToUdElAYClcYEycJ2NHDlS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3FmffPKJgoODdfDgQVWvXt2xztSpU5WYmKjk5GQ1btxYr776qrp166Z9+/bJz8/PJXUAAIDK66rCzk8//aSGDRtqz549uvPOOyVJP/74o9M6rjy9NWXKFNWrV09JSUmOtoYNGzr+2xijGTNm6MUXX1T//v0lSQsWLFBISIgWLVqkESNGuKwWALjRREe7vs+VK13fJ1CaqzqNFR4ert9++00bNmzQhg0bFBwcrMWLFzueb9iwQevXr3dZcStWrFDbtm31xz/+UcHBwWrdurX+/e9/O5anpqYqPT1dUVFRjja73a6OHTtq69atLqsDAABUXlcVdi7/VfNPPvlEZ86ccWlBl/rpp580e/ZshYeHa82aNXr88cf19NNPO77QMD09XZIUEhLitF1ISIhjWVGys7OVlZXl9AAAANZUpmt2ClweflwtPz9fbdu2VUJCgiSpdevW2rt3r2bPnq0hQ4Y41rv81JkxpsTTaZMmTeK2eQAAbhBXNbNjs9kKhYjyvAW9du3aatq0qVNbkyZNdPjwYUlSaGioJBWaxcnIyCg023Op8ePHKzMz0/E4cuSIiysHAADu4qpmdowxGjp0qOPHPs+fP6/HH3+80N1YS5cudUlx7du31759+5zafvzxRzVo0ECS1KhRI4WGhiolJUWtW7eWdPFOsY0bN2rKlCnF9mu32/nBUgAAbhBXFXZiYmKcnj/66KMuLeZyzzzzjCIiIpSQkKABAwboq6++0ptvvqk333xT0sVZpbi4OCUkJCg8PFzh4eFKSEiQj4+PBg0aVK61AQCAyuGqws6lt4BfD3fddZeWLVum8ePH65VXXlGjRo00Y8YMPfLII451nnvuOZ07d04jR47UyZMn1a5dO61du5bv2AEAAJKu8QLl66F3797q3bt3scttNpvi4+MVHx9//YoCAACVRpl+LgIAAKCyIOwAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wA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nTtXkrU/76WN/VJW+7y7CqexKiFjjJ566iktXbpU69evV6NGjZyWN2rUSKGhoUpJSXG05eTkaOPGjYqIiCi233vuucdpG0lau3ZtidtUhNLGL/3f//j279+vdevWKSgoqEz72b17t9Mfj4p2JWO/3O+//64jR46UOI7KcOyvZuzz5s1TmzZt1LJlyzLtx92Oe3GMMcrOzrb8Z74oBWOXrPt5L86lY7+cVT7vLldRU0oouyeeeMIEBASYzz77zKSlpTkeZ8+edawzefJkExAQYJYuXWq+++4786c//cnUrl3bZGVlOdYZPHiweeGFFxzPP//8c1OlShUzefJk88MPP5jJkycbDw8P88UXX1zX8ZWmtPHn5uaaPn36mLp165rdu3c7rZOdne3o5/Lxx8fHm9WrV5uDBw+ar7/+2gwbNsx4eHiYL7/88rqPsTiljf3UqVNm7NixZuvWrSY1NdVs2LDB3HPPPaZOnTqV/thfyfveGGMyMzONj4+PmT17dpH9VMbjbowx48ePN5s2bTKpqanm22+/NX/961/NTTfdZNauXWuMsfZnvqSxW/nzbkzJY7fy593VCDuVkKQiH0lJSY518vPzzYQJE0xoaKix2+3mvvvuM999951TPx07djQxMTFObR988IG57bbbjKenp7n99ttLPO9bUUobf2pqarHrbNiwwdHP5eOPi4sz9evXN15eXqZWrVomKirKbN269foOrhSljf3s2bMmKirK1KpVy3h6epr69eubmJgYc/jwYad+KuOxv5L3vTHGzJ0713h7e5v//e9/RfZTGY+7McYMHz7cNGjQwFFnZGSkI+gYY+3PfEljt/Ln3ZiSx27lz7ur2YwxpnznjgAAACoO1+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAsKxOnTopLi6uossAUMEIOwDcUnR0tLp27Vrksm3btslms2nXrl3XuSoAlRFhB4Bbio2N1fr163Xo0KFCy+bPn69WrVrpzjvvrIDKAFQ2hB0Abql3794KDg5WcnKyU/vZs2e1ZMkSPfDAA/rTn/6kunXrysfHR82bN9d7771XYp82m03Lly93aqtevbrTPo4dO6aBAweqRo0aCgoKUt++ffXzzz+7ZlAAKgRhB4Bb8vDw0JAhQ5ScnKxLf8Lvgw8+UE5Ojh577DG1adNGH3/8sfbs2aO//OUvGjx4sL788ssy7/Ps2bPq3LmzqlWrpk2bNmnLli2qVq2a7r//fuXk5LhiWAAqAGEHgNsaPny4fv75Z3322WeOtvnz56t///6qU6eOxo0bp1atWunmm2/WqFGj1L17d33wwQdl3t/ixYt100036a233lLz5s3VpEkTJSUl6fDhw041AKhcPCq6AAAozu23366IiAjNnz9fnTt31sGDB7V582atXbtWeXl5mjx5spYsWaJjx44pOztb2dnZ8vX1LfP+du7cqQMHDsjPz8+p/fz58zp48OC1DgdABSHsAHBrsbGxeuqpp/Svf/1LSUlJatCggSIjIzVt2jS99tprmjFjhpo3by5fX1/FxcWVeLrJZrM5nRKTpNzcXMd/5+fnq02bNnr33XcLbVurVi3XDQrAdUXYAeDWBgwYoNGjR2vRokVasGCB/vznP8tms2nz5s3q27evHn30UUkXg8r+/fvVpEmTYvuqVauW0tLSHM/379+vs2fPOp7feeedWrJkiYKDg+Xv719+gwJwXXHNDgC3Vq1aNQ0cOFB//etfdfz4cQ0dOlSSdOuttyolJUVbt27VDz/8oBEjRig9Pb3Evrp06aJZs2Zp165d2rFjhx5//HF5eno6lj/yyCOqWbOm+vbtq82bNys1NVUbN27U6NGjdfTo0fIcJoByRNgB4PZiY2N18uRJde3aVfXr15ckvfTSS7rzzjvVvXt3derUSaGhoXrggQdK7Gf69OmqV6+e7rvvPg0aNEjjxo2Tj4+PY7mPj482bdqk+vXrq3///mrSpImGDx+uc+fOMdMDVGI2c/kJbAAAAAthZgcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFgaYQcAAFja/we9Sb0EGeMhLAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "import pandas as pd\n", + "\n", + "ages2 = pd.read_csv(r\"C:\\Users\\User\\OneDrive\\Desktop\\Ironhack\\week 2\\Descriptive-Stats\\data\\ages_population2.csv\")\n", + "ages2\n", + "\n", + "df = pd.DataFrame(ages2)\n", + "\n", + "values = ages2['observation']\n", + "\n", + "frequency_distribution = values.value_counts().sort_index() \n", + "\n", + "plt.bar(frequency_distribution.index, frequency_distribution.values, color='b', alpha=0.7)\n", + "plt.xlabel(\"Value\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Frequency Distribution of 'Value' Column\")\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", + "This one is more symmetric, then the previous one\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": 10, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean is: observation 27.155\n", + "dtype: float64\n", + "Standard deviation is: 12.81649962597677\n" + ] + } + ], + "source": [ + "print(\"The mean is:\",ages2.mean())\n", + "\n", + "std_dev = stats.stdev(values) \n", + "print(\"Standard deviation is:\",std_dev)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The standard deviation is the same, while the mean is lower, which results to the chart being symmetric \n", + "compared to the first one, so the numbes are as expected.\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": 13, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAHFCAYAAADlrWMiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA/eUlEQVR4nO3deXxN1/7/8fcpciSRKCKTIVJTzVpaQ7XEVKEpor1UVWLobWsoRduLb6/oINTlaqu095agqnRAqdbQmr9oUbN+NdqYhygqakhI1u+PPnJ+jgTJEc7Zx+v5eOzHo3vtffb+rHNO4t21916xGWOMAAAALOwudxcAAABwswg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0AADA8gg0uK5p06bJZrPlugwZMsTd5XmVq9/rokWLKjQ0VFFRUUpMTFRqamqO1yQkJMhms+XrPOfPn1dCQoJWrlyZr9fldq4KFSrosccey9dxbmTWrFmaMGFCrttsNpsSEhIK9HwF7fvvv1f9+vXl7+8vm82m+fPn57rfvn37ZLPZHJ/DfffdpzJlyigzM/Oax37ooYcUFBSkjIyMPNWSfY5p06blsxf5Ex8fr2bNmuVp36ysLH388cdq2bKlgoKCVKRIEQUHB+uxxx7TwoULlZWVle/zW+F7gVuvsLsLgDUkJSXp3nvvdWoLDw93UzXeLfu9vnTpklJTU7V27VqNGTNG//rXvzRnzhy1bNnSsW/v3r3Vpk2bfB3//PnzGjlypCTl+R8hV8/lilmzZmnnzp0aOHBgjm3r169X2bJlb3kNrjLG6G9/+5uqVKmiBQsWyN/fX1WrVs3Ta3v16qX+/ftryZIlatu2bY7tv/zyi9atW6eBAwfKx8enoEu/LS5evKgOHTpo6dKl6tKliyZPnqzQ0FCdOHFCixcv1pNPPqk5c+aoffv27i4VFkSgQZ7UrFlT9evXz9O+ly5dks1mU+HCfL1ccfV73alTJ7300ktq0qSJYmNjlZycrJCQEElS2bJlb/k/8OfPn5efn99tOdeNNGzY0K3nv5EjR47o1KlT6tixo1q0aJGv1z799NN6+eWXNXXq1FwDzdSpUyVJPXv2LJBa3WHQoEFasmSJpk+fru7duztti42N1csvv6wLFy64qTpYHZeccFNWrlwpm82mjz/+WIMHD1aZMmVkt9u1d+9eSdJ3332nFi1aKDAwUH5+fnrooYf0/fff5zjOokWLVLduXdntdkVGRupf//pXjksc1xs+z23IOTk5WV27dlVwcLDsdruqVaum999/P9f6P/30Uw0fPlzh4eEKDAxUy5YttWfPnhznWbx4sVq0aKHixYvLz89P1apVU2JioiTp448/ls1m0/r163O87vXXX1eRIkV05MiRG76nuSlfvrzGjRuns2fP6sMPP3S053YZaPny5WrWrJlKlSolX19flS9fXp06ddL58+e1b98+lS5dWpI0cuRIx+Wt+Ph4p+P99NNPeuKJJ1SiRAlVrFjxmufKNm/ePNWuXVtFixbVPffco3fffddpe/bltH379jm1Z7//2ZddmjVrpkWLFmn//v1Ol9+y5fY579y5U+3bt1eJEiVUtGhR1a1bV9OnT8/1PHn9nHOzdu1atWjRQgEBAfLz81Pjxo21aNEix/aEhARH4Hv11Vdls9lUoUKFPB1bkkqUKKGOHTtq4cKFOnnypNO2zMxMffzxx3rggQdUq1Yt7d27Vz169FDlypXl5+enMmXKKCYmRjt27LjheeLj43OtK7fP1xijSZMmqW7duvL19VWJEiX0xBNP6Lfffstzv7IdO3ZMH330kR599NEcYSZb5cqVVbt2bcf6gQMH1K1bN6ef4XHjxt3wstS1vqu5fQ+zL5t+/fXXuu++++Tr66tq1arp66+/drymWrVq8vf314MPPqhNmzY5HTM+Pl7FihXT3r171bZtWxUrVkzlypXT4MGDlZ6ente3BwWAQIM8yczM1OXLl52WKw0dOlQHDhzQBx98oIULFyo4OFgzZ85U69atFRgYqOnTp+uzzz5TyZIl9eijjzqFmu+//17t27dXQECAZs+erbFjx+qzzz5TUlKSy/Xu3r1bDzzwgHbu3Klx48bp66+/Vrt27fTiiy86LrdcadiwYdq/f78++ugj/ec//1FycrJiYmKc7meYMmWK2rZtq6ysLEc/X3zxRR06dEiS1LlzZ4WGhuYITZcvX9aHH36ojh073tRlurZt26pQoUJavXr1NffZt2+f2rVrJx8fH02dOlWLFy/W6NGj5e/vr4yMDIWFhWnx4sWS/rrEsX79eq1fv16vvfaa03FiY2NVqVIlff755/rggw+uW9fWrVs1cOBAvfTSS5o3b54aN26sAQMG6F//+le++zhp0iQ99NBDCg0NddSWW0DMtmfPHjVu3Fi7du3Su+++q7lz56p69eqKj4/X22+/nWP/vHzOuVm1apWaN2+uM2fOaMqUKfr0008VEBCgmJgYzZkzR9Jfl+Tmzp0rSerfv7/Wr1+vefPmXfOYFSpUkDHG6bJfr169lJGRoZkzZzrtu2TJEh05ckS9evWS9NdIUKlSpTR69GgtXrxY77//vgoXLqwGDRrkOaDlxXPPPaeBAweqZcuWmj9/viZNmqRdu3apcePGOn78uGO/adOm3fCerBUrVujSpUvq0KFDns594sQJNW7cWEuXLtUbb7yhBQsWqGXLlhoyZIj69et3E73Kadu2bRo6dKheffVVzZ07V8WLF1dsbKxGjBihjz76SKNGjdInn3yiM2fO6LHHHssxinTp0iU9/vjjatGihb766iv17NlT//73vzVmzJgCrRM3YIDrSEpKMpJyXS5dumRWrFhhJJlHHnnE6XXnzp0zJUuWNDExMU7tmZmZpk6dOubBBx90tDVo0MCEh4ebCxcuONrS0tJMyZIlzZVf0ZSUFCPJJCUl5ahTkhkxYoRj/dFHHzVly5Y1Z86ccdqvX79+pmjRoubUqVPGGOOov23btk77ffbZZ0aSWb9+vTHGmLNnz5rAwEDTpEkTk5WVdc33a8SIEcbHx8ccP37c0TZnzhwjyaxateqarzPm/7/XGzduvOY+ISEhplq1ak7nu/I9+uKLL4wks3Xr1mse48SJEzner6uP989//vOa264UERFhbDZbjvO1atXKBAYGmnPnzjn1LSUlxWm/7Pd/xYoVjrZ27dqZiIiIXGu/uu4uXboYu91uDhw44LRfdHS08fPzM3/88YfTeW70OV9Lw4YNTXBwsDl79qyj7fLly6ZmzZqmbNmyju9E9nd07Nix1z3etWRlZZnIyEhTu3Ztp/ZOnToZPz+/HN/nK2vJyMgwlStXNi+99JKjPbefmbi4uFzf36s/3/Xr1xtJZty4cU77HTx40Pj6+ppXXnklX30bPXq0kWQWL16cp/3/8Y9/GEnmhx9+cGp/4YUXjM1mM3v27HG0Xf29yO27akzu38OIiAjj6+trDh065GjbunWrkWTCwsIc32FjjJk/f76RZBYsWOBoi4uLM5LMZ5995nSutm3bmqpVq+aprygYjNAgT2bMmKGNGzc6LVfeI9OpUyen/detW6dTp04pLi7OaVQnKytLbdq00caNG3Xu3DmdO3dOGzduVGxsrIoWLep4ffb//bri4sWL+v7779WxY0f5+fk5nb9t27a6ePGiNmzY4PSaxx9/3Gk9e9h7//79jv6kpaWpT58+132q6IUXXpAk/fe//3W0TZw4UbVq1dIjjzziUn+uZIy57va6devKx8dHf//73zV9+nSXLg1IOT/P66lRo4bq1Knj1Na1a1elpaXpp59+cun8ebV8+XK1aNFC5cqVc2qPj4/X+fPnc4zu3Ohzzs25c+f0ww8/6IknnlCxYsUc7YUKFdIzzzyjQ4cOFdioiM1mU48ePbR9+3Zt3rxZknTy5EktXLhQnTp1UmBgoKS/Rv1GjRql6tWry8fHR4ULF5aPj4+Sk5P1888/F0gtX3/9tWw2m7p16+b0MxQaGqo6derk+ym5/Fq+fLmqV6+uBx980Kk9Pj5exhgtX768wM5Vt25dlSlTxrFerVo1SX9dAvXz88vRfvX3xWaz5fh9Vbt27et+r1DwCDTIk2rVqql+/fpOy5XCwsKc1rOHo5944gkVKVLEaRkzZoyMMTp16pROnz6trKwshYaG5jhnbm15cfLkSV2+fFnvvfdejnNn32z5+++/O72mVKlSTut2u12SHEPLJ06ckKQb3hQbEhKizp0768MPP1RmZqa2b9+uNWvWFMgQ+blz53Ty5MnrXraqWLGivvvuOwUHB6tv376qWLGiKlasqHfeeSdf57r687ye6312V98LUtBOnjyZa63Z79HV57/R55yb06dPyxiTr/PcjB49euiuu+5yXHL95JNPlJGR4bjcJP11c+1rr72mDh06aOHChfrhhx+0ceNG1alTp8Buqj1+/LiMMQoJCcnxc7Rhw4YcP0M3Ur58eUlSSkpKnvbP72d7M0qWLOm0nv0U2bXaL1686NTu5+fn9D9k0l/frav3w63FYygoEFePWgQFBUmS3nvvvWs+mRISEuJ4IurYsWM5tl/dlv0L4+ob7a7+xVaiRAnH/z337ds313NHRkZepzc5Zd9Im32/zPUMGDBAH3/8sb766istXrxYd999t55++ul8nS83ixYtUmZm5g0ftX744Yf18MMPKzMzU5s2bdJ7772ngQMHKiQkRF26dMnTufIzt831PrvsAHGtzy6//yherVSpUjp69GiO9uybr7O/hzejRIkSuuuuu275ebKVLVtWrVu31qxZszRu3DglJSWpUqVKTiN8M2fOVPfu3TVq1Cin1/7++++6++67r3v8okWL5nqz6tWfRVBQkGw2m9asWeMIflfKre16oqKiVKRIEc2fP1/PP//8Dfe/mc/2yu/blXXe7PcNno0RGtwSDz30kO6++27t3r07x8hO9uLj4+N4cmDu3LlO/zdz9uxZLVy40OmYISEhKlq0qLZv3+7U/tVXXzmt+/n5KSoqSlu2bFHt2rVzPffV/6d+I40bN1bx4sX1wQcf3PCyT7169dS4cWONGTNGn3zyieLj4+Xv75+v813twIEDGjJkiIoXL67nnnsuT68pVKiQGjRo4LhJOfvyT15GJfJj165d2rZtm1PbrFmzFBAQoPvvv1+SHE/VXP3ZLViwIMfx7HZ7nmtr0aKFli9fnuPpsRkzZsjPz69AHvP29/dXgwYNNHfuXKe6srKyNHPmTJUtW1ZVqlS56fNcqVevXjp9+rT++c9/auvWrerRo0eOp72uDhSLFi3S4cOHb3jsChUqKDU11emm3oyMDC1ZssRpv8cee0zGGB0+fDjXn6FatWrlq0+hoaHq3bu3lixZohkzZuS6z6+//ur4jrRo0UK7d+/OcdlyxowZstlsioqKum4fpZzft6t/p8C7MEKDW6JYsWJ67733FBcXp1OnTumJJ55QcHCwTpw4oW3btunEiROaPHmyJOmNN95QmzZt1KpVKw0ePFiZmZkaM2aM/P39derUKccxs6/nT506VRUrVlSdOnX0448/atasWTnO/84776hJkyZ6+OGH9cILL6hChQo6e/as9u7dq4ULF+b7+nuxYsU0btw49e7dWy1bttSzzz6rkJAQ7d27V9u2bdPEiROd9h8wYIA6d+4sm82mPn365OtcO3fudNyvkJqaqjVr1igpKUmFChXSvHnzHKNFufnggw+0fPlytWvXTuXLl9fFixcd85dkT8gXEBCgiIgIffXVV2rRooVKliypoKCgfD1ifKXw8HA9/vjjSkhIUFhYmGbOnKlly5ZpzJgxjvsPHnjgAVWtWlVDhgzR5cuXVaJECc2bN09r167NcbxatWpp7ty5mjx5surVq6e77rrrmnMgjRgxQl9//bWioqL0z3/+UyVLltQnn3yiRYsW6e2331bx4sVd6tPVEhMT1apVK0VFRWnIkCHy8fHRpEmTtHPnTn366af5nq35Rh5//HEFBQVp7NixKlSokOLi4py2P/bYY5o2bZruvfde1a5dW5s3b9bYsWPzNE9Q586d9c9//lNdunTRyy+/rIsXL+rdd9/N8aTXQw89pL///e/q0aOHNm3apEceeUT+/v46evSo1q5dq1q1ajnuGcur8ePH67ffflN8fLyWLFmijh07KiQkRL///ruWLVumpKQkzZ49W7Vr19ZLL72kGTNmqF27dnr99dcVERGhRYsWadKkSXrhhReuGyLbtm2rkiVLqlevXnr99ddVuHBhTZs2TQcPHsxXvbAYN96QDAu40ZM32U+PfP7557luX7VqlWnXrp0pWbKkKVKkiClTpoxp165djv0XLFhgateubXx8fEz58uXN6NGjc31S4cyZM6Z3794mJCTE+Pv7m5iYGLNv375cn9pJSUkxPXv2NGXKlDFFihQxpUuXNo0bNzZvvvnmDeu/1hNV33zzjWnatKnx9/c3fn5+pnr16mbMmDE5+p2enm7sdrtp06ZNru9Lbq5+oszHx8cEBwebpk2bmlGjRpnU1NQcr8ntyZSOHTuaiIgIY7fbTalSpUzTpk2dnsowxpjvvvvO3HfffcZutxtJJi4uzul4J06cuOG5jPnrCZF27dqZL774wtSoUcP4+PiYChUqmPHjx+d4/S+//GJat25tAgMDTenSpU3//v3NokWLcjzldOrUKfPEE0+Yu+++29hsNqdz5vY579ixw8TExJjixYsbHx8fU6dOnRyfW34/59ysWbPGNG/e3Pj7+xtfX1/TsGFDs3DhwlyP5+pTTld66aWXcn0yyxhjTp8+bXr16mWCg4ONn5+fadKkiVmzZo1p2rSpadq0aY56cvse161b1/j6+pp77rnHTJw48ZpPBk2dOtU0aNDA0e+KFSua7t27m02bNrnUr8uXL5vp06eb5s2bm5IlS5rChQub0qVLm+joaDNr1iyTmZnp2Hf//v2ma9euplSpUqZIkSKmatWqZuzYsU77GJP79+LHH380jRs3Nv7+/qZMmTJmxIgR5qOPPsr1Kad27drlqFOS6du3r1Nbbp9vXFyc8ff3z/H6a72fuHVsxtxg/Bxwk4SEBI0cOfKGl3g80cKFC/X4449r0aJFuc76CgAoWFxyAgrQ7t27tX//fg0ePFh169ZVdHS0u0sCgDsCNwUDBahPnz56/PHHVaJEiVtybwUAIHdccgIAAJbHCA0AALA8Ag0AALA8Ag0AALA8r3/KKSsrS0eOHFFAQAA3aAIAYBHGGJ09e1bh4eG6664bj794faA5cuRIjr/ECwAArOHgwYN5mgXb6wNNQECApL/ekMDAQDdXAwAA8iItLU3lypVz/Dt+I14faLIvMwUGBhJoAACwmLzeLsJNwQAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIINAAAwPIKu7sAAJ4nJsZ5feFC99QBAHnFCA0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8Ag0AALA8twaayZMnq3bt2goMDFRgYKAaNWqkb7/91rE9Pj5eNpvNaWnYsKEbKwYAAJ6osDtPXrZsWY0ePVqVKlWSJE2fPl3t27fXli1bVKNGDUlSmzZtlJSU5HiNj4+PW2oFAACey62BJiYmxmn9rbfe0uTJk7VhwwZHoLHb7QoNDXVHeQAAwCI85h6azMxMzZ49W+fOnVOjRo0c7StXrlRwcLCqVKmiZ599VqmpqW6sEgAAeCK3jtBI0o4dO9SoUSNdvHhRxYoV07x581S9enVJUnR0tJ588klFREQoJSVFr732mpo3b67NmzfLbrfnerz09HSlp6c71tPS0m5LPwAAgPu4PdBUrVpVW7du1R9//KEvv/xScXFxWrVqlapXr67OnTs79qtZs6bq16+viIgILVq0SLGxsbkeLzExUSNHjrxd5QMAAA/g9ktOPj4+qlSpkurXr6/ExETVqVNH77zzTq77hoWFKSIiQsnJydc83tChQ3XmzBnHcvDgwVtVOgAA8BBuH6G5mjHG6ZLRlU6ePKmDBw8qLCzsmq+32+3XvBwFAAC8k1sDzbBhwxQdHa1y5crp7Nmzmj17tlauXKnFixfrzz//VEJCgjp16qSwsDDt27dPw4YNU1BQkDp27OjOsgEAgIdxa6A5fvy4nnnmGR09elTFixdX7dq1tXjxYrVq1UoXLlzQjh07NGPGDP3xxx8KCwtTVFSU5syZo4CAAHeWDQAAPIxbA82UKVOuuc3X11dLliy5jdUAAACrcvtNwQAAADeLQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyPQAMAACyvsLsLAOCdYmJyti1cWHD7A8CVGKEBAACWR6ABAACWR6ABAACWR6ABAACW59ZAM3nyZNWuXVuBgYEKDAxUo0aN9O233zq2G2OUkJCg8PBw+fr6qlmzZtq1a5cbKwYAAJ7IrYGmbNmyGj16tDZt2qRNmzapefPmat++vSO0vP322xo/frwmTpyojRs3KjQ0VK1atdLZs2fdWTYAAPAwbg00MTExatu2rapUqaIqVarorbfeUrFixbRhwwYZYzRhwgQNHz5csbGxqlmzpqZPn67z589r1qxZ7iwbAAB4GI+5hyYzM1OzZ8/WuXPn1KhRI6WkpOjYsWNq3bq1Yx+73a6mTZtq3bp11zxOenq60tLSnBYAAODd3B5oduzYoWLFislut+v555/XvHnzVL16dR07dkySFBIS4rR/SEiIY1tuEhMTVbx4ccdSrly5W1o/AABwP7cHmqpVq2rr1q3asGGDXnjhBcXFxWn37t2O7TabzWl/Y0yOtisNHTpUZ86ccSwHDx68ZbUDAADP4PY/feDj46NKlSpJkurXr6+NGzfqnXfe0auvvipJOnbsmMLCwhz7p6am5hi1uZLdbpfdbr+1RQMAAI/i9hGaqxljlJ6ersjISIWGhmrZsmWObRkZGVq1apUaN27sxgoBAICncesIzbBhwxQdHa1y5crp7Nmzmj17tlauXKnFixfLZrNp4MCBGjVqlCpXrqzKlStr1KhR8vPzU9euXd1ZNgAA8DBuDTTHjx/XM888o6NHj6p48eKqXbu2Fi9erFatWkmSXnnlFV24cEF9+vTR6dOn1aBBAy1dulQBAQHuLBsAAHgYtwaaKVOmXHe7zWZTQkKCEhISbk9BAADAkjzuHhoAAID8ItAAAADLI9AAAADLc/s8NADgipgY5/WFC91TBwDPwAgNAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwPAINAACwvMLuLgDAnSUmJmfbwoW3vw4A3oURGgAAYHkEGgAAYHkEGgAAYHkEGgAAYHkEGgAAYHluDTSJiYl64IEHFBAQoODgYHXo0EF79uxx2ic+Pl42m81padiwoZsqBgAAnsitgWbVqlXq27evNmzYoGXLluny5ctq3bq1zp0757RfmzZtdPToUcfyzTffuKliAADgidw6D83ixYud1pOSkhQcHKzNmzfrkUcecbTb7XaFhobe7vIAAIBFeNQ9NGfOnJEklSxZ0ql95cqVCg4OVpUqVfTss88qNTX1msdIT09XWlqa0wIAALybx8wUbIzRoEGD1KRJE9WsWdPRHh0drSeffFIRERFKSUnRa6+9pubNm2vz5s2y2+05jpOYmKiRI0feztIBj+GNs/AWRJ+s8r5cXacn1gh4Ko8JNP369dP27du1du1ap/bOnTs7/rtmzZqqX7++IiIitGjRIsXGxuY4ztChQzVo0CDHelpamsqVK3frCgcAAG7nEYGmf//+WrBggVavXq2yZcted9+wsDBFREQoOTk51+12uz3XkRsAAOC93BpojDHq37+/5s2bp5UrVyoyMvKGrzl58qQOHjyosLCw21AhAACwArfeFNy3b1/NnDlTs2bNUkBAgI4dO6Zjx47pwoULkqQ///xTQ4YM0fr167Vv3z6tXLlSMTExCgoKUseOHd1ZOgAA8CBuHaGZPHmyJKlZs2ZO7UlJSYqPj1ehQoW0Y8cOzZgxQ3/88YfCwsIUFRWlOXPmKCAgwA0VAwAAT+T2S07X4+vrqyVLltymagAAgFV51Dw0AAAAriDQAAAAy/OIx7YB3FpWmVjOqnh/AfdjhAYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFgegQYAAFieS4EmJSWloOsAAABwmUuBplKlSoqKitLMmTN18eLFgq4JAAAgX1wKNNu2bdN9992nwYMHKzQ0VM8995x+/PHHgq4NAAAgT1wKNDVr1tT48eN1+PBhJSUl6dixY2rSpIlq1Kih8ePH68SJEwVdJwAAwDXd1E3BhQsXVseOHfXZZ59pzJgx+vXXXzVkyBCVLVtW3bt319GjRwuqTgAAgGu6qUCzadMm9enTR2FhYRo/fryGDBmiX3/9VcuXL9fhw4fVvn37gqoTAADgmgq78qLx48crKSlJe/bsUdu2bTVjxgy1bdtWd931Vz6KjIzUhx9+qHvvvbdAiwUAAMiNS4Fm8uTJ6tmzp3r06KHQ0NBc9ylfvrymTJlyU8UBAADkhUuBJjk5+Yb7+Pj4KC4uzpXDA4BbxcTkbFu48OaP48oxYA0F9Z2B61y6hyYpKUmff/55jvbPP/9c06dPv+miAAAA8sOlQDN69GgFBQXlaA8ODtaoUaNuuigAAID8cCnQ7N+/X5GRkTnaIyIidODAgZsuCgAAID9cCjTBwcHavn17jvZt27apVKlSN10UAABAfrgUaLp06aIXX3xRK1asUGZmpjIzM7V8+XINGDBAXbp0KegaAQAArsulp5zefPNN7d+/Xy1atFDhwn8dIisrS927d+ceGgAAcNu5FGh8fHw0Z84cvfHGG9q2bZt8fX1Vq1YtRUREFHR9AAAAN+RSoMlWpUoVValSpaBqAQAAcIlLgSYzM1PTpk3T999/r9TUVGVlZTltX758eYEUBwAAkBcuBZoBAwZo2rRpateunWrWrCmbzVbQdQG4DbxxJltv7FNumJkWcOZSoJk9e7Y+++wztW3btqDrAQAAyDeXHtv28fFRpUqVCroWAAAAl7gUaAYPHqx33nlHxpiCrgcAACDfXLrktHbtWq1YsULffvutatSooSJFijhtnzt3boEUBwAAkBcujdDcfffd6tixo5o2baqgoCAVL17cacmrxMREPfDAAwoICFBwcLA6dOigPXv2OO1jjFFCQoLCw8Pl6+urZs2aadeuXa6UDQAAvJRLIzRJSUkFcvJVq1apb9++euCBB3T58mUNHz5crVu31u7du+Xv7y9JevvttzV+/HhNmzZNVapU0ZtvvqlWrVppz549CggIKJA6AACAtbk8sd7ly5e1cuVK/frrr+ratasCAgJ05MgRBQYGqlixYnk6xuLFi53Wk5KSFBwcrM2bN+uRRx6RMUYTJkzQ8OHDFRsbK0maPn26QkJCNGvWLD333HOulg8AALyIS5ec9u/fr1q1aql9+/bq27evTpw4Iemv0ZQhQ4a4XMyZM2ckSSVLlpQkpaSk6NixY2rdurVjH7vdrqZNm2rdunW5HiM9PV1paWlOCwAA8G4uT6xXv359bdu2TaVKlXK0d+zYUb1793apEGOMBg0apCZNmqhmzZqSpGPHjkmSQkJCnPYNCQnR/v37cz1OYmKiRo4c6VINAPKPCd4AeAKXn3L63//9X/n4+Di1R0RE6PDhwy4V0q9fP23fvl1r167Nse3qmYiNMdecnXjo0KEaNGiQYz0tLU3lypVzqSYAAGANLgWarKwsZWZm5mg/dOiQSzfq9u/fXwsWLNDq1atVtmxZR3toaKikv0ZqwsLCHO2pqak5Rm2y2e122e32fNcAAACsy6V7aFq1aqUJEyY41m02m/7880+NGDEiX38OwRijfv36ae7cuVq+fLkiIyOdtkdGRio0NFTLli1ztGVkZGjVqlVq3LixK6UDAAAv5NIIzb///W9FRUWpevXqunjxorp27ark5GQFBQXp008/zfNx+vbtq1mzZumrr75SQECA456Z4sWLy9fXVzabTQMHDtSoUaNUuXJlVa5cWaNGjZKfn5+6du3qSukAAMALuRRowsPDtXXrVn366af66aeflJWVpV69eunpp5+Wr69vno8zefJkSVKzZs2c2pOSkhQfHy9JeuWVV3ThwgX16dNHp0+fVoMGDbR06VLmoAEAAA4uz0Pj6+urnj17qmfPni6fPC9/C8pmsykhIUEJCQkunwcAAHg3lwLNjBkzrru9e/fuLhUDAADgCpfnobnSpUuXdP78efn4+MjPz49AAwAAbiuXnnI6ffq00/Lnn39qz549atKkSb5uCgYAACgILt9Dc7XKlStr9OjR6tatm/7v//6voA4LWNbVM+i6Mnsus/ACnuVW/0wWxO+NO5VLIzTXUqhQIR05cqQgDwkAAHBDLo3QLFiwwGndGKOjR49q4sSJeuihhwqkMAAAgLxyKdB06NDBad1ms6l06dJq3ry5xo0bVxB1AQAA5JnLf8sJAADAUxToPTQAAADu4NIIzaBBg/K87/jx4105BQAAQJ65FGi2bNmin376SZcvX1bVqlUlSb/88osKFSqk+++/37GfzWYrmCoBAACuw6VAExMTo4CAAE2fPl0lSpSQ9Ndkez169NDDDz+swYMHF2iRAAAA1+NSoBk3bpyWLl3qCDOSVKJECb355ptq3bo1gQa4xZhw787BZw3kjUs3Baelpen48eM52lNTU3X27NmbLgoAACA/XAo0HTt2VI8ePfTFF1/o0KFDOnTokL744gv16tVLsbGxBV0jAADAdbl0yemDDz7QkCFD1K1bN126dOmvAxUurF69emns2LEFWiAAAMCNuBRo/Pz8NGnSJI0dO1a//vqrjDGqVKmS/P39C7o+AACAG7qpifWOHj2qo0ePqkqVKvL395cxpqDqAgAAyDOXAs3JkyfVokULValSRW3bttXRo0clSb179+YJJwAAcNu5FGheeuklFSlSRAcOHJCfn5+jvXPnzlq8eHGBFQcAAJAXLt1Ds3TpUi1ZskRly5Z1aq9cubL2799fIIUBAADklUsjNOfOnXMamcn2+++/y26333RRAAAA+eHSCM0jjzyiGTNm6I033pD0199sysrK0tixYxUVFVWgBQLexMqzvlq59oJi5ffAyrVb2bXedz6PgudSoBk7dqyaNWumTZs2KSMjQ6+88op27dqlU6dO6X//938LukYAAIDrcumSU/Xq1bV9+3Y9+OCDatWqlc6dO6fY2Fht2bJFFStWLOgaAQAArivfIzSXLl1S69at9eGHH2rkyJG3oiYAAIB8yfcITZEiRbRz507ZbLZbUQ8AAEC+uXTJqXv37poyZUpB1wIAAOASl24KzsjI0EcffaRly5apfv36Of6G0/jx4wukOAAAgLzIV6D57bffVKFCBe3cuVP333+/JOmXX35x2odLUQAA4HbLV6CpXLmyjh49qhUrVkj6608dvPvuuwoJCbklxQEAAORFvu6hufqvaX/77bc6d+5cgRYEAACQXy7dFJzt6oADAADgDvkKNDabLcc9MtwzAwAA3C1f99AYYxQfH+/4A5QXL17U888/n+Mpp7lz5xZchQAAADeQr0ATFxfntN6tW7cCLQYAAMAV+Qo0SUlJt6oOAAAAl93UTcE3a/Xq1YqJiVF4eLhsNpvmz5/vtD0+Pt5x30720rBhQ/cUCwAAPJZbA825c+dUp04dTZw48Zr7tGnTRkePHnUs33zzzW2sEAAAWIFLf/qgoERHRys6Ovq6+9jtdoWGht6migAAgBW5dYQmL1auXKng4GBVqVJFzz77rFJTU6+7f3p6utLS0pwWAADg3dw6QnMj0dHRevLJJxUR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WrRo4QgzxnhHH6/n6kDjLf3NnpOjSJEiJjw83MTGxppdu3Y5tntLP40xZuHChaZmzZrGbrebe++91/znP/9x2u5NfV2yZImRZPbs2ZNjmzf1My0tzQwYMMCUL1/eFC1a1Nxzzz1m+PDhJj093bFPQfTXZowxrg4jAQAAeALuoQEAAJZHoAEAAJZHoAEAAJZHoAEAAJZHoAEAAJZHoAEAAJZHoAEAAJZHoAFgSc2aNdPAgQPdXQYAD0GgAXDbxcTEqGXLlrluW79+vWw2m3766afbXBUAKyPQALjtevXqpeXLl2v//v05tk2dOlV169bV/fff74bKAFgVgQbAbffYY48pODhY06ZNc2o/f/685syZow4dOuipp55S2bJl5efnp1q1aunTTz+97jFtNpvmz5/v1Hb33Xc7nePw4cPq3LmzSpQooVKlSql9+/bat29fwXQKgFsRaADcdoULF1b37t01bdo0Xfnn5D7//HNlZGSod+/eqlevnr7++mvt3LlTf//73/XMM8/ohx9+cPmc58+fV1RUlIoVK6bVq1dr7dq1KlasmNq0aaOMjIyC6BYANyLQAHCLnj17at++fVq5cqWjberUqYqNjVWZMmU0ZMgQ1a1bV/fcc4/69++vRx99VJ9//rnL55s9e7buuusuffTRR6pVq5aqVaumpKQkHThwwKkGANZU2N0FALgz3XvvvWrcuLGmTp2qqKgo/frrr1qzZo2WLl2qzMxMjR49WnPmzNHhw4eVnp6u9PR0+fv7u3y+zZs3a+/evQoICHBqv3jxon799deb7Q4ANyPQAHCbXr16qV+/fnr//feVlJSkiIgItWjRQmPHjtW///1vTZgwQbVq1ZK/v78GDhx43UtDNpvN6fKVJF26dMnx31lZWapXr54++eSTHK8tXbp0wXUKgFsQaAC4zd/+9jcNGDBAs2bN0vTp0/Xss8/KZrNpzZo1at++vbp16ybprzCSnJysatWqXfNYpUuX1tGjRx3rycnJOn/+vGP9/vvv15w5cxQcHKzAwMBb1ykAbsE9NADcplixYurcubOGDRumI0eOKD4+XpJUqVIlLVu2TOvWrdPPP/+s5557TseOHbvusZo3b66JEyfqp59+0qZNm/T888+rSJEiju1PP/20goKC1L59e61Zs0YpKSlatWqVBgwYoEOHDt3KbgK4DQg0ANyqV69eOn36tFq2bKny5ctLkl577TXdf//9evTRR9WsWTOFhoaqQ4cO1z3OuHHjVK5cOT3yyCPq2rWrhgwZIj8/P8d2Pz8/rV69WuXLl1dsbKyqVaumnj176sKFC4zYAF7AZq6+6AwAAGAxjNAAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADLI9AAAADL+38yYilvbN/DaQAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "ages3 = pd.read_csv(r\"C:\\Users\\User\\OneDrive\\Desktop\\Ironhack\\week 2\\Descriptive-Stats\\data\\ages_population3.csv\")\n", + "ages3\n", + "\n", + "df = pd.DataFrame(ages2)\n", + "\n", + "values = ages3['observation']\n", + "\n", + "frequency_distribution = values.value_counts().sort_index() \n", + "\n", + "plt.bar(frequency_distribution.index, frequency_distribution.values, color='b', alpha=0.7)\n", + "plt.xlabel(\"Value\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Frequency Distribution of 'Value' Column\")\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": 14, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean is: observation 41.989\n", + "dtype: float64\n", + "Standard deviation is: 16.14470595986593\n" + ] + } + ], + "source": [ + "print(\"The mean is:\",ages3.mean())\n", + "\n", + "std_dev = stats.stdev(values) \n", + "print(\"Standard deviation is:\",std_dev)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The standard deviation is higher then the previous ones, and the chart is negatively skewed.\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": 17, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the first quartile is 30.0\n", + "the second quartile is 40.0\n", + "the third quartile is 53.0\n" + ] + } + ], + "source": [ + "q1 = np.quantile(ages3, 0.25)\n", + "print(\"the first quartile is\", q1)\n", + "q2 = np.quantile(ages3, 0.50)\n", + "print(\"the second quartile is\",q2)\n", + "q3 = np.quantile(ages3, 0.75)\n", + "print(\"the third quartile is\", q3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The difference between the median and mean is 1.989. The chart is negatively skewed when the 3rd and 4th quartile is higher then the other two.\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": "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": 2 +}