diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..0a47ec6 Binary files /dev/null and b/.DS_Store differ diff --git a/your-code/.DS_Store b/your-code/.DS_Store new file mode 100644 index 0000000..8976db0 Binary files /dev/null and b/your-code/.DS_Store differ diff --git a/your-code/.ipynb_checkpoints/Lab_descriptive_statistics.ipynb b/your-code/.ipynb_checkpoints/Lab_descriptive_statistics.ipynb new file mode 100644 index 0000000..be0145b --- /dev/null +++ b/your-code/.ipynb_checkpoints/Lab_descriptive_statistics.ipynb @@ -0,0 +1,3661 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Understanding Descriptive Statistics\n", + "\n", + "Import the necessary libraries here:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Libraries\n", + "import pandas as pd\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": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Method saw in lab class with Jesus \n", + "\n", + "import random\n", + "\n", + "def dice_throw(n):\n", + " return pd.DataFrame({'Number':[random.choice(np.arange(1, 7, 1)) for i in range(n)]}) #give a set of value to random choice\n" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "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", + "
Number
11
23
31
43
52
64
74
83
96
106
\n", + "
" + ], + "text/plain": [ + " Number\n", + "1 1\n", + "2 3\n", + "3 1\n", + "4 3\n", + "5 2\n", + "6 4\n", + "7 4\n", + "8 3\n", + "9 6\n", + "10 6" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dice_values = dice_throw(10)\n", + "\n", + "# Reset the index to start from 1\n", + "dice_values = dice_values.reset_index(drop=True)\n", + "\n", + "# Increment the index by 1 to start from 1\n", + "dice_values.index += 1\n", + "\n", + "dice_values" + ] + }, + { + "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", + "
Number
04
15
25
35
46
54
63
73
84
94
\n", + "
" + ], + "text/plain": [ + " Number\n", + "0 4\n", + "1 5\n", + "2 5\n", + "3 5\n", + "4 6\n", + "5 4\n", + "6 3\n", + "7 3\n", + "8 4\n", + "9 4" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "import random\n", + "\n", + "\n", + "def rolling_dice():\n", + " return pd.DataFrame({'Number': random.choices(range(1, 7), k=10)}) #6 angles of the dice, rolling 10 times\n", + "\n", + "dice_rolls = rolling_dice()\n", + "\n", + "dice_rolls.head(10)\n", + "\n", + "#pd.DataFrame important :\n", + "\n", + "#DataFrame = tableau Excel, possible de faire des modifications\n", + "#(diff tableau algorythmique qui est non modifiable)\n", + "#Dataframe peut contenir str, float, int." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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9HQEBgbKjkFERESVcOnSpcfOjGzSRaV4avNLly4ZfLpuIiIiqh5qtRqBgYHl+swrky4qxZd7XFxcWFSIiIhMTHmGbXAwLRERERktFhUiIiIyWiwqREREZLRYVIiIiMhosagQERGR0WJRISIiIqPFokJERERGi0WFiIiIjBaLChERERktFhUiIiIyWtKLSlpaGp5//nm4u7vDwcEBEREROHz4sOxYREREZASkftbPrVu30LZtW3Ts2BG//fYbvLy8cObMGdSqVUtmLCIiIjISUovKhx9+iMDAQCxfvly/rF69evICERERGcD12xrkFWhlxzAIexsruDuppO1falH5+eef8cwzz+C5557Drl274O/vj5deegnjx48vc32NRgONRqN/rFarayoqERFRufwYdwmvrU2SHcNg+oT74fNhkdL2L7WonD17FkuXLsXUqVMxY8YMHDx4EBMnToRKpcLIkSNLrT937lzMnj1bQlIiIqLHE0Lgm73nAAA2VgooFQrJiarO2kruMSiEEELWzm1tbdGyZUvs27dPv2zixImIi4vD/v37S61f1hmVwMBAZGdnw8XFpUYyExERPcyxtGz0+mIvbK2ViHuzC1ztbWRHMkpqtRqurq7lev+WetePr68vmjVrVmJZ06ZNcfHixTLXV6lUcHFxKfFFRERkLNYcvgwA6NbMmyXFQKQWlbZt2+LUqVMllp0+fRp169aVlIiIiKhy8gt12JiYBgAY2CJAchrzIbWoTJkyBQcOHMCcOXOQmpqK2NhYfPXVV4iJiZEZi4iIqMJ2nMrErTsF8HJW4emGHrLjmA2pReWJJ57A+vXrsWrVKjRv3hzvvfcePv30U4wYMUJmLCIiogorvuzTP9If1lbS51M1G1Lv+gGAXr16oVevXrJjEBERVdqN2xrsOJkJgJd9DI2Vj4iIqIo2JqajUCcQFuCKxt7OsuOYFRYVIiKiKlobX3TZZ2AUz6YYGosKERFRFSRfUeN4uho2Vgr0CfeTHcfssKgQERFVwdp7g2g7B3ujtqOt5DTmh0WFiIiokgq0OmxITAcADOIg2mrBokJERFRJu09fw/XbGrg72qJDE0/ZccwSiwoREVElFQ+i7RvhDxvOnVIt+KoSERFVQtadfPx+omjuFF72qT4sKkRERJWw6Ug68rU6NPV1QTM/fkhudWFRISIiqoQ18UUfQMiz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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Jesus' method\n", + "\n", + "#Here sort it by value, not frequency distribution\n", + "dice = dice_values.sort_values(by='Number').reset_index()['Number'] \n", + "#by = name of the column\n", + "#reset index so we have value count plot (otherwise we have plot as we would not done value count as \n", + "#we reset the number)\n", + "\n", + "#After resetting the index, we select the 'Number' column using square brackets, \n", + "#which returns a Series containing only the 'Number' column. \n", + "#This is useful to work with the sorted and reset 'Number' values as a 1-D data structure (Series) \n", + "#rather than a 2-D DataFrame.\n", + "\n", + "\n", + "#Step 2 - Set parameters \n", + "plt.plot(range(1, len(dice) + 1), dice)\n", + "\n", + "# Set x-axis ticks starting from 1 with a step of 1\n", + "plt.xticks(range(1, len(dice) + 1))\n", + "\n", + "# Set y-axis ticks starting from 1 with a step of 1\n", + "plt.yticks(range(1, int(dice.max()) + 1))\n", + "\n", + "\n", + "plt.xlabel(\"Index\")\n", + "plt.ylabel(\"Number\")\n", + "plt.title(\"Plot of Sorted 'Number' Values\")\n", + "\n", + "plt.show()\n", + "\n", + "#Here we create a new dataframe, we sort it by column, we reset the index (we wanna get rid of the first column indexed)\n", + "#we give the column name in which we wanna put this value \n", + "#after the reset we add [name of the column] because we put the column values in it." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plot explanation :\n", + "\n", + "1. The x-axis (horizontal) represents the index values of the DataFrame after resetting the index. These values start from 0 and go up to 9, which correspond to the sorted positions of the 'Number' values in the DataFrame.\n", + "\n", + "2. The y-axis (vertical) represents the actual 'Number' values in your DataFrame, which have been sorted in ascending order.\n", + "\n", + "The plot itself consists of points connected by lines. Each point on the plot represents a 'Number' value from your DataFrame, and the lines connect these points in ascending order." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1\n", + "1 1\n", + "2 2\n", + "3 3\n", + "4 3\n", + "5 3\n", + "6 4\n", + "7 4\n", + "8 6\n", + "9 6\n", + "Name: Number, dtype: int64" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dice #Check we now we have the column sorted by ascending order" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'whiskers': [,\n", + " ],\n", + " 'caps': [,\n", + " ],\n", + " 'boxes': [],\n", + " 'medians': [],\n", + " 'fliers': [],\n", + " 'means': []}" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGdCAYAAABO2DpVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAPmElEQVR4nO3dX4iV9Z/A8c9R6aQ2M5UUOXlyShJHzUqLEtkLywg3JYK6CKcklvhBgpVEkQQpmVNX20UgWVEXUkKI0o0SXWgsZelIIOKklm7WtP5ot+aMfzqxevbiR0Pzy1k9M5+Z4+jrBSHnmefP5yaeN9955jyFarVaDQCABKPqPQAAcPEQFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAmjHDfcEzZ85EV1dXNDQ0RKFQGO7LAwADUK1Wo6enJ5qbm2PUqP7XJYY9LLq6uqJUKg33ZQGABEePHo1Jkyb1+/NhD4uGhoaI+MdgjY2Nw315AGAAyuVylEql3vt4f4Y9LP749UdjY6OwAIAR5lyPMXh4EwBIIywAgDTCAgBIIywAgDTCAgBIIywAgDTCAgBIIywAgDTCAgBIU3NY/Pjjj9HW1hYTJkyIcePGxW233RYdHR1DMRsAMMLU9JXev/zyS8ybNy/mz58fW7dujWuvvTa+/fbbuPLKK4doPABgJKkpLF5//fUolUrx3nvv9W5raWnJngkAGKFqCouPP/447r///njkkUdix44dcf3118dTTz0VTz75ZL/HVCqVqFQqvZ/L5fLApwXSnTx5Mjo7O1POderUqThy5Ei0tLTE2LFjB32+adOmxbhx4xImA4ZLTWHx3Xffxbp162LFihWxcuXK+Oqrr2L58uVRLBbj8ccfP+sx7e3tsXr16pRhgXydnZ0xZ86ceo9xVh0dHTF79ux6jwHUoFCtVqvnu/Nll10Wd9xxR3z++ee925YvXx67du2KL7744qzHnG3FolQqRXd3t9emwwUgc8Vi//790dbWFhs2bIjW1tZBn8+KBVw4yuVyNDU1nfP+XdOKxcSJE2P69Ol9trW2tsamTZv6PaZYLEaxWKzlMsAwGjduXPqqQGtrq5UGuETV9Oem8+bNi2+++abPtgMHDsTkyZNThwIARqaawuLZZ5+NnTt3xtq1a+PQoUPxwQcfxPr162PZsmVDNR8AMILUFBZ33nlnbN68OT788MOYOXNmvPLKK/HGG2/EkiVLhmo+AGAEqekZi4iIRYsWxaJFi4ZiFgBghPOuEAAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgTU1hsWrVqigUCn3+u+6664ZqNgBghBlT6wEzZsyITz/9tPfz6NGjUwcCAEaumsNizJgxVikAgLOqOSwOHjwYzc3NUSwW46677oq1a9fGTTfd1O/+lUolKpVK7+dyuTywSYE+Dh48GD09PfUeo4/9+/f3+fdC0dDQEDfffHO9x4BLQqFarVbPd+etW7fGyZMnY+rUqXHs2LFYs2ZNdHZ2xr59+2LChAlnPWbVqlWxevXqv2zv7u6OxsbGgU8Ol7CDBw/G1KlT6z3GiHLgwAFxAYNQLpejqanpnPfvmsLin504cSKmTJkSzz//fKxYseKs+5xtxaJUKgkLGIQ9e/bEnDlzYsOGDdHa2lrvcXqdOnUqjhw5Ei0tLTF27Nh6jxMR/1g9aWtri46Ojpg9e3a9x4ER63zDouZfhfzZ+PHj45ZbbomDBw/2u0+xWIxisTiYywD9aG1tveBulvPmzav3CEAdDep7LCqVSuzfvz8mTpyYNQ8AMILVFBbPPfdc7NixIw4fPhxffvllPPzww1Eul2Pp0qVDNR8AMILU9KuQH374IR599NH4+eef45prrom77747du7cGZMnTx6q+QCAEaSmsNi4ceNQzQEAXAS8KwQASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASDOosGhvb49CoRDPPPNM0jgAwEg24LDYtWtXrF+/PmbNmpU5DwAwgg0oLI4fPx5LliyJt99+O6666qrsmQCAEWrMQA5atmxZPPDAA7FgwYJYs2bN/7tvpVKJSqXS+7lcLg/kksCf/NbzP3H7daPiP3d+HGN/PVDvcXpVKpXo6uqK5ubmKBaL9R4nIiL+6/DhuP26UVH439/qPQpcEmoOi40bN8aePXti165d57V/e3t7rF69uubBgP4d2/cfsedvV0T8/d8j/l7vafq6LSLiaJ2H+JPWiPjXv10R31f/u96jwCWhprA4evRoPP300/HJJ5/E5Zdffl7HvPjii7FixYrez+VyOUqlUm1TAn38y0P/Fps3R7S0tJz3/4vD4fDhw/HSSy/FmjVr4sYbb6z3OL3Gjx8fN9x+b73HgEtCoVqtVs935y1btsRDDz0Uo0eP7t12+vTpKBQKMWrUqKhUKn1+djblcjmampqiu7s7GhsbBz45cMHZs2dPzJkzJzo6OmL27Nn1HgdIdL7375pWLO69997Yu3dvn21PPPFETJs2LV544YVzRgUAcHGrKSwaGhpi5syZfbaNHz8+JkyY8JftAMClxzdvAgBpBvTnpn+2ffv2hDEAgIuBFQsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAIE1NYbFu3bqYNWtWNDY2RmNjY8ydOze2bt06VLMBACNMTWExadKkeO2112L37t2xe/fuuOeee+LBBx+Mffv2DdV8AMAIMqaWnRcvXtzn86uvvhrr1q2LnTt3xowZM1IHAwBGnprC4s9Onz4dH330UZw4cSLmzp3b736VSiUqlUrv53K5PNBLAkPg5MmT0dnZmXKu/fv39/l3sKZNmxbjxo1LORcwPGoOi71798bcuXPjt99+iyuuuCI2b94c06dP73f/9vb2WL169aCGBIZOZ2dnzJkzJ/WcbW1tKefp6OiI2bNnp5wLGB6FarVareWA33//Pb7//vv49ddfY9OmTfHOO+/Ejh07+o2Ls61YlEql6O7ujsbGxsFNDwxa5orFqVOn4siRI9HS0hJjx44d9PmsWMCFo1wuR1NT0znv3zWHxT9bsGBBTJkyJd56663UwQCAC8f53r8H/T0W1Wq1z4oEAHDpqukZi5UrV8bChQujVCpFT09PbNy4MbZv3x7btm0bqvkAgBGkprA4duxYPPbYY/HTTz9FU1NTzJo1K7Zt2xb33XffUM0HAIwgNYXFu+++O1RzAAAXAe8KAQDSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADS1PTNmxn+eJlquVwe7ksDAAP0x337XC9FH/aw6OnpiYiIUqk03JcGAAapp6cnmpqa+v15oXqu9Eh25syZ6OrqioaGhigUCsN5aWCIlcvlKJVKcfTo0WhsbKz3OECiarUaPT090dzcHKNG9f8kxbCHBXDxKpfL0dTUFN3d3cICLlEe3gQA0ggLACCNsADSFIvFePnll6NYLNZ7FKBOPGMBAKSxYgEApBEWAEAaYQEApBEWAEAaYQEM2meffRaLFy+O5ubmKBQKsWXLlnqPBNSJsAAG7cSJE3HrrbfGm2++We9RgDob9peQARefhQsXxsKFC+s9BnABsGIBAKQRFgBAGmEBAKQRFgBAGmEBAKTxVyHAoB0/fjwOHTrU+/nw4cPx9ddfx9VXXx033HBDHScDhpu3mwKDtn379pg/f/5fti9dujTef//94R8IqBthAQCk8YwFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaf4PMLHRcNLeq7QAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Boxplot\n", + "\n", + "# your code here\n", + "sorted_rolls = dice_rolls['Number'].sort_values()\n", + "\n", + "plt.yticks([1,2,3,4,5,6]) #add all values for the plot\n", + "\n", + "plt.boxplot(sorted_rolls)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Line plot:\n", + "It is often used to visualize the trend or pattern in data over a continuous or ordered variable, such as time.\n", + "\n", + "Boxplot (more useful for data summary and comparisons):\n", + "used to visualize the distribution and summary statistics of a dataset.\n", + "useful for comparing the distribution of data between different categories or groups and for identifying the presence of outliers.\n", + "\n" + ] + }, + { + "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": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Define the bin edges to center the bars between integers\n", + "bin_edges = [i - 0.5 for i in range(1, 8)] # Centered between 1 and 6\n", + "\n", + "# Create the histogram with centered columns\n", + "hist_values, bin_edges, _ = plt.hist(dice, bins=bin_edges, rwidth=0.8)\n", + "\n", + "# Calculate the median\n", + "median = np.median(dice)\n", + "\n", + "# Set the y-axis ticks with a step of 1, considering the maximum count in the histogram\n", + "plt.yticks(range(1, int(max(hist_values)) + 1))\n", + "\n", + "plt.xlabel(\"Number\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Histogram of 'Number' Values\")\n", + "\n", + "# Display the median as text on the plot\n", + "plt.text(median, 1, f\"Median: {median}\", ha='center', va='bottom', fontsize=12)\n", + "\n", + "plt.show()\n", + "\n", + "#The [0] is used to access the first element of the return value from plt.hist. \n", + "#The plt.hist function returns a tuple of values, and we're interested in the first element of that tuple, \n", + "#which contains the frequency counts of the histogram.\n", + "\n", + "#plt.hist returns tuples containing 3 elements :\n", + "\n", + "#The histogram values (frequency counts in each bin).\n", + "#The bin edges.\n", + "#The patches (the individual bars in the histogram).\n" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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N07OnX6zLgAAqBjZ2dkKDAy0/h6/ld9cuCm6FVWzZk3CDQAAd5nSTClhQjEAADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVp4abhQsXqlWrVtavQoiIiNCGDRtuOWbbtm1q3769PDw8dO+992rRokUVVC0AALgbODXcBAQEaMaMGUpNTVVqaqoefvhh9e7dW4cOHSqx/8mTJxUbG6vOnTtr7969mjRpksaMGaPk5OQKrhwAAFRWFsMwDGcX8Ut16tTR7NmzNWzYsGLb/v73v2vt2rU6fPiwtS0uLk779+/Xjh07SrX/7OxseXt76/Lly3xxJgAAd4my/P6uNHNuCgoK9M477+jatWuKiIgosc+OHTsUExNj09a9e3elpqYqLy+vIsoEAACVnIuzCzh48KAiIiJ0/fp11ahRQ6tXr1bz5s1L7JuVlSVfX1+bNl9fX+Xn5+vChQvy8/MrNiYnJ0c5OTnW9ezsbMceAAAAqFScHm5CQ0O1b98+Xbp0ScnJyRo0aJC2bdt204BjsVhs1ovuqv26vUhiYqKmTp3q2KKBChb87Dpnl3DXODXjEWeXAMDJnH5bys3NTY0aNVJ4eLgSExPVunVrvfLKKyX2bdCggbKysmzazp8/LxcXF9WtW7fEMRMnTtTly5etS0ZGhsOPAQAAVB5Ov3Lza4Zh2NxG+qWIiAh9+OGHNm2bNm1SeHi4XF1dSxzj7u4ud3d3h9cJAAAqJ6deuZk0aZI+++wznTp1SgcPHtRzzz2nlJQU9e/fX9KNqy4DBw609o+Li1NaWpri4+N1+PBhLV26VEuWLFFCQoKzDgEAAFQyTr1yc+7cOT311FPKzMyUt7e3WrVqpY0bN6pbt26SpMzMTKWnp1v7h4SEaP369Ro/frwWLFggf39/zZ8/X3379nXWIQAAgEqm0n3OTXnjc25wN2JCcekxoRgwp7vyc24AAAAcgXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABM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u+9q5syZOn78uBISEhQQEKCBAwcqMzPTUXUCAACUyh2Fm9TUVI0YMUJ+fn6aO3euEhISdPz4cW3ZskVnzpxR7969HVUnAABAqbjYM2ju3LlKSkrS0aNHFRsbq+XLlys2NlZVqtzISiEhIXrjjTfUtGlThxYLAABwO3aFm4ULF2ro0KEaMmSIGjRoUGKfhg0basmSJXdUHAAAQFnZFW6+++672/Zxc3PToEGD7Nk9AACA3eyac5OUlKT33nuvWPt7772nN998846LAgAAsJdd4WbGjBmqV69esXYfHx9Nnz79josCAACwl13hJi0tTSEhIcXag4KClJ6efsdFAQAA2MuucOPj46MDBw4Ua9+/f7/q1q17x0UBAADYy65w8+STT2rMmDHaunWrCgoKVFBQoC1btmjs2LF68sknHV0jAABAqdn1tNS0adOUlpam6Ohoubjc2EVhYaEGDhzInBsAAOBUdoUbNzc3rVy5Ui+99JL2798vT09PtWzZUkFBQY6uDwAAoEzsCjdFmjRpoiZNmjiqFgAAgDtmV7gpKCjQsmXL9Omnn+r8+fMqLCy02b5lyxaHFAcAAFBWdoWbsWPHatmyZXrkkUfUokULWSwWR9cFAABgF7vCzTvvvKN3331XsbGxjq4HAADgjtj1KLibm5saNWrk6FoAAADumF3hZsKECXrllVdkGIaj6wEAALgjdt2W+vzzz7V161Zt2LBBYWFhcnV1tdm+atUqhxQHAABQVnaFm1q1aqlPnz6OrgUAAOCO2RVukpKSHF0HAACAQ9g150aS8vPz9cknn+iNN97QlStXJElnz57V1atXHVYcAABAWdl15SYtLU2///3vlZ6erpycHHXr1k1eXl6aNWuWrl+/rkWLFjm6TgAAgFKx68rN2LFjFR4erp9++kmenp7W9j59+ujTTz91WHEAAABlZffTUl988YXc3Nxs2oOCgnTmzBmHFAYAAGAPu67cFBYWqqCgoFj76dOn5eXldcdFAQAA2MuucNOtWzfNmzfPum6xWHT16lVNnjyZr2QAAABOZddtqf/3//6funbtqubNm+v69ev685//rO+++0716tXT22+/7egaAQAASs2ucOPv7699+/bp7bff1p49e1RYWKhhw4apf//+NhOMAQAAKppd4UaSPD09NXToUA0dOtSR9QAAANwRu8LN8uXLb7l94MCBdhUDAABwp+wKN2PHjrVZz8vL088//yw3NzdVq1aNcAMAAJzGrqelfvrpJ5vl6tWrOnr0qDp16sSEYgAA4FR2f7fUrzVu3FgzZswodlXnVrZv365evXrJ399fFotFa9asuWX/lJQUWSyWYsuRI0fusHoAAGAWdk8oLknVqlV19uzZUve/du2aWrdurSFDhqhv376lHnf06FHVrFnTul6/fv0y1QkAAMzLrnCzdu1am3XDMJSZmanXXntNDz30UKn306NHD/Xo0aPMr+/j46NatWqVeRwAADA/u8LNY489ZrNusVhUv359Pfzww3r55ZcdUdcttW3bVtevX1fz5s31/PPPq2vXruX+mgAA4O5gV7gpLCx0dB2l4ufnp8WLF6t9+/bKycnRf/7zH0VHRyslJUVdunQpcUxOTo5ycnKs69nZ2RVVLgAAcAKHzrkpb6GhoQoNDbWuR0REKCMjQ3PmzLlpuElMTNTUqVMrqkQAAOBkdoWb+Pj4UvedO3euPS9Rag8++KBWrFhx0+0TJ060qTc7O1uBgYHlWhMAAHAeu8LN3r17tWfPHuXn51uvpBw7dkxVq1ZVu3btrP0sFotjqrxNLX5+fjfd7u7uLnd393KvAwAAVA52hZtevXrJy8tLb775pmrXri3pxgf7DRkyRJ07d9aECRNKtZ+rV6/q+++/t66fPHlS+/btU506ddSwYUNNnDhRZ86csX7dw7x58xQcHKywsDDl5uZqxYoVSk5OVnJysj2HAQAATMiucPPyyy9r06ZN1mAjSbVr19a0adMUExNT6nCTmppq86RT0e2jQYMGadmyZcrMzFR6erp1e25urhISEnTmzBl5enoqLCxM69atU2xsrD2HAQAATMiucJOdna1z584pLCzMpv38+fO6cuVKqfcTFRUlwzBuun3ZsmU2688884yeeeaZMtUKAAB+W+z6+oU+ffpoyJAhev/993X69GmdPn1a77//voYNG6bHH3/c0TUCAACUml1XbhYtWqSEhAQNGDBAeXl5N3bk4qJhw4Zp9uzZDi0QAACgLOwKN9WqVdPrr7+u2bNn6/jx4zIMQ40aNVL16tUdXR8AAECZ3NG3gmdmZiozM1NNmjRR9erVbzl/BgAAoCLYFW4uXryo6OhoNWnSRLGxscrMzJQkDR8+vNRPSgEAAJQHu8LN+PHj5erqqvT0dFWrVs3a3q9fP23cuNFhxQEAAJSVXXNuNm3apI8//lgBAQE27Y0bN1ZaWppDCgMAALCHXVdurl27ZnPFpsiFCxf4qgMAAOBUdoWbLl26WL8SQbrxHVKFhYWaPXu2zScOAwAAVDS7bkvNnj1bUVFRSk1NVW5urp555hkdOnRIP/74o7744gtH1wgAAFBqdl25ad68uQ4cOKAHHnhA3bp107Vr1/T4449r7969uu+++xxdIwAAQKmV+cpNXl6eYmJi9MYbb2jq1KnlURMAAIDdynzlxtXVVd98840sFkt51AMAAHBH7LotNXDgQC1ZssTRtQAAANwxuyYU5+bm6t///rc2b96s8PDwYt8pNXfuXIcUBwAAUFZlCjcnTpxQcHCwvvnmG7Vr106SdOzYMZs+3K4CAADOVKZw07hxY2VmZmrr1q2Sbnzdwvz58+Xr61suxQEAAJRVmebc/Ppbvzds2KBr1645tCAAAIA7YdeE4iK/DjsAAADOVqZwY7FYis2pYY4NAACoTMo058YwDA0ePNj65ZjXr19XXFxcsaelVq1a5bgKAQAAyqBM4WbQoEE26wMGDHBoMQAAAHeqTOEmKSmpvOoAAABwiDuaUAwAAFDZEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpODXcbN++Xb169ZK/v78sFovWrFlz2zHbtm1T+/bt5eHhoXvvvVeLFi0q/0IBAMBdw6nh5tq1a2rdurVee+21UvU/efKkYmNj1blzZ+3du1eTJk3SmDFjlJycXM6VAgCAu4WLM1+8R48e6tGjR6n7L1q0SA0bNtS8efMkSc2aNVNqaqrmzJmjvn37llOVAADgbnJXzbnZsWOHYmJibNq6d++u1NRU5eXllTgmJydH2dnZNgsAADAvp165KausrCz5+vratPn6+io/P18XLlyQn59fsTGJiYmaOnVqRZWIMgh+dp2zSwAAmNBddeVGkiwWi826YRgltheZOHGiLl++bF0yMjLKvUYAAOA8d9WVmwYNGigrK8um7fz583JxcVHdunVLHOPu7i53d/eKKA8AAFQCd9WVm4iICG3evNmmbdOmTQoPD5erq6uTqgIAAJWJU8PN1atXtW/fPu3bt0/SjUe99+3bp/T0dEk3bikNHDjQ2j8uLk5paWmKj4/X4cOHtXTpUi1ZskQJCQnOKB8AAFRCTr0tlZqaqq5du1rX4+PjJUmDBg3SsmXLlJmZaQ06khQSEqL169dr/PjxWrBggfz9/TV//nweAwcAAFZODTdRUVHWCcElWbZsWbG2yMhI7dmzpxyrAgAAd7O7as4NAADA7RBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqTg93Lz++usKCQmRh4eH2rdvr88+++ymfVNSUmSxWIotR44cqcCKAQBAZebUcLNy5UqNGzdOzz33nPbu3avOnTurR48eSk9Pv+W4o0ePKjMz07o0bty4gioGAACVnVPDzdy5czVs2DANHz5czZo107x58xQYGKiFCxfecpyPj48aNGhgXapWrVpBFQMAgMrOaeEmNzdXu3fvVkxMjE17TEyMvvzyy1uObdu2rfz8/BQdHa2tW7fesm9OTo6ys7NtFgAAYF5OCzcXLlxQQUGBfH19bdp9fX2VlZVV4hg/Pz8tXrxYycnJWrVqlUJDQxUdHa3t27ff9HUSExPl7e1tXQIDAx16HAAAoHJxcXYBFovFZt0wjGJtRUJDQxUaGmpdj4iIUEZGhubMmaMuXbqUOGbixImKj4+3rmdnZxNwAAAwMaddualXr56qVq1a7CrN+fPni13NuZUHH3xQ33333U23u7u7q2bNmjYLAAAwL6eFGzc3N7Vv316bN2+2ad+8ebM6duxY6v3s3btXfn5+ji4PAADcpZx6Wyo+Pl5PPfWUwsPDFRERocWLFys9PV1xcXGSbtxSOnPmjJYvXy5JmjdvnoKDgxUWFqbc3FytWLFCycnJSk5OduZhAACASsSp4aZfv366ePGiXnzxRWVmZqpFixZav369goKCJEmZmZk2n3mTm5urhIQEnTlzRp6engoLC9O6desUGxvrrEMAAACVjMUwDMPZRVSk7OxseXt76/Lly+Uy/yb42XUO3ycAlJdTMx5xdgl3Df5+L73yeF+V5fe3079+AQAAwJEINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFScHm5ef/11hYSEyMPDQ+3bt9dnn312y/7btm1T+/bt5eHhoXvvvVeLFi2qoEoBAMDdwKnhZuXKlRo3bpyee+457d27V507d1aPHj2Unp5eYv+TJ08qNjZWnTt31t69ezVp0iSNGTNGycnJFVw5AACorJwabubOnathw4Zp+PDhatasmebNm6fAwEAtXLiwxP6LFi1Sw4YNNW/ePDVr1kzDhw/X0KFDNWfOnAquHAAAVFZOCze5ubnavXu3YmJibNpjYmL05Zdfljhmx44dxfp3795dqampysvLK7daAQDA3cPFWS984cIFFRQUyNfX16bd19dXWVlZJY7JysoqsX9+fr4uXLggPz+/YmNycnKUk5NjXb98+bIkKTs7+04PoUSFOT+Xy34BoDyU19+FZsTf76VXHu+ron0ahnHbvk4LN0UsFovNumEYxdpu17+k9iKJiYmaOnVqsfbAwMCylgoApuM9z9kVwIzK83115coVeXt737KP08JNvXr1VLVq1WJXac6fP1/s6kyRBg0alNjfxcVFdevWLXHMxIkTFR8fb10vLCzUjz/+qLp1694yRNkjOztb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FJvt3377rWJjY1WjRg35+vrqqaee0oULF6zbo6KiNGrUKMXHx6tevXrq1q2b3ecCQPkh3ACoMFWrVtX06dP16quv6vTp03bvZ8uWLTp79qy2b9+uuXPnasqUKerZs6dq166tr776SnFxcYqLi1NGRobNuL/97W+aMGGC9u7dq44dO+rRRx/VxYsXJUmZmZmKjIxUmzZtlJqaqo0bN+rcuXN64oknbPbx5ptvysXFRV988YXeeOMNu48BQPkh3ACoUH369FGbNm00efJku/dRp04dzZ8/X6GhoRo6dKhCQ0P1888/a9KkSWrcuLEmTpwoNzc3ffHFFzbjRo0apb59+6pZs2ZauHChvL29tWTJEknSwoUL1a5dO02fPl1NmzZV27ZttXTpUm3dulXHjh2z7qNRo0aaNWuWQkND1bRpU7uPAUD5IdwAqHAzZ87Um2++qW+//dau8WFhYapS5f/++vL19VXLli2t61WrVlXdunV1/vx5m3ERERHW/3dxcVF4eLgOHz4sSdq9e7e2bt2qGjVqWJei8HL8+HHruPDwcLtqBlBxXJxdAIDfni5duqh79+6aNGmSBg8ebG2vUqWKDMOw6ZuXl1dsvKurq826xWIpsa2wsPC2tRQ9qVVYWKhevXpp5syZxfr4+flZ/7969eq33ScA5yLcAHCKGTNmqE2bNmrSpIm1rX79+srKypJhGNbQ4cjPptm5c6e6dOkiScrPz9fu3bs1atQoSVK7du2UnJys4OBgubjwVyNwN+O2FACnaNmypfr3769XX33V2hYVFaUffvhBs2bN0vHjx7VgwQJt2LDBYa+5YMECrV69WkeOHNHIkSP1008/aejQoZKkkSNH6scff9Sf/vQn7dq1SydOnNCmTZs0dOhQFRQUOKwGAOWPcAPAaV566SWb21DNmjXT66+/rgULFqh169batWuXEhISHPZ6M2bM0MyZM9W6dWt99tln+uCDD1SvXj1Jkr+/v7744gsVFBSoe/fuatGihcaOHStvb2+b+T0AKj+L8esb3AAAAHcx/jkCAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABM5f8Ds2cQesrCHQYAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Class' method\n", + "\n", + "plt.hist(dice, bins = 6, range=(1,6))\n", + "\n", + "plt.xlabel(\"Number\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Histogram of 'Number' Values\")\n", + "\n", + "plt.show()#here plots the frequency distribution directly" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create frequency distribution " + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Dice number Frequency\n", + "0 1 2\n", + "1 2 1\n", + "2 3 3\n", + "3 4 2\n", + "4 6 2\n" + ] + } + ], + "source": [ + "#https://stackoverflow.com/questions/41551658/how-to-create-a-frequency-distribution-table-on-given-data-with-python-in-jupyte\n", + "\n", + "#Calculate the freq dist and sort by dice number (index)\n", + "frequency_distribution = pd.Series(dice).value_counts().sort_index().reset_index()\n", + "\n", + "#Frequency dist = combien de fois le nombre a été mentionné dans la DF\n", + "#Dans la 1er DF : les index etaient les dice numbers\n", + "#Dans la frequency dist on rajoute une colonne pour les dice numbers\n", + "#sort_index = on trie les valeurs\n", + "#reset_index = pour avoir le dice number comme colonne et pas comme index\n", + "\n", + "frequency_distribution.columns = ['Dice number', 'Frequency']\n", + "\n", + "print(frequency_distribution)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHFCAYAAADcytJ5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA7aklEQVR4nO3deVxUZf//8feoMCwCCoqiIhqmuYQbLbiTaYqRS6ZWJm51d7vkWt1637/U8haX9Ku5Vy5ZrplbmZp7eqelmfudmrmlJiYGioEC5/cHMbcjqAwNzkFez8djHnrOuc45nzkzMG+uc50zFsMwDAEAAJhQIVcXAAAAcDsEFQAAYFoEFQAAYFoEFQAAYFoEFQAAYFoEFQAAYFoEFQAAYFoEFQAAYFoEFQAAYFoEFTjd3LlzZbFYsn0MHjzY1eXdV2491h4eHipdurQiIyMVGxuruLi4LOsMHz5cFovFof1cu3ZNw4cP15YtWxxaL7t9VahQQU8//bRD27mbBQsWaOLEidkus1gsGj58uFP352wbN25UeHi4vL29ZbFYtGLFimzbnTx50u71dnNzU0BAgB555BENGDBAhw4dyrLOli1bZLFYHH7t/qoKFSrY1ert7a06depoypQpyu0N0StUqKCuXbvapjOPx9y5c51TNEypiKsLwP1rzpw5euihh+zmlSlTxkXV3N8yj/WNGzcUFxen7du3a8yYMXr33Xe1ePFiPfnkk7a2PXv2VIsWLRza/rVr1zRixAhJUpMmTXK8Xm72lRsLFizQwYMH1b9//yzLduzYoXLlyuV5DbllGIY6dOigypUra9WqVfL29laVKlXuuE7fvn31wgsvKD09Xb///rt++OEHzZ49W5MnT1ZsbKxef/11W9s6depox44dqlatWl4/lSzq16+vd999V5J07tw5TZgwQX379lViYqKGDh16z+tB/kRQQZ6pUaOGwsPDc9T2xo0bslgsKlKEt2Ru3Hqsn332WQ0YMEANGjRQu3btdOzYMZUqVUqSVK5cuTz/4L527Zq8vLzuyb7u5vHHH3fp/u/m3Llzio+PV9u2bdW0adMcrVO+fHm75xUVFaWBAweqXbt2euONN1SjRg21bNlSkuTr6+uyY1CsWDG7fT/55JMqX768Zs6cSVBBjnHqB/dcZlf0xx9/rEGDBqls2bKyWq366aefJEkbNmxQ06ZN5evrKy8vL9WvX18bN27Msp3Vq1erVq1aslqtqlixot59990spxru1DWc3SmBY8eO6YUXXlBgYKCsVquqVq2qqVOnZlv/woUL9c9//lNlypSRr6+vnnzySR05ciTLftauXaumTZvKz89PXl5eqlq1qmJjYyVJH3/8sSwWi3bs2JFlvbfffltubm46d+7cXY9pdsqXL6/x48frypUrmjlzpm1+dqdjNm3apCZNmiggIECenp4qX768nn32WV27dk0nT55UyZIlJUkjRoywdeVndsFnbm/Pnj1q3769ihcvrtDQ0NvuK9Py5csVFhYmDw8PPfDAA3rvvffslmee1jp58qTd/FtPZTRp0kSrV6/WqVOn7E41ZMrudT548KBat26t4sWLy8PDQ7Vq1dJHH32U7X5y+jpnZ/v27WratKl8fHzk5eWlevXqafXq1bblw4cPtwW5N998UxaLRRUqVMjRtm/l6empWbNmyc3NTePGjcvyPG499fPtt98qOjpaAQEB8vDwUGhoaJYeqZz8PDjC19dXlStX1oULF+zmx8fHq1evXipbtqzc3d31wAMP6J///KdSUlIc3sfFixf1yiuvKDg4WFarVSVLllT9+vW1YcOGXNcN1+LPV+SZtLQ0paam2s27ucdkyJAhioiI0IwZM1SoUCEFBgbqk08+UZcuXdS6dWt99NFHcnNz08yZM/XUU09p3bp1tr84N27cqNatWysiIkKLFi1SWlqaxo4dm+UXoCMOHz6sevXq2T7gS5curXXr1um1117Tb7/9pmHDhtm1Hzp0qOrXr68PP/xQiYmJevPNNxUdHa3//ve/Kly4sCRp1qxZevnll9W4cWPNmDFDgYGBOnr0qA4ePChJ6tixo9544w1NnTpVERERtm2npqZq5syZatu27V86XRYVFaXChQvr66+/vm2bkydPqlWrVmrYsKFmz56tYsWK6ezZs1q7dq2uX7+uoKAgrV27Vi1atFCPHj3Us2dPSbKFl0zt2rVTp06d9OqrryopKemOde3du1f9+/fX8OHDVbp0ac2fP1/9+vXT9evXHR7HNG3aNL3yyis6fvy4li9fftf2R44cUb169RQYGKj33ntPAQEB+uSTT9S1a1dduHBBb7zxhl37nLzO2dm6dauaNWumsLAwzZo1S1arVdOmTVN0dLQWLlyojh07qmfPnqpZs6batWtnO51jtVodev43K1OmjOrWratvvvlGqampt+2hXLdunaKjo1W1alVNmDBB5cuX18mTJ/XVV1/Z2jj685ATqampOnPmjCpXrmybl5ycrMjISB0/flwjRoxQWFiYtm3bptjYWO3du9cu2OXESy+9pD179ujf//63KleurN9//1179uzRpUuXHK4XJmEATjZnzhxDUraPGzduGJs3bzYkGY0aNbJbLykpyfD39zeio6Pt5qelpRk1a9Y0Hn30Udu8xx57zChTpozxxx9/2OYlJiYa/v7+xs1v6xMnThiSjDlz5mSpU5IxbNgw2/RTTz1llCtXzkhISLBr16dPH8PDw8OIj483DMOw1R8VFWXXbsmSJYYkY8eOHYZhGMaVK1cMX19fo0GDBkZ6evptj9ewYcMMd3d348KFC7Z5ixcvNiQZW7duve16hvG/Y71r167btilVqpRRtWpVu/3dfIyWLl1qSDL27t17221cvHgxy/G6dXtvvfXWbZfdLCQkxLBYLFn216xZM8PX19dISkqye24nTpywa5d5/Ddv3myb16pVKyMkJCTb2m+tu1OnTobVajVOnz5t165ly5aGl5eX8fvvv9vt526v8+08/vjjRmBgoHHlyhXbvNTUVKNGjRpGuXLlbO+JzPfouHHj7ri9nLbt2LGjIcn2fsrueIWGhhqhoaF2Pz+3yunPw+2EhIQYUVFRxo0bN4wbN24Yp06dMl5++WXDzc3N+OKLL2ztZsyYYUgylixZYrf+mDFjDEnGV199ZbfNmJiYLMfj5p/vokWLGv37979jbchfOPWDPDNv3jzt2rXL7nHzX3jPPvusXftvvvlG8fHxiomJUWpqqu2Rnp6uFi1aaNeuXUpKSlJSUpJ27dqldu3aycPDw7a+j4+PoqOjc1VrcnKyNm7cqLZt28rLy8tu/1FRUUpOTtbOnTvt1nnmmWfspsPCwiRJp06dsj2fxMRE9erV645X2fz973+XJH3wwQe2eVOmTNHDDz+sRo0a5er53My4yxUWtWrVkru7u1555RV99NFH+vnnn3O1n1tfzzupXr26atasaTfvhRdeUGJiovbs2ZOr/efUpk2b1LRpUwUHB9vN79q1q65du5blNNzdXufsJCUl6dtvv1X79u1VtGhR2/zChQvrpZde0i+//JLj00eOutvrffToUR0/flw9evSw+/m5WW5+HrLz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9NJLL+n8+fPy8/NTWFiY1q5dq2bNmrmyLAAAYBIuDSqzZs1y5e4BAIDJufyqHwAAgNshqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANNyaVCJjY3VI488Ih8fHwUGBqpNmzY6cuSIK0sCAAAm4tKgsnXrVvXu3Vs7d+7U+vXrlZqaqubNmyspKcmVZQEAAJOwGIZhuLqITBcvXlRgYKC2bt2qRo0a3bV9YmKi/Pz8lJCQIF9f33tQIZBHLBZXV+Aa5vn1A+AecuTzu8g9qilHEhISJEn+/v7ZLk9JSVFKSoptOjEx8Z7UBQAAXMM0QcUwDA0cOFANGjRQjRo1sm0TGxurESNG3LOa+CMXMDfLli2uLsEljCZNXF1CgbPFssXVJbhM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XJySk5PVrFkzu3WuX7+u2rVr280LDw+/Y21//PGHpIxelFsNGjRIK1eu1OTJk7VmzRqVKFEiSxtPT09du3btjvsAkIGgAtzH/vvf/6pixYrZLvP09Lzjuunp6RoxYoTatWuXZVl2H9CZ3Nzc7KYtFovd1UcWi0WGYdi1uXkMS3bbyQxbt87L6WW+N7ddvXq1ypYta7f81gHG3t7ed9xeQECALBaLLl++nGVZXFycjhw5osKFC+vYsWNq0aJFljbx8fEqWbJkjmoHCjqCCnCf2rRpkw4cOKABAwZkuzwsLEwffvih4uPjs+1VqVOnjo4cOaJKlSo5ta6SJUvq/Pnztuljx445rXdh3759+uOPP2whbOfOnSpatKjKlSun4sWLy2q16vTp03bjUXLD3d1d1apV0+HDh7PcR6V79+6qUaOGXn75ZfXo0UNNmzZVtWrVbMuTk5N1/PjxLL04ALJHUAHuAykpKfr111+VlpamCxcuaO3atYqNjdXTTz+tLl26ZLvO888/r1GjRqlNmzaKjY1VUFCQfvjhB5UpU0YRERF666239PTTTys4OFjPPfecChUqpP379+vAgQMaOXJkrmt94oknNGXKFD3++ONKT0/Xm2++maUXJreuX7+uHj166F//+pdOnTqlYcOGqU+fPipUqJB8fHw0ePBgDRgwQOnp6WrQoIESExP1zTffqGjRooqJiXFoX0899ZS2b9+u/v372+ZNnTpVO3bs0P79+xUcHKw1a9boxRdf1Lfffit3d3dJGeHJarUqIiLCKc8ZuN9xeTJwH1i7dq2CgoJUoUIFtWjRQps3b9Z7772nlStX2o0XuZm7u7u++uorBQYGKioqSg8//LBGjx5ta//UU0/piy++0Pr16/XII4/o8ccf14QJExQSEvKXah0/fryCg4PVqFEjvfDCCxo8ePBtx7s4qmnTpnrwwQfVqFEjdejQQdHR0Ro+fLht+TvvvKO33npLsbGxqlq1qp566il9/vnntz09dicvv/yyvvzySyUkJEiSfvzxR73++uuaNm2agoODJWUEl99//93upnALFy7Uiy++6LTnDNzvLMatJ4sBADnSoUMH1a5dW0OGDMlR+4sXL+qhhx7S7t27cxWOgIKIHhUAyKVx48apaNGiOW5/4sQJTZs2jZACOIAeFQAAYFr0qAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANP6/3SCrnQtZilPAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Set custom bar colors\n", + "bar_colors = ['b', 'g', 'r', 'c', 'm', 'y']\n", + "\n", + "# Create the bar plot with step size 1 for the y-axis and custom bar colors\n", + "plt.bar(frequency_distribution['Dice number'], frequency_distribution['Frequency'], color=bar_colors)\n", + "\n", + "# Calculate the median\n", + "median = np.median(dice)\n", + "\n", + "plt.xlabel('Dice number (x)')\n", + "plt.ylabel('Frequency (y)')\n", + "plt.title('Frequency Distribution of Dice Rolls')\n", + "\n", + "# Set x-axis ticks with a step size of 1\n", + "plt.xticks(frequency_distribution['Dice number'])\n", + "\n", + "# Set y-axis ticks with a step size of 1\n", + "plt.yticks(range(0, int(max(frequency_distribution['Frequency'])) + 1))\n", + "\n", + "#other way to set scale\n", + "#plt.yticks(range(min(sorted_rolls), max(sorted_rolls) + 1))\n", + "#plt.xticks(range(min(sorted_rolls), max(sorted_rolls) + 1))\n", + "\n", + "# Display the median as text on the plot\n", + "plt.text(median, 1, f\"Median: {median}\", ha='center', va='bottom', fontsize=12)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note :\n", + "Frequency distribution is useful to reduce the load time when working with big data set.\n", + "Goal data science = diminuer l'espace des données." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What is the relation between the frequency distribution plot and the linear plot ? \n", + "\n", + "Both represent the dice distribution\n", + "Both provide info on the shape and tendency of the distribution (We can see that the median is the same on both graphs)\n", + "Show the same percentiles\n", + "Possible to see the interval of the data (example here : no frequency for number 1 and 2)\n", + "\n", + "In plot above : normal distribution, data points pretty equally spreaded. Median is 3, Mode is 3\n", + "The shape of the histogram can be described as right-skewed or positively skewed.\n", + "\n", + "Note : Frequency distribution graph is \"easier to read\" and should be used for data presentation to the stakeholders." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create superposition to see normal distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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/jt27dqF//77D8OGDcObN29UY3KqVasGExMTTJo0CQ8ePMDmzZvTDW718PBASEgIgoKC8Pr16wyvWnTv3h1GRkbo3bs3bt68iYCAAIwYMQI9e/ZUXfaRiqSJyurVqxEaGorExERERETg+PHjTFKIiLTM9OnT011+qFSpErZt24atW7eibNmymDx5Mn799dccm4nzMXt7e6xbtw5///03SpcujVmzZmHu3LnZeq7JkyfD2dkZxYsXR8+ePREdHY0TJ05gwoQJmR6TkpKCYcOGoVSpUmjevDlKlCiBpUuXAgBcXFwwbdo0/Pjjj3B0dEw3iyYrZs2aBX9/f3h5eeHs2bPYs2cP7OzsAIiDdTdu3IiDBw+iXLly2LJlC6ZOnap2fMeOHdG8eXM0aNAA9vb22LJlS7pzmJiY4MiRI4iKikKVKlXQqVMnNGrUCEuWLNE43pymEDK6aKglYmJiYGlpiejoaFhYWEgdDlH2cdZPgZKQkICQkBAUKVIERkZGUodDlCs+9z7X5PNb8joqRERERJlhokJERESyxUSFiIiIZIuJChEREckWExUiIolo8VwGoi/Kqfc3ExUiojymrO4ZHx8vcSREuUf5/v60mq2mZFdCn4gov9PV1YWVlZVqrRoTE5NMy5cTaRtBEBAfH4+IiAhYWVl9dSViJipERBJQrmT78cJ6RPmJlZXVZ1dsziomKkREElAoFHB2doaDg0O2FpEjkjN9ff0cW9OJiQoRkYR0dXVzfJE+ovyEg2mJiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMVIiIiki0mKkRERCRbTFSIiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMVIiIiki0mKkRERCRbTFSIiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMVIiIiki0mKkRERCRbTFSIiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMVIiIiki0mKkRERCRbTFSIiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMVIiIiki0mKkRERCRbTFSIiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMV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Ftwvj4QiJVHiyLQfExUiIqIckGTiipDqy5GsbwkAMIsMROGrPwCpSRJHpt2YqBAREeWQRPPiaqX2LV6eguv1KYCQKnFk2ouJChERUQ56b10Oj6ssRKqOPgDA+tl+ON+azXWBsomJChERUQ6Ls6uOJxVnQ/jfx6xd6GY43l3EZCUbmKgQERHlghjnRnjqNU3VdniwGg73l0sYkXZiokJERJRL3rq1xbOyk1Rtx3vLYP9gtYQRaR8mKkRERLkoyqMrnpf+QdV2+m8hbB/9KWFE2oWJChERUS6LLNoT4SVHqdqFbs+BTehW6QLSIkxUiIiI8sDr4v3w0nOoqu1ycyasH2+XMCLtwESFiIgoj0R8MxgRxQeo2i7B02H1ZI+EEckfExUiIqK8olDgZYkReFW0l9iEANfrU2D1dK/EgckXExUiIqK8pFDgRamxeO3RTWwiFa5Bv8A6bJfEgckTExUiIqK8plAgvMwEvPb4VmxCgOuNKRyzkgEmKkRERFJQKBBe5ke8LtJDtck1+FfOBvoEExUiIiKpKBQIL/0DXhXrq9rkcnMm66x8hIkKERGRlBQKvCg5ChHFB6o2Fbo9B3YP10oYlHwwUSEiIpKaQoGXJYbjped3qk3Od/4P9vf/kDAoeWCiQkREJAcKBSI8v8OLEsNVm5zuLobjfwsL9KrLTFSIiIhk5NU3gxBearSq7fBgNZxv+QNCqoRRSYeJChERkcy8LtZXbdVl29AtMH4bLGFE0mGiQkREJENRHl3xxGs6BIUunpWfgvfWXlKHJAk9qQMgIiKijL11a4t4m0r4YOomdSiSYY8KERGRjBXkJAVgokJEREQyxkSFiIiIZIuJChEREckWExUiIiKSLSYqREREJFtMVIiIiEi2mKgQERGRbDFRISIiItliokJERESyxUSFiIiIZIuJChEREckWExUiIiKSLSYqREREJFtMVIiIiEi2mKgQERGRbDFRISIiItliokJERESyxUSFiIiIZIuJChEREckWExUiIiKSLSYqREREJFtMVIiIiEi2mKgQERGRbDFRISIiItliokJERESyxUSFiIiIZIuJChEREckWExUiIiKSLSYqREREJFtMVIiIiEi2mKgQERGRbDFRISIiItliokJERESyxUSFiIiIZIuJChEREckWExUiIiKSLSYqREREJFtMVIiIiEi2mKgQERGR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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import scipy.stats as stats\n", + "\n", + "# Set custom bar colors for the histogram\n", + "bar_colors = ['b', 'g', 'r', 'c', 'm', 'y']\n", + "\n", + "# Create the bar plot with step size 1 for the y-axis and custom bar colors\n", + "plt.bar(frequency_distribution['Dice number'], frequency_distribution['Frequency'], color=bar_colors, alpha=0.7)\n", + "\n", + "# Calculate the median\n", + "median = np.median(dice)\n", + "\n", + "plt.xlabel('Dice number (x)')\n", + "plt.ylabel('Frequency (y)')\n", + "plt.title('Frequency Distribution of Dice Rolls')\n", + "\n", + "# Set x-axis ticks with a step size of 1\n", + "plt.xticks(frequency_distribution['Dice number'])\n", + "\n", + "# Set y-axis ticks with a step size of 1\n", + "plt.yticks(range(0, int(max(frequency_distribution['Frequency'])) + 1))\n", + "\n", + "# Display the median as text on the plot\n", + "plt.text(median, 1, f\"Median: {median}\", ha='center', va='bottom', fontsize=12)\n", + "\n", + "# Create a normal distribution curve using mean and standard deviation of the data\n", + "mean = np.mean(dice)\n", + "std_dev = np.std(dice)\n", + "x = np.linspace(min(dice), max(dice), 1000)\n", + "y = stats.norm.pdf(x, mean, std_dev) * len(dice) # Scale the curve to match the data count\n", + "\n", + "# Plot the normal distribution curve\n", + "plt.plot(x, y, 'r-', linewidth=2, label='Normal Distribution')\n", + "\n", + "# Add a legend\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Jesus' observation : \n", + "\n", + "For the LINEAR PLOT, we have dice values of the dice in the y axis. \n", + "For the histogramm (frequency distribution), we have the dice values in the x axis.\n", + "\n", + "--\n", + "\n", + "The difference in the orientation of the axes between a linear plot (line plot) and a histogram (frequency distribution) arises from their distinct purposes and the nature of the data they are visualizing.\n", + "\n", + "Linear Plot (Line Plot):\n", + "\n", + "In a linear plot, you typically have data points or values on both the x-axis and y-axis.\n", + "The x-axis usually represents an independent variable or a continuous range of values.\n", + "The y-axis represents the dependent variable, which is typically a response or outcome based on the values of the independent variable.\n", + "Linear plots are used to show how the dependent variable changes as a function of the independent variable. They are suitable for visualizing relationships, trends, or patterns in data.\n", + "\n", + "Histogram (Frequency Distribution):\n", + "\n", + "In a histogram, the x-axis typically represents different categories or bins into which data is grouped. \n", + "These bins are used to categorize the data or to define intervals.\n", + "The y-axis of a histogram represents the frequency or count of data points that fall into each bin.\n", + "Histograms are used to show the distribution of data, specifically how data points are distributed across different categories or intervals. They help visualize the frequency of occurrence for different values or value ranges." + ] + }, + { + "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": 69, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.3\n" + ] + } + ], + "source": [ + "# your code here\n", + "def calculate_mean(data):\n", + " mean = sum(data)/len(data)\n", + " return mean\n", + "\n", + "print(calculate_mean(dice))" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.3\n" + ] + } + ], + "source": [ + "#Other method - More manual\n", + "\n", + "def mean(data):\n", + " \n", + " total_sum = 0\n", + " len_data = 0\n", + " \n", + " for value in data:\n", + " total_sum += value\n", + " len_data += 1\n", + "\n", + " mean = total_sum / len_data\n", + "\n", + " return mean\n", + "\n", + "print(mean(dice))" + ] + }, + { + "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": 72, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Dice number Frequency\n", + "0 1 2\n", + "1 2 1\n", + "2 3 3\n", + "3 4 2\n", + "4 6 2\n", + "Mean is 3.3\n" + ] + } + ], + "source": [ + "# your code here\n", + "frequency_distribution = dice.value_counts().sort_index().reset_index() #chaining method\n", + "frequency_distribution.columns = ['Dice number', 'Frequency']\n", + "print(frequency_distribution)\n", + "\n", + "#Here we need to adapt the former mean function. \n", + "#We wanna find the mean of the total numbers for the frequency tab (10)\n", + "#we do not wanna calculate the frequency values (5)\n", + "#sum_values = frequency_distribution['Frequency']*frequency_distribution['Dice number']\n", + "\n", + "#Calculate mean by calling function\n", + "\n", + "def mean_freq_dist(tableau):\n", + " \n", + " total_sum = 0\n", + " len_data = 0 # equals to total count\n", + " \n", + " for index, row in tableau.iterrows():\n", + " value = row['Dice number']\n", + " frequency = row['Frequency']\n", + " total_sum += value * frequency #total sum = valeur * tableau['Frequency']\n", + " len_data += frequency\n", + "\n", + " mean = total_sum / len_data\n", + "\n", + " return mean\n", + "\n", + "#mean_frequency_distribution = mean(sum_values) \n", + "print(f'Mean is {mean_freq_dist(frequency_distribution)}')\n", + "\n", + "# Why the result is not the same as when we calculate the mean ?\n", + "\n", + "#Ici on veut trouver la moyenne du tableau de la fréquence (on ne veut pas les valeurs de la fréquence)\n", + "\n", + "#Not possible to use mean otherwise here" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "({1: 2, 2: 1, 3: 3, 4: 2, 6: 2}, 'Mean is: 3.3')\n" + ] + } + ], + "source": [ + "#Jesus' method\n", + "\n", + "def freq(data):\n", + " freq_dist = {}\n", + " for x in data:\n", + " if x in freq_dist:\n", + " freq_dist[x] = freq_dist[x] + 1 #+=1\n", + " else:\n", + " freq_dist[x] = 1\n", + "#here we go in all value inside data\n", + "#and say if this value is already in the dictionnary, we put it in +1\n", + "#if we did not have the value before, we say it's just 1\n", + "\n", + " return freq_dist, f'Mean is: {sum([k*v for k,v in freq_dist.items()])/sum([v for k,v in freq_dist.items()])}'\n", + "\n", + "#k = first column, which is unique value\n", + "#v = frequency column\n", + "\n", + "#in the for loop we define the column\n", + "#in the dictionary.item (we wanna access the items)\n", + "\n", + "print(freq(dice)) #we create key value" + ] + }, + { + "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": 78, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 1, 2, 3, 3, 3, 4, 4, 6, 6]\n", + "10\n", + "Median is 3.0\n" + ] + } + ], + "source": [ + "# Method without function\n", + "\n", + "# your code here\n", + "\n", + "#Convert values into list to calculate the median\n", + "values_dice = dice.to_list()\n", + "print(values_dice)\n", + "\n", + "print(len(values_dice)) #Median = value in the middle \n", + "\n", + "#If even number, we take the two elements in the list divided by 2\n", + "median = (values_dice[4] + values_dice[5])/2\n", + "print(f'Median is {median}')" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Median is 3.0\n" + ] + } + ], + "source": [ + "#With function\n", + "\n", + "def median(lst):\n", + " sortedlst = sorted(lst)\n", + " lstlen = len(lst)\n", + " index = (lstlen - 1) // 2\n", + " \n", + " if (lstlen % 2 !=0):\n", + " return sortedlst[index] #if total list values is odd\n", + " else:\n", + " return (sortedlst[index] + sortedlst[index + 1])/2.0 #if total list values is even\n", + "\n", + "\n", + "print(f'Median is {median(values_dice)}')" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "metadata": {}, + "outputs": [], + "source": [ + "#Jesus' method\n", + "\n", + "def median_2(data):\n", + " if len(data)%2 == 0: #means values in DF are even (so no value is gonna be in the middle)\n", + " return sum(data[int(len(data)/2)-1:int(len(data)/2)+1])/2\n", + " else:\n", + " return data[int(len(data)/2)] #if odd, return number in the middle " + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.0\n" + ] + } + ], + "source": [ + "print(median_2(dice))" + ] + }, + { + "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": 83, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the first quartile is 2.25\n", + "the second quartile is 3.0\n", + "the third quartile is 4.0\n", + "the fourth quartile is 6\n" + ] + } + ], + "source": [ + "#Comparing with results given by quantile formula\n", + "\n", + "q1 = np.quantile(dice, 0.25) \n", + "print(\"the first quartile is\", q1)\n", + "q2 = np.quantile(dice, 0.50)\n", + "print(\"the second quartile is\",q2)\n", + "q3 = np.quantile(dice, 0.75)\n", + "print(\"the third quartile is\", q3)\n", + "q4 = np.quantile(dice, 1)\n", + "print(\"the fourth quartile is\", q4)" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Q1: 2, Q2: 3.0, Q3: 4, Q4: 6\n" + ] + } + ], + "source": [ + "def quartiles(lst):\n", + " lst.sort()\n", + " total_count = len(lst)\n", + " \n", + " # lower quartile (Q1)\n", + " q1_index = total_count // 4\n", + " q1_lower_quartile = lst[q1_index] #here we divid by 4 to get the first 25%\n", + " \n", + " # median (Q2)\n", + " q2_index = median(lst)\n", + "\n", + " # upper quartile (Q3)\n", + " q3_index = (3 * total_count) // 4 #so we have the 3 quarters out of four (=75%)\n", + " q3_upper_quartile = lst[q3_index] \n", + " \n", + " # max (Q4)\n", + " q4 = max(lst)\n", + " \n", + " return q1_lower_quartile, q2_index, q3_upper_quartile, q4\n", + "\n", + "q1_lower_quartile, q2_index, q3_upper_quartile, q4 = quartiles(values_dice)\n", + "print(f'Q1: { q1_lower_quartile}, Q2: {q2_index}, Q3: {q3_upper_quartile}, Q4: {q4}')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Q1: 2.00, Q2: 3.0, Q3: 4.00, Q4: 6.00\n" + ] + } + ], + "source": [ + "# Find quartiles \n", + "\n", + "def quartiles(lst):\n", + " sortedlst = sorted(lst)\n", + " lstlen = len(lst)\n", + " \n", + " middle = len(lst)//2\n", + "\n", + "# lower quartile\n", + " q1_lower_quartile = median(lst[:middle]) \n", + "\n", + "# median\n", + " q2 = median(lst)\n", + "\n", + "# upper quartile\n", + " q3_upper_quartile = median(lst[middle:]) \n", + "\n", + "#fourth quartile =max value\n", + " q4 = max(lst)\n", + "\n", + " return q1_lower_quartile, q2, q3_upper_quartile, q4\n", + " \n", + "\n", + "q1_lower_quartile, q2, q3_upper_quartile, q4 = quartiles(values_dice)\n", + "print(f'Q1: {q1_lower_quartile:.2f}, Q2: {q2}, Q3: {q3_upper_quartile:.2f}, Q4: {q4:.2f}')" + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "metadata": {}, + "outputs": [], + "source": [ + "def quartiles_2(vals):\n", + " second_quartile = np.median(vals)\n", + " middle = len(vals) // 2\n", + " \n", + " if len(vals) % 2 == 0:\n", + " first_quartile = np.median(vals[:middle])\n", + " third_quartile = np.median(vals[middle:])\n", + " else:\n", + " first_quartile = np.median(vals[:middle])\n", + " third_quartile = np.median(vals[middle:])\n", + " \n", + " return first_quartile, second_quartile, third_quartile" + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2.0, 3.0, 4.0)\n" + ] + } + ], + "source": [ + "print(quartiles_2(values_dice)) #here won't work with a DF, we need to put it as an array." + ] + }, + { + "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": 110, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0rollvalue
0001
1112
2226
3331
4446
5555
6662
7772
8884
9991
\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", + "5 5 5 5\n", + "6 6 6 2\n", + "7 7 7 2\n", + "8 8 8 4\n", + "9 9 9 1" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "dice_hundred = pd.read_csv('/Users/amandine/Desktop/Ironhack/03_Week/Descriptive-Stats/data/roll_the_dice_hundred.csv')\n", + "dice_hundred.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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wFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsJajoZKYmKjbb79dwcHBqlu3rnr16qW9e/c6ORIAALCIo6GyadMmDR8+XNu2bdNHH32kCxcu6L777lN2draTYwEAAEv4Ofnga9euLbC8cOFC1a1bV9u3b9cvfvELh6YCAAC2sOoalYyMDElSzZo1HZ4EAADYwNEjKhczxmjs2LG655571Lp16yK38Xq98nq9vmWPx1Ne4wHXtZycHElSSkqKw5P8v3PnziktLU0REREKDAx0ehxJ0u7du50eAah0rAmVESNG6Msvv9SWLVsuu01iYqISEhLKcSqgctizZ48kafDgwQ5PUjEEBwc7PQJQabiMMcbpIUaOHKmVK1dq8+bNuummmy67XVFHVMLDw5WRkaGQkJDyGBW4Ln333XdauXKlWrRooWrVqjk9jqQfjl7ExcXprbfeUmRkpNPj+AQHB6tp06ZOjwFUaB6PR6GhocV6/3b0iIoxRiNHjtSKFSuUlJR0xUiRJLfbLbfbXU7TAZVH7dq19eijjzo9RpEiIyMVHR3t9BgAHOJoqAwfPlzvvPOO/vnPfyo4OFgnTpyQJIWGhlpzThoAADjH0U/9zJ07VxkZGerQoYPq16/v+1u6dKmTYwEAAEs4fuoHAADgcqz6HhUAAICLESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAazkaKps3b1bPnj0VFhYml8ullStXOjkOAACwjKOhkp2drdtuu01z5sxxcgwAAGApPycfvFu3burWrZuTIwAAAIs5Giol5fV65fV6fcsej8fBaQAUJScnR3v27PnJ+9m9e3eBf0tDixYtVK1atVLbH4CyV6FCJTExUQkJCU6PAeAK9uzZo3bt2pXa/uLi4kptX9u3b1d0dHSp7Q9A2XMZY4zTQ0iSy+XSihUr1KtXr8tuU9QRlfDwcGVkZCgkJKQcpgRwNaV1ROXcuXNKS0tTRESEAgMDS2EyjqgAtvB4PAoNDS3W+3eFOqLidrvldrudHgPAFVSrVq3UjlrExsaWyn4AVFx8jwoAALCWo0dUsrKydODAAd/yoUOHlJqaqpo1a6pRo0YOTgYAAGzgaKh8/vnn6tixo2957NixkqT4+HgtWrTIoakAAIAtHA2VDh06yJJreQEAgIW4RgUAAFiLUAEAANYiVAAAgLUIFQAAYC1CBQAAWItQAQAA1iJUAACAtQgVAABgLUIFAABYq0L9evKlfvxWW4/H4/AkAACguH583y7Ot9NX6FDJzMyUJIWHhzs8CQAAKKnMzEyFhoZecRuXqcA/tpOfn6/09HQFBwfL5XI5PQ6AUuTxeBQeHq6jR48qJCTE6XEAlCJjjDIzMxUWFqYbbrjyVSgVOlQAXL88Ho9CQ0OVkZFBqACVGBfTAgAAaxEqAADAWoQKACu53W5NnDhRbrfb6VEAOIhrVAAAgLU4ogIAAKxFqAAAAGsRKgAAwFqECgAAsBahAsAqmzdvVs+ePRUWFiaXy6WVK1c6PRIABxEqAKySnZ2t2267TXPmzHF6FAAWqNA/Sgjg+tOtWzd169bN6TEAWIIjKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWnzqB4BVsrKydODAAd/yoUOHlJqaqpo1a6pRo0YOTgbACfx6MgCrJCUlqWPHjoXWx8fHa9GiReU/EABHESoAAMBaXKMCAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgCrpaWlyeVyKTU1VdIPXwjncrl09uxZR+cCUD4IFQBlauDAgXK5XHK5XPLz81OjRo00dOhQnTlzxunRAFQAhAqAMte1a1cdP35caWlpeu211/T+++9r2LBhTo8FoAIgVACUObfbrXr16qlhw4a677779Lvf/U7r1q2TJOXn5+vPf/6zGjZsKLfbrTZt2mjt2rXF3vfhw4fVs2dP1ahRQ0FBQWrVqpU++OCDsnoqAMoZv54MoFx9/fXXWrt2rfz9/SVJs2fP1osvvqh58+apbdu2euONN/SrX/1KO3fuVNOmTa+6v+HDh+v777/X5s2bFRQUpF27dql69epl/TQAlBNCBUCZW716tapXr668vDzl5uZKkmbMmCFJmj59up5++mn9/ve/lyS98MIL2rhxo2bNmqWXX375qvs+cuSIHnzwQd16662SpJtvvrmMngUAJxAqAMpcx44dNXfuXOXk5Oi1117Tvn37NHLkSHk8HqWnpys2NrbA9rGxsfrvf/9brH2PGjVKQ4cO1bp169S5c2c9+OCDioqKKounAcABXKMCoMwFBQXplltuUVRUlP7617/K6/UqISHBd7vL5SqwvTGm0LrLefTRR/X111+rf//+2rFjh2JiYvTSSy+V6vwAnEOoACh3EydO1PTp05WVlaWwsDBt2bKlwO2ffvqpIiMji72/8PBwDRkyRMuXL9cTTzyhBQsWlPbIABzCqR8A5a5Dhw5q1aqVpk6dqqeeekoTJ05UkyZN1KZNGy1cuFCpqal6++23i7WvMWPGqFu3bmrWrJnOnDmjDRs2lChyANiNUAHgiLFjx+rhhx/Wvn375PF49MQTT+jUqVNq2bKlVq1aVaxP/EhSXl6ehg8frmPHjikkJERdu3bVzJkzy3h6AOXFZYwxTg8BAABQFK5RAQAA1iJUAACAtQgVAABgLUIFAABYi1ABAADWIlQAAIC1CBUAAGAtQgUAAFiLUAEAANYiVAAAgLUIFQAAYC1CBQAAWOv/ABRyKFl+3MLQAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.boxplot(dice_hundred['value'])\n", + "plt.xlabel('Rolls')\n", + "plt.ylabel('Value')\n", + "plt.title('Boxplot of Rolls')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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U+EozIkTJyocrbls2rRpSk5O9twvLy/XqVOn1Lx580oDyERFRUUKDw9Xfn6+goKC7B7HCOyzmmG/1Qz7rWbYb9V3ve4zy7JUXFyssLCwa67r6Jhp2LChbr/9dm3atEmjR4/2LN+0aZN++tOfXvE5brdbbrfba1mTJk3qckxbBQUFXVf/8tYH9lnNsN9qhv1WM+y36rse99m1jshc5uiYkaTk5GSNHz9eUVFR6t27txYtWqQjR47o0UcftXs0AADgAI6PmYSEBJ08eVLPPfecjh8/ri5duui9995TRESE3aMBAAAHcHzMSNKkSZM0adIku8dwFLfbrZSUlAqn1FA59lnNsN9qhv1WM+y36mOfSS6rKp95AgAAcChHf2keAADAtRAzAADAaMQMAAAwGjEDAACMRswY5sMPP1R8fLzCwsLkcrn09ttv2z2S46Wnp+vHP/6xAgMDFRISolGjRmnfvn12j+V4GRkZ6tatm+eLuHr37q2//vWvdo9llPT0dLlcLk2dOtXuURwtNTVVLpfL6xYaGmr3WEb4+uuvdf/996t58+Zq1KiRevTooV27dtk9Vr0jZgxTUlKi7t27a968eXaPYozs7GwlJSUpJydHmzZt0qVLlzRs2DCVlJTYPZqjtW7dWi+++KJ27typnTt3atCgQfrpT3+qPXv22D2aEXbs2KFFixapW7dudo9ihM6dO+v48eOe2+eff273SI5XWFioPn36yM/PT3/961/15Zdf6tVXX72uv/W+MkZ8zwz+LS4uTnFxcXaPYZT333/f6/7SpUsVEhKiXbt2qX///jZN5Xzx8fFe91944QVlZGQoJydHnTt3tmkqM5w9e1b33XefFi9erOeff97ucYzg6+vL0ZhqeumllxQeHq6lS5d6lt188832DWQjjszgB+fMmTOSpGbNmtk8iTnKysq0evVqlZSUqHfv3naP43hJSUkaMWKEhgwZYvcoxjhw4IDCwsIUGRmpu+++WwcPHrR7JMfLzMxUVFSUfvaznykkJEQ9e/bU4sWL7R7LFsQMflAsy1JycrL69u2rLl262D2O433++edq3Lix3G63Hn30Ua1fv16dOnWyeyxHW716tXbv3q309HS7RzFGdHS0VqxYoQ0bNmjx4sUqKChQTEyMTp48afdojnbw4EFlZGSoXbt22rBhgx599FH98pe/1IoVK+werd5xmgk/KI8//rg+++wzbdu2ze5RjNC+fXvl5ubq9OnTWrt2rRITE5WdnU3QVCI/P19TpkzRxo0bdcMNN9g9jjG+e+q8a9eu6t27t9q2bavly5crOTnZxsmcrby8XFFRUUpLS5Mk9ezZU3v27FFGRoYeeOABm6erXxyZwQ/G5MmTlZmZqaysLLVu3drucYzQsGFD3XLLLYqKilJ6erq6d++uOXPm2D2WY+3atUsnTpzQ7bffLl9fX/n6+io7O1u/+93v5Ovrq7KyMrtHNEJAQIC6du2qAwcO2D2Ko7Vq1arCf1h07NhRR44csWki+3BkBtc9y7I0efJkrV+/Xlu3blVkZKTdIxnLsiyVlpbaPYZjDR48uMKncH7+85+rQ4cO+vWvfy0fHx+bJjNLaWmp9u7dq379+tk9iqP16dOnwtdM7N+/XxERETZNZB9ixjBnz57VV1995bmfl5en3NxcNWvWTG3atLFxMudKSkrSypUr9ec//1mBgYEqKCiQJAUHB8vf39/m6ZzrmWeeUVxcnMLDw1VcXKzVq1dr69atFT4dhn8LDAyscC1WQECAmjdvzjVaV/HUU08pPj5ebdq00YkTJ/T888+rqKhIiYmJdo/maE888YRiYmKUlpamcePG6X/+53+0aNEiLVq0yO7R6p8Fo2RlZVmSKtwSExPtHs2xrrS/JFlLly61ezRHe/DBB62IiAirYcOGVosWLazBgwdbGzdutHss4wwYMMCaMmWK3WM4WkJCgtWqVSvLz8/PCgsLs8aMGWPt2bPH7rGM8M4771hdunSx3G631aFDB2vRokV2j2QLl2VZlk0dBQAA8L1xATAAADAaMQMAAIxGzAAAAKMRMwAAwGjEDAAAMBoxAwAAjEbMAAAAoxEzAIx36NAhuVwu5ebmSpK2bt0ql8ul06dP2zoXgPpBzACw3YQJE+RyueRyueTr66s2bdroscceU2Fhod2jATAAMQPAEYYPH67jx4/r0KFDeuONN/TOO+9o0qRJdo8FwADEDABHcLvdCg0NVevWrTVs2DAlJCRo48aNkqTy8nI999xzat26tdxut3r06FGtH7w8fPiw4uPj1bRpUwUEBKhz585677336uqtAKhn/Go2AMc5ePCg3n//ffn5+UmS5syZo1dffVULFy5Uz549tWTJEv3kJz/Rnj171K5du2tuLykpSRcuXNCHH36ogIAAffnll2rcuHFdvw0A9YSYAeAIf/nLX9S4cWOVlZXp/PnzkqRZs2ZJkl555RX9+te/1t133y1Jeumll5SVlaXZs2dr/vz519z2kSNHNHbsWHXt2lWS9KMf/aiO3gUAOxAzABxh4MCBysjI0Llz5/TGG29o//79mjx5soqKinTs2DH16dPHa/0+ffro008/rdK2f/nLX+qxxx7Txo0bNWTIEI0dO1bdunWri7cBwAZcMwPAEQICAnTLLbeoW7du+t3vfqfS0lLNmDHD87jL5fJa37KsCssqM3HiRB08eFDjx4/X559/rqioKM2dO7dW5wdgH2IGgCOlpKTolVde0dmzZxUWFqZt27Z5Pb59+3Z17NixytsLDw/Xo48+qnXr1unJJ5/U4sWLa3tkADbhNBMAR4qNjVXnzp2VlpamX/3qV0pJSVHbtm3Vo0cPLV26VLm5ufrDH/5QpW1NnTpVcXFxuvXWW1VYWKgtW7ZUK4QAOBsxA8CxkpOT9fOf/1z79+9XUVGRnnzySZ04cUKdOnVSZmZmlT7JJEllZWVKSkrS0aNHFRQUpOHDh+u1116r4+kB1BeXZVmW3UMAAADUFNfMAAAAoxEzAADAaMQMAAAwGjEDAACMRswAAACjETMAAMBoxAwAADAaMQMAAIxGzAAAAKMRMwAAwGjEDAAAMBoxAwAAjPb/TWhp9CS7PYEAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bin_edges = [i - 0.5 for i in range(1, 8)]\n", + "\n", + "color = '#FFBB66' # Change to the desired color name\n", + "\n", + "plt.hist(dice_hundred['value'], bins=bin_edges, rwidth=0.8, color=color) \n", + "\n", + "plt.xlabel('Rolls')\n", + "plt.ylabel('Value')\n", + "plt.title('Histogram of Rolls')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It appears that the most common value is 6 with a frequency of 23. Mode = 6\n", + "\n", + "Almost Multimodal (having multiple modes) since both 6 and 4 have high frequencies. \n", + "\n", + "Almost perfect normal distribution.\n", + "\n", + "Histogram is pretty symmetric, the mean is often near the peak or center of the distribution. Mean around 3/4." + ] + }, + { + "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": 139, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean is 3.74\n" + ] + } + ], + "source": [ + "# your code here\n", + "\n", + "#dice_hundred['value'] = pd.to_numeric(dice_hundred['value']) #convert str into numerical values\n", + "\n", + "print(\"Mean is\", calculate_mean(dice_hundred['value']))" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.74\n" + ] + } + ], + "source": [ + "#Check if value with np.mean is the same :\n", + "\n", + "print(np.mean(dice_hundred['value']))" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Median is 2.5\n" + ] + } + ], + "source": [ + "print('Median is', median_2(dice_hundred['value']))" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "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", + "
Unnamed: 0rollvalue
count100.000000100.000000100.000000
mean49.50000049.5000003.740000
std29.01149229.0114921.703354
min0.0000000.0000001.000000
25%24.75000024.7500002.000000
50%49.50000049.5000004.000000
75%74.25000074.2500005.000000
max99.00000099.0000006.000000
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 roll value\n", + "count 100.000000 100.000000 100.000000\n", + "mean 49.500000 49.500000 3.740000\n", + "std 29.011492 29.011492 1.703354\n", + "min 0.000000 0.000000 1.000000\n", + "25% 24.750000 24.750000 2.000000\n", + "50% 49.500000 49.500000 4.000000\n", + "75% 74.250000 74.250000 5.000000\n", + "max 99.000000 99.000000 6.000000" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "roll_dice_df.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "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", + "
ValueFrequency
4112
5512
3314
2217
1422
0623
\n", + "
" + ], + "text/plain": [ + " Value Frequency\n", + "4 1 12\n", + "5 5 12\n", + "3 3 14\n", + "2 2 17\n", + "1 4 22\n", + "0 6 23" + ] + }, + "execution_count": 151, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Calculate the freq dist and sort by dice number (index)\n", + "\n", + "frequency_distribution = dice_hundred['value'].value_counts().reset_index().sort_values(by='value')\n", + "frequency_distribution.columns = ['Value', 'Frequency']\n", + "\n", + "frequency_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Set custom bar colors\n", + "bar_color = 'plum'\n", + "\n", + "# Create the bar plot with step size 1 for the y-axis and custom bar colors\n", + "plt.bar(frequency_distribution['Value'], frequency_distribution['Frequency'], color=bar_color)\n", + "\n", + "# Calculate the median\n", + "median = np.median(dice)\n", + "\n", + "plt.xlabel('Value - Dice number (x)')\n", + "plt.ylabel('Frequency (y)')\n", + "plt.title('Frequency Distribution of Dice Rolls')\n", + "\n", + "# Set x-axis ticks with a step size of 1\n", + "plt.xticks(frequency_distribution['Value'])\n", + "\n", + "# Set y-axis ticks with a step size of 1\n", + "plt.yticks(range(0, int(max(frequency_distribution['Frequency'])) + 1))\n", + "\n", + "#other way to set scale\n", + "#plt.yticks(range(min(sorted_rolls), max(sorted_rolls) + 1))\n", + "#plt.xticks(range(min(sorted_rolls), max(sorted_rolls) + 1))\n", + "\n", + "# Display the median as text on the plot\n", + "plt.text(median, 1, f\"Median: {median}\", ha='center', va='bottom', fontsize=12)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 173, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHFCAYAAAAHcXhbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3iElEQVR4nO3deXhU9cH28XuyTRayECAkgRAi+yaLKKsSZJGIlEUrLkiQ0EpByyKPLfj4GCsShUKxoiiIAbRsVgRai4AKCAIaQFYREFklMeyBhEy28/7hm6lDWJIh5MyB7+e6ziVztrlnRpKb8zvnjM0wDEMAAAAW5WV2AAAAgOtBmQEAAJZGmQEAAJZGmQEAAJZGmQEAAJZGmQEAAJZGmQEAAJZGmQEAAJZGmQEAAJZGmQE8xOzZs2Wz2bR58+bLLn/ggQdUu3Ztl3m1a9fWoEGDyvQ8GzZsUHJyss6ePete0FvQwoUL1aRJEwUEBMhms2nbtm0l1hk1apRsNpu+//77K+7n+eefl81m09atW0v93O58xsCthjIDWNjHH3+sF154oUzbbNiwQS+99BJlppROnDihJ554QnXq1NGnn36qjRs3qn79+iXWS0pKkiS99957l91PUVGR5s6dqxYtWqhVq1Y3NDNwq6HMABbWsmVL1alTx+wYZZKfn6+CggKzY5Tavn37lJ+frwEDBqhTp05q27atAgMDS6zXtGlT3XXXXXr//fcv+/pWrlypY8eOOUsPgPJDmQEs7NIhiKKiIo0fP14NGjRQQECAwsLCdPvtt+v111+XJCUnJ+t//ud/JElxcXGy2Wyy2Wxas2aNc/uJEyeqYcOGstvtioiI0MCBA3Xs2DGX5zUMQxMmTFBsbKz8/f3VunVrrVq1SvHx8YqPj3eut2bNGtlsNr3//vt69tlnVaNGDdntdv3www86ceKEhg0bpsaNG6tSpUqKiIjQvffeq3Xr1rk816FDh2Sz2TRp0iS99tprql27tgICAhQfH+8sGn/+858VHR2t0NBQ9e3bV5mZmaV6/5YtW6Z27dopMDBQwcHB6tatmzZu3OhcPmjQIHXs2FGS1L9/f9lsNpfXd6mkpCRlZGRo+fLlJZalpqbKbrfr8ccfV25urp599lm1aNFCoaGhCg8PV7t27bR06dJrZi4ejjx06JDL/OL3uvizLPbZZ5+pS5cuCgkJUWBgoDp06KDPP//8ms8DWAllBvAwhYWFKigoKDGV5gvuJ06cqOTkZD366KP65JNPtHDhQiUlJTmHlIYMGaJnnnlGkrR48WJt3LhRGzdudA57/OEPf9Cf/vQndevWTcuWLdPLL7+sTz/9VO3bt9fJkyedz/P888/r+eefV48ePbR06VINHTpUQ4YM0b59+y6ba+zYsTpy5Ijefvtt/etf/1JERIROnz4tSXrxxRf1ySefKDU1Vbfddpvi4+NL/EKWpDfffFNfffWV3nzzTb377rv6/vvv1atXLyUlJenEiRN67733NHHiRH322WcaMmTINd+refPmqXfv3goJCdH8+fM1a9YsnTlzRvHx8Vq/fr0k6YUXXtCbb74pSZowYYI2btyot95664r7fPTRRxUYGFhiqOnMmTNaunSp+vbtq8qVK8vhcOj06dMaM2aMlixZovnz56tjx47q16+f5s6de83spfXBBx+oe/fuCgkJ0Zw5c7Ro0SKFh4frvvvuo9Dg5mIA8AipqamGpKtOsbGxLtvExsYaiYmJzscPPPCA0aJFi6s+z6RJkwxJxsGDB13m79mzx5BkDBs2zGX+119/bUgyxo0bZxiGYZw+fdqw2+1G//79XdbbuHGjIcno1KmTc97q1asNScY999xzzddfUFBg5OfnG126dDH69u3rnH/w4EFDktG8eXOjsLDQOX/q1KmGJOM3v/mNy35GjhxpSDLOnTt3xecqLCw0oqOjjWbNmrns8/z580ZERITRvn37Eq/hww8/vOZrMAzDSExMNHx9fY2ff/7ZOe+NN94wJBmrVq266mtPSkoyWrZs6bLs0s+4+P+TSz+/4pyrV682DMMwsrOzjfDwcKNXr14lXnvz5s2Nu+66q1SvB7ACjswAHmbu3LlKS0srMRUPd1zNXXfdpe3bt2vYsGFasWKFsrKySv28q1evlqQSV87cddddatSokfNf8ps2bZLD4dDDDz/ssl7btm1LXG1V7MEHH7zs/LffflutWrWSv7+/fHx85Ovrq88//1x79uwpse79998vL6///shq1KiRJKlnz54u6xXPP3LkyBVeqbR3714dP35cTzzxhMs+K1WqpAcffFCbNm1STk7OFbe/mqSkJOXn5+v99993zktNTVVsbKy6dOninPfhhx+qQ4cOqlSpkvO1z5o167Kv3R0bNmzQ6dOnlZiY6HKEr6ioSD169FBaWpqys7PL5bkAs1FmAA/TqFEjtW7dusQUGhp6zW3Hjh2rv/71r9q0aZMSEhJUpUoVdenS5YqXe//aqVOnJElRUVEllkVHRzuXF/+3evXqJda73Lwr7XPKlCn6wx/+oDZt2uijjz7Spk2blJaWph49eujixYsl1g8PD3d57Ofnd9X5ubm5l83y69dwpddaVFSkM2fOXHH7q7n77rtVv359paamSpJ27NihrVu36sknn5TNZpP0yxDfww8/rBo1auiDDz7Qxo0blZaWpsGDB181d1n8/PPPkqSHHnpIvr6+LtNrr70mwzCcQ32A1fmYHQBA+fHx8dHo0aM1evRonT17Vp999pnGjRun++67T0ePHr3sVTjFqlSpIklKT09XzZo1XZYdP35cVatWdVmv+Jflr2VkZFz26EzxL/Ff++CDDxQfH6/p06e7zD9//vzVX2Q5+PVrvdTx48fl5eWlypUru73/wYMH689//rO++eYbzZs3T15eXi5HvD744APFxcVp4cKFLu+Nw+G45r79/f0vu+6vz2mS5Py83njjDbVt2/ay+7pS+QSshiMzwE0qLCxMDz30kIYPH67Tp087r36x2+2SVOLox7333ivpl1+0v5aWlqY9e/Y4h0jatGkju92uhQsXuqy3adMmHT58uNT5bDabM0uxHTt2uFxNdKM0aNBANWrU0Lx581xOrM7OztZHH33kvMLJXYmJifLx8dE777yjf/zjH+rSpYtiY2Ody202m/z8/FyKTEZGRqmuZiouizt27HCZv2zZMpfHHTp0UFhYmL777rvLHulr3bq18ygWYHUcmQFuIr169VLTpk3VunVrVatWTYcPH9bUqVMVGxurevXqSZKaNWsmSXr99deVmJgoX19fNWjQQA0aNNDvf/97vfHGG/Ly8lJCQoIOHTqkF154QTExMRo1apSkX4Z1Ro8erZSUFFWuXFl9+/bVsWPH9NJLLykqKsrlHJSreeCBB/Tyyy/rxRdfVKdOnbR371795S9/UVxc3A2/D42Xl5cmTpyoxx9/XA888ICeeuopORwOTZo0SWfPntWrr756XfuPjIzU/fffr9TUVBmGUeLeMg888IAWL16sYcOG6aGHHtLRo0f18ssvKyoqSvv377/qvu+88041aNBAY8aMUUFBgSpXrqyPP/7YeQVWsUqVKumNN95QYmKi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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Jesus' method\n", + "\n", + "bin_edges = [i - 0.5 for i in range(1, 8)]\n", + "\n", + "plt.hist(dice_hundred['value'], bins=bin_edges, rwidth=0.8, color='powderblue')\n", + "\n", + "# Calculate the mean\n", + "mean_value = dice_hundred['value'].mean()\n", + "\n", + "# Display the mean as a vertical line on the histogram\n", + "plt.axvline(mean_value, color='cadetblue', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value}')\n", + "\n", + "# Set labels and title\n", + "plt.xlabel('Value')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of Value')\n", + "\n", + "# Add a legend\n", + "plt.legend()\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "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": 174, + "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", + "
Unnamed: 0rollvalue
0005
1116
2221
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 roll value\n", + "0 0 0 5\n", + "1 1 1 6\n", + "2 2 2 1" + ] + }, + "execution_count": 174, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "dice_thousand = pd.read_csv('/Users/amandine/Desktop/Ironhack/03_Week/Descriptive-Stats/data/roll_the_dice_thousand.csv')\n", + "dice_thousand.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "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", + "
Dice NumberFrequency
01175
12167
23175
34168
45149
56166
\n", + "
" + ], + "text/plain": [ + " Dice Number Frequency\n", + "0 1 175\n", + "1 2 167\n", + "2 3 175\n", + "3 4 168\n", + "4 5 149\n", + "5 6 166" + ] + }, + "execution_count": 175, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "frequency_distribution = dice_thousand['value'].value_counts().sort_index().reset_index()\n", + "\n", + "frequency_distribution.columns = ['Dice Number', 'Frequency']\n", + "\n", + "frequency_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAlElEQVR4nO3de3zPdeP/8efHDh/bzOxgtmXWlFMmp1UOlTlbKFQoZbIOLnIR+15Fv27mqsvEhVyUTgxR5LqQK1c5nwpdQxSVkGO2Vk4z47PZ3r8/uvlcfcyGj/H+7O1xv93et7yPn+fnY/H0eh8+NsMwDAEAAFhUBbMDAAAAXE+UHQAAYGmUHQAAYGmUHQAAYGmUHQAAYGmUHQAAYGmUHQAAYGmUHQAAYGmUHQAAYGmUHaCcmDlzpmw2m7Zs2XLJ9V26dNGtt97qsuzWW29Vv379rup1Nm7cqNTUVJ08edK9oDeh+fPnq379+vLz85PNZtP27duLbfPCCy/IZrPphx9+KPE4L7/8smw2m7Zt23bFr+3O7zFws6HsABa2aNEivfLKK1e1z8aNGzV69GjKzhX69ddf9eSTT+q2227T559/rk2bNql27drFtktOTpYkzZgx45LHKSoq0uzZs9WoUSM1adLkumYGbjaUHcDCGjdurNtuu83sGFeloKBA58+fNzvGFfvxxx9VUFCgJ554Qq1atVKzZs3k7+9fbLu4uDjdfffd+uCDDy75/pYvX64jR444SxGAskPZASzs4lMcRUVFeu2111SnTh35+fmpSpUquvPOOzV58mRJUmpqqv7v//5PkhQbGyubzSabzaa1a9c69x83bpzq1q0ru92u8PBw9e3bV0eOHHF5XcMwNGbMGMXExKhixYqKj4/XihUrlJCQoISEBOd2a9eulc1m0wcffKDhw4frlltukd1u1969e/Xrr79q4MCBuuOOO1SpUiWFh4erTZs22rBhg8trHThwQDabTePHj9frr7+uW2+9VX5+fkpISHAWkZdeeklRUVEKCgpS9+7dlZ2dfUWf35IlS9S8eXP5+/srMDBQ7du316ZNm5zr+/Xrp3vvvVeS1KtXL9lsNpf3d7Hk5GRlZWXps88+K7YuPT1ddrtdffr00blz5zR8+HA1atRIQUFBCgkJUfPmzfXJJ59cNvOF050HDhxwWX7hs77we3nBypUr1bZtW1WuXFn+/v5q2bKlVq1addnXAcoTyg5QzhQWFur8+fPFJsMwLrvvuHHjlJqaqscee0xLly7V/PnzlZyc7Dxl9fTTT2vw4MGSpIULF2rTpk3atGmT87TKn/70J7344otq3769lixZoldffVWff/65WrRood9++835Oi+//LJefvllderUSZ988okGDBigp59+Wj/++OMlc40YMUKHDh3S22+/rX//+98KDw/X8ePHJUmjRo3S0qVLlZ6erpo1ayohIaHYX9iS9Oabb+rLL7/Um2++qffff18//PCDunbtquTkZP3666+aMWOGxo0bp5UrV+rpp5++7Gf14Ycf6qGHHlLlypX10Ucfafr06Tpx4oQSEhL0xRdfSJJeeeUVvfnmm5KkMWPGaNOmTXrrrbdKPOZjjz0mf3//YqeyTpw4oU8++UTdu3dXcHCwHA6Hjh8/rpSUFC1evFgfffSR7r33XvXo0UOzZ8++bPYrNWfOHHXo0EGVK1fWrFmz9PHHHyskJEQdO3ak8MBaDADlQnp6uiGp1CkmJsZln5iYGCMpKck536VLF6NRo0alvs748eMNScb+/ftdln///feGJGPgwIEuy7/66itDkjFy5EjDMAzj+PHjht1uN3r16uWy3aZNmwxJRqtWrZzL1qxZY0gy7r///su+//PnzxsFBQVG27Ztje7duzuX79+/35BkNGzY0CgsLHQuf+ONNwxJxoMPPuhynKFDhxqSjFOnTpX4WoWFhUZUVJTRoEEDl2OePn3aCA8PN1q0aFHsPSxYsOCy78EwDCMpKcnw8fExfvnlF+eyKVOmGJKMFStWlPrek5OTjcaNG7usu/j3+MLPycW/fxdyrlmzxjAMwzhz5owREhJidO3atdh7b9iwoXH33Xdf0fsBygNGdoByZvbs2crIyCg2XTidUpq7775bO3bs0MCBA7Vs2TLl5ORc8euuWbNGkord+XP33XerXr16zpGAzZs3y+FwqGfPni7bNWvWrNjdYhc8/PDDl1z+9ttvq0mTJqpYsaK8vb3l4+OjVatW6fvvvy+27QMPPKAKFf73R1q9evUkSZ07d3bZ7sLyQ4cOlfBOpd27d+vo0aN68sknXY5ZqVIlPfzww9q8ebPy8vJK3L80ycnJKigo0AcffOBclp6erpiYGLVt29a5bMGCBWrZsqUqVarkfO/Tp0+/5Ht3x8aNG3X8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0J49e8yO4tEiIyOL/cOjXr16OnTokEmJzMHIDqDfT10NHjxYixYt0tq1axUbG2t2pHLLMAw5HA6zY3istm3bFruL6KmnnlLdunX14osvysvLy6Rk5YvD4dD333+v++67z+woHq1ly5bFHqPx448/KiYmxqRE5qDsWFBubq727t3rnN+/f7+2b9+ukJAQ1ahRw8RknmvQoEH68MMP9cknnygwMFBZWVmSpKCgIPn5+ZmcznONHDlSiYmJio6O1unTpzVv3jytXbu22N1t+J/AwMBi14IFBAQoNDSUa8RKkZKSoq5du6pGjRrKzs7Wa6+9ppycHCUlJZkdzaO98MILatGihcaMGaOePXvqv//9r9599129++67Zke7sQxYzpo1awxJxaakpCSzo3msS31ekoz09HSzo3m0/v37GzExMYavr69RtWpVo23btsby5cvNjlXutGrVyhgyZIjZMTxar169jMjISMPHx8eIiooyevToYezatcvsWOXCv//9byMuLs6w2+1G3bp1jXfffdfsSDeczTAMw6SeBQAAcN1xgTIAALA0yg4AALA0yg4AALA0yg4AALA0yg4AALA0yg4AALA0yg4AALA0yg4Ay0pISNDQoUPNjgHAZJQdAB6pa9euateu3SXXbdq0STabTdu2bbvBqQCUR5QdAB4pOTlZq1ev1sGDB4utmzFjhho1aqQmTZqYkAxAeUPZAeCRunTpovDwcM2cOdNleV5enubPn69u3brpscceU/Xq1eXv768GDRroo48+KvWYNptNixcvdllWpUoVl9f4+eef1atXLwUHBys0NFQPPfSQDhw4UDZvCoApKDsAPJK3t7f69u2rmTNn6o9f4bdgwQLl5+fr6aefVtOmTfXpp59q586devbZZ/Xkk0/qq6++cvs18/Ly1Lp1a1WqVEnr16/XF198oUqVKqlTp07Kz88vi7cFwASUHQAeq3///jpw4IDWrl3rXDZjxgz16NFDt9xyi1JSUtSoUSPVrFlTgwcPVseOHbVgwQK3X2/evHmqUKGC3n//fTVo0ED16tVTenq6Dh065JIBQPnibXYAAChJ3bp11aJFC82YMUOtW7fWvn37tGHDBi1fvlyFhYUaO3as5s+fr59//lkOh0MOh0MBAQFuv97WrVu1d+9eBQYGuiw/d+6c9u3bd61vB4BJKDsAPFpycrKef/55vfnmm0pPT1dMTIzatm2r8ePHa9KkSXrjjTfUoEEDBQQEaOjQoaWebrLZbC6nxCSpoKDA+euioiI1bdpUc+fOLbZv1apVy+5NAbihKDsAPFrPnj01ZMgQffjhh5o1a5aeeeYZ2Ww2bdiwQQ899JCeeOIJSb8XlT179qhevXolHqtq1arKzMx0zu/Zs0d5eXnO+SZNmmj+/PkKDw9X5cqVr9+bAnBDcc0OAI9WqVIl9erVSyNHjtTRo0fVr18/SdLtt9+uFStWaOPGjfr+++/13HPPKSsrq9RjtWnTRlOnTtW2bdu0ZcsWDRgwQD4+Ps71ffr0UVhYmB566CFt2LBB+/fv17p16zRkyBAdOXLker5NANcRZQeAx0tOTtaJEyfUrl071ahRQ5L0yiuvqEmTJurYsaMSEhIUERGhbt26lXqcCRMmKDo6Wvfff78ef/xxpaSkyN/f37ne399f69evV40aNdSjRw/Vq1dP/fv319mzZxnpAcoxm3HxCWwAAAALYWQHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABY2v8HOblBgy7naKwAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Jesus' method\n", + "\n", + "bin_edges = [i - 0.5 for i in range(1, 8)]\n", + "\n", + "plt.hist(dice_thousand['value'], bins=bin_edges, rwidth=0.8, color='powderblue')\n", + "\n", + "# Calculate the mean\n", + "mean_value = dice_thousand['value'].mean()\n", + "\n", + "# Display the mean as a vertical line on the histogram\n", + "plt.axvline(mean_value, color='cadetblue', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value}')\n", + "\n", + "# Set labels and title\n", + "plt.xlabel('Value')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of Value')\n", + "\n", + "# Add a legend\n", + "plt.legend()\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we see more uniform chart and mean line closer to the 3.\n", + "Almost all the values will have the same count (more flat/uniform distribution).\n", + "The more values we have, the closer we gonna be to the mean." + ] + }, + { + "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": 235, + "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", + "
observation
068.0
112.0
245.0
338.0
449.0
527.0
639.0
712.0
842.0
933.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 68.0\n", + "1 12.0\n", + "2 45.0\n", + "3 38.0\n", + "4 49.0\n", + "5 27.0\n", + "6 39.0\n", + "7 12.0\n", + "8 42.0\n", + "9 33.0" + ] + }, + "execution_count": 235, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "ages_population_df = pd.read_csv('/Users/amandine/Desktop/Ironhack/03_Week/Descriptive-Stats/data/ages_population.csv')\n", + "ages_population_df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([68., 12., 45., 38., 49., 27., 39., 42., 33., 30., 25., 44., 53.,\n", + " 46., 50., 22., 6., 29., 35., 28., 26., 60., 41., 52., 32., 23.,\n", + " 15., 40., 63., 31., 34., 61., 64., 37., 56., 14., 13., 51., 36.,\n", + " 18., 48., 58., 20., 54., 19., 62., 55., 21., 43., 17., 7., 47.,\n", + " 1., 16., 24., 59., 57., 8., 67., 2., 66., 4., 73., 82., 70.,\n", + " 5., 71., 9., 69., 11., 10., 65.])" + ] + }, + "execution_count": 178, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ages_population_df['observation'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 180, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
count1000.0000
mean36.5600
std12.8165
min1.0000
25%28.0000
50%37.0000
75%45.0000
max82.0000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.0000\n", + "mean 36.5600\n", + "std 12.8165\n", + "min 1.0000\n", + "25% 28.0000\n", + "50% 37.0000\n", + "75% 45.0000\n", + "max 82.0000" + ] + }, + "execution_count": 180, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ages_population_df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 179, + "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", + "
AgeFrequency
01.02
12.02
24.01
35.02
46.02
.........
6769.01
6870.01
6971.01
7073.01
7182.01
\n", + "

72 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " Age Frequency\n", + "0 1.0 2\n", + "1 2.0 2\n", + "2 4.0 1\n", + "3 5.0 2\n", + "4 6.0 2\n", + ".. ... ...\n", + "67 69.0 1\n", + "68 70.0 1\n", + "69 71.0 1\n", + "70 73.0 1\n", + "71 82.0 1\n", + "\n", + "[72 rows x 2 columns]" + ] + }, + "execution_count": 179, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "frequency_distribution = ages_population_df['observation'].value_counts().sort_index().reset_index()\n", + "\n", + "frequency_distribution.columns = ['Age', 'Frequency']\n", + "\n", + "frequency_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 192, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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vLy8nB4jR46UJB0/frzMdQJWxJwZ4Drh6empcePGady4cTp16pQ+++wzTZ48Wd27d9fRo0fl5+dX7GuDgoIkSWlpaapdu7bTtl9++cUxX+Ziv4t/aP8oPT3d5eiMzWYr0vb2228rJiZGCxYscGrPzs4u+SArwB+P9VK//PKLqlSpoho1apR5v6U9pqCgIG3btq3I69PT052eX/yaT5o0Sf3793f5no0aNSpznYAVMTIDXIeqV6+u+++/X0899ZROnjypw4cPS5LsdrskFRn9uPPOOyX9/gf5j5KSkrRv3z517dpVktS+fXvZ7XatWLHCqd/WrVuVmppa6vpsNpujlot27drldDdRZWnUqJFq1aqlZcuWOU2sPnv2rN5//33HHU5lVdpjio6OVnZ2ttasWePUvnz58iJ1RkVFaefOnS5H69q2bauAgIAy1wlYESMzwHXi7rvvVvPmzdW2bVvdeOONSk1N1bx58xQREaGoqChJ0s033yxJeuWVVzRkyBB5eXmpUaNGatSokf70pz/pH//4h6pUqaKePXs67maqU6eOxo4dK+n3yzrjxo1TfHy8atSooX79+unYsWOaNm2awsLCnOaglKRPnz7661//qqlTpyo6Olr79+/XX/7yF0VGRrq8m6siValSRbNnz9bAgQPVp08fjRgxQrm5uZozZ45OnTqlWbNmlWu/pT2mIUOG6OWXX9agQYM0ffp0NWjQQGvWrNGnn37qqO+i119/XT179lT37t01dOhQ1apVSydPntS+ffv07bff6t13372yLwZgFWbPQAZweRfvZkpKSnK5vXfv3pe9m+mll14yOnbsaNSsWdPw9vY26tatawwbNsw4fPiw0+smTZpkhIeHG1WqVDEkGRs2bDAM4/e7fF588UWjYcOGhpeXl1GzZk1j0KBBxtGjR51eX1hYaEyfPt2oXbu24e3tbbRo0cL473//a7Rs2dLprp2S7gTKzc01JkyYYNSqVcvw8fEx2rRpY3z44YfGkCFDnI7z4t1Mc+bMcXp9cfu+3Nfxjz788EOjffv2ho+Pj+Hv72907drV+Oqrr0r1Pq6U9pgMwzCOHDli9O/f36hataoREBBg3HfffcYnn3xiSDI++ugjp747d+40HnzwQSM4ONjw8vIyQkNDjTvvvNNYuHDhZWsCrhU2wyjFAhUAcAVSUlLUuHFjTZ06VZMn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DMPMkSEAAIArwZwZAABgaYQZAABgaYQZAABgaYQZAABgaYQZAABgaYQZAABgaYQZAABgaYQZAABgaYQZAG5py5Yt8vDwUI8ePcwuBYCbYwVgAG5p+PDhqlq1qv75z39q7969qlu3rtklAXBTjMwAcDtnz57VypUr9eSTT6pPnz5avHix0/bVq1crKipKvr6+6tKli5YsWSKbzaZTp045+mzZskWdO3eWr6+v6tSpo6efflpnz569ugcC4KogzABwOytWrFCjRo3UqFEjDRo0SAkJCbo4iHz48GHdf//9uvfee5WcnKwRI0ZoypQpTq/fvXu3unfvrv79+2vXrl1asWKFNm/erFGjRplxOAAqGZeZALid22+/XQ8++KBGjx6tCxcuKCwsTO+8847uuusuPffcc/r444+1e/duR//nn39eM2bMUGZmpqpXr67BgwfL19dXr7/+uqPP5s2bFR0drbNnz8rHx8eMwwJQSRiZAeBW9u/fr23btumhhx6SJHl6emrAgAF66623HNvbtWvn9Jpbb73V6fmOHTu0ePFiVa1a1fHo3r27CgsLlZKScnUOBMBV42l2AQDwR4sWLdKFCxdUq1YtR5thGPLy8lJmZqYMw5DNZnN6zaUDzIWFhRoxYoSefvrpIvtnIjFw7SHMAHAbFy5c0NKlS/XSSy8pNjbWadt9992nf//732rcuLE++eQTp23bt293et6mTRvt2bNHDRo0qPSaAZiPOTMA3MaHH36oAQMGKCMjQ4GBgU7bpkyZok8++USrVq1So0aNNHbsWA0bNkzJyckaP368jh07plOnTikwMFC7du3Sbbfdpscee0z/93//J39/f+3bt0+JiYn6xz/+YdLRAagszJkB4DYWLVqku+66q0iQkX4fmUlOTlZmZqbee+89rVq1Si1atNCCBQscdzPZ7XZJUosWLbRp0yYdPHhQd9xxh1q3bq0XXnhBYWFhV/V4AFwdjMwAsLwZM2Zo4cKFOnr0qNmlADABc2YAWM5rr72mdu3aKSgoSF999ZXmzJnDGjLAdYwwA8ByDh48qOnTp+vkyZOqW7euxo8fr0mTJpldFgCTcJkJAABYGhOAAQCApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApf1/rzAiU85PZS0AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bin_edges = [i - 0.5 for i in range(1, 90)]\n", + "\n", + "plt.hist(ages_population_df, bins=bin_edges, rwidth=0.8, color='powderblue')\n", + "\n", + "# Calculate the mean\n", + "mean_value = ages_population_df['observation'].mean()\n", + "\n", + "# Display the mean as a vertical line on the histogram\n", + "plt.axvline(mean_value, color='cadetblue', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value}')\n", + "\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of age')\n", + "\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum Frequency: 45\n", + "Age Associated with Maximum Frequency: 39.0\n" + ] + } + ], + "source": [ + "max_frequency = frequency_distribution['Frequency'].max()\n", + "index_of_max_frequency = frequency_distribution['Frequency'].idxmax()\n", + "age_associated_with_max_frequency = frequency_distribution.loc[index_of_max_frequency, 'Age']\n", + "\n", + "print(\"Maximum Frequency:\", max_frequency)\n", + "print(\"Age Associated with Maximum Frequency:\", age_associated_with_max_frequency)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Mean is generally around the most frequent values, so ages around 40/45.\n", + "\n", + "Data are pretty sparse, so we can expect the standard deviation to be pretty high, around 10/15." + ] + }, + { + "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": 198, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean age is 36.56\n", + "The standard deviation for age is 12.82\n" + ] + } + ], + "source": [ + "mean_age = ages_population_df['observation'].mean()\n", + "print(f\"The mean age is {mean_age:.2f}\")\n", + "\n", + "\n", + "std_age = ages_population_df['observation'].std()\n", + "print(f\"The standard deviation for age is {std_age:.2f}\")" + ] + }, + { + "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": 199, + "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", + "
observation
025.0
131.0
229.0
331.0
429.0
529.0
628.0
730.0
824.0
926.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 25.0\n", + "1 31.0\n", + "2 29.0\n", + "3 31.0\n", + "4 29.0\n", + "5 29.0\n", + "6 28.0\n", + "7 30.0\n", + "8 24.0\n", + "9 26.0" + ] + }, + "execution_count": 199, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "ages_population2_df = pd.read_csv('/Users/amandine/Desktop/Ironhack/03_Week/Descriptive-Stats/data/ages_population2.csv')\n", + "ages_population2_df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 201, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
count1000.000000
mean27.155000
std2.969814
min19.000000
25%25.000000
50%27.000000
75%29.000000
max36.000000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.000000\n", + "mean 27.155000\n", + "std 2.969814\n", + "min 19.000000\n", + "25% 25.000000\n", + "50% 27.000000\n", + "75% 29.000000\n", + "max 36.000000" + ] + }, + "execution_count": 201, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ages_population2_df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 200, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AgeFrequency
019.03
120.013
221.017
322.035
423.041
524.078
625.098
726.0120
827.0125
928.0139
1029.0115
1130.090
1231.061
1332.031
1433.022
1534.07
1635.03
1736.02
\n", + "
" + ], + "text/plain": [ + " Age Frequency\n", + "0 19.0 3\n", + "1 20.0 13\n", + "2 21.0 17\n", + "3 22.0 35\n", + "4 23.0 41\n", + "5 24.0 78\n", + "6 25.0 98\n", + "7 26.0 120\n", + "8 27.0 125\n", + "9 28.0 139\n", + "10 29.0 115\n", + "11 30.0 90\n", + "12 31.0 61\n", + "13 32.0 31\n", + "14 33.0 22\n", + "15 34.0 7\n", + "16 35.0 3\n", + "17 36.0 2" + ] + }, + "execution_count": 200, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "frequency_distribution = ages_population2_df['observation'].value_counts().sort_index().reset_index()\n", + "\n", + "frequency_distribution.columns = ['Age', 'Frequency']\n", + "\n", + "frequency_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 204, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCJUlEQVR4nO3df3yPdf////vLfrz2wwxb+8XMypAfiZRImWQsIuqkIpQ6lVTCWS05TacIZ0tvijoTqlOok/I5S1nMSnLmN6lT0sxkO1eZbcZe+3V8//D1qlczZl5zbMdu18vluOR1HM/j2ON1dGT3ns/ncRw2wzAMAQAAWFQ9swsAAACoToQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdwCKWLFkim82mbdu2nXV7//791bx5c5d1zZs316hRoy7o52zevFmJiYk6fvx41Qqtg1asWKG2bdvK19dXNptNu3btMrskoE4h7AB12OrVqzVlypQL2mfz5s2aNm0aYaeSfv75Z91777264oor9Mknn+irr75Sy5YtzS4LqFM8zS4AgHk6duxodgkXrLi4WDabTZ6eteOvr++//17FxcUaPny4evToYXY5QJ1Ezw5Qh/1xGKusrEzTp09Xq1at5Ovrq4YNG+qqq67Syy+/LElKTEzUX/7yF0lSdHS0bDabbDabNm7c6Nx/9uzZat26tex2u0JCQjRixAgdOXLE5ecahqEZM2YoKipKPj4+6ty5s5KTkxUbG6vY2Fhnu40bN8pms+ntt9/WxIkT1aRJE9ntdv3www/6+eefNXbsWLVp00b169dXSEiIbr75Zn3xxRcuP+vQoUOy2WyaM2eOZs2apebNm8vX11exsbHOIPL0008rIiJCgYGBGjRokLKzsyt1/tasWaOuXbvKz89PAQEB6t27t7766ivn9lGjRql79+6SpKFDh8pms7l8vz+q7HeSpCNHjujOO+9UQECAGjZsqGHDhmnr1q2y2WxasmSJS9tt27ZpwIABaty4sXx8fNSxY0etXLmyUt8RsILa8b9GACqttLRUJSUl5dYbhnHefWfPnq3ExEQ9++yzuummm1RcXKz//ve/ziGrBx54QMeOHdO8efO0atUqhYeHS5LatGkjSXr44Yf1+uuva9y4cerfv78OHTqkKVOmaOPGjdqxY4eCg4MlSZMnT9bMmTP15z//WYMHD1ZGRoYeeOABFRcXn3WIJyEhQV27dtXChQtVr149hYSE6Oeff5YkTZ06VWFhYTpx4oRWr16t2NhYrV+/vlyoeOWVV3TVVVfplVde0fHjxzVx4kTddttt6tKli7y8vPTmm28qPT1dkyZN0gMPPKA1a9ac81wtW7ZMw4YNU1xcnN599105HA7Nnj3b+fO7d++uKVOm6LrrrtMjjzyiGTNmqGfPnmrQoEGFxzx27FilvlNBQYF69uypY8eOadasWWrRooU++eQTDR06tNwxU1JS1LdvX3Xp0kULFy5UYGCgli9frqFDh+rkyZMXPGcLqJUMAJawePFiQ9I5l6ioKJd9oqKijJEjRzo/9+/f37j66qvP+XPmzJljSDLS0tJc1n/33XeGJGPs2LEu6//zn/8YkoxnnnnGMAzDOHbsmGG3242hQ4e6tPvqq68MSUaPHj2c61JSUgxJxk033XTe719SUmIUFxcbvXr1MgYNGuRcn5aWZkgyOnToYJSWljrXz50715BkDBgwwOU448ePNyQZubm5Ff6s0tJSIyIiwmjfvr3LMfPz842QkBCjW7du5b7De++9d97vUNnv9MorrxiSjLVr17q0HzNmjCHJWLx4sXNd69atjY4dOxrFxcUubfv372+Eh4e71A9YFcNYgMW89dZb2rp1a7nlzHDKuVx33XXavXu3xo4dq08//VR5eXmV/rkpKSmSVK6n4LrrrtOVV16p9evXS5K2bNkih8OhIUOGuLS7/vrry90tdsYdd9xx1vULFy5Up06d5OPjI09PT3l5eWn9+vX67rvvyrW99dZbVa/eb3/lXXnllZKkfv36ubQ7s/7w4cMVfFNp//79Onr0qO69916XY9avX1933HGHtmzZopMnT1a4/7lU5julpqYqICBAffv2ddn37rvvdvn8ww8/6L///a+GDRsmSSopKXEut956qzIzM7V///4q1QnUJoQdwGKuvPJKde7cudwSGBh43n0TEhL097//XVu2bFF8fLyCgoLUq1evCm9n/71ff/1VkpxDW78XERHh3H7mn6GhoeXanW1dRcdMSkrSww8/rC5duuhf//qXtmzZoq1bt6pv3746depUufaNGzd2+ezt7X3O9YWFhWet5fffoaLvWlZWppycnAr3r0hlv9Ovv/5aqfP3v//9T5I0adIkeXl5uSxjx46VJP3yyy8XXCdQ2zBnB4CTp6enJkyYoAkTJuj48eP67LPP9Mwzz6hPnz7KyMiQn59fhfsGBQVJkjIzM9W0aVOXbUePHnXO1znT7swv4t/Lyso6a++OzWYrt+6dd95RbGysFixY4LI+Pz//3F/SDX7/Xf/o6NGjqlevnho1anTBx63sdwoKCtLXX39dbv+srCyXz2fOeUJCggYPHnzWn9mqVasLrhOobejZAXBWDRs21J133qlHHnlEx44d06FDhyRJdrtdksr1ntx8882STv/C/r2tW7fqu+++U69evSRJXbp0kd1u14oVK1zabdmyRenp6ZWuz2azOWs5Y8+ePS53Q1WXVq1aqUmTJlq2bJnLxO+CggL961//ct6hdaEq+5169Oih/Px8rV271mX98uXLy9UZExOj3bt3n7W3r3PnzgoICLjgOoHahp4dAE633Xab2rVrp86dO+uyyy5Tenq65s6dq6ioKMXExEiS2rdvL0l6+eWXNXLkSHl5ealVq1Zq1aqV/vznP2vevHmqV6+e4uPjnXdjRUZG6oknnpB0ethowoQJmjlzpho1aqRBgwbpyJEjmjZtmsLDw13mwJxL//799be//U1Tp05Vjx49tH//fj333HOKjo4+691o7lSvXj3Nnj1bw4YNU//+/TVmzBg5HA7NmTNHx48f1wsvvFCl41b2O40cOVIvvfSShg8frunTp6tFixZau3atPv30U2d9Z7z22muKj49Xnz59NGrUKDVp0kTHjh3Td999px07dui99967uJMB1AZmz5AG4B5n7sbaunXrWbf369fvvHdjvfjii0a3bt2M4OBgw9vb22jWrJkxevRo49ChQy77JSQkGBEREUa9evUMSUZKSophGKfvUpo1a5bRsmVLw8vLywgODjaGDx9uZGRkuOxfVlZmTJ8+3WjatKnh7e1tXHXVVca///1vo0OHDi53HZ3rTiaHw2FMmjTJaNKkieHj42N06tTJ+OCDD4yRI0e6fM8zd2PNmTPHZf+Kjn2+8/h7H3zwgdGlSxfDx8fH8Pf3N3r16mV8+eWXlfo5Z1PZ72QYhnH48GFj8ODBRv369Y2AgADjjjvuMD7++GNDkvHhhx+6tN29e7cxZMgQIyQkxPDy8jLCwsKMm2++2Vi4cOF5awKswGYYlXj4BgBUs7S0NLVu3VpTp07V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GKjk5GSXdfPmzdN1112nw4cPq1mzZsrNzdWiRYv09ttv65ZbbpEkvfPOO4qMjNRnn32mPn36VPt3AAAANVutmqCcm5srm82mhg0bSpK2b9+u4uJixcXFOdtERESoXbt22rx5c4XHcTgcysvLc1kAANaUk5enX3OPK4e/6+usWjNBubCwUE8//bTuueceNWjQQJKUlZUlb29vNWrUyKVtaGiosrKyKjzWzJkzNW3atGqtFwBQNed6qecfVealnlv27lShwyEfu13xN/S4mNJQS9WKnp3i4mLdddddKisr06uvvnre9oZhyGazVbg9ISFBubm5ziUjI8Od5QIAgBqkxoed4uJiDRkyRGlpaUpOTnb26khSWFiYioqKlJOT47JPdna2QkNDKzym3W5XgwYNXBYAAGBNNTrsnAk6Bw4c0GeffaagoCCX7ddcc428vLxcJjJnZmbqm2++Ubdu3S51uQAAoAYydc7OiRMn9MMPPzg/p6WladeuXWrcuLEiIiJ05513aseOHfr3v/+t0tJS5zycxo0by9vbW4GBgRo9erQmTpyooKAgNW7cWJMmTVL79u2dd2cBAIC6zdSws23bNvXs2dP5ecKECZKkkSNHKjExUWvWrJEkXX311S77paSkKDY2VpL00ksvydPTU0OGDNGpU6fUq1cvLVmyRB4ePCkTAACYHHZiY2NlGEaF28+17QwfHx/NmzdP8+bNc2dpAADAImr0nB0AAICLRdgBAACWRtgBAACWVmueoAwAQFXc0uUGs0uAyQg7AABL8/LkV11dxxUAAMAFcPe7u1D9mLMDAAAsjZ4dAIClHTh8SCUlJfL09FRMs+ZmlwMTEHYAAJb2Q0a6Ch0O+djthJ06imEsAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaTxUEABgaQ0DGshhL5Ld29vsUmASwg4AwNK6XtXR7BJgMoaxAACApRF2AACApRF2AACApTFnBwBgaV/t2SlH0ekJyszfqZsIOwAASzuen6dCh0M+drvZpcAkDGMBAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABL46GCAABLaxEZpZKSEnl68iuvruLfPADA0mKaNTe7BJiMYSwAAGBphB0AAGBpDGMBACytuKTE+Wcv5u3USfxbBwBY2mf/+dL51vP4G3qYXQ5MwDAWAACwNFPDzueff67bbrtNERERstls+uCDD1y2G4ahxMRERUREyNfXV7Gxsdq3b59LG4fDoUcffVTBwcHy9/fXgAEDdOTIkUv4LQAAQE1matgpKChQhw4dNH/+/LNunz17tpKSkjR//nxt3bpVYWFh6t27t/Lz851txo8fr9WrV2v58uXatGmTTpw4of79+6u0tPRSfQ0AAFCDmTpnJz4+XvHx8WfdZhiG5s6dq8mTJ2vw4MGSpKVLlyo0NFTLli3TmDFjlJubq0WLFuntt9/WLbfcIkl65513FBkZqc8++0x9+vS5ZN8FAADUTDV2zk5aWpqysrIUFxfnXGe329WjRw9t3rxZkrR9+3YVFxe7tImIiFC7du2cbc7G4XAoLy/PZQEAANZUY8NOVlaWJCk0NNRlfWhoqHNbVlaWvL291ahRowrbnM3MmTMVGBjoXCIjI91cPQAAqClqbNg5w2azuXw2DKPcuj86X5uEhATl5uY6l4yMDLfUCgAAap4aG3bCwsIkqVwPTXZ2trO3JywsTEVFRcrJyamwzdnY7XY1aNDAZQEAANZUY8NOdHS0wsLClJyc7FxXVFSk1NRUdevWTZJ0zTXXyMvLy6VNZmamvvnmG2cbAABQt5l6N9aJEyf0ww8/OD+npaVp165daty4sZo1a6bx48drxowZiomJUUxMjGbMmCE/Pz/dc889kqTAwECNHj1aEydOVFBQkBo3bqxJkyapffv2zruzAAB12/XtO6rMKFM9W439/3tUM1PDzrZt29SzZ0/n5wkTJkiSRo4cqSVLlujJJ5/UqVOnNHbsWOXk5KhLly5at26dAgICnPu89NJL8vT01JAhQ3Tq1Cn16tVLS5YskYeHxyX/PgCAmqcRUxXqPJthGIbZRZgtLy9PgYGBys3NZf4OALjRh+mZlWo3MCr8gvf5/X5V2edC9rvY+lA9Kvv7mz49AABgabz1HABgaZm//KyyslLVq+eh8ODLzC4HJiDsAAAsbdf+b1XocMjHbld4cA+zy4EJGMYCAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAFiap4eHc0HdxBOUAQCW1vv67maXAJPRswMAACyNsAMAACyNsAMAACyNOTsAAEvb+8N+FReXyMvLU+1btDK7HJiAnh0AgKUd+V+W0jN/0pH/ZZldCkxC2AEAAJbGMBYAANXsw/TMSrcdGBVejZXUTfTsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAAS+PWcwCApYUFXaai4mJ5e3mZXQpMQtgBAFhax9ZtzC4BJmMYCwAAWFqVwk5aWpq76wAAAKgWVQo7LVq0UM+ePfXOO++osLDQ3TUBAAC4TZXCzu7du9WxY0dNnDhRYWFhGjNmjL7++mt31wYAwEVL2bpFa79MVcrWLWaXApNUKey0a9dOSUlJ+umnn7R48WJlZWWpe/fuatu2rZKSkvTzzz+7u04AAKqksMihQodDhUUOs0uBSS5qgrKnp6cGDRqklStXatasWTp48KAmTZqkpk2basSIEcrMrPxbXgEAAKrDRYWdbdu2aezYsQoPD1dSUpImTZqkgwcPasOGDfrpp580cOBAd9UJAABQJVV6zk5SUpIWL16s/fv369Zbb9Vbb72lW2+9VfXqnc5O0dHReu2119S6dWu3FgsAAHChqhR2FixYoPvvv1/33XefwsLCztqmWbNmWrRo0UUVBwAAcLGqFHYOHDhw3jbe3t4aOXJkVQ4PAADgNlWas7N48WK999575da/9957Wrp06UUXBQAA4C5VCjsvvPCCgoODy60PCQnRjBkzLrooAAAAd6lS2ElPT1d0dHS59VFRUTp8+PBFF3VGSUmJnn32WUVHR8vX11eXX365nnvuOZWVlTnbGIahxMRERUREyNfXV7Gxsdq3b5/bagAAALVblebshISEaM+ePWrevLnL+t27dysoKMgddUmSZs2apYULF2rp0qVq27attm3bpvvuu0+BgYF6/PHHJUmzZ89WUlKSlixZopYtW2r69Onq3bu39u/fr4CAALfVAgCondpd0VKlZaXyqOdhdikwSZXCzl133aXHHntMAQEBuummmyRJqampevzxx3XXXXe5rbivvvpKAwcOVL9+/SRJzZs317vvvqtt27ZJOt2rM3fuXE2ePFmDBw+WJC1dulShoaFatmyZxowZ47ZaAAC1U2RYuNklwGRVGsaaPn26unTpol69esnX11e+vr6Ki4vTzTff7NY5O927d9f69ev1/fffSzrdc7Rp0ybdeuutkk6/fT0rK0txcXHOfex2u3r06KHNmzdXeFyHw6G8vDyXBQAAWFOVena8vb21YsUK/e1vf9Pu3bvl6+ur9u3bKyoqyq3FPfXUU8rNzVXr1q3l4eGh0tJSPf/887r77rslSVlZWZKk0NBQl/1CQ0OVnp5e4XFnzpypadOmubVWAABQM1Up7JzRsmVLtWzZ0l21lLNixQq98847WrZsmdq2batdu3Zp/PjxioiIcHmGj81mc9nPMIxy634vISFBEyZMcH7Oy8tTZGSk+78AAMB0+QUFzt8LAf7+ZpcDE1Qp7JSWlmrJkiVav369srOzXe6OkqQNGza4pbi//OUvevrpp53zgNq3b6/09HTNnDlTI0eOdD69OSsrS+Hhv43JZmdnl+vt+T273S673e6WGgEANdumXdtU6HDIx25X/A09zC4HJqhS2Hn88ce1ZMkS9evXT+3atTtnL8rFOHnypPN9W2d4eHg4w1V0dLTCwsKUnJysjh07SpKKioqUmpqqWbNmVUtNAACgdqlS2Fm+fLlWrlzpnChcXW677TY9//zzatasmdq2baudO3cqKSlJ999/v6TTw1fjx4/XjBkzFBMTo5iYGM2YMUN+fn665557qrU2AABQO1R5gnKLFi3cXUs58+bN05QpUzR27FhlZ2crIiJCY8aM0V//+ldnmyeffFKnTp3S2LFjlZOToy5dumjdunU8YwcA3OjD9MxKtx0Yxa3eqFmqdOv5xIkT9fLLL8swDHfX4yIgIEBz585Venq6Tp06pYMHD2r69Ony9vZ2trHZbEpMTFRmZqYKCwuVmpqqdu3aVWtdAACg9qhSz86mTZuUkpKitWvXqm3btvLy8nLZvmrVKrcUBwAAcLGqFHYaNmyoQYMGubsWAAAAt6tS2Fm8eLG76wAAAKgWVZqzI51+I/lnn32m1157Tfn5+ZKko0eP6sSJE24rDgAA4GJVqWcnPT1dffv21eHDh+VwONS7d28FBARo9uzZKiws1MKFC91dJwAAQJVU+aGCnTt31u7duxUUFORcP2jQID3wwANuKw4AgIvVs/P1532NEKytyndjffnlly63gEtSVFSUfvrpJ7cUBgCAO/jweqA6r0pzdsrKylRaWlpu/ZEjR3iYHwAAqFGqFHZ69+6tuXPnOj/bbDadOHFCU6dOrfZXSAAAAFyIKg1jvfTSS+rZs6fatGmjwsJC3XPPPTpw4ICCg4P17rvvurtGAACqLO2nIyopLZGnh6eimzQ1uxyYoEphJyIiQrt27dK7776rHTt2qKysTKNHj9awYcPk6+vr7hoBAKiy/x46qEKHQz52O2GnjqpS2JEkX19f3X///c43kAMAANREVQo7b7311jm3jxgxokrFAAAAuFuVn7Pze8XFxTp58qS8vb3l5+dH2AEAADVGle7GysnJcVlOnDih/fv3q3v37kxQBgAANUqV3431RzExMXrhhRfK9foAAACYyW1hR5I8PDx09OhRdx4SAADgolRpzs6aNWtcPhuGoczMTM2fP1833HCDWwoDAABwhyqFndtvv93ls81m02WXXaabb75ZL774ojvqAgAAcIsqhZ2ysjJ31wEAQLWo7+snL09P2b28z98YllTlhwoCAFAb3NjpWrNLgMmqFHYmTJhQ6bZJSUlV+REAAABuUaWws3PnTu3YsUMlJSVq1aqVJOn777+Xh4eHOnXq5Gxns9ncUyUAAEAVVSns3HbbbQoICNDSpUvVqFEjSacfNHjffffpxhtv1MSJE91aJAAAQFVVKey8+OKLWrdunTPoSFKjRo00ffp0xcXFEXYAADXG1n17VFRcLG8vL13b9iqzy4EJqvRQwby8PP3vf/8rtz47O1v5+fkXXRQAAO7yy/EcZR/7Vb8czzG7FJikSmFn0KBBuu+++/T+++/ryJEjOnLkiN5//32NHj1agwcPdneNAAAAVValYayFCxdq0qRJGj58uIqLi08fyNNTo0eP1pw5c9xaIAAAwMWoUtjx8/PTq6++qjlz5ujgwYMyDEMtWrSQv7+/u+sDAAC4KBf1ItDMzExlZmaqZcuW8vf3l2EY7qoLAADALaoUdn799Vf16tVLLVu21K233qrMzExJ0gMPPMCdWAAAoEapUth54okn5OXlpcOHD8vPz8+5fujQofrkk0/cVhwAAMDFqtKcnXXr1unTTz9V06ZNXdbHxMQoPT3dLYUBAAC4Q5V6dgoKClx6dM745ZdfZLfbL7ooAAAAd6lS2Lnpppv01ltvOT/bbDaVlZVpzpw56tmzp9uKAwDgYjWPaKorIqPUPKLp+RvDkqo0jDVnzhzFxsZq27ZtKioq0pNPPql9+/bp2LFj+vLLL91dIwAAVXZl9BVmlwCTValnp02bNtqzZ4+uu+469e7dWwUFBRo8eLB27typK67gogIAADXHBffsFBcXKy4uTq+99pqmTZtWHTUB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sAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAOg1tq8ebM8PDzUt29fs0sBUIPxBGUAtdYDDzyg+vXr64033tC3336rZs2amV0SgBqInh0AtVJBQYFWrlyphx9+WP3799eSJUtctq9Zs0YxMTHy9fVVz549tXTpUtlsNh0/ftzZZvPmzbrpppvk6+uryMhIPfbYYyooKLi0XwRAtSPsAKiVVqxYoVatWqlVq1YaPny4Fi9erDMd1YcOHdKdd96p22+/Xbt27dKYMWM0efJkl/337t2rPn36aPDgwdqzZ49WrFihTZs2ady4cWZ8HQDViGEsALXSDTfcoCFDhujxxx9XSUmJwsPD9e677+qWW27R008/rY8++kh79+51tn/22Wf1/PPPKycnRw0bNtSIESPk6+ur1157zdlm06ZN6tGjhwoKCuTj42PG1wJQDejZAVDr7N+/X19//bXuuusuSZKnp6eGDh2qN99807n92muvddnnuuuuc/m8fft2LVmyRPXr13cuffr0UVlZmdLS0i7NFwFwSXiaXQAAXKhFixappKRETZo0ca4zDENeXl7KycmRYRiy2Wwu+/yxE7usrExjxozRY489Vu74THQGrIWwA6BWKSkp0VtvvaUXX3xRcXFxLtvuuOMO/fOf/1Tr1q318ccfu2zbtm2by+dOnTpp3759atGiRbXXDMBczNkBUKt88MEHGjp0qLKzsxUYGOiybfLkyfr444+1atUqtWrVSk888YRGjx6tXbt2aeLEiTpy5IiOHz+uwMBA7dmzR9dff73uu+8+Pfjgg/L399d3332n5ORkzZs3z6RvB6A6MGcHQK2yaNEi3XLLLeWCjnS6Z2fXrl3KycnR+++/r1WrVumqq67SggULnHdj2e12SdJVV12l1NRUHThwQDfeeKM6duyoKVOmKDw8/JJ+HwDVj54dAHXC888/r4ULFyojI8PsUgBcYszZAWBJr776qq699loFBQXpyy+/1Jw5c3iGDlBHEXYAWNKBAwc0ffp0HTt2TM2aNdPEiROVkJBgdlkATMAwFgAAsDQmKAMAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEv7/wCei+V6zVCUlAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bin_edges = [i - 0.5 for i in range(1, 36)]\n", + "\n", + "plt.hist(ages_population2_df, bins=bin_edges, rwidth=0.8, color='powderblue')\n", + "\n", + "# Calculate the mean\n", + "mean_value = ages_population2_df['observation'].mean()\n", + "\n", + "# Display the mean as a vertical line on the histogram\n", + "plt.axvline(mean_value, color='cadetblue', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value}')\n", + "\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of age')\n", + "\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- What do you see? Is there any difference with the frequency distribution in step 1?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The distribution appears to be unimodal (having one mode) and skewed to the right. Vs almost perfect normal distribution in the previous graph.\n", + "\n", + "This means that the majority of individuals in the dataset are concentrated in the younger age groups, with fewer individuals in the older age groups. Vs previous graph where age distribution is more sparsed.\n", + "\n", + "The mode appears to be in the age group around 26.0.\n", + "\n", + "There are very few individuals in the age groups 19.0, 34.0, 35.0, and 36.0, which can be considered outliers or less common age groups in the dataset. There is less outliers value in the previous data set (one above 80)\n", + "\n", + "Standard deviation is very narrowed, compared to previous distribution where the spread was large." + ] + }, + { + "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": 205, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean age is 27.16\n", + "The standard deviation for age is 2.969813932689186\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_age = ages_population2_df['observation'].mean()\n", + "print(f\"The mean age is {mean_age:.2f}\")\n", + "\n", + "\n", + "std_age = ages_population2_df['observation'].std()\n", + "print(f\"The standard deviation for age is {std_age}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Age mean is younger and the spread is very narrowed, indicated high concentration of individuals around the mean." + ] + }, + { + "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": 207, + "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", + "
observation
021.0
121.0
224.0
331.0
454.0
552.0
637.0
769.0
836.0
930.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 21.0\n", + "1 21.0\n", + "2 24.0\n", + "3 31.0\n", + "4 54.0\n", + "5 52.0\n", + "6 37.0\n", + "7 69.0\n", + "8 36.0\n", + "9 30.0" + ] + }, + "execution_count": 207, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "ages_population3 = pd.read_csv('/Users/amandine/Desktop/Ironhack/03_Week/Descriptive-Stats/data/ages_population3.csv')\n", + "ages_population3.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 209, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
count1000.000000
mean41.989000
std16.144706
min1.000000
25%30.000000
50%40.000000
75%53.000000
max77.000000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.000000\n", + "mean 41.989000\n", + "std 16.144706\n", + "min 1.000000\n", + "25% 30.000000\n", + "50% 40.000000\n", + "75% 53.000000\n", + "max 77.000000" + ] + }, + "execution_count": 209, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ages_population3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 208, + "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", + "
AgeFrequency
01.01
12.02
24.02
35.01
47.01
.........
7073.06
7174.06
7275.02
7376.01
7477.02
\n", + "

75 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " Age Frequency\n", + "0 1.0 1\n", + "1 2.0 2\n", + "2 4.0 2\n", + "3 5.0 1\n", + "4 7.0 1\n", + ".. ... ...\n", + "70 73.0 6\n", + "71 74.0 6\n", + "72 75.0 2\n", + "73 76.0 1\n", + "74 77.0 2\n", + "\n", + "[75 rows x 2 columns]" + ] + }, + "execution_count": 208, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "frequency_distribution = ages_population3['observation'].value_counts().sort_index().reset_index()\n", + "\n", + "frequency_distribution.columns = ['Age', 'Frequency']\n", + "\n", + "frequency_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 210, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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CAkJMbKzs02s/NryzTffGI0aNTLatGljjB071rGea2OO48ePG+Hh4cawYcOMr7/+2khNTTX+85//GD/++KOjDdem+k2bNs2oW7eu8e9//9tITU013nvvPaNmzZrG3LlzHW24LuVHmCmnW2+91XjkkUec1jVr1sx4+umnTaoIWVlZhiRj06ZNhmEYRnFxsREcHGzMnDnT0ebcuXNGQECAMX/+fLPKvKacPn3aaNKkibF27VqjS5cujjDDtTHPU089ZXTq1KnM7Vwbc/Tt29d46KGHnNYNHDjQGDx4sGEYXJeK4jZTOeTn52vHjh2KiYlxWh8TE6MtW7aYVBVOnTolSapTp44kKTU1VZmZmU7XyW63q0uXLlynajJ69Gj17dtXPXr0cFrPtTHPqlWrFBUVpbvvvltBQUFq27at/vGPfzi2c23M0alTJ61bt04//PCDJGnnzp3avHmz+vTpI4nrUlGWmAHYbL/99puKiopKvKm7Xr16Jd7ojephGIYmTJigTp06qVWrVpLkuBalXae0tLRqr/Fas3TpUn377bfatm1biW1cG/P89NNPmjdvniZMmKDJkyfrm2++0eOPPy673a6hQ4dybUzy1FNP6dSpU2rWrJnc3d1VVFSk6dOn67777pPEz0xFEWYqwGazOS0bhlFiHarHmDFjtGvXLm3evLnENq5T9UtPT9fYsWP12Wefydvbu8x2XJvqV1xcrKioKM2YMUOS1LZtW+3Zs0fz5s3T0KFDHe24NtVr2bJleuedd7RkyRK1bNlSKSkpGjdunEJDQxUfH+9ox3UpH24zlUNgYKDc3d1L9MJkZWWVSM248h577DGtWrVKGzZsUIMGDRzrg4ODJYnrZIIdO3YoKytLN998szw8POTh4aFNmzbplVdekYeHh+Pvn2tT/UJCQtSiRQundc2bN9fhw4cl8XNjlieeeEJPP/207r33XrVu3VpDhgzR+PHjlZSUJInrUlGEmXLw8vLSzTffrLVr1zqtX7t2rTp27GhSVdcewzA0ZswYrVixQuvXr1dERITT9oiICAUHBztdp/z8fG3atInrdIV1795du3fvVkpKiuMTFRWlBx54QCkpKbr++uu5Nia5/fbbS0xh8MMPPyg8PFwSPzdmyc3NlZub8z/B7u7ujkezuS4VZOLgY0s5/2j2ggULjL179xrjxo0zatSoYRw6dMjs0q4Zjz76qBEQEGBs3LjRyMjIcHxyc3MdbWbOnGkEBAQYK1asMHbv3m3cd999PMpokj8+zWQYXBuzfPPNN4aHh4cxffp048CBA8a//vUvw9fX13jnnXccbbg21S8+Pt6oX7++49HsFStWGIGBgcaTTz7paMN1KT/CTAW89tprRnh4uOHl5WW0a9fO8UgwqoekUj/JycmONsXFxcZzzz1nBAcHG3a73ejcubOxe/du84q+hl0YZrg25vnf//1fo1WrVobdbjeaNWtmvPnmm07buTbVLzs72xg7dqzRsGFDw9vb27j++uuNKVOmGHl5eY42XJfysxmGYZjZMwQAAHA5GDMDAAAsjTADAAAsjTADAAAsjTADAAAsjTADAAAsjTADAAAsjTADAAAsjTADAAAsjTADwCVt2bJF7u7u6t27t9mlAHBxzAAMwCWNGDFCNWvW1FtvvaW9e/eqYcOGZpcEwEXRMwPA5eTk5Gj58uV69NFHdccdd2jhwoVO21etWqUmTZrIx8dHXbt21aJFi2Sz2XTy5ElHmy1btqhz587y8fFRWFiYHn/8ceXk5FTviQCoFoQZAC5n2bJlioyMVGRkpAYPHqzk5GSd70Q+dOiQ/vznP+uuu+5SSkqKRo4cqSlTpjjtv3v3bvXq1UsDBw7Url27tGzZMm3evFljxowx43QAXGHcZgLgcm6//Xbdc889Gjt2rAoLCxUSEqJ3331XPXr00NNPP62PP/5Yu3fvdrR/5plnNH36dJ04cUK1atXS0KFD5ePjozfeeMPRZvPmzerSpYtycnLk7e1txmkBuELomQHgUvbv369vvvlG9957ryTJw8NDcXFx+uc//+nYfssttzjtc+uttzot79ixQwsXLlTNmjUdn169eqm4uFipqanVcyIAqo2H2QUAwB8tWLBAhYWFql+/vmOdYRjy9PTUiRMnZBiGbDab0z4XdjAXFxdr5MiRevzxx0scn4HEwNWHMAPAZRQWFmrx4sV68cUXFRMT47Rt0KBB+te//qVmzZrpk08+cdq2fft2p+V27dppz549aty48RWvGYD5GDMDwGV8+OGHiouLU1ZWlgICApy2TZkyRZ988olWrFihyMhIjR8/XsOHD1dKSoomTpyoI0eO6OTJkwoICNCuXbt022236cEHH9TDDz+sGjVqaN++fVq7dq3+/ve/m3R2AK4UxswAcBkLFixQjx49SgQZ6feemZSUFJ04cULvv/++VqxYoTZt2mjevHmOp5nsdrskqU2bNtq0aZMOHDigP/3pT2rbtq2effZZhYSEVOv5AKge9MwAsLzp06dr/vz5Sk9PN7sUACZgzAwAy3n99dd1yy23qG7duvryyy81e/Zs5pABrmGEGQCWc+DAAU2bNk3Hjx9Xw4YNNXHiRCUkJJhdFgCTcJsJAABYGgOAAQCApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApf0/7kGgZz9zfCQAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bin_edges = [i - 0.5 for i in range(1, 90)]\n", + "\n", + "plt.hist(ages_population3, bins=bin_edges, rwidth=0.8, color='powderblue')\n", + "\n", + "# Calculate the mean\n", + "mean_value = ages_population3['observation'].mean()\n", + "\n", + "# Display the mean as a vertical line on the histogram\n", + "plt.axvline(mean_value, color='cadetblue', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value}')\n", + "\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of age')\n", + "\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we have two maximum.\n", + "\n", + "Normal distribution skewed to the right.\n", + "\n", + "Mean around 40/50 but withhigher standard deviation.\n", + "\n", + "Because if we look at the right, we have lots of values away from the mean, on the left we have values close to the mean." + ] + }, + { + "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": 212, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean age is 41.99\n", + "The standard deviation for age is 16.14\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_age = ages_population3['observation'].mean()\n", + "print(f\"The mean age is {mean_age:.2f}\")\n", + "\n", + "\n", + "std_age = ages_population3['observation'].std()\n", + "print(f\"The standard deviation for age is {std_age: .2f}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Value more sparsed and far away from the mean.\n", + "\n", + "Spread is larger." + ] + }, + { + "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": 213, + "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", + "the fourth quartile is 77.0\n" + ] + } + ], + "source": [ + "# your code here\n", + "\n", + "sorted_ages = ages_population3['observation'].sort_values()\n", + "\n", + "q1 = np.quantile(sorted_ages, 0.25) \n", + "print(\"the first quartile is\", q1)\n", + "q2 = np.quantile(sorted_ages, 0.50)\n", + "print(\"the second quartile is\",q2)\n", + "q3 = np.quantile(sorted_ages, 0.75)\n", + "print(\"the third quartile is\", q3)\n", + "q4 = np.quantile(sorted_ages, 1)\n", + "print(\"the fourth quartile is\", q4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Difference = |Mean - Median| = |41.99 - 40.0| = 1.99\n", + "\n", + "The result show that the data set is positively skewed. \n", + "\n", + "The small difference suggest a cluster around the median (40 yo).\n", + "\n", + "Very reduced spread, values highly concentrated around the median." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- Calculate other percentiles that might be useful to give more arguments to your reasoning." + ] + }, + { + "cell_type": "code", + "execution_count": 222, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10th Percentile: 22.000\n", + "90th Percentile: 67.000\n" + ] + } + ], + "source": [ + "# Jesus' method\n", + "\n", + "#print(np.percentile(name of dataframe, % we want))\n", + "\n", + "percentiles = np.percentile(sorted_ages, [10, 90])\n", + "\n", + "print(f\"10th Percentile: {percentiles[0]:.3f}\")\n", + "print(f\"90th Percentile: {percentiles[1]:.3f}\")\n", + "\n", + "#Very skewed, difference between 2nd and 3rd quartile is lower than diff between 3rd and 4th quartile.\n", + "\n", + "#10th and 90th percentile are useful to identify outliers. Those are very far away from the mean and the IQR." + ] + }, + { + "cell_type": "code", + "execution_count": 243, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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wNLSEo8fP4YQAiqVSus1b3bEp6SkoH///hg2bFia43NAOZHxY9JEREYvKSkJ69evx4IFC9CkSROt59q3b4/vv/8e5cuXx969e7WeO3PmjNbX3t7euHz5MsqUKZPjMRNR3sMxTURk9Hbu3InOnTsjKioKDg4OWs9NmjQJe/fuxfbt21GuXDmMHDkSffv2RXh4OAIDA/Hvv//iyZMncHBwwMWLF1GrVi307t0b/fr1g52dHa5evYqQkBB88803Cl0dEeUWjmkiIqMXHByMRo0apUmYANnTFB4ejsePH2Pr1q3Yvn07qlatiqCgIM3sOSsrKwBA1apVERoaiuvXr8PPzw9eXl747LPP4OrqmqvXQ0TKYE8TEVEGvvjiCyxfvhx37txROhQiygM4pomI6P+WLVuGGjVqoHDhwjh+/DjmzZvHGkxEpMGkiYjo/65fv46ZM2fi0aNHKFmyJAIDAzFhwgSlwyKiPIK354iIiIh0wIHgRERERDpg0kRERESkAyZNRERERDpg0kRERESkAyZNRERERDpg0kRERESkAyZNRERERDpg0kRERESkAyZNRERERDr4HztO3TmyFIx7AAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Here we can try to do normal distribution to see if it's gonna be skewed to the left\n", + "\n", + "from scipy.stats import norm\n", + "\n", + "#ages_population3_bis = np.array(ages_population3, dtype=float)\n", + "\n", + "mean = np.mean(ages_population3)\n", + "std_dev = np.std(ages_population3)\n", + "\n", + "# Create a range of x-values (ages)\n", + "x = np.linspace(min(ages_population3), max(ages_population3), 1000)\n", + "\n", + "# Calculate the corresponding y-values using the normal distribution\n", + "y = norm.pdf(x, mean, std_dev)\n", + "\n", + "# Plot the normal distribution curve\n", + "plt.plot(x, y, 'b-', label='Normal Distribution')\n", + "\n", + "# Set the x-axis and y-axis labels\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Probability Density')\n", + "plt.title('Normal Distribution of Age Data')\n", + "\n", + "# Add a legend\n", + "plt.legend()\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"\n", + "#Steps to analyse\n", + "\n", + "#1 do some cleaning\n", + "#2 do EDA -> Try to do something general for everything\n", + "#3 analysis\n", + "\n", + "#with enumerate function = make sure all the values are numerical\n", + "#but better to use enumerate(num) -> better to have random value so it is template \n", + "#then put num = name of the dataframe =ages3.np.select_dtypes(np.number) ???\n", + "#num = ages3.select_dtypes(np.number)" + ] + }, + { + "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": 283, + "metadata": {}, + "outputs": [], + "source": [ + "#we can put a function with \"warning ignore\" to ignore the warning function in Python" + ] + }, + { + "cell_type": "code", + "execution_count": 289, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Statistics for Neighborhood 1:\n", + " observation\n", + "count 1000.0000\n", + "mean 36.5600\n", + "std 12.8165\n", + "min 1.0000\n", + "25% 28.0000\n", + "50% 37.0000\n", + "75% 45.0000\n", + "max 82.0000\n", + "Statistics for Neighborhood 2:\n", + " observation\n", + "count 1000.000000\n", + "mean 27.155000\n", + "std 2.969814\n", + "min 19.000000\n", + "25% 25.000000\n", + "50% 27.000000\n", + "75% 29.000000\n", + "max 36.000000\n", + "Statistics for Neighborhood 3:\n", + " observations\n", + "count 1000.000000\n", + "mean 41.989000\n", + "std 16.144706\n", + "min 1.000000\n", + "25% 30.000000\n", + "50% 40.000000\n", + "75% 53.000000\n", + "max 77.000000\n" + ] + } + ], + "source": [ + "# Create a list of DataFrame objects for the three neighborhoods\n", + "neighborhoods = [ages_population_df, ages_population2_df, ages_population3] \n", + "\n", + "# Define the attributes you want to analyze\n", + "attributes = ['mean', 'std', 'min', 'max'] # Replace with actual attribute names from your dataset\n", + "\n", + "# Create a dictionary to store statistics for each neighborhood\n", + "neighborhood_stats = {}\n", + "\n", + "# Create string identifiers for neighborhoods\n", + "neighborhood_names = ['Neighborhood 1', 'Neighborhood 2', 'Neighborhood 3']\n", + "\n", + "# Calculate and store basic statistics for each attribute in each neighborhood\n", + "for i, neighborhood in enumerate(neighborhoods):\n", + " stats = neighborhood.describe()\n", + " neighborhood_stats[neighborhood_names[i]] = stats\n", + "\n", + "# Print and display statistics for each neighborhood and attribute\n", + "for neighborhood, stats in neighborhood_stats.items():\n", + " print(f\"Statistics for {neighborhood}:\")\n", + " print(stats)" + ] + }, + { + "cell_type": "code", + "execution_count": 292, + "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", + "
Neighborhood 1Neighborhood 2Neighborhood 3
mean36.560027.15500041.989000
std12.81652.96981416.144706
min1.000019.0000001.000000
25%28.000025.00000030.000000
50%37.000027.00000040.000000
75%45.000029.00000053.000000
max82.000036.00000077.000000
\n", + "
" + ], + "text/plain": [ + " Neighborhood 1 Neighborhood 2 Neighborhood 3\n", + "mean 36.5600 27.155000 41.989000\n", + "std 12.8165 2.969814 16.144706\n", + "min 1.0000 19.000000 1.000000\n", + "25% 28.0000 25.000000 30.000000\n", + "50% 37.0000 27.000000 40.000000\n", + "75% 45.0000 29.000000 53.000000\n", + "max 82.0000 36.000000 77.000000" + ] + }, + "execution_count": 292, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = {\n", + " 'Neighborhood 1': [36.5600, 12.8165, 1.0000, 28.0000, 37.0000, 45.0000, 82.0000],\n", + " 'Neighborhood 2': [27.1550, 2.969814, 19.0000, 25.0000, 27.0000, 29.0000, 36.0000],\n", + " 'Neighborhood 3': [41.9890, 16.144706, 1.0000, 30.0000, 40.0000, 53.0000, 77.0000]\n", + "}\n", + "\n", + "# Define attributes and create a DataFrame with neighborhoods as columns\n", + "attributes = ['mean', 'std', 'min', '25%', '50%', '75%', 'max']\n", + "neighborhood_stats_df = pd.DataFrame(data, index=attributes)\n", + "\n", + "# Display the DataFrame\n", + "neighborhood_stats_df" + ] + }, + { + "cell_type": "code", + "execution_count": 295, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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gAAkJSWhSZMm2LVrF4yNjUs4WiIiIiJ6lVaTSSHEW+vIZDIolUoolcriD4iIiIiICqXUXM1NRERERO8fJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMa0+AYeIiKhYKU0LWf9J8cRB9AHjyCQRERERaYzJJBERERFpjMkkEREREWmMySQRERERaYzJJBERERFpjMkkEREREWmMySQRERERaYzJJBERERFpjMkkEREREWmMySQRERERaYzJJBERERFpjMkkEREREWmMySQRERERaYzJJBERERFprKy2AyANKU0LWf9J8cRBREREHzWOTBIRERGRxphMEhEREZHGmEwSERERkcaYTBIRERGRxphMEhEREZHGmEwSERERkcaYTBIRERGRxrSaTB48eBCdO3eGra0tZDIZNm7cqDZfCAGlUglbW1soFAp4eXnh0qVL2gmWiIiIiPLQajL57Nkz1KtXD3Pnzs13flhYGGbOnIm5c+ciOjoa1tbW8Pb2RmpqaglHSkRERET50eoTcNq3b4/27dvnO08IgdmzZyM4OBjdunUDAERERMDKygqrVq3CkCFDSjJUIiIiIspHqT1nMjY2FgkJCWjTpo1UJpfL4enpiaioqNcul56ejpSUFLUXERERERWPUptMJiQkAACsrKzUyq2srKR5+QkNDYWpqan0srOzK9Y4iYiIiD5mpTaZVJHJZGrTQog8ZbmNGzcOT548kV7x8fHFHSIRERHRR0ur50y+ibW1NYCXI5Q2NjZSeWJiYp7Rytzkcjnkcnmxx0dEREREpXhk0tHREdbW1ti9e7dUlpGRgQMHDsDd3V2LkRERERGRilZHJp8+fYobN25I07GxsTh79iwqVKiAypUrIygoCCEhIXBycoKTkxNCQkJgYGCA3r17azFqIiIiIlLRajJ58uRJtGjRQpoeNWoUAMDHxwfLli3D2LFjkZaWhoCAACQlJaFJkybYtWsXjI2NtRUyEREREeWi1WTSy8sLQojXzpfJZFAqlVAqlSUXFBEREREVWKk9Z5KIiIiISj8mk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESksbLaDoCIPiBK04LXdaxcfHEQEVGJ4cgkEREREWmMySQRERERaYzJJBERERFpjMkkEREREWmMySQRERERaYzJJBERERFpjMkkEREREWnsvbjP5G+//Yaff/4Z9+/fR+3atTF79mx8+umn2g7rveIS4VKo+uuKKQ4iotKsMN+V/J4keqnUj0yuXbsWQUFBCA4OxpkzZ/Dpp5+iffv2uHPnjrZDIyIiIvrolfpkcubMmRg0aBC+/vpr1KxZE7Nnz4adnR3mz5+v7dCIiIiIPnqlOpnMyMjAqVOn0KZNG7XyNm3aICoqSktREREREZFKqT5n8t9//0V2djasrKzUyq2srJCQkJDvMunp6UhPT5emnzx5AgBISUkpvkCLQE7680LVT5GJQtXPTssuVP2n2YWrn5bxrMB10zMzC9V2anrB2wZK/3v9PinOflma+iRQvP2SfbLolKbvyve5TwKlv1+q4hOicO8hlTyZKMXv0r1791CxYkVERUXBzc1NKv/pp5+wYsUKXLlyJc8ySqUSkydPLskwiYiIqJjEx8ejUqVK2g6D3qBUj0yam5tDR0cnzyhkYmJintFKlXHjxmHUqFHSdE5ODh4/fgwzMzPIZLJijfdDl5KSAjs7O8THx8PExETb4RCxT1Kpwz5ZdIQQSE1Nha2trbZDobco1cmknp4ePvnkE+zevRtdu3aVynfv3o0uXbrku4xcLodcLlcrK1euXHGG+dExMTHhlySVKuyTVNqwTxYNU1NTbYdABVCqk0kAGDVqFPr16wdXV1e4ublh0aJFuHPnDr755htth0ZERET00Sv1yWSPHj3w6NEj/Pjjj7h//z7q1KmDbdu2wd7eXtuhEREREX30Sn0yCQABAQEICAjQdhgfPblcjkmTJuU5jYBIW9gnqbRhn6SPUam+mpuIiIiISrdSfdNyIiIiIirdmEwSERERkcaYTBIRERGRxphMlnIODg6YPXt2gevHxcVBJpPh7Nmzr62zbNmyYrv3plKpRP369Yul7bfx8vJCUFCQVtb9MWGfLDj2yZLDfllw7JdU1JhMFgNfX1/IZDJMmzZN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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Transpose the DataFrame for plotting\n", + "neighborhood_stats_df = neighborhood_stats_df.T\n", + "\n", + "# Create a bar plot\n", + "plt.figure(figsize=(10, 6))\n", + "neighborhood_stats_df.plot(kind='bar', rot=0)\n", + "plt.title('Comparison of Ages between different Neighborhoods')\n", + "plt.xlabel('Neighborhood')\n", + "plt.ylabel('Value')\n", + "plt.legend(title='Attributes', loc='upper left', bbox_to_anchor=(1, 1))\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 301, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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jcWdO3ewePFiOeIkIiIiInrhaH1me8KECWjdujVu3LgBY2NjqbxPnz747bffajQ4IiIiIqIXmdZntnfv3o09e/bA0NBQo9zR0RF///13jQVGRERERPSi0/rMdnl5Oe7du1eh/OLFizAzM6uRoIiIiIiIXgZaJ9sBAQFYsGCB9FyhUKCwsBCRkZHo3r17TcZGRERERPRC03oZyeeff45OnTqhSZMmuHPnDoKCgnDq1CnUq1cPq1evliNGIiIiIqIXktbJtr29PTIyMrB69WocPHgQ5eXlGDZsGAYOHKhxwSQRERER0b+d1sk2ABgbG2Po0KEYOnRoTcdDRERERPTS0DrZXrFixSPrBw8e/MTBEBERPVLpQe3aG7SSJw4iomrSOtmeMGGCxvPS0lIUFxfD0NAQKpWKyTYRERER0f+n9d1Ibty4ofEoLCxEVlYWfH19eYEkEREREdEDtE62K+Pq6orZs2dXOOtNRERERPRvViPJNgDo6enh0qVLNdUdEREREdELT+s12+vXr9d4LoTA5cuXsWjRIvj4+NRYYERERERELzqtk+3evXtrPFcoFLCyssLrr7+Ozz77rKbiIiIiIiJ64WmdbJeXl8sRBxERERHRS6fG1mwTEREREZGmap3ZnjhxYrU7nD9//hMHQ0RERET0MqlWsn3o0KFqdaZQKJ4qGCIiIiKil0m1ku2dO3fKHQcRERER0UtH6wskSSabf9eufbeO8sRBRERERDXmiZLttLQ0/O9//8OFCxdw9+5djbp169bVSGBERERERC86re9G8uOPP8LHxwcnTpxAYmIiSktLceLECezYsQPm5uZyxEhERERE9ELSOtmOjo7G559/jo0bN8LQ0BBffPEFMjMz0a9fPzRs2FCOGImIiIiIXkhaJ9tnzpxBjx49AABKpRJFRUVQKBR4//33sXTp0hoPkIiIiIjoRaV1sm1paYmCggIAQP369XHs2DEAwM2bN1FcXPzEgcTExEChUCAsLEwqE0IgKioK9vb2MDY2hr+/P44fP/7EYxARERERPUvVTrYzMjIAAK+99hqSk5MBAP369cOECRMwYsQIDBgwAJ07d36iINLS0rB06VK0aNFCozw2Nhbz58/HokWLkJaWBltbWwQEBEjJPhERERHR86zayXarVq3w6quvwtPTEwMGDAAATJs2DZMmTcKVK1fQt29fLFu2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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Transpose the DataFrame for plotting\n", + "neighborhood_stats_df = neighborhood_stats_df.T\n", + "\n", + "colors = ['lemonchiffon', 'palegreen', 'lightpink']\n", + "\n", + "# Create a bar plot\n", + "plt.figure(figsize=(10, 6))\n", + "neighborhood_stats_df.plot(kind='bar', rot=0, color=colors)\n", + "plt.title('Comparison of Ages between different Neighborhoods')\n", + "plt.xlabel('Neighborhood')\n", + "plt.ylabel('Value')\n", + "plt.legend(title='Neighborhoods', loc='upper left', bbox_to_anchor=(1, 1))\n", + "\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/your-code/Lab_descriptive_statistics.ipynb b/your-code/Lab_descriptive_statistics.ipynb new file mode 100644 index 0000000..be0145b --- /dev/null +++ b/your-code/Lab_descriptive_statistics.ipynb @@ -0,0 +1,3661 @@ +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Understanding Descriptive Statistics\n", + "\n", + "Import the necessary libraries here:" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "# Libraries\n", + "import pandas as pd\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": 7, + "metadata": {}, + "outputs": [], + "source": [ + "# Method saw in lab class with Jesus \n", + "\n", + "import random\n", + "\n", + "def dice_throw(n):\n", + " return pd.DataFrame({'Number':[random.choice(np.arange(1, 7, 1)) for i in range(n)]}) #give a set of value to random choice\n" + ] + }, + { + "cell_type": "code", + "execution_count": 34, + "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", + "
Number
11
23
31
43
52
64
74
83
96
106
\n", + "
" + ], + "text/plain": [ + " Number\n", + "1 1\n", + "2 3\n", + "3 1\n", + "4 3\n", + "5 2\n", + "6 4\n", + "7 4\n", + "8 3\n", + "9 6\n", + "10 6" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dice_values = dice_throw(10)\n", + "\n", + "# Reset the index to start from 1\n", + "dice_values = dice_values.reset_index(drop=True)\n", + "\n", + "# Increment the index by 1 to start from 1\n", + "dice_values.index += 1\n", + "\n", + "dice_values" + ] + }, + { + "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", + "
Number
04
15
25
35
46
54
63
73
84
94
\n", + "
" + ], + "text/plain": [ + " Number\n", + "0 4\n", + "1 5\n", + "2 5\n", + "3 5\n", + "4 6\n", + "5 4\n", + "6 3\n", + "7 3\n", + "8 4\n", + "9 4" + ] + }, + "execution_count": 18, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "import random\n", + "\n", + "\n", + "def rolling_dice():\n", + " return pd.DataFrame({'Number': random.choices(range(1, 7), k=10)}) #6 angles of the dice, rolling 10 times\n", + "\n", + "dice_rolls = rolling_dice()\n", + "\n", + "dice_rolls.head(10)\n", + "\n", + "#pd.DataFrame important :\n", + "\n", + "#DataFrame = tableau Excel, possible de faire des modifications\n", + "#(diff tableau algorythmique qui est non modifiable)\n", + "#Dataframe peut contenir str, float, int." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 63, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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9HQEBgbKjkFERESVcOnSpcfOjGzSRaV4avNLly4ZfLpuIiIiqh5qtRqBgYHl+swrky4qxZd7XFxcWFSIiIhMTHmGbXAwLRERERktFhUiIiIyWiwqREREZLRYVIiIiMhosagQERGR0WJRISIiIqPFokJERERGi0WFiIiIjBaLChERERktFhUiIiIyWtKLSlpaGp5//nm4u7vDwcEBEREROHz4sOxYREREZASkftbPrVu30LZtW3Ts2BG//fYbvLy8cObMGdSqVUtmLCIiIjISUovKhx9+iMDAQCxfvly/rF69evICERERGcD12xrkFWhlxzAIexsruDuppO1falH5+eef8cwzz+C5557Drl274O/vj5deegnjx48vc32NRgONRqN/rFarayoqERFRufwYdwmvrU2SHcNg+oT74fNhkdL2L7WonD17FkuXLsXUqVMxY8YMHDx4EBMnToRKpcLIkSNLrT937lzMnj1bQlIiIqLHE0Lgm73nAAA2VgooFQrJiarO2kruMSiEEELWzm1tbdGyZUvs27dPv2zixImIi4vD/v37S61f1hmVwMBAZGdnw8XFpUYyExERPcyxtGz0+mIvbK2ViHuzC1ztbWRHMkpqtRqurq7lev+WetePr68vmjVrVmJZ06ZNcfHixTLXV6lUcHFxKfFFRERkLNYcvgwA6NbMmyXFQKQWlbZt2+LUqVMllp0+fRp169aVlIiIiKhy8gt12JiYBgAY2CJAchrzIbWoTJkyBQcOHMCcOXOQmpqK2NhYfPXVV4iJiZEZi4iIqMJ2nMrErTsF8HJW4emGHrLjmA2pReWJJ57A+vXrsWrVKjRv3hzvvfcePv30U4wYMUJmLCIiogorvuzTP9If1lbS51M1G1Lv+gGAXr16oVevXrJjEBERVdqN2xrsOJkJgJd9DI2Vj4iIqIo2JqajUCcQFuCKxt7OsuOYFRYVIiKiKlobX3TZZ2AUz6YYGosKERFRFSRfUeN4uho2Vgr0CfeTHcfssKgQERFVwdp7g2g7B3ujtqOt5DTmh0WFiIiokgq0OmxITAcADOIg2mrBokJERFRJu09fw/XbGrg72qJDE0/ZccwSiwoREVElFQ+i7RvhDxvOnVIt+KoSERFVQtadfPx+omjuFF72qT4sKkRERJWw6Ug68rU6NPV1QTM/fkhudWFRISIiqoQ18UUfQMiz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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Jesus' method\n", + "\n", + "#Here sort it by value, not frequency distribution\n", + "dice = dice_values.sort_values(by='Number').reset_index()['Number'] \n", + "#by = name of the column\n", + "#reset index so we have value count plot (otherwise we have plot as we would not done value count as \n", + "#we reset the number)\n", + "\n", + "#After resetting the index, we select the 'Number' column using square brackets, \n", + "#which returns a Series containing only the 'Number' column. \n", + "#This is useful to work with the sorted and reset 'Number' values as a 1-D data structure (Series) \n", + "#rather than a 2-D DataFrame.\n", + "\n", + "\n", + "#Step 2 - Set parameters \n", + "plt.plot(range(1, len(dice) + 1), dice)\n", + "\n", + "# Set x-axis ticks starting from 1 with a step of 1\n", + "plt.xticks(range(1, len(dice) + 1))\n", + "\n", + "# Set y-axis ticks starting from 1 with a step of 1\n", + "plt.yticks(range(1, int(dice.max()) + 1))\n", + "\n", + "\n", + "plt.xlabel(\"Index\")\n", + "plt.ylabel(\"Number\")\n", + "plt.title(\"Plot of Sorted 'Number' Values\")\n", + "\n", + "plt.show()\n", + "\n", + "#Here we create a new dataframe, we sort it by column, we reset the index (we wanna get rid of the first column indexed)\n", + "#we give the column name in which we wanna put this value \n", + "#after the reset we add [name of the column] because we put the column values in it." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Plot explanation :\n", + "\n", + "1. The x-axis (horizontal) represents the index values of the DataFrame after resetting the index. These values start from 0 and go up to 9, which correspond to the sorted positions of the 'Number' values in the DataFrame.\n", + "\n", + "2. The y-axis (vertical) represents the actual 'Number' values in your DataFrame, which have been sorted in ascending order.\n", + "\n", + "The plot itself consists of points connected by lines. Each point on the plot represents a 'Number' value from your DataFrame, and the lines connect these points in ascending order." + ] + }, + { + "cell_type": "code", + "execution_count": 36, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "text/plain": [ + "0 1\n", + "1 1\n", + "2 2\n", + "3 3\n", + "4 3\n", + "5 3\n", + "6 4\n", + "7 4\n", + "8 6\n", + "9 6\n", + "Name: Number, dtype: int64" + ] + }, + "execution_count": 36, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "dice #Check we now we have the column sorted by ascending order" + ] + }, + { + "cell_type": "code", + "execution_count": 19, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "{'whiskers': [,\n", + " ],\n", + " 'caps': [,\n", + " ],\n", + " 'boxes': [],\n", + " 'medians': [],\n", + " 'fliers': [],\n", + " 'means': []}" + ] + }, + "execution_count": 19, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGdCAYAAABO2DpVAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAPmElEQVR4nO3dX4iV9Z/A8c9R6aQ2M5UUOXlyShJHzUqLEtkLywg3JYK6CKcklvhBgpVEkQQpmVNX20UgWVEXUkKI0o0SXWgsZelIIOKklm7WtP5ot+aMfzqxevbiR0Pzy1k9M5+Z4+jrBSHnmefP5yaeN9955jyFarVaDQCABKPqPQAAcPEQFgBAGmEBAKQRFgBAGmEBAKQRFgBAGmEBAKQRFgBAmjHDfcEzZ85EV1dXNDQ0RKFQGO7LAwADUK1Wo6enJ5qbm2PUqP7XJYY9LLq6uqJUKg33ZQGABEePHo1Jkyb1+/NhD4uGhoaI+MdgjY2Nw315AGAAyuVylEql3vt4f4Y9LP749UdjY6OwAIAR5lyPMXh4EwBIIywAgDTCAgBIIywAgDTCAgBIIywAgDTCAgBIIywAgDTCAgBIU3NY/Pjjj9HW1hYTJkyIcePGxW233RYdHR1DMRsAMMLU9JXev/zyS8ybNy/mz58fW7dujWuvvTa+/fbbuPLKK4doPABgJKkpLF5//fUolUrx3nvv9W5raWnJngkAGKFqCouPP/447r///njkkUdix44dcf3118dTTz0VTz75ZL/HVCqVqFQqvZ/L5fLApwXSnTx5Mjo7O1POderUqThy5Ei0tLTE2LFjB32+adOmxbhx4xImA4ZLTWHx3Xffxbp162LFihWxcuXK+Oqrr2L58uVRLBbj8ccfP+sx7e3tsXr16pRhgXydnZ0xZ86ceo9xVh0dHTF79ux6jwHUoFCtVqvnu/Nll10Wd9xxR3z++ee925YvXx67du2KL7744qzHnG3FolQqRXd3t9emwwUgc8Vi//790dbWFhs2bIjW1tZBn8+KBVw4yuVyNDU1nfP+XdOKxcSJE2P69Ol9trW2tsamTZv6PaZYLEaxWKzlMsAwGjduXPqqQGtrq5UGuETV9Oem8+bNi2+++abPtgMHDsTkyZNThwIARqaawuLZZ5+NnTt3xtq1a+PQoUPxwQcfxPr162PZsmVDNR8AMILUFBZ33nlnbN68OT788MOYOXNmvPLKK/HGG2/EkiVLhmo+AGAEqekZi4iIRYsWxaJFi4ZiFgBghPOuEAAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgjbAAANIICwAgTU1hsWrVqigUCn3+u+6664ZqNgBghBlT6wEzZsyITz/9tPfz6NGjUwcCAEaumsNizJgxVikAgLOqOSwOHjwYzc3NUSwW46677oq1a9fGTTfd1O/+lUolKpVK7+dyuTywSYE+Dh48GD09PfUeo4/9+/f3+fdC0dDQEDfffHO9x4BLQqFarVbPd+etW7fGyZMnY+rUqXHs2LFYs2ZNdHZ2xr59+2LChAlnPWbVqlWxevXqv2zv7u6OxsbGgU8Ol7CDBw/G1KlT6z3GiHLgwAFxAYNQLpejqanpnPfvmsLin504cSKmTJkSzz//fKxYseKs+5xtxaJUKgkLGIQ9e/bEnDlzYsOGDdHa2lrvcXqdOnUqjhw5Ei0tLTF27Nh6jxMR/1g9aWtri46Ojpg9e3a9x4ER63zDouZfhfzZ+PHj45ZbbomDBw/2u0+xWIxisTiYywD9aG1tveBulvPmzav3CEAdDep7LCqVSuzfvz8mTpyYNQ8AMILVFBbPPfdc7NixIw4fPhxffvllPPzww1Eul2Pp0qVDNR8AMILU9KuQH374IR599NH4+eef45prrom77747du7cGZMnTx6q+QCAEaSmsNi4ceNQzQEAXAS8KwQASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASCMsAIA0wgIASDOosGhvb49CoRDPPPNM0jgAwEg24LDYtWtXrF+/PmbNmpU5DwAwgg0oLI4fPx5LliyJt99+O6666qrsmQCAEWrMQA5atmxZPPDAA7FgwYJYs2bN/7tvpVKJSqXS+7lcLg/kksCf/NbzP3H7daPiP3d+HGN/PVDvcXpVKpXo6uqK5ubmKBaL9R4nIiL+6/DhuP26UVH439/qPQpcEmoOi40bN8aePXti165d57V/e3t7rF69uubBgP4d2/cfsedvV0T8/d8j/l7vafq6LSLiaJ2H+JPWiPjXv10R31f/u96jwCWhprA4evRoPP300/HJJ5/E5Zdffl7HvPjii7FixYrez+VyOUqlUm1TAn38y0P/Fps3R7S0tJz3/4vD4fDhw/HSSy/FmjVr4sYbb6z3OL3Gjx8fN9x+b73HgEtCoVqtVs935y1btsRDDz0Uo0eP7t12+vTpKBQKMWrUqKhUKn1+djblcjmampqiu7s7GhsbBz45cMHZs2dPzJkzJzo6OmL27Nn1HgdIdL7375pWLO69997Yu3dvn21PPPFETJs2LV544YVzRgUAcHGrKSwaGhpi5syZfbaNHz8+JkyY8JftAMClxzdvAgBpBvTnpn+2ffv2hDEAgIuBFQsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAIE1NYbFu3bqYNWtWNDY2RmNjY8ydOze2bt06VLMBACNMTWExadKkeO2112L37t2xe/fuuOeee+LBBx+Mffv2DdV8AMAIMqaWnRcvXtzn86uvvhrr1q2LnTt3xowZM1IHAwBGnprC4s9Onz4dH330UZw4cSLmzp3b736VSiUqlUrv53K5PNBLAkPg5MmT0dnZmXKu/fv39/l3sKZNmxbjxo1LORcwPGoOi71798bcuXPjt99+iyuuuCI2b94c06dP73f/9vb2WL169aCGBIZOZ2dnzJkzJ/WcbW1tKefp6OiI2bNnp5wLGB6FarVareWA33//Pb7//vv49ddfY9OmTfHOO+/Ejh07+o2Ls61YlEql6O7ujsbGxsFNDwxa5orFqVOn4siRI9HS0hJjx44d9PmsWMCFo1wuR1NT0znv3zWHxT9bsGBBTJkyJd56663UwQCAC8f53r8H/T0W1Wq1z4oEAHDpqukZi5UrV8bChQujVCpFT09PbNy4MbZv3x7btm0bqvkAgBGkprA4duxYPPbYY/HTTz9FU1NTzJo1K7Zt2xb33XffUM0HAIwgNYXFu+++O1RzAAAXAe8KAQDSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADSCAsAII2wAADS1PTNmxn+eJlquVwe7ksDAAP0x337XC9FH/aw6OnpiYiIUqk03JcGAAapp6cnmpqa+v15oXqu9Eh25syZ6OrqioaGhigUCsN5aWCIlcvlKJVKcfTo0WhsbKz3OECiarUaPT090dzcHKNG9f8kxbCHBXDxKpfL0dTUFN3d3cICLlEe3gQA0ggLACCNsADSFIvFePnll6NYLNZ7FKBOPGMBAKSxYgEApBEWAEAaYQEApBEWAEAaYQEM2meffRaLFy+O5ubmKBQKsWXLlnqPBNSJsAAG7cSJE3HrrbfGm2++We9RgDob9peQARefhQsXxsKFC+s9BnABsGIBAKQRFgBAGmEBAKQRFgBAGmEBAKTxVyHAoB0/fjwOHTrU+/nw4cPx9ddfx9VXXx033HBDHScDhpu3mwKDtn379pg/f/5fti9dujTef//94R8IqBthAQCk8YwFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaYQFAJBGWAAAaf4PMLHRcNLeq7QAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Boxplot\n", + "\n", + "# your code here\n", + "sorted_rolls = dice_rolls['Number'].sort_values()\n", + "\n", + "plt.yticks([1,2,3,4,5,6]) #add all values for the plot\n", + "\n", + "plt.boxplot(sorted_rolls)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Line plot:\n", + "It is often used to visualize the trend or pattern in data over a continuous or ordered variable, such as time.\n", + "\n", + "Boxplot (more useful for data summary and comparisons):\n", + "used to visualize the distribution and summary statistics of a dataset.\n", + "useful for comparing the distribution of data between different categories or groups and for identifying the presence of outliers.\n", + "\n" + ] + }, + { + "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": 64, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Define the bin edges to center the bars between integers\n", + "bin_edges = [i - 0.5 for i in range(1, 8)] # Centered between 1 and 6\n", + "\n", + "# Create the histogram with centered columns\n", + "hist_values, bin_edges, _ = plt.hist(dice, bins=bin_edges, rwidth=0.8)\n", + "\n", + "# Calculate the median\n", + "median = np.median(dice)\n", + "\n", + "# Set the y-axis ticks with a step of 1, considering the maximum count in the histogram\n", + "plt.yticks(range(1, int(max(hist_values)) + 1))\n", + "\n", + "plt.xlabel(\"Number\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Histogram of 'Number' Values\")\n", + "\n", + "# Display the median as text on the plot\n", + "plt.text(median, 1, f\"Median: {median}\", ha='center', va='bottom', fontsize=12)\n", + "\n", + "plt.show()\n", + "\n", + "#The [0] is used to access the first element of the return value from plt.hist. \n", + "#The plt.hist function returns a tuple of values, and we're interested in the first element of that tuple, \n", + "#which contains the frequency counts of the histogram.\n", + "\n", + "#plt.hist returns tuples containing 3 elements :\n", + "\n", + "#The histogram values (frequency counts in each bin).\n", + "#The bin edges.\n", + "#The patches (the individual bars in the histogram).\n" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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N07OnX6zLgAAqBjZ2dkKDAy0/h6/ld9cuCm6FVWzZk3CDQAAd5nSTClhQjEAADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVwg0AADAVp4abhQsXqlWrVtavQoiIiNCGDRtuOWbbtm1q3769PDw8dO+992rRokUVVC0AALgbODXcBAQEaMaMGUpNTVVqaqoefvhh9e7dW4cOHSqx/8mTJxUbG6vOnTtr7969mjRpksaMGaPk5OQKrhwAAFRWFsMwDGcX8Ut16tTR7NmzNWzYsGLb/v73v2vt2rU6fPiwtS0uLk779+/Xjh07SrX/7OxseXt76/Lly3xxJgAAd4my/P6uNHNuCgoK9M477+jatWuKiIgosc+OHTsUExNj09a9e3elpqYqLy+vIsoEAACVnIuzCzh48KAiIiJ0/fp11ahRQ6tXr1bz5s1L7JuVlSVfX1+bNl9fX+Xn5+vChQvy8/MrNiYnJ0c5OTnW9ezsbMceAAAAqFScHm5CQ0O1b98+Xbp0ScnJyRo0aJC2bdt204BjsVhs1ovuqv26vUhiYqKmTp3q2KKBChb87Dpnl3DXODXjEWeXAMDJnH5bys3NTY0aNVJ4eLgSExPVunVrvfLKKyX2bdCggbKysmzazp8/LxcXF9WtW7fEMRMnTtTly5etS0ZGhsOPAQAAVB5Ov3Lza4Zh2NxG+qWIiAh9+OGHNm2bNm1SeHi4XF1dSxzj7u4ud3d3h9cJAAAqJ6deuZk0aZI+++wznTp1SgcPHtRzzz2nlJQU9e/fX9KNqy4DBw609o+Li1NaWpri4+N1+PBhLV26VEuWLFFCQoKzDgEAAFQyTr1yc+7cOT311FPKzMyUt7e3WrVqpY0bN6pbt26SpMzMTKWnp1v7h4SEaP369Ro/frwWLFggf39/zZ8/X3379nXWIQAAgEqm0n3OTXnjc25wN2JCcekxoRgwp7vyc24AAAAcgXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABM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u+9q5syZOn78uBISEhQQEKCBAwcqMzPTUXUCAACUyh2Fm9TUVI0YMUJ+fn6aO3euEhISdPz4cW3ZskVnzpxR7969HVUnAABAqbjYM2ju3LlKSkrS0aNHFRsbq+XLlys2NlZVqtzISiEhIXrjjTfUtGlThxYLAABwO3aFm4ULF2ro0KEaMmSIGjRoUGKfhg0basmSJXdUHAAAQFnZFW6+++672/Zxc3PToEGD7Nk9AACA3eyac5OUlKT33nuvWPt7772nN998846LAgAAsJdd4WbGjBmqV69esXYfHx9Nnz79josCAACwl13hJi0tTSEhIcXag4KClJ6efsdFAQAA2MuucOPj46MDBw4Ua9+/f7/q1q17x0UBAADYy65w8+STT2rMmDHaunWrCgoKVFBQoC1btmjs2LF68sknHV0jAABAqdn1tNS0adOUlpam6Ohoubjc2EVhYaEGDhzInBsAAOBUdoUbNzc3rVy5Ui+99JL2798vT09PtWzZUkFBQY6uDwAAoEzsCjdFmjRpoiZNmjiqFgAAgDtmV7gpKCjQsmXL9Omnn+r8+fMqLCy02b5lyxaHFAcAAFBWdoWbsWPHatmyZXrkkUfUokULWSwWR9cFAABgF7vCzTvvvKN3331XsbGxjq4HAADgjtj1KLibm5saNWrk6FoAAADumF3hZsKECXrllVdkGIaj6wEAALgjdt2W+vzzz7V161Zt2LBBYWFhcnV1tdm+atUqhxQHAABQVnaFm1q1aqlPnz6OrgUAAOCO2RVukpKSHF0HAACAQ9g150aS8vPz9cknn+iNN97QlStXJElnz57V1atXHVYcAABAWdl15SYtLU2///3vlZ6erpycHHXr1k1eXl6aNWuWrl+/rkWLFjm6TgAAgFKx68rN2LFjFR4erp9++kmenp7W9j59+ujTTz91WHEAAABlZffTUl988YXc3Nxs2oOCgnTmzBmHFAYAAGAPu67cFBYWqqCgoFj76dOn5eXldcdFAQAA2MuucNOtWzfNmzfPum6xWHT16lVNnjyZr2QAAABOZddtqf/3//6funbtqubNm+v69ev685//rO+++0716tXT22+/7egaAQAASs2ucOPv7699+/bp7bff1p49e1RYWKhhw4apf//+NhOMAQAAKppd4UaSPD09NXToUA0dOtSR9QAAANwRu8LN8uXLb7l94MCBdhUDAABwp+wKN2PHjrVZz8vL088//yw3NzdVq1aNcAMAAJzGrqelfvrpJ5vl6tWrOnr0qDp16sSEYgAA4FR2f7fUrzVu3FgzZswodlXnVrZv365evXrJ399fFotFa9asuWX/lJQUWSyWYsuRI0fusHoAAGAWdk8oLknVqlV19uzZUve/du2aWrdurSFDhqhv376lHnf06FHVrFnTul6/fv0y1QkAAMzLrnCzdu1am3XDMJSZmanXXntNDz30UKn306NHD/Xo0aPMr+/j46NatWqVeRwAADA/u8LNY489ZrNusVhUv359Pfzww3r55ZcdUdcttW3bVtevX1fz5s31/PPPq2vXruX+mgAA4O5gV7gpLCx0dB2l4ufnp8WLF6t9+/bKycnRf/7zH0VHRyslJUVdunQpcUxOTo5ycnKs69nZ2RVVLgAAcAKHzrkpb6GhoQoNDbWuR0REKCMjQ3PmzLlpuElMTNTUqVMrqkQAAOBkdoWb+Pj4UvedO3euPS9Rag8++KBWrFhx0+0TJ060qTc7O1uBgYHlWhMAAHAeu8LN3r17tWfPHuXn51uvpBw7dkxVq1ZVu3btrP0sFotjqrxNLX5+fjfd7u7uLnd393KvAwAAVA52hZtevXrJy8tLb775pmrXri3pxgf7DRkyRJ07d9aECRNKtZ+rV6/q+++/t66fPHlS+/btU506ddSwYUNNnDhRZ86csX7dw7x58xQcHKywsDDl5uZqxYoVSk5OVnJysj2HAQAATMiucPPyyy9r06ZN1mAjSbVr19a0adMUExNT6nCTmppq86RT0e2jQYMGadmyZcrMzFR6erp1e25urhISEnTmzBl5enoqLCxM69atU2xsrD2HAQAATMiucJOdna1z584pLCzMpv38+fO6cuVKqfcTFRUlwzBuun3ZsmU2688884yeeeaZMtUKAAB+W+z6+oU+ffpoyJAhev/993X69GmdPn1a77//voYNG6bHH3/c0TUCAACUml1XbhYtWqSEhAQNGDBAeXl5N3bk4qJhw4Zp9uzZDi0QAACgLOwKN9WqVdPrr7+u2bNn6/jx4zIMQ40aNVL16tUdXR8AAECZ3NG3gmdmZiozM1NNmjRR9erVbzl/BgAAoCLYFW4uXryo6OhoNWnSRLGxscrMzJQkDR8+vNRPSgEAAJQHu8LN+PHj5erqqvT0dFWrVs3a3q9fP23cuNFhxQEAAJSVXXNuNm3apI8//lgBAQE27Y0bN1ZaWppDCgMAALCHXVdurl27ZnPFpsiFCxf4qgMAAOBUdoWbLl26WL8SQbrxHVKFhYWaPXu2zScOAwAAVDS7bkvNnj1bUVFRSk1NVW5urp555hkdOnRIP/74o7744gtH1wgAAFBqdl25ad68uQ4cOKAHHnhA3bp107Vr1/T4449r7969uu+++xxdIwAAQKmV+cpNXl6eYmJi9MYbb2jq1KnlURMAAIDdynzlxtXVVd98840sFkt51AMAAHBH7LotNXDgQC1ZssTRtQAAANwxuyYU5+bm6t///rc2b96s8PDwYt8pNXfuXIcUBwAAUFZlCjcnTpxQcHCwvvnmG7Vr106SdOzYMZs+3K4CAADOVKZw07hxY2VmZmrr1q2Sbnzdwvz58+Xr61suxQEAAJRVmebc/Ppbvzds2KBr1645tCAAAIA7YdeE4iK/DjsAAADOVqZwY7FYis2pYY4NAACoTMo058YwDA0ePNj65ZjXr19XXFxcsaelVq1a5bgKAQAAyqBM4WbQoEE26wMGDHBoMQAAAHeqTOEmKSmpvOoAAABwiDuaUAwAAFDZEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpODXcbN++Xb169ZK/v78sFovWrFlz2zHbtm1T+/bt5eHhoXvvvVeLFi0q/0IBAMBdw6nh5tq1a2rdurVee+21UvU/efKkYmNj1blzZ+3du1eTJk3SmDFjlJycXM6VAgCAu4WLM1+8R48e6tGjR6n7L1q0SA0bNtS8efMkSc2aNVNqaqrmzJmjvn37llOVAADgbnJXzbnZsWOHYmJibNq6d++u1NRU5eXllTgmJydH2dnZNgsAADAvp165KausrCz5+vratPn6+io/P18XLlyQn59fsTGJiYmaOnVqRZWIMgh+dp2zSwAAmNBddeVGkiwWi826YRgltheZOHGiLl++bF0yMjLKvUYAAOA8d9WVmwYNGigrK8um7fz583JxcVHdunVLHOPu7i53d/eKKA8AAFQCd9WVm4iICG3evNmmbdOmTQoPD5erq6uTqgIAAJWJU8PN1atXtW/fPu3bt0/SjUe99+3bp/T0dEk3bikNHDjQ2j8uLk5paWmKj4/X4cOHtXTpUi1ZskQJCQnOKB8AAFRCTr0tlZqaqq5du1rX4+PjJUmDBg3SsmXLlJmZaQ06khQSEqL169dr/PjxWrBggfz9/TV//nweAwcAAFZODTdRUVHWCcElWbZsWbG2yMhI7dmzpxyrAgAAd7O7as4NAADA7RBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqRBuAACAqTg93Lz++usKCQmRh4eH2rdvr88+++ymfVNSUmSxWIotR44cqcCKAQBAZebUcLNy5UqNGzdOzz33nPbu3avOnTurR48eSk9Pv+W4o0ePKjMz07o0bty4gioGAACVnVPDzdy5czVs2DANHz5czZo107x58xQYGKiFCxfecpyPj48aNGhgXapWrVpBFQMAgMrOaeEmNzdXu3fvVkxMjE17TEyMvvzyy1uObdu2rfz8/BQdHa2tW7fesm9OTo6ys7NtFgAAYF5OCzcXLlxQQUGBfH19bdp9fX2VlZVV4hg/Pz8tXrxYycnJWrVqlUJDQxUdHa3t27ff9HUSExPl7e1tXQIDAx16HAAAoHJxcXYBFovFZt0wjGJtRUJDQxUaGmpdj4iIUEZGhubMmaMuXbqUOGbixImKj4+3rmdnZxNwAAAwMaddualXr56qVq1a7CrN+fPni13NuZUHH3xQ33333U23u7u7q2bNmjYLAAAwL6eFGzc3N7Vv316bN2+2ad+8ebM6duxY6v3s3btXfn5+ji4PAADcpZx6Wyo+Pl5PPfWUwsPDFRERocWLFys9PV1xcXGSbtxSOnPmjJYvXy5JmjdvnoKDgxUWFqbc3FytWLFCycnJSk5OduZhAACASsSp4aZfv366ePGiXnzxRWVmZqpFixZav369goKCJEmZmZk2n3mTm5urhIQEnTlzRp6engoLC9O6desUGxvrrEMAAACVjMUwDMPZRVSk7OxseXt76/Lly+Uy/yb42XUO3ycAlJdTMx5xdgl3Df5+L73yeF+V5fe3079+AQAAwJEINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFQINwAAwFScHm5ef/11hYSEyMPDQ+3bt9dnn312y/7btm1T+/bt5eHhoXvvvVeLFi2qoEoBAMDdwKnhZuXKlRo3bpyee+457d27V507d1aPHj2Unp5eYv+TJ08qNjZWnTt31t69ezVp0iSNGTNGycnJFVw5AACorJwabubOnathw4Zp+PDhatasmebNm6fAwEAtXLiwxP6LFi1Sw4YNNW/ePDVr1kzDhw/X0KFDNWfOnAquHAAAVFZOCze5ubnavXu3YmJibNpjYmL05Zdfljhmx44dxfp3795dqampysvLK7daAQDA3cPFWS984cIFFRQUyNfX16bd19dXWVlZJY7JysoqsX9+fr4uXLggPz+/YmNycnKUk5NjXb98+bIkKTs7+04PoUSFOT+Xy34BoDyU19+FZsTf76VXHu+ron0ahnHbvk4LN0UsFovNumEYxdpu17+k9iKJiYmaOnVqsfbAwMCylgoApuM9z9kVwIzK83115coVeXt737KP08JNvXr1VLVq1WJXac6fP1/s6kyRBg0alNjfxcVFdevWLXHMxIkTFR8fb10vLCzUjz/+qLp1694yRNkjOztb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FJvt3377rWJjY1WjRg35+vrqqaee0oULF6zbo6KiNGrUKMXHx6tevXrq1q2b3ecCQPkh3ACoMFWrVtX06dP16quv6vTp03bvZ8uWLTp79qy2b9+uuXPnasqUKerZs6dq166tr776SnFxcYqLi1NGRobNuL/97W+aMGGC9u7dq44dO+rRRx/VxYsXJUmZmZmKjIxUmzZtlJqaqo0bN+rcuXN64oknbPbx5ptvysXFRV988YXeeOMNu48BQPkh3ACoUH369FGbNm00efJku/dRp04dzZ8/X6GhoRo6dKhCQ0P1888/a9KkSWrcuLEmTpwoNzc3ffHFFzbjRo0apb59+6pZs2ZauHChvL29tWTJEknSwoUL1a5dO02fPl1NmzZV27ZttXTpUm3dulXHjh2z7qNRo0aaNWuWQkND1bRpU7uPAUD5IdwAqHAzZ87Um2++qW+//dau8WFhYapS5f/++vL19VXLli2t61WrVlXdunV1/vx5m3ERERHW/3dxcVF4eLgOHz4sSdq9e7e2bt2qGjVqWJei8HL8+HHruPDwcLtqBlBxXJxdAIDfni5duqh79+6aNGmSBg8ebG2vUqWKDMOw6ZuXl1dsvKurq826xWIpsa2wsPC2tRQ9qVVYWKhevXpp5syZxfr4+flZ/7969eq33ScA5yLcAHCKGTNmqE2bNmrSpIm1rX79+srKypJhGNbQ4cjPptm5c6e6dOkiScrPz9fu3bs1atQoSVK7du2UnJys4OBgubjwVyNwN+O2FACnaNmypfr3769XX33V2hYVFaUffvhBs2bN0vHjx7VgwQJt2LDBYa+5YMECrV69WkeOHNHIkSP1008/aejQoZKkkSNH6scff9Sf/vQn7dq1SydOnNCmTZs0dOhQFRQUOKwGAOWPcAPAaV566SWb21DNmjXT66+/rgULFqh169batWuXEhISHPZ6M2bM0MyZM9W6dWt99tln+uCDD1SvXj1Jkr+/v7744gsVFBSoe/fuatGihcaOHStvb2+b+T0AKj+L8esb3AAAAHcx/jkCAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABMhXADAABM5f8Ds2cQesrCHQYAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Class' method\n", + "\n", + "plt.hist(dice, bins = 6, range=(1,6))\n", + "\n", + "plt.xlabel(\"Number\")\n", + "plt.ylabel(\"Frequency\")\n", + "plt.title(\"Histogram of 'Number' Values\")\n", + "\n", + "plt.show()#here plots the frequency distribution directly" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create frequency distribution " + ] + }, + { + "cell_type": "code", + "execution_count": 66, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Dice number Frequency\n", + "0 1 2\n", + "1 2 1\n", + "2 3 3\n", + "3 4 2\n", + "4 6 2\n" + ] + } + ], + "source": [ + "#https://stackoverflow.com/questions/41551658/how-to-create-a-frequency-distribution-table-on-given-data-with-python-in-jupyte\n", + "\n", + "#Calculate the freq dist and sort by dice number (index)\n", + "frequency_distribution = pd.Series(dice).value_counts().sort_index().reset_index()\n", + "\n", + "#Frequency dist = combien de fois le nombre a été mentionné dans la DF\n", + "#Dans la 1er DF : les index etaient les dice numbers\n", + "#Dans la frequency dist on rajoute une colonne pour les dice numbers\n", + "#sort_index = on trie les valeurs\n", + "#reset_index = pour avoir le dice number comme colonne et pas comme index\n", + "\n", + "frequency_distribution.columns = ['Dice number', 'Frequency']\n", + "\n", + "print(frequency_distribution)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHFCAYAAADcytJ5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA7aklEQVR4nO3deVxUZf//8feoMCwCCoqiIhqmuYQbLbiTaYqRS6ZWJm51d7vkWt1637/U8haX9Ku5Vy5ZrplbmZp7eqelmfudmrmlJiYGioEC5/cHMbcjqAwNzkFez8djHnrOuc45nzkzMG+uc50zFsMwDAEAAJhQIVcXAAAAcDsEFQAAYFoEFQAAYFoEFQAAYFoEFQAAYFoEFQAAYFoEFQAAYFoEFQAAYFoEFQAAYFoEFTjd3LlzZbFYsn0MHjzY1eXdV2491h4eHipdurQiIyMVGxuruLi4LOsMHz5cFovFof1cu3ZNw4cP15YtWxxaL7t9VahQQU8//bRD27mbBQsWaOLEidkus1gsGj58uFP352wbN25UeHi4vL29ZbFYtGLFimzbnTx50u71dnNzU0BAgB555BENGDBAhw4dyrLOli1bZLFYHH7t/qoKFSrY1ert7a06depoypQpyu0N0StUqKCuXbvapjOPx9y5c51TNEypiKsLwP1rzpw5euihh+zmlSlTxkXV3N8yj/WNGzcUFxen7du3a8yYMXr33Xe1ePFiPfnkk7a2PXv2VIsWLRza/rVr1zRixAhJUpMmTXK8Xm72lRsLFizQwYMH1b9//yzLduzYoXLlyuV5DbllGIY6dOigypUra9WqVfL29laVKlXuuE7fvn31wgsvKD09Xb///rt++OEHzZ49W5MnT1ZsbKxef/11W9s6depox44dqlatWl4/lSzq16+vd999V5J07tw5TZgwQX379lViYqKGDh16z+tB/kRQQZ6pUaOGwsPDc9T2xo0bslgsKlKEt2Ru3Hqsn332WQ0YMEANGjRQu3btdOzYMZUqVUqSVK5cuTz/4L527Zq8vLzuyb7u5vHHH3fp/u/m3Llzio+PV9u2bdW0adMcrVO+fHm75xUVFaWBAweqXbt2euONN1SjRg21bNlSkuTr6+uyY1CsWDG7fT/55JMqX768Zs6cSVBBjnHqB/dcZlf0xx9/rEGDBqls2bKyWq366aefJEkbNmxQ06ZN5evrKy8vL9WvX18bN27Msp3Vq1erVq1aslqtqlixot59990spxru1DWc3SmBY8eO6YUXXlBgYKCsVquqVq2qqVOnZlv/woUL9c9//lNlypSRr6+vnnzySR05ciTLftauXaumTZvKz89PXl5eqlq1qmJjYyVJH3/8sSwWi3bs2JFlvbfffltubm46d+7cXY9pdsqXL6/x48frypUrmjlzpm1+dqdjNm3apCZNmiggIECenp4qX768nn32WV27dk0nT55UyZIlJUkjRoywdeVndsFnbm/Pnj1q3769ihcvrtDQ0NvuK9Py5csVFhYmDw8PPfDAA3rvvffslmee1jp58qTd/FtPZTRp0kSrV6/WqVOn7E41ZMrudT548KBat26t4sWLy8PDQ7Vq1dJHH32U7X5y+jpnZ/v27WratKl8fHzk5eWlevXqafXq1bblw4cPtwW5N998UxaLRRUqVMjRtm/l6empWbNmyc3NTePGjcvyPG499fPtt98qOjpaAQEB8vDwUGhoaJYeqZz8PDjC19dXlStX1oULF+zmx8fHq1evXipbtqzc3d31wAMP6J///KdSUlIc3sfFixf1yiuvKDg4WFarVSVLllT9+vW1YcOGXNcN1+LPV+SZtLQ0paam2s27ucdkyJAhioiI0IwZM1SoUCEFBgbqk08+UZcuXdS6dWt99NFHcnNz08yZM/XUU09p3bp1tr84N27cqNatWysiIkKLFi1SWlqaxo4dm+UXoCMOHz6sevXq2T7gS5curXXr1um1117Tb7/9pmHDhtm1Hzp0qOrXr68PP/xQiYmJevPNNxUdHa3//ve/Kly4sCRp1qxZevnll9W4cWPNmDFDgYGBOnr0qA4ePChJ6tixo9544w1NnTpVERERtm2npqZq5syZatu27V86XRYVFaXChQvr66+/vm2bkydPqlWrVmrYsKFmz56tYsWK6ezZs1q7dq2uX7+uoKAgrV27Vi1atFCPHj3Us2dPSbKFl0zt2rVTp06d9OqrryopKemOde3du1f9+/fX8OHDVbp0ac2fP1/9+vXT9evXHR7HNG3aNL3yyis6fvy4li9fftf2R44cUb169RQYGKj33ntPAQEB+uSTT9S1a1dduHBBb7zxhl37nLzO2dm6dauaNWumsLAwzZo1S1arVdOmTVN0dLQWLlyojh07qmfPnqpZs6batWtnO51jtVodev43K1OmjOrWratvvvlGqampt+2hXLdunaKjo1W1alVNmDBB5cuX18mTJ/XVV1/Z2jj685ATqampOnPmjCpXrmybl5ycrMjISB0/flwjRoxQWFiYtm3bptjYWO3du9cu2OXESy+9pD179ujf//63KleurN9//1179uzRpUuXHK4XJmEATjZnzhxDUraPGzduGJs3bzYkGY0aNbJbLykpyfD39zeio6Pt5qelpRk1a9Y0Hn30Udu8xx57zChTpozxxx9/2OYlJiYa/v7+xs1v6xMnThiSjDlz5mSpU5IxbNgw2/RTTz1llCtXzkhISLBr16dPH8PDw8OIj483DMOw1R8VFWXXbsmSJYYkY8eOHYZhGMaVK1cMX19fo0GDBkZ6evptj9ewYcMMd3d348KFC7Z5ixcvNiQZW7duve16hvG/Y71r167btilVqpRRtWpVu/3dfIyWLl1qSDL27t17221cvHgxy/G6dXtvvfXWbZfdLCQkxLBYLFn216xZM8PX19dISkqye24nTpywa5d5/Ddv3myb16pVKyMkJCTb2m+tu1OnTobVajVOnz5t165ly5aGl5eX8fvvv9vt526v8+08/vjjRmBgoHHlyhXbvNTUVKNGjRpGuXLlbO+JzPfouHHj7ri9nLbt2LGjIcn2fsrueIWGhhqhoaF2Pz+3yunPw+2EhIQYUVFRxo0bN4wbN24Yp06dMl5++WXDzc3N+OKLL2ztZsyYYUgylixZYrf+mDFjDEnGV199ZbfNmJiYLMfj5p/vokWLGv37979jbchfOPWDPDNv3jzt2rXL7nHzX3jPPvusXftvvvlG8fHxiomJUWpqqu2Rnp6uFi1aaNeuXUpKSlJSUpJ27dqldu3aycPDw7a+j4+PoqOjc1VrcnKyNm7cqLZt28rLy8tu/1FRUUpOTtbOnTvt1nnmmWfspsPCwiRJp06dsj2fxMRE9erV645X2fz973+XJH3wwQe2eVOmTNHDDz+sRo0a5er53My4yxUWtWrVkru7u1555RV99NFH+vnnn3O1n1tfzzupXr26atasaTfvhRdeUGJiovbs2ZOr/efUpk2b1LRpUwUHB9vN79q1q65du5blNNzdXufsJCUl6dtvv1X79u1VtGhR2/zChQvrpZde0i+//JLj00eOutvrffToUR0/flw9evSw+/m5WW5+HrLz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9NJLL+n8+fPy8/NTWFiY1q5dq2bNmrmyLAAAYBIuDSqzZs1y5e4BAIDJufyqHwAAgNshqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANNyaVCJjY3VI488Ih8fHwUGBqpNmzY6cuSIK0sCAAAm4tKgsnXrVvXu3Vs7d+7U+vXrlZqaqubNmyspKcmVZQEAAJOwGIZhuLqITBcvXlRgYKC2bt2qRo0a3bV9YmKi/Pz8lJCQIF9f33tQIZBHLBZXV+Aa5vn1A+AecuTzu8g9qilHEhISJEn+/v7ZLk9JSVFKSoptOjEx8Z7UBQAAXMM0QcUwDA0cOFANGjRQjRo1sm0TGxurESNG3LOa+CMXMDfLli2uLsEljCZNXF1CgbPFssXVJbhM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XJySk5PVrFkzu3WuX7+u2rVr280LDw+/Y21//PGHpIxelFsNGjRIK1eu1OTJk7VmzRqVKFEiSxtPT09du3btjvsAkIGgAtzH/vvf/6pixYrZLvP09Lzjuunp6RoxYoTatWuXZVl2H9CZ3Nzc7KYtFovd1UcWi0WGYdi1uXkMS3bbyQxbt87L6WW+N7ddvXq1ypYta7f81gHG3t7ed9xeQECALBaLLl++nGVZXFycjhw5osKFC+vYsWNq0aJFljbx8fEqWbJkjmoHCjqCCnCf2rRpkw4cOKABAwZkuzwsLEwffvih4uPjs+1VqVOnjo4cOaJKlSo5ta6SJUvq/Pnztuljx445rXdh3759+uOPP2whbOfOnSpatKjKlSun4sWLy2q16vTp03bjUXLD3d1d1apV0+HDh7PcR6V79+6qUaOGXn75ZfXo0UNNmzZVtWrVbMuTk5N1/PjxLL04ALJHUAHuAykpKfr111+VlpamCxcuaO3atYqNjdXTTz+tLl26ZLvO888/r1GjRqlNmzaKjY1VUFCQfvjhB5UpU0YRERF666239PTTTys4OFjPPfecChUqpP379+vAgQMaOXJkrmt94oknNGXKFD3++ONKT0/Xm2++maUXJreuX7+uHj166F//+pdOnTqlYcOGqU+fPipUqJB8fHw0ePBgDRgwQOnp6WrQoIESExP1zTffqGjRooqJiXFoX0899ZS2b9+u/v372+ZNnTpVO3bs0P79+xUcHKw1a9boxRdf1Lfffit3d3dJGeHJarUqIiLCKc8ZuN9xeTJwH1i7dq2CgoJUoUIFtWjRQps3b9Z7772nlStX2o0XuZm7u7u++uorBQYGKioqSg8//LBGjx5ta//UU0/piy++0Pr16/XII4/o8ccf14QJExQSEvKXah0/fryCg4PVqFEjvfDCCxo8ePBtx7s4qmnTpnrwwQfVqFEjdejQQdHR0Ro+fLht+TvvvKO33npLsbGxqlq1qp566il9/vnntz09dicvv/yyvvzySyUkJEiSfvzxR73++uuaNm2agoODJWUEl99//93upnALFy7Uiy++6LTnDNzvLMatJ4sBADnSoUMH1a5dW0OGDMlR+4sXL+qhhx7S7t27cxWOgIKIHhUAyKVx48apaNGiOW5/4sQJTZs2jZACOIAeFQAAYFr0qAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANMiqAAAANP6/3SCrnQtZilPAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Set custom bar colors\n", + "bar_colors = ['b', 'g', 'r', 'c', 'm', 'y']\n", + "\n", + "# Create the bar plot with step size 1 for the y-axis and custom bar colors\n", + "plt.bar(frequency_distribution['Dice number'], frequency_distribution['Frequency'], color=bar_colors)\n", + "\n", + "# Calculate the median\n", + "median = np.median(dice)\n", + "\n", + "plt.xlabel('Dice number (x)')\n", + "plt.ylabel('Frequency (y)')\n", + "plt.title('Frequency Distribution of Dice Rolls')\n", + "\n", + "# Set x-axis ticks with a step size of 1\n", + "plt.xticks(frequency_distribution['Dice number'])\n", + "\n", + "# Set y-axis ticks with a step size of 1\n", + "plt.yticks(range(0, int(max(frequency_distribution['Frequency'])) + 1))\n", + "\n", + "#other way to set scale\n", + "#plt.yticks(range(min(sorted_rolls), max(sorted_rolls) + 1))\n", + "#plt.xticks(range(min(sorted_rolls), max(sorted_rolls) + 1))\n", + "\n", + "# Display the median as text on the plot\n", + "plt.text(median, 1, f\"Median: {median}\", ha='center', va='bottom', fontsize=12)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Note :\n", + "Frequency distribution is useful to reduce the load time when working with big data set.\n", + "Goal data science = diminuer l'espace des données." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "What is the relation between the frequency distribution plot and the linear plot ? \n", + "\n", + "Both represent the dice distribution\n", + "Both provide info on the shape and tendency of the distribution (We can see that the median is the same on both graphs)\n", + "Show the same percentiles\n", + "Possible to see the interval of the data (example here : no frequency for number 1 and 2)\n", + "\n", + "In plot above : normal distribution, data points pretty equally spreaded. Median is 3, Mode is 3\n", + "The shape of the histogram can be described as right-skewed or positively skewed.\n", + "\n", + "Note : Frequency distribution graph is \"easier to read\" and should be used for data presentation to the stakeholders." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Create superposition to see normal distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 68, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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/jt27dqF//77D8OGDcObN29UY3KqVasGExMTTJo0CQ8ePMDmzZvTDW718PBASEgIgoKC8Pr16wyvWnTv3h1GRkbo3bs3bt68iYCAAIwYMQI9e/ZUXfaRiqSJyurVqxEaGorExERERETg+PHjTFKIiLTM9OnT011+qFSpErZt24atW7eibNmymDx5Mn799dccm4nzMXt7e6xbtw5///03SpcujVmzZmHu3LnZeq7JkyfD2dkZxYsXR8+ePREdHY0TJ05gwoQJmR6TkpKCYcOGoVSpUmjevDlKlCiBpUuXAgBcXFwwbdo0/Pjjj3B0dEw3iyYrZs2aBX9/f3h5eeHs2bPYs2cP7OzsAIiDdTdu3IiDBw+iXLly2LJlC6ZOnap2fMeOHdG8eXM0aNAA9vb22LJlS7pzmJiY4MiRI4iKikKVKlXQqVMnNGrUCEuWLNE43pymEDK6aKglYmJiYGlpiejoaFhYWEgdDlH2cdZPgZKQkICQkBAUKVIERkZGUodDlCs+9z7X5PNb8joqRERERJlhokJERESyxUSFiIiIZIuJChEREckWExUiIolo8VwGoi/Kqfc3ExUiojymrO4ZHx8vcSREuUf5/v60mq2mZFdCn4gov9PV1YWVlZVqrRoTE5NMy5cTaRtBEBAfH4+IiAhYWVl9dSViJipERBJQrmT78cJ6RPmJlZXVZ1dsziomKkREElAoFHB2doaDg0O2FpEjkjN9ff0cW9OJiQoRkYR0dXVzfJE+ovyEg2mJiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMVIiIiki0mKkRERCRbTFSIiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMVIiIiki0mKkRERCRbTFSIiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMVIiIiki0mKkRERCRbTFSIiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMVIiIiki0mKkRERCRbTFSIiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMVIiIiki0mKkRERCRbTFSIiIhItpioEBERkWwxUSEiIiLZYqJCREREssVEhYiIiGSLiQoRERHJFhMV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Ftwvj4QiJVHiyLQfExUiIqIckGTiipDqy5GsbwkAMIsMROGrPwCpSRJHpt2YqBAREeWQRPPiaqX2LV6eguv1KYCQKnFk2ouJChERUQ56b10Oj6ssRKqOPgDA+tl+ON+azXWBsomJChERUQ6Ls6uOJxVnQ/jfx6xd6GY43l3EZCUbmKgQERHlghjnRnjqNU3VdniwGg73l0sYkXZiokJERJRL3rq1xbOyk1Rtx3vLYP9gtYQRaR8mKkRERLkoyqMrnpf+QdV2+m8hbB/9KWFE2oWJChERUS6LLNoT4SVHqdqFbs+BTehW6QLSIkxUiIiI8sDr4v3w0nOoqu1ycyasH2+XMCLtwESFiIgoj0R8MxgRxQeo2i7B02H1ZI+EEckfExUiIqK8olDgZYkReFW0l9iEANfrU2D1dK/EgckXExUiIqK8pFDgRamxeO3RTWwiFa5Bv8A6bJfEgckTExUiIqK8plAgvMwEvPb4VmxCgOuNKRyzkgEmKkRERFJQKBBe5ke8LtJDtck1+FfOBvoEExUiIiKpKBQIL/0DXhXrq9rkcnMm66x8hIkKERGRlBQKvCg5ChHFB6o2Fbo9B3YP10oYlHwwUSEiIpKaQoGXJYbjped3qk3Od/4P9vf/kDAoeWCiQkREJAcKBSI8v8OLEsNVm5zuLobjfwsL9KrLTFSIiIhk5NU3gxBearSq7fBgNZxv+QNCqoRRSYeJChERkcy8LtZXbdVl29AtMH4bLGFE0mGiQkREJENRHl3xxGs6BIUunpWfgvfWXlKHJAk9qQMgIiKijL11a4t4m0r4YOomdSiSYY8KERGRjBXkJAVgokJEREQyxkSFiIiIZIuJChEREckWExUiIiKSLSYqREREJFtMVIiIiEi2mKgQERGRbDFRISIiItliokJERESyxUSFiIiIZIuJChEREckWExUiIiKSLSYqREREJFtMVIiIiEi2mKgQERGRbDFRISIiItliokJERESyxUSFiIiIZIuJChEREckWExUiIiKSLSYqREREJFtMVIiIiEi2mKgQERGRbDFRISIiItliokJERESyxUSFiIiIZIuJChEREckWExUiIiKSLSYqREREJFtMVIiIiEi2mKgQERGRbDFRISIiItliokJERESyxUSFiIiIZIuJChEREckWExUiIiKSLSYqREREJFtMVIiIiEi2mKgQERGR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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import scipy.stats as stats\n", + "\n", + "# Set custom bar colors for the histogram\n", + "bar_colors = ['b', 'g', 'r', 'c', 'm', 'y']\n", + "\n", + "# Create the bar plot with step size 1 for the y-axis and custom bar colors\n", + "plt.bar(frequency_distribution['Dice number'], frequency_distribution['Frequency'], color=bar_colors, alpha=0.7)\n", + "\n", + "# Calculate the median\n", + "median = np.median(dice)\n", + "\n", + "plt.xlabel('Dice number (x)')\n", + "plt.ylabel('Frequency (y)')\n", + "plt.title('Frequency Distribution of Dice Rolls')\n", + "\n", + "# Set x-axis ticks with a step size of 1\n", + "plt.xticks(frequency_distribution['Dice number'])\n", + "\n", + "# Set y-axis ticks with a step size of 1\n", + "plt.yticks(range(0, int(max(frequency_distribution['Frequency'])) + 1))\n", + "\n", + "# Display the median as text on the plot\n", + "plt.text(median, 1, f\"Median: {median}\", ha='center', va='bottom', fontsize=12)\n", + "\n", + "# Create a normal distribution curve using mean and standard deviation of the data\n", + "mean = np.mean(dice)\n", + "std_dev = np.std(dice)\n", + "x = np.linspace(min(dice), max(dice), 1000)\n", + "y = stats.norm.pdf(x, mean, std_dev) * len(dice) # Scale the curve to match the data count\n", + "\n", + "# Plot the normal distribution curve\n", + "plt.plot(x, y, 'r-', linewidth=2, label='Normal Distribution')\n", + "\n", + "# Add a legend\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Jesus' observation : \n", + "\n", + "For the LINEAR PLOT, we have dice values of the dice in the y axis. \n", + "For the histogramm (frequency distribution), we have the dice values in the x axis.\n", + "\n", + "--\n", + "\n", + "The difference in the orientation of the axes between a linear plot (line plot) and a histogram (frequency distribution) arises from their distinct purposes and the nature of the data they are visualizing.\n", + "\n", + "Linear Plot (Line Plot):\n", + "\n", + "In a linear plot, you typically have data points or values on both the x-axis and y-axis.\n", + "The x-axis usually represents an independent variable or a continuous range of values.\n", + "The y-axis represents the dependent variable, which is typically a response or outcome based on the values of the independent variable.\n", + "Linear plots are used to show how the dependent variable changes as a function of the independent variable. They are suitable for visualizing relationships, trends, or patterns in data.\n", + "\n", + "Histogram (Frequency Distribution):\n", + "\n", + "In a histogram, the x-axis typically represents different categories or bins into which data is grouped. \n", + "These bins are used to categorize the data or to define intervals.\n", + "The y-axis of a histogram represents the frequency or count of data points that fall into each bin.\n", + "Histograms are used to show the distribution of data, specifically how data points are distributed across different categories or intervals. They help visualize the frequency of occurrence for different values or value ranges." + ] + }, + { + "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": 69, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.3\n" + ] + } + ], + "source": [ + "# your code here\n", + "def calculate_mean(data):\n", + " mean = sum(data)/len(data)\n", + " return mean\n", + "\n", + "print(calculate_mean(dice))" + ] + }, + { + "cell_type": "code", + "execution_count": 70, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.3\n" + ] + } + ], + "source": [ + "#Other method - More manual\n", + "\n", + "def mean(data):\n", + " \n", + " total_sum = 0\n", + " len_data = 0\n", + " \n", + " for value in data:\n", + " total_sum += value\n", + " len_data += 1\n", + "\n", + " mean = total_sum / len_data\n", + "\n", + " return mean\n", + "\n", + "print(mean(dice))" + ] + }, + { + "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": 72, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Dice number Frequency\n", + "0 1 2\n", + "1 2 1\n", + "2 3 3\n", + "3 4 2\n", + "4 6 2\n", + "Mean is 3.3\n" + ] + } + ], + "source": [ + "# your code here\n", + "frequency_distribution = dice.value_counts().sort_index().reset_index() #chaining method\n", + "frequency_distribution.columns = ['Dice number', 'Frequency']\n", + "print(frequency_distribution)\n", + "\n", + "#Here we need to adapt the former mean function. \n", + "#We wanna find the mean of the total numbers for the frequency tab (10)\n", + "#we do not wanna calculate the frequency values (5)\n", + "#sum_values = frequency_distribution['Frequency']*frequency_distribution['Dice number']\n", + "\n", + "#Calculate mean by calling function\n", + "\n", + "def mean_freq_dist(tableau):\n", + " \n", + " total_sum = 0\n", + " len_data = 0 # equals to total count\n", + " \n", + " for index, row in tableau.iterrows():\n", + " value = row['Dice number']\n", + " frequency = row['Frequency']\n", + " total_sum += value * frequency #total sum = valeur * tableau['Frequency']\n", + " len_data += frequency\n", + "\n", + " mean = total_sum / len_data\n", + "\n", + " return mean\n", + "\n", + "#mean_frequency_distribution = mean(sum_values) \n", + "print(f'Mean is {mean_freq_dist(frequency_distribution)}')\n", + "\n", + "# Why the result is not the same as when we calculate the mean ?\n", + "\n", + "#Ici on veut trouver la moyenne du tableau de la fréquence (on ne veut pas les valeurs de la fréquence)\n", + "\n", + "#Not possible to use mean otherwise here" + ] + }, + { + "cell_type": "code", + "execution_count": 77, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "({1: 2, 2: 1, 3: 3, 4: 2, 6: 2}, 'Mean is: 3.3')\n" + ] + } + ], + "source": [ + "#Jesus' method\n", + "\n", + "def freq(data):\n", + " freq_dist = {}\n", + " for x in data:\n", + " if x in freq_dist:\n", + " freq_dist[x] = freq_dist[x] + 1 #+=1\n", + " else:\n", + " freq_dist[x] = 1\n", + "#here we go in all value inside data\n", + "#and say if this value is already in the dictionnary, we put it in +1\n", + "#if we did not have the value before, we say it's just 1\n", + "\n", + " return freq_dist, f'Mean is: {sum([k*v for k,v in freq_dist.items()])/sum([v for k,v in freq_dist.items()])}'\n", + "\n", + "#k = first column, which is unique value\n", + "#v = frequency column\n", + "\n", + "#in the for loop we define the column\n", + "#in the dictionary.item (we wanna access the items)\n", + "\n", + "print(freq(dice)) #we create key value" + ] + }, + { + "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": 78, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "[1, 1, 2, 3, 3, 3, 4, 4, 6, 6]\n", + "10\n", + "Median is 3.0\n" + ] + } + ], + "source": [ + "# Method without function\n", + "\n", + "# your code here\n", + "\n", + "#Convert values into list to calculate the median\n", + "values_dice = dice.to_list()\n", + "print(values_dice)\n", + "\n", + "print(len(values_dice)) #Median = value in the middle \n", + "\n", + "#If even number, we take the two elements in the list divided by 2\n", + "median = (values_dice[4] + values_dice[5])/2\n", + "print(f'Median is {median}')" + ] + }, + { + "cell_type": "code", + "execution_count": 80, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Median is 3.0\n" + ] + } + ], + "source": [ + "#With function\n", + "\n", + "def median(lst):\n", + " sortedlst = sorted(lst)\n", + " lstlen = len(lst)\n", + " index = (lstlen - 1) // 2\n", + " \n", + " if (lstlen % 2 !=0):\n", + " return sortedlst[index] #if total list values is odd\n", + " else:\n", + " return (sortedlst[index] + sortedlst[index + 1])/2.0 #if total list values is even\n", + "\n", + "\n", + "print(f'Median is {median(values_dice)}')" + ] + }, + { + "cell_type": "code", + "execution_count": 140, + "metadata": {}, + "outputs": [], + "source": [ + "#Jesus' method\n", + "\n", + "def median_2(data):\n", + " if len(data)%2 == 0: #means values in DF are even (so no value is gonna be in the middle)\n", + " return sum(data[int(len(data)/2)-1:int(len(data)/2)+1])/2\n", + " else:\n", + " return data[int(len(data)/2)] #if odd, return number in the middle " + ] + }, + { + "cell_type": "code", + "execution_count": 141, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.0\n" + ] + } + ], + "source": [ + "print(median_2(dice))" + ] + }, + { + "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": 83, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "the first quartile is 2.25\n", + "the second quartile is 3.0\n", + "the third quartile is 4.0\n", + "the fourth quartile is 6\n" + ] + } + ], + "source": [ + "#Comparing with results given by quantile formula\n", + "\n", + "q1 = np.quantile(dice, 0.25) \n", + "print(\"the first quartile is\", q1)\n", + "q2 = np.quantile(dice, 0.50)\n", + "print(\"the second quartile is\",q2)\n", + "q3 = np.quantile(dice, 0.75)\n", + "print(\"the third quartile is\", q3)\n", + "q4 = np.quantile(dice, 1)\n", + "print(\"the fourth quartile is\", q4)" + ] + }, + { + "cell_type": "code", + "execution_count": 88, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Q1: 2, Q2: 3.0, Q3: 4, Q4: 6\n" + ] + } + ], + "source": [ + "def quartiles(lst):\n", + " lst.sort()\n", + " total_count = len(lst)\n", + " \n", + " # lower quartile (Q1)\n", + " q1_index = total_count // 4\n", + " q1_lower_quartile = lst[q1_index] #here we divid by 4 to get the first 25%\n", + " \n", + " # median (Q2)\n", + " q2_index = median(lst)\n", + "\n", + " # upper quartile (Q3)\n", + " q3_index = (3 * total_count) // 4 #so we have the 3 quarters out of four (=75%)\n", + " q3_upper_quartile = lst[q3_index] \n", + " \n", + " # max (Q4)\n", + " q4 = max(lst)\n", + " \n", + " return q1_lower_quartile, q2_index, q3_upper_quartile, q4\n", + "\n", + "q1_lower_quartile, q2_index, q3_upper_quartile, q4 = quartiles(values_dice)\n", + "print(f'Q1: { q1_lower_quartile}, Q2: {q2_index}, Q3: {q3_upper_quartile}, Q4: {q4}')\n" + ] + }, + { + "cell_type": "code", + "execution_count": 93, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Q1: 2.00, Q2: 3.0, Q3: 4.00, Q4: 6.00\n" + ] + } + ], + "source": [ + "# Find quartiles \n", + "\n", + "def quartiles(lst):\n", + " sortedlst = sorted(lst)\n", + " lstlen = len(lst)\n", + " \n", + " middle = len(lst)//2\n", + "\n", + "# lower quartile\n", + " q1_lower_quartile = median(lst[:middle]) \n", + "\n", + "# median\n", + " q2 = median(lst)\n", + "\n", + "# upper quartile\n", + " q3_upper_quartile = median(lst[middle:]) \n", + "\n", + "#fourth quartile =max value\n", + " q4 = max(lst)\n", + "\n", + " return q1_lower_quartile, q2, q3_upper_quartile, q4\n", + " \n", + "\n", + "q1_lower_quartile, q2, q3_upper_quartile, q4 = quartiles(values_dice)\n", + "print(f'Q1: {q1_lower_quartile:.2f}, Q2: {q2}, Q3: {q3_upper_quartile:.2f}, Q4: {q4:.2f}')" + ] + }, + { + "cell_type": "code", + "execution_count": 145, + "metadata": {}, + "outputs": [], + "source": [ + "def quartiles_2(vals):\n", + " second_quartile = np.median(vals)\n", + " middle = len(vals) // 2\n", + " \n", + " if len(vals) % 2 == 0:\n", + " first_quartile = np.median(vals[:middle])\n", + " third_quartile = np.median(vals[middle:])\n", + " else:\n", + " first_quartile = np.median(vals[:middle])\n", + " third_quartile = np.median(vals[middle:])\n", + " \n", + " return first_quartile, second_quartile, third_quartile" + ] + }, + { + "cell_type": "code", + "execution_count": 146, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "(2.0, 3.0, 4.0)\n" + ] + } + ], + "source": [ + "print(quartiles_2(values_dice)) #here won't work with a DF, we need to put it as an array." + ] + }, + { + "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": 110, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0rollvalue
0001
1112
2226
3331
4446
5555
6662
7772
8884
9991
\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", + "5 5 5 5\n", + "6 6 6 2\n", + "7 7 7 2\n", + "8 8 8 4\n", + "9 9 9 1" + ] + }, + "execution_count": 110, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "dice_hundred = pd.read_csv('/Users/amandine/Desktop/Ironhack/03_Week/Descriptive-Stats/data/roll_the_dice_hundred.csv')\n", + "dice_hundred.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 106, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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wFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsJajoZKYmKjbb79dwcHBqlu3rnr16qW9e/c6ORIAALCIo6GyadMmDR8+XNu2bdNHH32kCxcu6L777lN2draTYwEAAEv4Ofnga9euLbC8cOFC1a1bV9u3b9cvfvELh6YCAAC2sOoalYyMDElSzZo1HZ4EAADYwNEjKhczxmjs2LG655571Lp16yK38Xq98nq9vmWPx1Ne4wHXtZycHElSSkqKw5P8v3PnziktLU0REREKDAx0ehxJ0u7du50eAah0rAmVESNG6Msvv9SWLVsuu01iYqISEhLKcSqgctizZ48kafDgwQ5PUjEEBwc7PQJQabiMMcbpIUaOHKmVK1dq8+bNuummmy67XVFHVMLDw5WRkaGQkJDyGBW4Ln333XdauXKlWrRooWrVqjk9jqQfjl7ExcXprbfeUmRkpNPj+AQHB6tp06ZOjwFUaB6PR6GhocV6/3b0iIoxRiNHjtSKFSuUlJR0xUiRJLfbLbfbXU7TAZVH7dq19eijjzo9RpEiIyMVHR3t9BgAHOJoqAwfPlzvvPOO/vnPfyo4OFgnTpyQJIWGhlpzThoAADjH0U/9zJ07VxkZGerQoYPq16/v+1u6dKmTYwEAAEs4fuoHAADgcqz6HhUAAICLESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWoQKAACwFqECAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgAAsBahAgAArEWoAAAAazkaKps3b1bPnj0VFhYml8ullStXOjkOAACwjKOhkp2drdtuu01z5sxxcgwAAGApPycfvFu3burWrZuTIwAAAIs5Giol5fV65fV6fcsej8fBaQAUJScnR3v27PnJ+9m9e3eBf0tDixYtVK1atVLbH4CyV6FCJTExUQkJCU6PAeAK9uzZo3bt2pXa/uLi4kptX9u3b1d0dHSp7Q9A2XMZY4zTQ0iSy+XSihUr1KtXr8tuU9QRlfDwcGVkZCgkJKQcpgRwNaV1ROXcuXNKS0tTRESEAgMDS2EyjqgAtvB4PAoNDS3W+3eFOqLidrvldrudHgPAFVSrVq3UjlrExsaWyn4AVFx8jwoAALCWo0dUsrKydODAAd/yoUOHlJqaqpo1a6pRo0YOTgYAAGzgaKh8/vnn6tixo2957NixkqT4+HgtWrTIoakAAIAtHA2VDh06yJJreQEAgIW4RgUAAFiLUAEAANYiVAAAgLUIFQAAYC1CBQAAWItQAQAA1iJUAACAtQgVAABgLUIFAABYq0L9evKlfvxWW4/H4/AkAACguH583y7Ot9NX6FDJzMyUJIWHhzs8CQAAKKnMzEyFhoZecRuXqcA/tpOfn6/09HQFBwfL5XI5PQ6AUuTxeBQeHq6jR48qJCTE6XEAlCJjjDIzMxUWFqYbbrjyVSgVOlQAXL88Ho9CQ0OVkZFBqACVGBfTAgAAaxEqAADAWoQKACu53W5NnDhRbrfb6VEAOIhrVAAAgLU4ogIAAKxFqAAAAGsRKgAAwFqECgAAsBahAsAqmzdvVs+ePRUWFiaXy6WVK1c6PRIABxEqAKySnZ2t2267TXPmzHF6FAAWqNA/Sgjg+tOtWzd169bN6TEAWIIjKgAAwFqECgAAsBahAgAArEWoAAAAaxEqAADAWnzqB4BVsrKydODAAd/yoUOHlJqaqpo1a6pRo0YOTgbACfx6MgCrJCUlqWPHjoXWx8fHa9GiReU/EABHESoAAMBaXKMCAACsRagAAABrESoAAMBahAoAALAWoQIAAKxFqAAAAGsRKgAAwFqECgCrpaWlyeVyKTU1VdIPXwjncrl09uxZR+cCUD4IFQBlauDAgXK5XHK5XPLz81OjRo00dOhQnTlzxunRAFQAhAqAMte1a1cdP35caWlpeu211/T+++9r2LBhTo8FoAIgVACUObfbrXr16qlhw4a677779Lvf/U7r1q2TJOXn5+vPf/6zGjZsKLfbrTZt2mjt2rXF3vfhw4fVs2dP1ahRQ0FBQWrVqpU++OCDsnoqAMoZv54MoFx9/fXXWrt2rfz9/SVJs2fP1osvvqh58+apbdu2euONN/SrX/1KO3fuVNOmTa+6v+HDh+v777/X5s2bFRQUpF27dql69epl/TQAlBNCBUCZW716tapXr668vDzl5uZKkmbMmCFJmj59up5++mn9/ve/lyS98MIL2rhxo2bNmqWXX375qvs+cuSIHnzwQd16662SpJtvvrmMngUAJxAqAMpcx44dNXfuXOXk5Oi1117Tvn37NHLkSHk8HqWnpys2NrbA9rGxsfrvf/9brH2PGjVKQ4cO1bp169S5c2c9+OCDioqKKounAcABXKMCoMwFBQXplltuUVRUlP7617/K6/UqISHBd7vL5SqwvTGm0LrLefTRR/X111+rf//+2rFjh2JiYvTSSy+V6vwAnEOoACh3EydO1PTp05WVlaWwsDBt2bKlwO2ffvqpIiMji72/8PBwDRkyRMuXL9cTTzyhBQsWlPbIABzCqR8A5a5Dhw5q1aqVpk6dqqeeekoTJ05UkyZN1KZNGy1cuFCpqal6++23i7WvMWPGqFu3bmrWrJnOnDmjDRs2lChyANiNUAHgiLFjx+rhhx/Wvn375PF49MQTT+jUqVNq2bKlVq1aVaxP/EhSXl6ehg8frmPHjikkJERdu3bVzJkzy3h6AOXFZYwxTg8BAABQFK5RAQAA1iJUAACAtQgVAABgLUIFAABYi1ABAADWIlQAAIC1CBUAAGAtQgUAAFiLUAEAANYiVAAAgLUIFQAAYC1CBQAAWOv/ABRyKFl+3MLQAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.boxplot(dice_hundred['value'])\n", + "plt.xlabel('Rolls')\n", + "plt.ylabel('Value')\n", + "plt.title('Boxplot of Rolls')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 128, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "data": { + "image/png": "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U+EozIkTJyocrbls2rRpSk5O9twvLy/XqVOn1Lx580oDyERFRUUKDw9Xfn6+goKC7B7HCOyzmmG/1Qz7rWbYb9V3ve4zy7JUXFyssLCwa67r6Jhp2LChbr/9dm3atEmjR4/2LN+0aZN++tOfXvE5brdbbrfba1mTJk3qckxbBQUFXVf/8tYH9lnNsN9qhv1WM+y36rse99m1jshc5uiYkaTk5GSNHz9eUVFR6t27txYtWqQjR47o0UcftXs0AADgAI6PmYSEBJ08eVLPPfecjh8/ri5duui9995TRESE3aMBAAAHcHzMSNKkSZM0adIku8dwFLfbrZSUlAqn1FA59lnNsN9qhv1WM+y36mOfSS6rKp95AgAAcChHf2keAADAtRAzAADAaMQMAAAwGjEDAACMRswY5sMPP1R8fLzCwsLkcrn09ttv2z2S46Wnp+vHP/6xAgMDFRISolGjRmnfvn12j+V4GRkZ6tatm+eLuHr37q2//vWvdo9llPT0dLlcLk2dOtXuURwtNTVVLpfL6xYaGmr3WEb4+uuvdf/996t58+Zq1KiRevTooV27dtk9Vr0jZgxTUlKi7t27a968eXaPYozs7GwlJSUpJydHmzZt0qVLlzRs2DCVlJTYPZqjtW7dWi+++KJ27typnTt3atCgQfrpT3+qPXv22D2aEXbs2KFFixapW7dudo9ihM6dO+v48eOe2+eff273SI5XWFioPn36yM/PT3/961/15Zdf6tVXX72uv/W+MkZ8zwz+LS4uTnFxcXaPYZT333/f6/7SpUsVEhKiXbt2qX///jZN5Xzx8fFe91944QVlZGQoJydHnTt3tmkqM5w9e1b33XefFi9erOeff97ucYzg6+vL0ZhqeumllxQeHq6lS5d6lt188832DWQjjszgB+fMmTOSpGbNmtk8iTnKysq0evVqlZSUqHfv3naP43hJSUkaMWKEhgwZYvcoxjhw4IDCwsIUGRmpu+++WwcPHrR7JMfLzMxUVFSUfvaznykkJEQ9e/bU4sWL7R7LFsQMflAsy1JycrL69u2rLl262D2O433++edq3Lix3G63Hn30Ua1fv16dOnWyeyxHW716tXbv3q309HS7RzFGdHS0VqxYoQ0bNmjx4sUqKChQTEyMTp48afdojnbw4EFlZGSoXbt22rBhgx599FH98pe/1IoVK+werd5xmgk/KI8//rg+++wzbdu2ze5RjNC+fXvl5ubq9OnTWrt2rRITE5WdnU3QVCI/P19TpkzRxo0bdcMNN9g9jjG+e+q8a9eu6t27t9q2bavly5crOTnZxsmcrby8XFFRUUpLS5Mk9ezZU3v27FFGRoYeeOABm6erXxyZwQ/G5MmTlZmZqaysLLVu3drucYzQsGFD3XLLLYqKilJ6erq6d++uOXPm2D2WY+3atUsnTpzQ7bffLl9fX/n6+io7O1u/+93v5Ovrq7KyMrtHNEJAQIC6du2qAwcO2D2Ko7Vq1arCf1h07NhRR44csWki+3BkBtc9y7I0efJkrV+/Xlu3blVkZKTdIxnLsiyVlpbaPYZjDR48uMKncH7+85+rQ4cO+vWvfy0fHx+bJjNLaWmp9u7dq379+tk9iqP16dOnwtdM7N+/XxERETZNZB9ixjBnz57VV1995bmfl5en3NxcNWvWTG3atLFxMudKSkrSypUr9ec//1mBgYEqKCiQJAUHB8vf39/m6ZzrmWeeUVxcnMLDw1VcXKzVq1dr69atFT4dhn8LDAyscC1WQECAmjdvzjVaV/HUU08pPj5ebdq00YkTJ/T888+rqKhIiYmJdo/maE888YRiYmKUlpamcePG6X/+53+0aNEiLVq0yO7R6p8Fo2RlZVmSKtwSExPtHs2xrrS/JFlLly61ezRHe/DBB62IiAirYcOGVosWLazBgwdbGzdutHss4wwYMMCaMmWK3WM4WkJCgtWqVSvLz8/PCgsLs8aMGWPt2bPH7rGM8M4771hdunSx3G631aFDB2vRokV2j2QLl2VZlk0dBQAA8L1xATAAADAaMQMAAIxGzAAAAKMRMwAAwGjEDAAAMBoxAwAAjEbMAAAAoxEzAIx36NAhuVwu5ebmSpK2bt0ql8ul06dP2zoXgPpBzACw3YQJE+RyueRyueTr66s2bdroscceU2Fhod2jATAAMQPAEYYPH67jx4/r0KFDeuONN/TOO+9o0qRJdo8FwADEDABHcLvdCg0NVevWrTVs2DAlJCRo48aNkqTy8nI999xzat26tdxut3r06FGtH7w8fPiw4uPj1bRpUwUEBKhz585677336uqtAKhn/Go2AMc5ePCg3n//ffn5+UmS5syZo1dffVULFy5Uz549tWTJEv3kJz/Rnj171K5du2tuLykpSRcuXNCHH36ogIAAffnll2rcuHFdvw0A9YSYAeAIf/nLX9S4cWOVlZXp/PnzkqRZs2ZJkl555RX9+te/1t133y1Jeumll5SVlaXZs2dr/vz519z2kSNHNHbsWHXt2lWS9KMf/aiO3gUAOxAzABxh4MCBysjI0Llz5/TGG29o//79mjx5soqKinTs2DH16dPHa/0+ffro008/rdK2f/nLX+qxxx7Txo0bNWTIEI0dO1bdunWri7cBwAZcMwPAEQICAnTLLbeoW7du+t3vfqfS0lLNmDHD87jL5fJa37KsCssqM3HiRB08eFDjx4/X559/rqioKM2dO7dW5wdgH2IGgCOlpKTolVde0dmzZxUWFqZt27Z5Pb59+3Z17NixytsLDw/Xo48+qnXr1unJJ5/U4sWLa3tkADbhNBMAR4qNjVXnzp2VlpamX/3qV0pJSVHbtm3Vo0cPLV26VLm5ufrDH/5QpW1NnTpVcXFxuvXWW1VYWKgtW7ZUK4QAOBsxA8CxkpOT9fOf/1z79+9XUVGRnnzySZ04cUKdOnVSZmZmlT7JJEllZWVKSkrS0aNHFRQUpOHDh+u1116r4+kB1BeXZVmW3UMAAADUFNfMAAAAoxEzAADAaMQMAAAwGjEDAACMRswAAACjETMAAMBoxAwAADAaMQMAAIxGzAAAAKMRMwAAwGjEDAAAMBoxAwAAjPb/TWhp9CS7PYEAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bin_edges = [i - 0.5 for i in range(1, 8)]\n", + "\n", + "color = '#FFBB66' # Change to the desired color name\n", + "\n", + "plt.hist(dice_hundred['value'], bins=bin_edges, rwidth=0.8, color=color) \n", + "\n", + "plt.xlabel('Rolls')\n", + "plt.ylabel('Value')\n", + "plt.title('Histogram of Rolls')\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "It appears that the most common value is 6 with a frequency of 23. Mode = 6\n", + "\n", + "Almost Multimodal (having multiple modes) since both 6 and 4 have high frequencies. \n", + "\n", + "Almost perfect normal distribution.\n", + "\n", + "Histogram is pretty symmetric, the mean is often near the peak or center of the distribution. Mean around 3/4." + ] + }, + { + "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": 139, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Mean is 3.74\n" + ] + } + ], + "source": [ + "# your code here\n", + "\n", + "#dice_hundred['value'] = pd.to_numeric(dice_hundred['value']) #convert str into numerical values\n", + "\n", + "print(\"Mean is\", calculate_mean(dice_hundred['value']))" + ] + }, + { + "cell_type": "code", + "execution_count": 138, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "3.74\n" + ] + } + ], + "source": [ + "#Check if value with np.mean is the same :\n", + "\n", + "print(np.mean(dice_hundred['value']))" + ] + }, + { + "cell_type": "code", + "execution_count": 143, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Median is 2.5\n" + ] + } + ], + "source": [ + "print('Median is', median_2(dice_hundred['value']))" + ] + }, + { + "cell_type": "code", + "execution_count": 69, + "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", + "
Unnamed: 0rollvalue
count100.000000100.000000100.000000
mean49.50000049.5000003.740000
std29.01149229.0114921.703354
min0.0000000.0000001.000000
25%24.75000024.7500002.000000
50%49.50000049.5000004.000000
75%74.25000074.2500005.000000
max99.00000099.0000006.000000
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 roll value\n", + "count 100.000000 100.000000 100.000000\n", + "mean 49.500000 49.500000 3.740000\n", + "std 29.011492 29.011492 1.703354\n", + "min 0.000000 0.000000 1.000000\n", + "25% 24.750000 24.750000 2.000000\n", + "50% 49.500000 49.500000 4.000000\n", + "75% 74.250000 74.250000 5.000000\n", + "max 99.000000 99.000000 6.000000" + ] + }, + "execution_count": 69, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "roll_dice_df.describe()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 151, + "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", + "
ValueFrequency
4112
5512
3314
2217
1422
0623
\n", + "
" + ], + "text/plain": [ + " Value Frequency\n", + "4 1 12\n", + "5 5 12\n", + "3 3 14\n", + "2 2 17\n", + "1 4 22\n", + "0 6 23" + ] + }, + "execution_count": 151, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "#Calculate the freq dist and sort by dice number (index)\n", + "\n", + "frequency_distribution = dice_hundred['value'].value_counts().reset_index().sort_values(by='value')\n", + "frequency_distribution.columns = ['Value', 'Frequency']\n", + "\n", + "frequency_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 158, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Set custom bar colors\n", + "bar_color = 'plum'\n", + "\n", + "# Create the bar plot with step size 1 for the y-axis and custom bar colors\n", + "plt.bar(frequency_distribution['Value'], frequency_distribution['Frequency'], color=bar_color)\n", + "\n", + "# Calculate the median\n", + "median = np.median(dice)\n", + "\n", + "plt.xlabel('Value - Dice number (x)')\n", + "plt.ylabel('Frequency (y)')\n", + "plt.title('Frequency Distribution of Dice Rolls')\n", + "\n", + "# Set x-axis ticks with a step size of 1\n", + "plt.xticks(frequency_distribution['Value'])\n", + "\n", + "# Set y-axis ticks with a step size of 1\n", + "plt.yticks(range(0, int(max(frequency_distribution['Frequency'])) + 1))\n", + "\n", + "#other way to set scale\n", + "#plt.yticks(range(min(sorted_rolls), max(sorted_rolls) + 1))\n", + "#plt.xticks(range(min(sorted_rolls), max(sorted_rolls) + 1))\n", + "\n", + "# Display the median as text on the plot\n", + "plt.text(median, 1, f\"Median: {median}\", ha='center', va='bottom', fontsize=12)\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 173, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHFCAYAAAAHcXhbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA3iElEQVR4nO3deXhU9cH28XuyTRayECAkgRAi+yaLKKsSZJGIlEUrLkiQ0EpByyKPLfj4GCsShUKxoiiIAbRsVgRai4AKCAIaQFYREFklMeyBhEy28/7hm6lDWJIh5MyB7+e6ziVztrlnRpKb8zvnjM0wDEMAAAAW5WV2AAAAgOtBmQEAAJZGmQEAAJZGmQEAAJZGmQEAAJZGmQEAAJZGmQEAAJZGmQEAAJZGmQEAAJZGmQE8xOzZs2Wz2bR58+bLLn/ggQdUu3Ztl3m1a9fWoEGDyvQ8GzZsUHJyss6ePete0FvQwoUL1aRJEwUEBMhms2nbtm0l1hk1apRsNpu+//77K+7n+eefl81m09atW0v93O58xsCthjIDWNjHH3+sF154oUzbbNiwQS+99BJlppROnDihJ554QnXq1NGnn36qjRs3qn79+iXWS0pKkiS99957l91PUVGR5s6dqxYtWqhVq1Y3NDNwq6HMABbWsmVL1alTx+wYZZKfn6+CggKzY5Tavn37lJ+frwEDBqhTp05q27atAgMDS6zXtGlT3XXXXXr//fcv+/pWrlypY8eOOUsPgPJDmQEs7NIhiKKiIo0fP14NGjRQQECAwsLCdPvtt+v111+XJCUnJ+t//ud/JElxcXGy2Wyy2Wxas2aNc/uJEyeqYcOGstvtioiI0MCBA3Xs2DGX5zUMQxMmTFBsbKz8/f3VunVrrVq1SvHx8YqPj3eut2bNGtlsNr3//vt69tlnVaNGDdntdv3www86ceKEhg0bpsaNG6tSpUqKiIjQvffeq3Xr1rk816FDh2Sz2TRp0iS99tprql27tgICAhQfH+8sGn/+858VHR2t0NBQ9e3bV5mZmaV6/5YtW6Z27dopMDBQwcHB6tatmzZu3OhcPmjQIHXs2FGS1L9/f9lsNpfXd6mkpCRlZGRo+fLlJZalpqbKbrfr8ccfV25urp599lm1aNFCoaGhCg8PV7t27bR06dJrZi4ejjx06JDL/OL3uvizLPbZZ5+pS5cuCgkJUWBgoDp06KDPP//8ms8DWAllBvAwhYWFKigoKDGV5gvuJ06cqOTkZD366KP65JNPtHDhQiUlJTmHlIYMGaJnnnlGkrR48WJt3LhRGzdudA57/OEPf9Cf/vQndevWTcuWLdPLL7+sTz/9VO3bt9fJkyedz/P888/r+eefV48ePbR06VINHTpUQ4YM0b59+y6ba+zYsTpy5Ijefvtt/etf/1JERIROnz4tSXrxxRf1ySefKDU1Vbfddpvi4+NL/EKWpDfffFNfffWV3nzzTb377rv6/vvv1atXLyUlJenEiRN67733NHHiRH322WcaMmTINd+refPmqXfv3goJCdH8+fM1a9YsnTlzRvHx8Vq/fr0k6YUXXtCbb74pSZowYYI2btyot95664r7fPTRRxUYGFhiqOnMmTNaunSp+vbtq8qVK8vhcOj06dMaM2aMlixZovnz56tjx47q16+f5s6de83spfXBBx+oe/fuCgkJ0Zw5c7Ro0SKFh4frvvvuo9Dg5mIA8AipqamGpKtOsbGxLtvExsYaiYmJzscPPPCA0aJFi6s+z6RJkwxJxsGDB13m79mzx5BkDBs2zGX+119/bUgyxo0bZxiGYZw+fdqw2+1G//79XdbbuHGjIcno1KmTc97q1asNScY999xzzddfUFBg5OfnG126dDH69u3rnH/w4EFDktG8eXOjsLDQOX/q1KmGJOM3v/mNy35GjhxpSDLOnTt3xecqLCw0oqOjjWbNmrns8/z580ZERITRvn37Eq/hww8/vOZrMAzDSExMNHx9fY2ff/7ZOe+NN94wJBmrVq266mtPSkoyWrZs6bLs0s+4+P+TSz+/4pyrV682DMMwsrOzjfDwcKNXr14lXnvz5s2Nu+66q1SvB7ACjswAHmbu3LlKS0srMRUPd1zNXXfdpe3bt2vYsGFasWKFsrKySv28q1evlqQSV87cddddatSokfNf8ps2bZLD4dDDDz/ssl7btm1LXG1V7MEHH7zs/LffflutWrWSv7+/fHx85Ovrq88//1x79uwpse79998vL6///shq1KiRJKlnz54u6xXPP3LkyBVeqbR3714dP35cTzzxhMs+K1WqpAcffFCbNm1STk7OFbe/mqSkJOXn5+v99993zktNTVVsbKy6dOninPfhhx+qQ4cOqlSpkvO1z5o167Kv3R0bNmzQ6dOnlZiY6HKEr6ioSD169FBaWpqys7PL5bkAs1FmAA/TqFEjtW7dusQUGhp6zW3Hjh2rv/71r9q0aZMSEhJUpUoVdenS5YqXe//aqVOnJElRUVEllkVHRzuXF/+3evXqJda73Lwr7XPKlCn6wx/+oDZt2uijjz7Spk2blJaWph49eujixYsl1g8PD3d57Ofnd9X5ubm5l83y69dwpddaVFSkM2fOXHH7q7n77rtVv359paamSpJ27NihrVu36sknn5TNZpP0yxDfww8/rBo1auiDDz7Qxo0blZaWpsGDB181d1n8/PPPkqSHHnpIvr6+LtNrr70mwzCcQ32A1fmYHQBA+fHx8dHo0aM1evRonT17Vp999pnGjRun++67T0ePHr3sVTjFqlSpIklKT09XzZo1XZYdP35cVatWdVmv+Jflr2VkZFz26EzxL/Ff++CDDxQfH6/p06e7zD9//vzVX2Q5+PVrvdTx48fl5eWlypUru73/wYMH689//rO++eYbzZs3T15eXi5HvD744APFxcVp4cKFLu+Nw+G45r79/f0vu+6vz2mS5Py83njjDbVt2/ay+7pS+QSshiMzwE0qLCxMDz30kIYPH67Tp087r36x2+2SVOLox7333ivpl1+0v5aWlqY9e/Y4h0jatGkju92uhQsXuqy3adMmHT58uNT5bDabM0uxHTt2uFxNdKM0aNBANWrU0Lx581xOrM7OztZHH33kvMLJXYmJifLx8dE777yjf/zjH+rSpYtiY2Ody202m/z8/FyKTEZGRqmuZiouizt27HCZv2zZMpfHHTp0UFhYmL777rvLHulr3bq18ygWYHUcmQFuIr169VLTpk3VunVrVatWTYcPH9bUqVMVGxurevXqSZKaNWsmSXr99deVmJgoX19fNWjQQA0aNNDvf/97vfHGG/Ly8lJCQoIOHTqkF154QTExMRo1apSkX4Z1Ro8erZSUFFWuXFl9+/bVsWPH9NJLLykqKsrlHJSreeCBB/Tyyy/rxRdfVKdOnbR371795S9/UVxc3A2/D42Xl5cmTpyoxx9/XA888ICeeuopORwOTZo0SWfPntWrr756XfuPjIzU/fffr9TUVBmGUeLeMg888IAWL16sYcOG6aGHHtLRo0f18ssvKyoqSvv377/qvu+88041aNBAY8aMUUFBgSpXrqyPP/7YeQVWsUqVKumNN95QYmKi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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Jesus' method\n", + "\n", + "bin_edges = [i - 0.5 for i in range(1, 8)]\n", + "\n", + "plt.hist(dice_hundred['value'], bins=bin_edges, rwidth=0.8, color='powderblue')\n", + "\n", + "# Calculate the mean\n", + "mean_value = dice_hundred['value'].mean()\n", + "\n", + "# Display the mean as a vertical line on the histogram\n", + "plt.axvline(mean_value, color='cadetblue', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value}')\n", + "\n", + "# Set labels and title\n", + "plt.xlabel('Value')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of Value')\n", + "\n", + "# Add a legend\n", + "plt.legend()\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "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": 174, + "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", + "
Unnamed: 0rollvalue
0005
1116
2221
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 roll value\n", + "0 0 0 5\n", + "1 1 1 6\n", + "2 2 2 1" + ] + }, + "execution_count": 174, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "dice_thousand = pd.read_csv('/Users/amandine/Desktop/Ironhack/03_Week/Descriptive-Stats/data/roll_the_dice_thousand.csv')\n", + "dice_thousand.head(3)" + ] + }, + { + "cell_type": "code", + "execution_count": 175, + "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", + "
Dice NumberFrequency
01175
12167
23175
34168
45149
56166
\n", + "
" + ], + "text/plain": [ + " Dice Number Frequency\n", + "0 1 175\n", + "1 2 167\n", + "2 3 175\n", + "3 4 168\n", + "4 5 149\n", + "5 6 166" + ] + }, + "execution_count": 175, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "frequency_distribution = dice_thousand['value'].value_counts().sort_index().reset_index()\n", + "\n", + "frequency_distribution.columns = ['Dice Number', 'Frequency']\n", + "\n", + "frequency_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 176, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAlElEQVR4nO3de3zPdeP/8efHDh/bzOxgtmXWlFMmp1UOlTlbKFQoZbIOLnIR+15Fv27mqsvEhVyUTgxR5LqQK1c5nwpdQxSVkGO2Vk4z47PZ3r8/uvlcfcyGj/H+7O1xv93et7yPn+fnY/H0eh8+NsMwDAEAAFhUBbMDAAAAXE+UHQAAYGmUHQAAYGmUHQAAYGmUHQAAYGmUHQAAYGmUHQAAYGmUHQAAYGmUHQAAYGmUHaCcmDlzpmw2m7Zs2XLJ9V26dNGtt97qsuzWW29Vv379rup1Nm7cqNTUVJ08edK9oDeh+fPnq379+vLz85PNZtP27duLbfPCCy/IZrPphx9+KPE4L7/8smw2m7Zt23bFr+3O7zFws6HsABa2aNEivfLKK1e1z8aNGzV69GjKzhX69ddf9eSTT+q2227T559/rk2bNql27drFtktOTpYkzZgx45LHKSoq0uzZs9WoUSM1adLkumYGbjaUHcDCGjdurNtuu83sGFeloKBA58+fNzvGFfvxxx9VUFCgJ554Qq1atVKzZs3k7+9fbLu4uDjdfffd+uCDDy75/pYvX64jR444SxGAskPZASzs4lMcRUVFeu2111SnTh35+fmpSpUquvPOOzV58mRJUmpqqv7v//5PkhQbGyubzSabzaa1a9c69x83bpzq1q0ru92u8PBw9e3bV0eOHHF5XcMwNGbMGMXExKhixYqKj4/XihUrlJCQoISEBOd2a9eulc1m0wcffKDhw4frlltukd1u1969e/Xrr79q4MCBuuOOO1SpUiWFh4erTZs22rBhg8trHThwQDabTePHj9frr7+uW2+9VX5+fkpISHAWkZdeeklRUVEKCgpS9+7dlZ2dfUWf35IlS9S8eXP5+/srMDBQ7du316ZNm5zr+/Xrp3vvvVeS1KtXL9lsNpf3d7Hk5GRlZWXps88+K7YuPT1ddrtdffr00blz5zR8+HA1atRIQUFBCgkJUfPmzfXJJ59cNvOF050HDhxwWX7hs77we3nBypUr1bZtW1WuXFn+/v5q2bKlVq1addnXAcoTyg5QzhQWFur8+fPFJsMwLrvvuHHjlJqaqscee0xLly7V/PnzlZyc7Dxl9fTTT2vw4MGSpIULF2rTpk3atGmT87TKn/70J7344otq3769lixZoldffVWff/65WrRood9++835Oi+//LJefvllderUSZ988okGDBigp59+Wj/++OMlc40YMUKHDh3S22+/rX//+98KDw/X8ePHJUmjRo3S0qVLlZ6erpo1ayohIaHYX9iS9Oabb+rLL7/Um2++qffff18//PCDunbtquTkZP3666+aMWOGxo0bp5UrV+rpp5++7Gf14Ycf6qGHHlLlypX10Ucfafr06Tpx4oQSEhL0xRdfSJJeeeUVvfnmm5KkMWPGaNOmTXrrrbdKPOZjjz0mf3//YqeyTpw4oU8++UTdu3dXcHCwHA6Hjh8/rpSUFC1evFgfffSR7r33XvXo0UOzZ8++bPYrNWfOHHXo0EGVK1fWrFmz9PHHHyskJEQdO3ak8MBaDADlQnp6uiGp1CkmJsZln5iYGCMpKck536VLF6NRo0alvs748eMNScb+/ftdln///feGJGPgwIEuy7/66itDkjFy5EjDMAzj+PHjht1uN3r16uWy3aZNmwxJRqtWrZzL1qxZY0gy7r///su+//PnzxsFBQVG27Ztje7duzuX79+/35BkNGzY0CgsLHQuf+ONNwxJxoMPPuhynKFDhxqSjFOnTpX4WoWFhUZUVJTRoEEDl2OePn3aCA8PN1q0aFHsPSxYsOCy78EwDCMpKcnw8fExfvnlF+eyKVOmGJKMFStWlPrek5OTjcaNG7usu/j3+MLPycW/fxdyrlmzxjAMwzhz5owREhJidO3atdh7b9iwoXH33Xdf0fsBygNGdoByZvbs2crIyCg2XTidUpq7775bO3bs0MCBA7Vs2TLl5ORc8euuWbNGkord+XP33XerXr16zpGAzZs3y+FwqGfPni7bNWvWrNjdYhc8/PDDl1z+9ttvq0mTJqpYsaK8vb3l4+OjVatW6fvvvy+27QMPPKAKFf73R1q9evUkSZ07d3bZ7sLyQ4cOlfBOpd27d+vo0aN68sknXY5ZqVIlPfzww9q8ebPy8vJK3L80ycnJKigo0AcffOBclp6erpiYGLVt29a5bMGCBWrZsqUqVarkfO/Tp0+/5Ht3x8aNG3X8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0J49e8yO4tEiIyOL/cOjXr16OnTokEmJzMHIDqDfT10NHjxYixYt0tq1axUbG2t2pHLLMAw5HA6zY3istm3bFruL6KmnnlLdunX14osvysvLy6Rk5YvD4dD333+v++67z+woHq1ly5bFHqPx448/KiYmxqRE5qDsWFBubq727t3rnN+/f7+2b9+ukJAQ1ahRw8RknmvQoEH68MMP9cknnygwMFBZWVmSpKCgIPn5+ZmcznONHDlSiYmJio6O1unTpzVv3jytXbu22N1t+J/AwMBi14IFBAQoNDSUa8RKkZKSoq5du6pGjRrKzs7Wa6+9ppycHCUlJZkdzaO98MILatGihcaMGaOePXvqv//9r9599129++67Zke7sQxYzpo1awxJxaakpCSzo3msS31ekoz09HSzo3m0/v37GzExMYavr69RtWpVo23btsby5cvNjlXutGrVyhgyZIjZMTxar169jMjISMPHx8eIiooyevToYezatcvsWOXCv//9byMuLs6w2+1G3bp1jXfffdfsSDeczTAMw6SeBQAAcN1xgTIAALA0yg4AALA0yg4AALA0yg4AALA0yg4AALA0yg4AALA0yg4AALA0yg4Ay0pISNDQoUPNjgHAZJQdAB6pa9euateu3SXXbdq0STabTdu2bbvBqQCUR5QdAB4pOTlZq1ev1sGDB4utmzFjhho1aqQmTZqYkAxAeUPZAeCRunTpovDwcM2cOdNleV5enubPn69u3brpscceU/Xq1eXv768GDRroo48+KvWYNptNixcvdllWpUoVl9f4+eef1atXLwUHBys0NFQPPfSQDhw4UDZvCoApKDsAPJK3t7f69u2rmTNn6o9f4bdgwQLl5+fr6aefVtOmTfXpp59q586devbZZ/Xkk0/qq6++cvs18/Ly1Lp1a1WqVEnr16/XF198oUqVKqlTp07Kz88vi7cFwASUHQAeq3///jpw4IDWrl3rXDZjxgz16NFDt9xyi1JSUtSoUSPVrFlTgwcPVseOHbVgwQK3X2/evHmqUKGC3n//fTVo0ED16tVTenq6Dh065JIBQPnibXYAAChJ3bp11aJFC82YMUOtW7fWvn37tGHDBi1fvlyFhYUaO3as5s+fr59//lkOh0MOh0MBAQFuv97WrVu1d+9eBQYGuiw/d+6c9u3bd61vB4BJKDsAPFpycrKef/55vfnmm0pPT1dMTIzatm2r8ePHa9KkSXrjjTfUoEEDBQQEaOjQoaWebrLZbC6nxCSpoKDA+euioiI1bdpUc+fOLbZv1apVy+5NAbihKDsAPFrPnj01ZMgQffjhh5o1a5aeeeYZ2Ww2bdiwQQ899JCeeOIJSb8XlT179qhevXolHqtq1arKzMx0zu/Zs0d5eXnO+SZNmmj+/PkKDw9X5cqVr9+bAnBDcc0OAI9WqVIl9erVSyNHjtTRo0fVr18/SdLtt9+uFStWaOPGjfr+++/13HPPKSsrq9RjtWnTRlOnTtW2bdu0ZcsWDRgwQD4+Ps71ffr0UVhYmB566CFt2LBB+/fv17p16zRkyBAdOXLker5NANcRZQeAx0tOTtaJEyfUrl071ahRQ5L0yiuvqEmTJurYsaMSEhIUERGhbt26lXqcCRMmKDo6Wvfff78ef/xxpaSkyN/f37ne399f69evV40aNdSjRw/Vq1dP/fv319mzZxnpAcoxm3HxCWwAAAALYWQHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABYGmUHAABY2v8HOblBgy7naKwAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Jesus' method\n", + "\n", + "bin_edges = [i - 0.5 for i in range(1, 8)]\n", + "\n", + "plt.hist(dice_thousand['value'], bins=bin_edges, rwidth=0.8, color='powderblue')\n", + "\n", + "# Calculate the mean\n", + "mean_value = dice_thousand['value'].mean()\n", + "\n", + "# Display the mean as a vertical line on the histogram\n", + "plt.axvline(mean_value, color='cadetblue', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value}')\n", + "\n", + "# Set labels and title\n", + "plt.xlabel('Value')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of Value')\n", + "\n", + "# Add a legend\n", + "plt.legend()\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we see more uniform chart and mean line closer to the 3.\n", + "Almost all the values will have the same count (more flat/uniform distribution).\n", + "The more values we have, the closer we gonna be to the mean." + ] + }, + { + "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": 235, + "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", + "
observation
068.0
112.0
245.0
338.0
449.0
527.0
639.0
712.0
842.0
933.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 68.0\n", + "1 12.0\n", + "2 45.0\n", + "3 38.0\n", + "4 49.0\n", + "5 27.0\n", + "6 39.0\n", + "7 12.0\n", + "8 42.0\n", + "9 33.0" + ] + }, + "execution_count": 235, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "ages_population_df = pd.read_csv('/Users/amandine/Desktop/Ironhack/03_Week/Descriptive-Stats/data/ages_population.csv')\n", + "ages_population_df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 178, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([68., 12., 45., 38., 49., 27., 39., 42., 33., 30., 25., 44., 53.,\n", + " 46., 50., 22., 6., 29., 35., 28., 26., 60., 41., 52., 32., 23.,\n", + " 15., 40., 63., 31., 34., 61., 64., 37., 56., 14., 13., 51., 36.,\n", + " 18., 48., 58., 20., 54., 19., 62., 55., 21., 43., 17., 7., 47.,\n", + " 1., 16., 24., 59., 57., 8., 67., 2., 66., 4., 73., 82., 70.,\n", + " 5., 71., 9., 69., 11., 10., 65.])" + ] + }, + "execution_count": 178, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ages_population_df['observation'].unique()" + ] + }, + { + "cell_type": "code", + "execution_count": 180, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
count1000.0000
mean36.5600
std12.8165
min1.0000
25%28.0000
50%37.0000
75%45.0000
max82.0000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.0000\n", + "mean 36.5600\n", + "std 12.8165\n", + "min 1.0000\n", + "25% 28.0000\n", + "50% 37.0000\n", + "75% 45.0000\n", + "max 82.0000" + ] + }, + "execution_count": 180, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ages_population_df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 179, + "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", + "
AgeFrequency
01.02
12.02
24.01
35.02
46.02
.........
6769.01
6870.01
6971.01
7073.01
7182.01
\n", + "

72 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " Age Frequency\n", + "0 1.0 2\n", + "1 2.0 2\n", + "2 4.0 1\n", + "3 5.0 2\n", + "4 6.0 2\n", + ".. ... ...\n", + "67 69.0 1\n", + "68 70.0 1\n", + "69 71.0 1\n", + "70 73.0 1\n", + "71 82.0 1\n", + "\n", + "[72 rows x 2 columns]" + ] + }, + "execution_count": 179, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "frequency_distribution = ages_population_df['observation'].value_counts().sort_index().reset_index()\n", + "\n", + "frequency_distribution.columns = ['Age', 'Frequency']\n", + "\n", + "frequency_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 192, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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vLy8nB4jR46UJB0/frzMdQJWxJwZ4Drh6empcePGady4cTp16pQ+++wzTZ48Wd27d9fRo0fl5+dX7GuDgoIkSWlpaapdu7bTtl9++cUxX+Ziv4t/aP8oPT3d5eiMzWYr0vb2228rJiZGCxYscGrPzs4u+SArwB+P9VK//PKLqlSpoho1apR5v6U9pqCgIG3btq3I69PT052eX/yaT5o0Sf3793f5no0aNSpznYAVMTIDXIeqV6+u+++/X0899ZROnjypw4cPS5LsdrskFRn9uPPOOyX9/gf5j5KSkrRv3z517dpVktS+fXvZ7XatWLHCqd/WrVuVmppa6vpsNpujlot27drldDdRZWnUqJFq1aqlZcuWOU2sPnv2rN5//33HHU5lVdpjio6OVnZ2ttasWePUvnz58iJ1RkVFaefOnS5H69q2bauAgIAy1wlYESMzwHXi7rvvVvPmzdW2bVvdeOONSk1N1bx58xQREaGoqChJ0s033yxJeuWVVzRkyBB5eXmpUaNGatSokf70pz/pH//4h6pUqaKePXs67maqU6eOxo4dK+n3yzrjxo1TfHy8atSooX79+unYsWOaNm2awsLCnOaglKRPnz7661//qqlTpyo6Olr79+/XX/7yF0VGRrq8m6siValSRbNnz9bAgQPVp08fjRgxQrm5uZozZ45OnTqlWbNmlWu/pT2mIUOG6OWXX9agQYM0ffp0NWjQQGvWrNGnn37qqO+i119/XT179lT37t01dOhQ1apVSydPntS+ffv07bff6t13372yLwZgFWbPQAZweRfvZkpKSnK5vXfv3pe9m+mll14yOnbsaNSsWdPw9vY26tatawwbNsw4fPiw0+smTZpkhIeHG1WqVDEkGRs2bDAM4/e7fF588UWjYcOGhpeXl1GzZk1j0KBBxtGjR51eX1hYaEyfPt2oXbu24e3tbbRo0cL473//a7Rs2dLprp2S7gTKzc01JkyYYNSqVcvw8fEx2rRpY3z44YfGkCFDnI7z4t1Mc+bMcXp9cfu+3Nfxjz788EOjffv2ho+Pj+Hv72907drV+Oqrr0r1Pq6U9pgMwzCOHDli9O/f36hataoREBBg3HfffcYnn3xiSDI++ugjp747d+40HnzwQSM4ONjw8vIyQkNDjTvvvNNYuHDhZWsCrhU2wyjFAhUAcAVSUlLUuHFjTZ06VZMn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DMPMkSEAAIArwZwZAABgaYQZAABgaYQZAABgaYQZAABgaYQZAABgaYQZAABgaYQZAABgaYQZAABgaYQZAG5py5Yt8vDwUI8ePcwuBYCbYwVgAG5p+PDhqlq1qv75z39q7969qlu3rtklAXBTjMwAcDtnz57VypUr9eSTT6pPnz5avHix0/bVq1crKipKvr6+6tKli5YsWSKbzaZTp045+mzZskWdO3eWr6+v6tSpo6efflpnz569ugcC4KogzABwOytWrFCjRo3UqFEjDRo0SAkJCbo4iHz48GHdf//9uvfee5WcnKwRI0ZoypQpTq/fvXu3unfvrv79+2vXrl1asWKFNm/erFGjRplxOAAqGZeZALid22+/XQ8++KBGjx6tCxcuKCwsTO+8847uuusuPffcc/r444+1e/duR//nn39eM2bMUGZmpqpXr67BgwfL19dXr7/+uqPP5s2bFR0drbNnz8rHx8eMwwJQSRiZAeBW9u/fr23btumhhx6SJHl6emrAgAF66623HNvbtWvn9Jpbb73V6fmOHTu0ePFiVa1a1fHo3r27CgsLlZKScnUOBMBV42l2AQDwR4sWLdKFCxdUq1YtR5thGPLy8lJmZqYMw5DNZnN6zaUDzIWFhRoxYoSefvrpIvtnIjFw7SHMAHAbFy5c0NKlS/XSSy8pNjbWadt9992nf//732rcuLE++eQTp23bt293et6mTRvt2bNHDRo0qPSaAZiPOTMA3MaHH36oAQMGKCMjQ4GBgU7bpkyZok8++USrVq1So0aNNHbsWA0bNkzJyckaP368jh07plOnTikwMFC7du3Sbbfdpscee0z/93//J39/f+3bt0+JiYn6xz/+YdLRAagszJkB4DYWLVqku+66q0iQkX4fmUlOTlZmZqbee+89rVq1Si1atNCCBQscdzPZ7XZJUosWLbRp0yYdPHhQd9xxh1q3bq0XXnhBYWFhV/V4AFwdjMwAsLwZM2Zo4cKFOnr0qNmlADABc2YAWM5rr72mdu3aKSgoSF999ZXmzJnDGjLAdYwwA8ByDh48qOnTp+vkyZOqW7euxo8fr0mTJpldFgCTcJkJAABYGhOAAQCApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApf1/rzAiU85PZS0AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bin_edges = [i - 0.5 for i in range(1, 90)]\n", + "\n", + "plt.hist(ages_population_df, bins=bin_edges, rwidth=0.8, color='powderblue')\n", + "\n", + "# Calculate the mean\n", + "mean_value = ages_population_df['observation'].mean()\n", + "\n", + "# Display the mean as a vertical line on the histogram\n", + "plt.axvline(mean_value, color='cadetblue', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value}')\n", + "\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of age')\n", + "\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 193, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Maximum Frequency: 45\n", + "Age Associated with Maximum Frequency: 39.0\n" + ] + } + ], + "source": [ + "max_frequency = frequency_distribution['Frequency'].max()\n", + "index_of_max_frequency = frequency_distribution['Frequency'].idxmax()\n", + "age_associated_with_max_frequency = frequency_distribution.loc[index_of_max_frequency, 'Age']\n", + "\n", + "print(\"Maximum Frequency:\", max_frequency)\n", + "print(\"Age Associated with Maximum Frequency:\", age_associated_with_max_frequency)\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Mean is generally around the most frequent values, so ages around 40/45.\n", + "\n", + "Data are pretty sparse, so we can expect the standard deviation to be pretty high, around 10/15." + ] + }, + { + "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": 198, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean age is 36.56\n", + "The standard deviation for age is 12.82\n" + ] + } + ], + "source": [ + "mean_age = ages_population_df['observation'].mean()\n", + "print(f\"The mean age is {mean_age:.2f}\")\n", + "\n", + "\n", + "std_age = ages_population_df['observation'].std()\n", + "print(f\"The standard deviation for age is {std_age:.2f}\")" + ] + }, + { + "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": 199, + "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", + "
observation
025.0
131.0
229.0
331.0
429.0
529.0
628.0
730.0
824.0
926.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 25.0\n", + "1 31.0\n", + "2 29.0\n", + "3 31.0\n", + "4 29.0\n", + "5 29.0\n", + "6 28.0\n", + "7 30.0\n", + "8 24.0\n", + "9 26.0" + ] + }, + "execution_count": 199, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "ages_population2_df = pd.read_csv('/Users/amandine/Desktop/Ironhack/03_Week/Descriptive-Stats/data/ages_population2.csv')\n", + "ages_population2_df.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 201, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
count1000.000000
mean27.155000
std2.969814
min19.000000
25%25.000000
50%27.000000
75%29.000000
max36.000000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.000000\n", + "mean 27.155000\n", + "std 2.969814\n", + "min 19.000000\n", + "25% 25.000000\n", + "50% 27.000000\n", + "75% 29.000000\n", + "max 36.000000" + ] + }, + "execution_count": 201, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ages_population2_df.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 200, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
AgeFrequency
019.03
120.013
221.017
322.035
423.041
524.078
625.098
726.0120
827.0125
928.0139
1029.0115
1130.090
1231.061
1332.031
1433.022
1534.07
1635.03
1736.02
\n", + "
" + ], + "text/plain": [ + " Age Frequency\n", + "0 19.0 3\n", + "1 20.0 13\n", + "2 21.0 17\n", + "3 22.0 35\n", + "4 23.0 41\n", + "5 24.0 78\n", + "6 25.0 98\n", + "7 26.0 120\n", + "8 27.0 125\n", + "9 28.0 139\n", + "10 29.0 115\n", + "11 30.0 90\n", + "12 31.0 61\n", + "13 32.0 31\n", + "14 33.0 22\n", + "15 34.0 7\n", + "16 35.0 3\n", + "17 36.0 2" + ] + }, + "execution_count": 200, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "frequency_distribution = ages_population2_df['observation'].value_counts().sort_index().reset_index()\n", + "\n", + "frequency_distribution.columns = ['Age', 'Frequency']\n", + "\n", + "frequency_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 204, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAABCJUlEQVR4nO3df3yPdf////vLfrz2wwxb+8XMypAfiZRImWQsIuqkIpQ6lVTCWS05TacIZ0tvijoTqlOok/I5S1nMSnLmN6lT0sxkO1eZbcZe+3V8//D1qlczZl5zbMdu18vluOR1HM/j2ON1dGT3ns/ncRw2wzAMAQAAWFQ9swsAAACoToQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdwCKWLFkim82mbdu2nXV7//791bx5c5d1zZs316hRoy7o52zevFmJiYk6fvx41Qqtg1asWKG2bdvK19dXNptNu3btMrskoE4h7AB12OrVqzVlypQL2mfz5s2aNm0aYaeSfv75Z91777264oor9Mknn+irr75Sy5YtzS4LqFM8zS4AgHk6duxodgkXrLi4WDabTZ6eteOvr++//17FxcUaPny4evToYXY5QJ1Ezw5Qh/1xGKusrEzTp09Xq1at5Ovrq4YNG+qqq67Syy+/LElKTEzUX/7yF0lSdHS0bDabbDabNm7c6Nx/9uzZat26tex2u0JCQjRixAgdOXLE5ecahqEZM2YoKipKPj4+6ty5s5KTkxUbG6vY2Fhnu40bN8pms+ntt9/WxIkT1aRJE9ntdv3www/6+eefNXbsWLVp00b169dXSEiIbr75Zn3xxRcuP+vQoUOy2WyaM2eOZs2apebNm8vX11exsbHOIPL0008rIiJCgYGBGjRokLKzsyt1/tasWaOuXbvKz89PAQEB6t27t7766ivn9lGjRql79+6SpKFDh8pms7l8vz+q7HeSpCNHjujOO+9UQECAGjZsqGHDhmnr1q2y2WxasmSJS9tt27ZpwIABaty4sXx8fNSxY0etXLmyUt8RsILa8b9GACqttLRUJSUl5dYbhnHefWfPnq3ExEQ9++yzuummm1RcXKz//ve/ziGrBx54QMeOHdO8efO0atUqhYeHS5LatGkjSXr44Yf1+uuva9y4cerfv78OHTqkKVOmaOPGjdqxY4eCg4MlSZMnT9bMmTP15z//WYMHD1ZGRoYeeOABFRcXn3WIJyEhQV27dtXChQtVr149hYSE6Oeff5YkTZ06VWFhYTpx4oRWr16t2NhYrV+/vlyoeOWVV3TVVVfplVde0fHjxzVx4kTddttt6tKli7y8vPTmm28qPT1dkyZN0gMPPKA1a9ac81wtW7ZMw4YNU1xcnN599105HA7Nnj3b+fO7d++uKVOm6LrrrtMjjzyiGTNmqGfPnmrQoEGFxzx27FilvlNBQYF69uypY8eOadasWWrRooU++eQTDR06tNwxU1JS1LdvX3Xp0kULFy5UYGCgli9frqFDh+rkyZMXPGcLqJUMAJawePFiQ9I5l6ioKJd9oqKijJEjRzo/9+/f37j66qvP+XPmzJljSDLS0tJc1n/33XeGJGPs2LEu6//zn/8YkoxnnnnGMAzDOHbsmGG3242hQ4e6tPvqq68MSUaPHj2c61JSUgxJxk033XTe719SUmIUFxcbvXr1MgYNGuRcn5aWZkgyOnToYJSWljrXz50715BkDBgwwOU448ePNyQZubm5Ff6s0tJSIyIiwmjfvr3LMfPz842QkBCjW7du5b7De++9d97vUNnv9MorrxiSjLVr17q0HzNmjCHJWLx4sXNd69atjY4dOxrFxcUubfv372+Eh4e71A9YFcNYgMW89dZb2rp1a7nlzHDKuVx33XXavXu3xo4dq08//VR5eXmV/rkpKSmSVK6n4LrrrtOVV16p9evXS5K2bNkih8OhIUOGuLS7/vrry90tdsYdd9xx1vULFy5Up06d5OPjI09PT3l5eWn9+vX67rvvyrW99dZbVa/eb3/lXXnllZKkfv36ubQ7s/7w4cMVfFNp//79Onr0qO69916XY9avX1933HGHtmzZopMnT1a4/7lU5julpqYqICBAffv2ddn37rvvdvn8ww8/6L///a+GDRsmSSopKXEut956qzIzM7V///4q1QnUJoQdwGKuvPJKde7cudwSGBh43n0TEhL097//XVu2bFF8fLyCgoLUq1evCm9n/71ff/1VkpxDW78XERHh3H7mn6GhoeXanW1dRcdMSkrSww8/rC5duuhf//qXtmzZoq1bt6pv3746depUufaNGzd2+ezt7X3O9YWFhWet5fffoaLvWlZWppycnAr3r0hlv9Ovv/5aqfP3v//9T5I0adIkeXl5uSxjx46VJP3yyy8XXCdQ2zBnB4CTp6enJkyYoAkTJuj48eP67LPP9Mwzz6hPnz7KyMiQn59fhfsGBQVJkjIzM9W0aVOXbUePHnXO1znT7swv4t/Lyso6a++OzWYrt+6dd95RbGysFixY4LI+Pz//3F/SDX7/Xf/o6NGjqlevnho1anTBx63sdwoKCtLXX39dbv+srCyXz2fOeUJCggYPHnzWn9mqVasLrhOobejZAXBWDRs21J133qlHHnlEx44d06FDhyRJdrtdksr1ntx8882STv/C/r2tW7fqu+++U69evSRJXbp0kd1u14oVK1zabdmyRenp6ZWuz2azOWs5Y8+ePS53Q1WXVq1aqUmTJlq2bJnLxO+CggL961//ct6hdaEq+5169Oih/Px8rV271mX98uXLy9UZExOj3bt3n7W3r3PnzgoICLjgOoHahp4dAE633Xab2rVrp86dO+uyyy5Tenq65s6dq6ioKMXExEiS2rdvL0l6+eWXNXLkSHl5ealVq1Zq1aqV/vznP2vevHmqV6+e4uPjnXdjRUZG6oknnpB0ethowoQJmjlzpho1aqRBgwbpyJEjmjZtmsLDw13mwJxL//799be//U1Tp05Vjx49tH//fj333HOKjo4+691o7lSvXj3Nnj1bw4YNU//+/TVmzBg5HA7NmTNHx48f1wsvvFCl41b2O40cOVIvvfSShg8frunTp6tFixZau3atPv30U2d9Z7z22muKj49Xnz59NGrUKDVp0kTHjh3Td999px07dui99967uJMB1AZmz5AG4B5n7sbaunXrWbf369fvvHdjvfjii0a3bt2M4OBgw9vb22jWrJkxevRo49ChQy77JSQkGBEREUa9evUMSUZKSophGKfvUpo1a5bRsmVLw8vLywgODjaGDx9uZGRkuOxfVlZmTJ8+3WjatKnh7e1tXHXVVca///1vo0OHDi53HZ3rTiaHw2FMmjTJaNKkieHj42N06tTJ+OCDD4yRI0e6fM8zd2PNmTPHZf+Kjn2+8/h7H3zwgdGlSxfDx8fH8Pf3N3r16mV8+eWXlfo5Z1PZ72QYhnH48GFj8ODBRv369Y2AgADjjjvuMD7++GNDkvHhhx+6tN29e7cxZMgQIyQkxPDy8jLCwsKMm2++2Vi4cOF5awKswGYYlXj4BgBUs7S0NLVu3VpTp07V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GKjk5GSXdfPmzdN1112nw4cPq1mzZsrNzdWiRYv09ttv65ZbbpEkvfPOO4qMjNRnn32mPn36VPt3AAAANVutmqCcm5srm82mhg0bSpK2b9+u4uJixcXFOdtERESoXbt22rx5c4XHcTgcysvLc1kAANaUk5enX3OPK4e/6+usWjNBubCwUE8//bTuueceNWjQQJKUlZUlb29vNWrUyKVtaGiosrKyKjzWzJkzNW3atGqtFwBQNed6qecfVealnlv27lShwyEfu13xN/S4mNJQS9WKnp3i4mLdddddKisr06uvvnre9oZhyGazVbg9ISFBubm5ziUjI8Od5QIAgBqkxoed4uJiDRkyRGlpaUpOTnb26khSWFiYioqKlJOT47JPdna2QkNDKzym3W5XgwYNXBYAAGBNNTrsnAk6Bw4c0GeffaagoCCX7ddcc428vLxcJjJnZmbqm2++Ubdu3S51uQAAoAYydc7OiRMn9MMPPzg/p6WladeuXWrcuLEiIiJ05513aseOHfr3v/+t0tJS5zycxo0by9vbW4GBgRo9erQmTpyooKAgNW7cWJMmTVL79u2dd2cBAIC6zdSws23bNvXs2dP5ecKECZKkkSNHKjExUWvWrJEkXX311S77paSkKDY2VpL00ksvydPTU0OGDNGpU6fUq1cvLVmyRB4ePCkTAACYHHZiY2NlGEaF28+17QwfHx/NmzdP8+bNc2dpAADAImr0nB0AAICLRdgBAACWRtgBAACWVmueoAwAQFXc0uUGs0uAyQg7AABL8/LkV11dxxUAAMAFcPe7u1D9mLMDAAAsjZ4dAIClHTh8SCUlJfL09FRMs+ZmlwMTEHYAAJb2Q0a6Ch0O+djthJ06imEsAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaYQdAABgaTxUEABgaQ0DGshhL5Ld29vsUmASwg4AwNK6XtXR7BJgMoaxAACApRF2AACApRF2AACApTFnBwBgaV/t2SlH0ekJyszfqZsIOwAASzuen6dCh0M+drvZpcAkDGMBAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABLI+wAAABL46GCAABLaxEZpZKSEnl68iuvruLfPADA0mKaNTe7BJiMYSwAAGBphB0AAGBpDGMBACytuKTE+Wcv5u3USfxbBwBY2mf/+dL51vP4G3qYXQ5MwDAWAACwNFPDzueff67bbrtNERERstls+uCDD1y2G4ahxMRERUREyNfXV7Gxsdq3b59LG4fDoUcffVTBwcHy9/fXgAEDdOTIkUv4LQAAQE1matgpKChQhw4dNH/+/LNunz17tpKSkjR//nxt3bpVYWFh6t27t/Lz851txo8fr9WrV2v58uXatGmTTpw4of79+6u0tPRSfQ0AAFCDmTpnJz4+XvHx8WfdZhiG5s6dq8mTJ2vw4MGSpKVLlyo0NFTLli3TmDFjlJubq0WLFuntt9/WLbfcIkl65513FBkZqc8++0x9+vS5ZN8FAADUTDV2zk5aWpqysrIUFxfnXGe329WjRw9t3rxZkrR9+3YVFxe7tImIiFC7du2cbc7G4XAoLy/PZQEAANZUY8NOVlaWJCk0NNRlfWhoqHNbVlaWvL291ahRowrbnM3MmTMVGBjoXCIjI91cPQAAqClqbNg5w2azuXw2DKPcuj86X5uEhATl5uY6l4yMDLfUCgAAap4aG3bCwsIkqVwPTXZ2trO3JywsTEVFRcrJyamwzdnY7XY1aNDAZQEAANZUY8NOdHS0wsLClJyc7FxXVFSk1NRUdevWTZJ0zTXXyMvLy6VNZmamvvnmG2cbAABQt5l6N9aJEyf0ww8/OD+npaVp165daty4sZo1a6bx48drxowZiomJUUxMjGbMmCE/Pz/dc889kqTAwECNHj1aEydOVFBQkBo3bqxJkyapffv2zruzAAB12/XtO6rMKFM9W439/3tUM1PDzrZt29SzZ0/n5wkTJkiSRo4cqSVLlujJJ5/UqVOnNHbsWOXk5KhLly5at26dAgICnPu89NJL8vT01JAhQ3Tq1Cn16tVLS5YskYeHxyX/PgCAmqcRUxXqPJthGIbZRZgtLy9PgYGBys3NZf4OALjRh+mZlWo3MCr8gvf5/X5V2edC9rvY+lA9Kvv7mz49AABgabz1HABgaZm//KyyslLVq+eh8ODLzC4HJiDsAAAsbdf+b1XocMjHbld4cA+zy4EJGMYCAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAACWRtgBAFiap4eHc0HdxBOUAQCW1vv67maXAJPRswMAACyNsAMAACyNsAMAACyNOTsAAEvb+8N+FReXyMvLU+1btDK7HJiAnh0AgKUd+V+W0jN/0pH/ZZldCkxC2AEAAJbGMBYAANXsw/TMSrcdGBVejZXUTfTsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAASyPsAAAAS+PWcwCApYUFXaai4mJ5e3mZXQpMQtgBAFhax9ZtzC4BJmMYCwAAWFqVwk5aWpq76wAAAKgWVQo7LVq0UM+ePfXOO++osLDQ3TUBAAC4TZXCzu7du9WxY0dNnDhRYWFhGjNmjL7++mt31wYAwEVL2bpFa79MVcrWLWaXApNUKey0a9dOSUlJ+umnn7R48WJlZWWpe/fuatu2rZKSkvTzzz+7u04AAKqksMihQodDhUUOs0uBSS5qgrKnp6cGDRqklStXatasWTp48KAmTZqkpk2basSIEcrMrPxbXgEAAKrDRYWdbdu2aezYsQoPD1dSUpImTZqkgwcPasOGDfrpp580cOBAd9UJAABQJVV6zk5SUpIWL16s/fv369Zbb9Vbb72lW2+9VfXqnc5O0dHReu2119S6dWu3FgsAAHChqhR2FixYoPvvv1/33XefwsLCztqmWbNmWrRo0UUVBwAAcLGqFHYOHDhw3jbe3t4aOXJkVQ4PAADgNlWas7N48WK999575da/9957Wrp06UUXBQAA4C5VCjsvvPCCgoODy60PCQnRjBkzLrooAAAAd6lS2ElPT1d0dHS59VFRUTp8+PBFF3VGSUmJnn32WUVHR8vX11eXX365nnvuOZWVlTnbGIahxMRERUREyNfXV7Gxsdq3b5/bagAAALVblebshISEaM+ePWrevLnL+t27dysoKMgddUmSZs2apYULF2rp0qVq27attm3bpvvuu0+BgYF6/PHHJUmzZ89WUlKSlixZopYtW2r69Onq3bu39u/fr4CAALfVAgCondpd0VKlZaXyqOdhdikwSZXCzl133aXHHntMAQEBuummmyRJqampevzxx3XXXXe5rbivvvpKAwcOVL9+/SRJzZs317vvvqtt27ZJOt2rM3fuXE2ePFmDBw+WJC1dulShoaFatmyZxowZ47ZaAAC1U2RYuNklwGRVGsaaPn26unTpol69esnX11e+vr6Ki4vTzTff7NY5O927d9f69ev1/fffSzrdc7Rp0ybdeuutkk6/fT0rK0txcXHOfex2u3r06KHNmzdXeFyHw6G8vDyXBQAAWFOVena8vb21YsUK/e1vf9Pu3bvl6+ur9u3bKyoqyq3FPfXUU8rNzVXr1q3l4eGh0tJSPf/887r77rslSVlZWZKk0NBQl/1CQ0OVnp5e4XFnzpypadOmubVWAABQM1Up7JzRsmVLtWzZ0l21lLNixQq98847WrZsmdq2batdu3Zp/PjxioiIcHmGj81mc9nPMIxy634vISFBEyZMcH7Oy8tTZGSk+78AAMB0+QUFzt8LAf7+ZpcDE1Qp7JSWlmrJkiVav369srOzXe6OkqQNGza4pbi//OUvevrpp53zgNq3b6/09HTNnDlTI0eOdD69OSsrS+Hhv43JZmdnl+vt+T273S673e6WGgEANdumXdtU6HDIx25X/A09zC4HJqhS2Hn88ce1ZMkS9evXT+3atTtnL8rFOHnypPN9W2d4eHg4w1V0dLTCwsKUnJysjh07SpKKioqUmpqqWbNmVUtNAACgdqlS2Fm+fLlWrlzpnChcXW677TY9//zzatasmdq2baudO3cqKSlJ999/v6TTw1fjx4/XjBkzFBMTo5iYGM2YMUN+fn665557qrU2AABQO1R5gnKLFi3cXUs58+bN05QpUzR27FhlZ2crIiJCY8aM0V//+ldnmyeffFKnTp3S2LFjlZOToy5dumjdunU8YwcA3OjD9MxKtx0Yxa3eqFmqdOv5xIkT9fLLL8swDHfX4yIgIEBz585Venq6Tp06pYMHD2r69Ony9vZ2trHZbEpMTFRmZqYKCwuVmpqqdu3aVWtdAACg9qhSz86mTZuUkpKitWvXqm3btvLy8nLZvmrVKrcUBwAAcLGqFHYaNmyoQYMGubsWAAAAt6tS2Fm8eLG76wAAAKgWVZqzI51+I/lnn32m1157Tfn5+ZKko0eP6sSJE24rDgAA4GJVqWcnPT1dffv21eHDh+VwONS7d28FBARo9uzZKiws1MKFC91dJwAAQJVU+aGCnTt31u7duxUUFORcP2jQID3wwANuKw4AgIvVs/P1532NEKytyndjffnlly63gEtSVFSUfvrpJ7cUBgCAO/jweqA6r0pzdsrKylRaWlpu/ZEjR3iYHwAAqFGqFHZ69+6tuXPnOj/bbDadOHFCU6dOrfZXSAAAAFyIKg1jvfTSS+rZs6fatGmjwsJC3XPPPTpw4ICCg4P17rvvurtGAACqLO2nIyopLZGnh6eimzQ1uxyYoEphJyIiQrt27dK7776rHTt2qKysTKNHj9awYcPk6+vr7hoBAKiy/x46qEKHQz52O2GnjqpS2JEkX19f3X///c43kAMAANREVQo7b7311jm3jxgxokrFAAAAuFuVn7Pze8XFxTp58qS8vb3l5+dH2AEAADVGle7GysnJcVlOnDih/fv3q3v37kxQBgAANUqV3431RzExMXrhhRfK9foAAACYyW1hR5I8PDx09OhRdx4SAADgolRpzs6aNWtcPhuGoczMTM2fP1833HCDWwoDAABwhyqFndtvv93ls81m02WXXaabb75ZL774ojvqAgAAcIsqhZ2ysjJ31wEAQLWo7+snL09P2b28z98YllTlhwoCAFAb3NjpWrNLgMmqFHYmTJhQ6bZJSUlV+REAAABuUaWws3PnTu3YsUMlJSVq1aqVJOn777+Xh4eHOnXq5Gxns9ncUyUAAEAVVSns3HbbbQoICNDSpUvVqFEjSacfNHjffffpxhtv1MSJE91aJAAAQFVVKey8+OKLWrdunTPoSFKjRo00ffp0xcXFEXYAADXG1n17VFRcLG8vL13b9iqzy4EJqvRQwby8PP3vf/8rtz47O1v5+fkXXRQAAO7yy/EcZR/7Vb8czzG7FJikSmFn0KBBuu+++/T+++/ryJEjOnLkiN5//32NHj1agwcPdneNAAAAVValYayFCxdq0qRJGj58uIqLi08fyNNTo0eP1pw5c9xaIAAAwMWoUtjx8/PTq6++qjlz5ujgwYMyDEMtWrSQv7+/u+sDAAC4KBf1ItDMzExlZmaqZcuW8vf3l2EY7qoLAADALaoUdn799Vf16tVLLVu21K233qrMzExJ0gMPPMCdWAAAoEapUth54okn5OXlpcOHD8vPz8+5fujQofrkk0/cVhwAAMDFqtKcnXXr1unTTz9V06ZNXdbHxMQoPT3dLYUBAAC4Q5V6dgoKClx6dM745ZdfZLfbL7ooAAAAd6lS2Lnpppv01ltvOT/bbDaVlZVpzpw56tmzp9uKAwDgYjWPaKorIqPUPKLp+RvDkqo0jDVnzhzFxsZq27ZtKioq0pNPPql9+/bp2LFj+vLLL91dIwAAVXZl9BVmlwCTValnp02bNtqzZ4+uu+469e7dWwUFBRo8eLB27typK67gogIAADXHBffsFBcXKy4uTq+99pqmTZtWHTUB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sAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAMAACyNsAOg1tq8ebM8PDzUt29fs0sBUIPxBGUAtdYDDzyg+vXr64033tC3336rZs2amV0SgBqInh0AtVJBQYFWrlyphx9+WP3799eSJUtctq9Zs0YxMTHy9fVVz549tXTpUtlsNh0/ftzZZvPmzbrpppvk6+uryMhIPfbYYyooKLi0XwRAtSPsAKiVVqxYoVatWqlVq1YaPny4Fi9erDMd1YcOHdKdd96p22+/Xbt27dKYMWM0efJkl/337t2rPn36aPDgwdqzZ49WrFihTZs2ady4cWZ8HQDViGEsALXSDTfcoCFDhujxxx9XSUmJwsPD9e677+qWW27R008/rY8++kh79+51tn/22Wf1/PPPKycnRw0bNtSIESPk6+ur1157zdlm06ZN6tGjhwoKCuTj42PG1wJQDejZAVDr7N+/X19//bXuuusuSZKnp6eGDh2qN99807n92muvddnnuuuuc/m8fft2LVmyRPXr13cuffr0UVlZmdLS0i7NFwFwSXiaXQAAXKhFixappKRETZo0ca4zDENeXl7KycmRYRiy2Wwu+/yxE7usrExjxozRY489Vu74THQGrIWwA6BWKSkp0VtvvaUXX3xRcXFxLtvuuOMO/fOf/1Tr1q318ccfu2zbtm2by+dOnTpp3759atGiRbXXDMBczNkBUKt88MEHGjp0qLKzsxUYGOiybfLkyfr444+1atUqtWrVSk888YRGjx6tXbt2aeLEiTpy5IiOHz+uwMBA7dmzR9dff73uu+8+Pfjgg/L399d3332n5ORkzZs3z6RvB6A6MGcHQK2yaNEi3XLLLeWCjnS6Z2fXrl3KycnR+++/r1WrVumqq67SggULnHdj2e12SdJVV12l1NRUHThwQDfeeKM6duyoKVOmKDw8/JJ+HwDVj54dAHXC888/r4ULFyojI8PsUgBcYszZAWBJr776qq699loFBQXpyy+/1Jw5c3iGDlBHEXYAWNKBAwc0ffp0HTt2TM2aNdPEiROVkJBgdlkATMAwFgAAsDQmKAMAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEsj7AAAAEv7/wCei+V6zVCUlAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bin_edges = [i - 0.5 for i in range(1, 36)]\n", + "\n", + "plt.hist(ages_population2_df, bins=bin_edges, rwidth=0.8, color='powderblue')\n", + "\n", + "# Calculate the mean\n", + "mean_value = ages_population2_df['observation'].mean()\n", + "\n", + "# Display the mean as a vertical line on the histogram\n", + "plt.axvline(mean_value, color='cadetblue', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value}')\n", + "\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of age')\n", + "\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- What do you see? Is there any difference with the frequency distribution in step 1?" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "The distribution appears to be unimodal (having one mode) and skewed to the right. Vs almost perfect normal distribution in the previous graph.\n", + "\n", + "This means that the majority of individuals in the dataset are concentrated in the younger age groups, with fewer individuals in the older age groups. Vs previous graph where age distribution is more sparsed.\n", + "\n", + "The mode appears to be in the age group around 26.0.\n", + "\n", + "There are very few individuals in the age groups 19.0, 34.0, 35.0, and 36.0, which can be considered outliers or less common age groups in the dataset. There is less outliers value in the previous data set (one above 80)\n", + "\n", + "Standard deviation is very narrowed, compared to previous distribution where the spread was large." + ] + }, + { + "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": 205, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean age is 27.16\n", + "The standard deviation for age is 2.969813932689186\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_age = ages_population2_df['observation'].mean()\n", + "print(f\"The mean age is {mean_age:.2f}\")\n", + "\n", + "\n", + "std_age = ages_population2_df['observation'].std()\n", + "print(f\"The standard deviation for age is {std_age}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Age mean is younger and the spread is very narrowed, indicated high concentration of individuals around the mean." + ] + }, + { + "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": 207, + "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", + "
observation
021.0
121.0
224.0
331.0
454.0
552.0
637.0
769.0
836.0
930.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 21.0\n", + "1 21.0\n", + "2 24.0\n", + "3 31.0\n", + "4 54.0\n", + "5 52.0\n", + "6 37.0\n", + "7 69.0\n", + "8 36.0\n", + "9 30.0" + ] + }, + "execution_count": 207, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "ages_population3 = pd.read_csv('/Users/amandine/Desktop/Ironhack/03_Week/Descriptive-Stats/data/ages_population3.csv')\n", + "ages_population3.head(10)" + ] + }, + { + "cell_type": "code", + "execution_count": 209, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
count1000.000000
mean41.989000
std16.144706
min1.000000
25%30.000000
50%40.000000
75%53.000000
max77.000000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.000000\n", + "mean 41.989000\n", + "std 16.144706\n", + "min 1.000000\n", + "25% 30.000000\n", + "50% 40.000000\n", + "75% 53.000000\n", + "max 77.000000" + ] + }, + "execution_count": 209, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "ages_population3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": 208, + "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", + "
AgeFrequency
01.01
12.02
24.02
35.01
47.01
.........
7073.06
7174.06
7275.02
7376.01
7477.02
\n", + "

75 rows × 2 columns

\n", + "
" + ], + "text/plain": [ + " Age Frequency\n", + "0 1.0 1\n", + "1 2.0 2\n", + "2 4.0 2\n", + "3 5.0 1\n", + "4 7.0 1\n", + ".. ... ...\n", + "70 73.0 6\n", + "71 74.0 6\n", + "72 75.0 2\n", + "73 76.0 1\n", + "74 77.0 2\n", + "\n", + "[75 rows x 2 columns]" + ] + }, + "execution_count": 208, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "frequency_distribution = ages_population3['observation'].value_counts().sort_index().reset_index()\n", + "\n", + "frequency_distribution.columns = ['Age', 'Frequency']\n", + "\n", + "frequency_distribution" + ] + }, + { + "cell_type": "code", + "execution_count": 210, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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CAkJMbKzs02s/NryzTffGI0aNTLatGljjB071rGea2OO48ePG+Hh4cawYcOMr7/+2khNTTX+85//GD/++KOjDdem+k2bNs2oW7eu8e9//9tITU013nvvPaNmzZrG3LlzHW24LuVHmCmnW2+91XjkkUec1jVr1sx4+umnTaoIWVlZhiRj06ZNhmEYRnFxsREcHGzMnDnT0ebcuXNGQECAMX/+fLPKvKacPn3aaNKkibF27VqjS5cujjDDtTHPU089ZXTq1KnM7Vwbc/Tt29d46KGHnNYNHDjQGDx4sGEYXJeK4jZTOeTn52vHjh2KiYlxWh8TE6MtW7aYVBVOnTolSapTp44kKTU1VZmZmU7XyW63q0uXLlynajJ69Gj17dtXPXr0cFrPtTHPqlWrFBUVpbvvvltBQUFq27at/vGPfzi2c23M0alTJ61bt04//PCDJGnnzp3avHmz+vTpI4nrUlGWmAHYbL/99puKiopKvKm7Xr16Jd7ojephGIYmTJigTp06qVWrVpLkuBalXae0tLRqr/Fas3TpUn377bfatm1biW1cG/P89NNPmjdvniZMmKDJkyfrm2++0eOPPy673a6hQ4dybUzy1FNP6dSpU2rWrJnc3d1VVFSk6dOn67777pPEz0xFEWYqwGazOS0bhlFiHarHmDFjtGvXLm3evLnENq5T9UtPT9fYsWP12Wefydvbu8x2XJvqV1xcrKioKM2YMUOS1LZtW+3Zs0fz5s3T0KFDHe24NtVr2bJleuedd7RkyRK1bNlSKSkpGjdunEJDQxUfH+9ox3UpH24zlUNgYKDc3d1L9MJkZWWVSM248h577DGtWrVKGzZsUIMGDRzrg4ODJYnrZIIdO3YoKytLN998szw8POTh4aFNmzbplVdekYeHh+Pvn2tT/UJCQtSiRQundc2bN9fhw4cl8XNjlieeeEJPP/207r33XrVu3VpDhgzR+PHjlZSUJInrUlGEmXLw8vLSzTffrLVr1zqtX7t2rTp27GhSVdcewzA0ZswYrVixQuvXr1dERITT9oiICAUHBztdp/z8fG3atInrdIV1795du3fvVkpKiuMTFRWlBx54QCkpKbr++uu5Nia5/fbbS0xh8MMPPyg8PFwSPzdmyc3NlZub8z/B7u7ujkezuS4VZOLgY0s5/2j2ggULjL179xrjxo0zatSoYRw6dMjs0q4Zjz76qBEQEGBs3LjRyMjIcHxyc3MdbWbOnGkEBAQYK1asMHbv3m3cd999PMpokj8+zWQYXBuzfPPNN4aHh4cxffp048CBA8a//vUvw9fX13jnnXccbbg21S8+Pt6oX7++49HsFStWGIGBgcaTTz7paMN1KT/CTAW89tprRnh4uOHl5WW0a9fO8UgwqoekUj/JycmONsXFxcZzzz1nBAcHG3a73ejcubOxe/du84q+hl0YZrg25vnf//1fo1WrVobdbjeaNWtmvPnmm07buTbVLzs72xg7dqzRsGFDw9vb27j++uuNKVOmGHl5eY42XJfysxmGYZjZMwQAAHA5GDMDAAAsjTADAAAsjTADAAAsjTADAAAsjTADAAAsjTADAAAsjTADAAAsjTADAAAsjTADwCVt2bJF7u7u6t27t9mlAHBxzAAMwCWNGDFCNWvW1FtvvaW9e/eqYcOGZpcEwEXRMwPA5eTk5Gj58uV69NFHdccdd2jhwoVO21etWqUmTZrIx8dHXbt21aJFi2Sz2XTy5ElHmy1btqhz587y8fFRWFiYHn/8ceXk5FTviQCoFoQZAC5n2bJlioyMVGRkpAYPHqzk5GSd70Q+dOiQ/vznP+uuu+5SSkqKRo4cqSlTpjjtv3v3bvXq1UsDBw7Url27tGzZMm3evFljxowx43QAXGHcZgLgcm6//Xbdc889Gjt2rAoLCxUSEqJ3331XPXr00NNPP62PP/5Yu3fvdrR/5plnNH36dJ04cUK1atXS0KFD5ePjozfeeMPRZvPmzerSpYtycnLk7e1txmkBuELomQHgUvbv369vvvlG9957ryTJw8NDcXFx+uc//+nYfssttzjtc+uttzot79ixQwsXLlTNmjUdn169eqm4uFipqanVcyIAqo2H2QUAwB8tWLBAhYWFql+/vmOdYRjy9PTUiRMnZBiGbDab0z4XdjAXFxdr5MiRevzxx0scn4HEwNWHMAPAZRQWFmrx4sV68cUXFRMT47Rt0KBB+te//qVmzZrpk08+cdq2fft2p+V27dppz549aty48RWvGYD5GDMDwGV8+OGHiouLU1ZWlgICApy2TZkyRZ988olWrFihyMhIjR8/XsOHD1dKSoomTpyoI0eO6OTJkwoICNCuXbt022236cEHH9TDDz+sGjVqaN++fVq7dq3+/ve/m3R2AK4UxswAcBkLFixQjx49SgQZ6feemZSUFJ04cULvv/++VqxYoTZt2mjevHmOp5nsdrskqU2bNtq0aZMOHDigP/3pT2rbtq2effZZhYSEVOv5AKge9MwAsLzp06dr/vz5Sk9PN7sUACZgzAwAy3n99dd1yy23qG7duvryyy81e/Zs5pABrmGEGQCWc+DAAU2bNk3Hjx9Xw4YNNXHiRCUkJJhdFgCTcJsJAABYGgOAAQCApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApRFmAACApf0/7kGgZz9zfCQAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "bin_edges = [i - 0.5 for i in range(1, 90)]\n", + "\n", + "plt.hist(ages_population3, bins=bin_edges, rwidth=0.8, color='powderblue')\n", + "\n", + "# Calculate the mean\n", + "mean_value = ages_population3['observation'].mean()\n", + "\n", + "# Display the mean as a vertical line on the histogram\n", + "plt.axvline(mean_value, color='cadetblue', linestyle='dashed', linewidth=2, label=f'Mean: {mean_value}')\n", + "\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Histogram of age')\n", + "\n", + "plt.legend()\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Here we have two maximum.\n", + "\n", + "Normal distribution skewed to the right.\n", + "\n", + "Mean around 40/50 but withhigher standard deviation.\n", + "\n", + "Because if we look at the right, we have lots of values away from the mean, on the left we have values close to the mean." + ] + }, + { + "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": 212, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "The mean age is 41.99\n", + "The standard deviation for age is 16.14\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_age = ages_population3['observation'].mean()\n", + "print(f\"The mean age is {mean_age:.2f}\")\n", + "\n", + "\n", + "std_age = ages_population3['observation'].std()\n", + "print(f\"The standard deviation for age is {std_age: .2f}\")" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Value more sparsed and far away from the mean.\n", + "\n", + "Spread is larger." + ] + }, + { + "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": 213, + "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", + "the fourth quartile is 77.0\n" + ] + } + ], + "source": [ + "# your code here\n", + "\n", + "sorted_ages = ages_population3['observation'].sort_values()\n", + "\n", + "q1 = np.quantile(sorted_ages, 0.25) \n", + "print(\"the first quartile is\", q1)\n", + "q2 = np.quantile(sorted_ages, 0.50)\n", + "print(\"the second quartile is\",q2)\n", + "q3 = np.quantile(sorted_ages, 0.75)\n", + "print(\"the third quartile is\", q3)\n", + "q4 = np.quantile(sorted_ages, 1)\n", + "print(\"the fourth quartile is\", q4)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "Difference = |Mean - Median| = |41.99 - 40.0| = 1.99\n", + "\n", + "The result show that the data set is positively skewed. \n", + "\n", + "The small difference suggest a cluster around the median (40 yo).\n", + "\n", + "Very reduced spread, values highly concentrated around the median." + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- Calculate other percentiles that might be useful to give more arguments to your reasoning." + ] + }, + { + "cell_type": "code", + "execution_count": 222, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "10th Percentile: 22.000\n", + "90th Percentile: 67.000\n" + ] + } + ], + "source": [ + "# Jesus' method\n", + "\n", + "#print(np.percentile(name of dataframe, % we want))\n", + "\n", + "percentiles = np.percentile(sorted_ages, [10, 90])\n", + "\n", + "print(f\"10th Percentile: {percentiles[0]:.3f}\")\n", + "print(f\"90th Percentile: {percentiles[1]:.3f}\")\n", + "\n", + "#Very skewed, difference between 2nd and 3rd quartile is lower than diff between 3rd and 4th quartile.\n", + "\n", + "#10th and 90th percentile are useful to identify outliers. Those are very far away from the mean and the IQR." + ] + }, + { + "cell_type": "code", + "execution_count": 243, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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wNLSEo8fP4YQAiqVSus1b3bEp6SkoH///hg2bFia43NAOZHxY9JEREYvKSkJ69evx4IFC9CkSROt59q3b4/vv/8e5cuXx969e7WeO3PmjNbX3t7euHz5MsqUKZPjMRNR3sMxTURk9Hbu3InOnTsjKioKDg4OWs9NmjQJe/fuxfbt21GuXDmMHDkSffv2RXh4OAIDA/Hvv//iyZMncHBwwMWLF1GrVi307t0b/fr1g52dHa5evYqQkBB88803Cl0dEeUWjmkiIqMXHByMRo0apUmYANnTFB4ejsePH2Pr1q3Yvn07qlatiqCgIM3sOSsrKwBA1apVERoaiuvXr8PPzw9eXl747LPP4OrqmqvXQ0TKYE8TEVEGvvjiCyxfvhx37txROhQiygM4pomI6P+WLVuGGjVqoHDhwjh+/DjmzZvHGkxEpMGkiYjo/65fv46ZM2fi0aNHKFmyJAIDAzFhwgSlwyKiPIK354iIiIh0wIHgRERERDpg0kRERESkAyZNRERERDpg0kRERESkAyZNRERERDpg0kRERESkAyZNRERERDpg0kRERESkAyZNRERERDr4HztO3TmyFIx7AAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "#Here we can try to do normal distribution to see if it's gonna be skewed to the left\n", + "\n", + "from scipy.stats import norm\n", + "\n", + "#ages_population3_bis = np.array(ages_population3, dtype=float)\n", + "\n", + "mean = np.mean(ages_population3)\n", + "std_dev = np.std(ages_population3)\n", + "\n", + "# Create a range of x-values (ages)\n", + "x = np.linspace(min(ages_population3), max(ages_population3), 1000)\n", + "\n", + "# Calculate the corresponding y-values using the normal distribution\n", + "y = norm.pdf(x, mean, std_dev)\n", + "\n", + "# Plot the normal distribution curve\n", + "plt.plot(x, y, 'b-', label='Normal Distribution')\n", + "\n", + "# Set the x-axis and y-axis labels\n", + "plt.xlabel('Age')\n", + "plt.ylabel('Probability Density')\n", + "plt.title('Normal Distribution of Age Data')\n", + "\n", + "# Add a legend\n", + "plt.legend()\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"\n", + "#Steps to analyse\n", + "\n", + "#1 do some cleaning\n", + "#2 do EDA -> Try to do something general for everything\n", + "#3 analysis\n", + "\n", + "#with enumerate function = make sure all the values are numerical\n", + "#but better to use enumerate(num) -> better to have random value so it is template \n", + "#then put num = name of the dataframe =ages3.np.select_dtypes(np.number) ???\n", + "#num = ages3.select_dtypes(np.number)" + ] + }, + { + "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": 283, + "metadata": {}, + "outputs": [], + "source": [ + "#we can put a function with \"warning ignore\" to ignore the warning function in Python" + ] + }, + { + "cell_type": "code", + "execution_count": 289, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Statistics for Neighborhood 1:\n", + " observation\n", + "count 1000.0000\n", + "mean 36.5600\n", + "std 12.8165\n", + "min 1.0000\n", + "25% 28.0000\n", + "50% 37.0000\n", + "75% 45.0000\n", + "max 82.0000\n", + "Statistics for Neighborhood 2:\n", + " observation\n", + "count 1000.000000\n", + "mean 27.155000\n", + "std 2.969814\n", + "min 19.000000\n", + "25% 25.000000\n", + "50% 27.000000\n", + "75% 29.000000\n", + "max 36.000000\n", + "Statistics for Neighborhood 3:\n", + " observations\n", + "count 1000.000000\n", + "mean 41.989000\n", + "std 16.144706\n", + "min 1.000000\n", + "25% 30.000000\n", + "50% 40.000000\n", + "75% 53.000000\n", + "max 77.000000\n" + ] + } + ], + "source": [ + "# Create a list of DataFrame objects for the three neighborhoods\n", + "neighborhoods = [ages_population_df, ages_population2_df, ages_population3] \n", + "\n", + "# Define the attributes you want to analyze\n", + "attributes = ['mean', 'std', 'min', 'max'] # Replace with actual attribute names from your dataset\n", + "\n", + "# Create a dictionary to store statistics for each neighborhood\n", + "neighborhood_stats = {}\n", + "\n", + "# Create string identifiers for neighborhoods\n", + "neighborhood_names = ['Neighborhood 1', 'Neighborhood 2', 'Neighborhood 3']\n", + "\n", + "# Calculate and store basic statistics for each attribute in each neighborhood\n", + "for i, neighborhood in enumerate(neighborhoods):\n", + " stats = neighborhood.describe()\n", + " neighborhood_stats[neighborhood_names[i]] = stats\n", + "\n", + "# Print and display statistics for each neighborhood and attribute\n", + "for neighborhood, stats in neighborhood_stats.items():\n", + " print(f\"Statistics for {neighborhood}:\")\n", + " print(stats)" + ] + }, + { + "cell_type": "code", + "execution_count": 292, + "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", + "
Neighborhood 1Neighborhood 2Neighborhood 3
mean36.560027.15500041.989000
std12.81652.96981416.144706
min1.000019.0000001.000000
25%28.000025.00000030.000000
50%37.000027.00000040.000000
75%45.000029.00000053.000000
max82.000036.00000077.000000
\n", + "
" + ], + "text/plain": [ + " Neighborhood 1 Neighborhood 2 Neighborhood 3\n", + "mean 36.5600 27.155000 41.989000\n", + "std 12.8165 2.969814 16.144706\n", + "min 1.0000 19.000000 1.000000\n", + "25% 28.0000 25.000000 30.000000\n", + "50% 37.0000 27.000000 40.000000\n", + "75% 45.0000 29.000000 53.000000\n", + "max 82.0000 36.000000 77.000000" + ] + }, + "execution_count": 292, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "data = {\n", + " 'Neighborhood 1': [36.5600, 12.8165, 1.0000, 28.0000, 37.0000, 45.0000, 82.0000],\n", + " 'Neighborhood 2': [27.1550, 2.969814, 19.0000, 25.0000, 27.0000, 29.0000, 36.0000],\n", + " 'Neighborhood 3': [41.9890, 16.144706, 1.0000, 30.0000, 40.0000, 53.0000, 77.0000]\n", + "}\n", + "\n", + "# Define attributes and create a DataFrame with neighborhoods as columns\n", + "attributes = ['mean', 'std', 'min', '25%', '50%', '75%', 'max']\n", + "neighborhood_stats_df = pd.DataFrame(data, index=attributes)\n", + "\n", + "# Display the DataFrame\n", + "neighborhood_stats_df" + ] + }, + { + "cell_type": "code", + "execution_count": 295, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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gAAkJSWhSZMm2LVrF4yNjUs4WiIiIiJ6lVaTSSHEW+vIZDIolUoolcriD4iIiIiICqXUXM1NRERERO8fJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMa0+AYeIiKhYKU0LWf9J8cRB9AHjyCQRERERaYzJJBERERFpjMkkEREREWmMySQRERERaYzJJBERERFpjMkkEREREWmMySQRERERaYzJJBERERFpjMkkEREREWmMySQRERERaYzJJBERERFpjMkkEREREWmMySQRERERaYzJJBERERFprKy2AyANKU0LWf9J8cRBREREHzWOTBIRERGRxphMEhEREZHGmEwSERERkcaYTBIRERGRxphMEhEREZHGmEwSERERkcaYTBIRERGRxrSaTB48eBCdO3eGra0tZDIZNm7cqDZfCAGlUglbW1soFAp4eXnh0qVL2gmWiIiIiPLQajL57Nkz1KtXD3Pnzs13flhYGGbOnIm5c+ciOjoa1tbW8Pb2RmpqaglHSkRERET50eoTcNq3b4/27dvnO08IgdmzZyM4OBjdunUDAERERMDKygqrVq3CkCFDSjJUIiIiIspHqT1nMjY2FgkJCWjTpo1UJpfL4enpiaioqNcul56ejpSUFLUXERERERWPUptMJiQkAACsrKzUyq2srKR5+QkNDYWpqan0srOzK9Y4iYiIiD5mpTaZVJHJZGrTQog8ZbmNGzcOT548kV7x8fHFHSIRERHRR0ur50y+ibW1NYCXI5Q2NjZSeWJiYp7Rytzkcjnkcnmxx0dEREREpXhk0tHREdbW1ti9e7dUlpGRgQMHDsDd3V2LkRERERGRilZHJp8+fYobN25I07GxsTh79iwqVKiAypUrIygoCCEhIXBycoKTkxNCQkJgYGCA3r17azFqIiIiIlLRajJ58uRJtGjRQpoeNWoUAMDHxwfLli3D2LFjkZaWhoCAACQlJaFJkybYtWsXjI2NtRUyEREREeWi1WTSy8sLQojXzpfJZFAqlVAqlSUXFBEREREVWKk9Z5KIiIiISj8mk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESkMSaTRERERKQxJpNEREREpDEmk0RERESksbLaDoCIPiBK04LXdaxcfHEQEVGJ4cgkEREREWmMySQRERERaYzJJBERERFpjMkkEREREWmMySQRERERaYzJJBERERFpjMkkEREREWnsvbjP5G+//Yaff/4Z9+/fR+3atTF79mx8+umn2g7rveIS4VKo+uuKKQ4iotKsMN+V/J4keqnUj0yuXbsWQUFBCA4OxpkzZ/Dpp5+iffv2uHPnjrZDIyIiIvrolfpkcubMmRg0aBC+/vpr1KxZE7Nnz4adnR3mz5+v7dCIiIiIPnqlOpnMyMjAqVOn0KZNG7XyNm3aICoqSktREREREZFKqT5n8t9//0V2djasrKzUyq2srJCQkJDvMunp6UhPT5emnzx5AgBISUkpvkCLQE7680LVT5GJQtXPTssuVP2n2YWrn5bxrMB10zMzC9V2anrB2wZK/3v9PinOflma+iRQvP2SfbLolKbvyve5TwKlv1+q4hOicO8hlTyZKMXv0r1791CxYkVERUXBzc1NKv/pp5+wYsUKXLlyJc8ySqUSkydPLskwiYiIqJjEx8ejUqVK2g6D3qBUj0yam5tDR0cnzyhkYmJintFKlXHjxmHUqFHSdE5ODh4/fgwzMzPIZLJijfdDl5KSAjs7O8THx8PExETb4RCxT1Kpwz5ZdIQQSE1Nha2trbZDobco1cmknp4ePvnkE+zevRtdu3aVynfv3o0uXbrku4xcLodcLlcrK1euXHGG+dExMTHhlySVKuyTVNqwTxYNU1NTbYdABVCqk0kAGDVqFPr16wdXV1e4ublh0aJFuHPnDr755htth0ZERET00Sv1yWSPHj3w6NEj/Pjjj7h//z7q1KmDbdu2wd7eXtuhEREREX30Sn0yCQABAQEICAjQdhgfPblcjkmTJuU5jYBIW9gnqbRhn6SPUam+mpuIiIiISrdSfdNyIiIiIirdmEwSERERkcaYTBIRERGRxphMlnIODg6YPXt2gevHxcVBJpPh7Nmzr62zbNmyYrv3plKpRP369Yul7bfx8vJCUFCQVtb9MWGfLDj2yZLDfllw7JdU1JhMFgNfX1/IZDJMmzZN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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Transpose the DataFrame for plotting\n", + "neighborhood_stats_df = neighborhood_stats_df.T\n", + "\n", + "# Create a bar plot\n", + "plt.figure(figsize=(10, 6))\n", + "neighborhood_stats_df.plot(kind='bar', rot=0)\n", + "plt.title('Comparison of Ages between different Neighborhoods')\n", + "plt.xlabel('Neighborhood')\n", + "plt.ylabel('Value')\n", + "plt.legend(title='Attributes', loc='upper left', bbox_to_anchor=(1, 1))\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 301, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "data": { + "image/png": "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jcWdO3ewePFiOeIkIiIiInrhaH1me8KECWjdujVu3LgBY2NjqbxPnz747bffajQ4IiIiIqIXmdZntnfv3o09e/bA0NBQo9zR0RF///13jQVGRERERPSi0/rMdnl5Oe7du1eh/OLFizAzM6uRoIiIiIiIXgZaJ9sBAQFYsGCB9FyhUKCwsBCRkZHo3r17TcZGRERERPRC03oZyeeff45OnTqhSZMmuHPnDoKCgnDq1CnUq1cPq1evliNGIiIiIqIXktbJtr29PTIyMrB69WocPHgQ5eXlGDZsGAYOHKhxwSQRERER0b+d1sk2ABgbG2Po0KEYOnRoTcdDRERERPTS0DrZXrFixSPrBw8e/MTBEBERPVLpQe3aG7SSJw4iomrSOtmeMGGCxvPS0lIUFxfD0NAQKpWKyTYRERER0f+n9d1Ibty4ofEoLCxEVlYWfH19eYEkEREREdEDtE62K+Pq6orZs2dXOOtNRERERPRvViPJNgDo6enh0qVLNdUdEREREdELT+s12+vXr9d4LoTA5cuXsWjRIvj4+NRYYERERERELzqtk+3evXtrPFcoFLCyssLrr7+Ozz77rKbiIiIiIiJ64WmdbJeXl8sRBxERERHRS6fG1mwTEREREZGmap3ZnjhxYrU7nD9//hMHQ0RERET0MqlWsn3o0KFqdaZQKJ4qGCIiIiKil0m1ku2dO3fKHQcRERER0UtH6wskSSabf9eufbeO8sRBRERERDXmiZLttLQ0/O9//8OFCxdw9+5djbp169bVSGBERERERC86re9G8uOPP8LHxwcnTpxAYmIiSktLceLECezYsQPm5uZyxEhERERE9ELSOtmOjo7G559/jo0bN8LQ0BBffPEFMjMz0a9fPzRs2FCOGImIiIiIXkhaJ9tnzpxBjx49AABKpRJFRUVQKBR4//33sXTp0hoPkIiIiIjoRaV1sm1paYmCggIAQP369XHs2DEAwM2bN1FcXPzEgcTExEChUCAsLEwqE0IgKioK9vb2MDY2hr+/P44fP/7EYxARERERPUvVTrYzMjIAAK+99hqSk5MBAP369cOECRMwYsQIDBgwAJ07d36iINLS0rB06VK0aNFCozw2Nhbz58/HokWLkJaWBltbWwQEBEjJPhERERHR86zayXarVq3w6quvwtPTEwMGDAAATJs2DZMmTcKVK1fQt29fLFu2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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# Transpose the DataFrame for plotting\n", + "neighborhood_stats_df = neighborhood_stats_df.T\n", + "\n", + "colors = ['lemonchiffon', 'palegreen', 'lightpink']\n", + "\n", + "# Create a bar plot\n", + "plt.figure(figsize=(10, 6))\n", + "neighborhood_stats_df.plot(kind='bar', rot=0, color=colors)\n", + "plt.title('Comparison of Ages between different Neighborhoods')\n", + "plt.xlabel('Neighborhood')\n", + "plt.ylabel('Value')\n", + "plt.legend(title='Neighborhoods', loc='upper left', bbox_to_anchor=(1, 1))\n", + "\n", + "plt.show()" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/your-code/main.ipynb b/your-code/main.ipynb deleted file mode 100644 index 5759add..0000000 --- a/your-code/main.ipynb +++ /dev/null @@ -1,522 +0,0 @@ -{ - "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 -}