diff --git a/your-code/main.ipynb b/your-code/main.ipynb index 5759add..d13a43c 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -1,522 +1,1243 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Understanding Descriptive Statistics\n", - "\n", - "Import the necessary libraries here:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Libraries" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 1\n", - "#### 1.- Define a function that simulates rolling a dice 10 times. Save the information in a dataframe.\n", - "**Hint**: you can use the *choices* function from module *random* to help you with the simulation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Plot the results sorted by value." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Calculate the frequency distribution and plot it. What is the relation between this plot and the plot above? Describe it with words." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 2\n", - "Now, using the dice results obtained in *challenge 1*, your are going to define some functions that will help you calculate the mean of your data in two different ways, the median and the four quartiles. \n", - "\n", - "#### 1.- Define a function that computes the mean by summing all the observations and dividing by the total number of observations. You are not allowed to use any methods or functions that directly calculate the mean value. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- First, calculate the frequency distribution. Then, calculate the mean using the values of the frequency distribution you've just computed. You are not allowed to use any methods or functions that directly calculate the mean value. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Define a function to calculate the median. You are not allowed to use any methods or functions that directly calculate the median value. \n", - "**Hint**: you might need to define two computation cases depending on the number of observations used to calculate the median." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- Define a function to calculate the four quartiles. You can use the function you defined above to compute the median but you are not allowed to use any methods or functions that directly calculate the quartiles. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 3\n", - "Read the csv `roll_the_dice_hundred.csv` from the `data` folder.\n", - "#### 1.- Sort the values and plot them. What do you see?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Using the functions you defined in *challenge 2*, calculate the mean value of the hundred dice rolls." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Now, calculate the frequency distribution.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- Plot the histogram. What do you see (shape, values...) ? How can you connect the mean value to the histogram? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 5.- Read the `roll_the_dice_thousand.csv` from the `data` folder. Plot the frequency distribution as you did before. Has anything changed? Why do you think it changed?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 4\n", - "In the `data` folder of this repository you will find three different files with the prefix `ages_population`. These files contain information about a poll answered by a thousand people regarding their age. Each file corresponds to the poll answers in different neighbourhoods of Barcelona.\n", - "\n", - "#### 1.- Read the file `ages_population.csv`. Calculate the frequency distribution and plot it as we did during the lesson. Try to guess the range in which the mean and the standard deviation will be by looking at the plot. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Calculate the exact mean and standard deviation and compare them with your guesses. Do they fall inside the ranges you guessed?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Now read the file `ages_population2.csv` . Calculate the frequency distribution and plot it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- What do you see? Is there any difference with the frequency distribution in step 1?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 5.- Calculate the mean and standard deviation. Compare the results with the mean and standard deviation in step 2. What do you think?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 5\n", - "Now is the turn of `ages_population3.csv`.\n", - "\n", - "#### 1.- Read the file `ages_population3.csv`. Calculate the frequency distribution and plot it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Calculate the mean and standard deviation. Compare the results with the plot in step 1. What is happening?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Calculate the four quartiles. Use the results to explain your reasoning for question in step 2. How much of a difference is there between the median and the mean?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- Calculate other percentiles that might be useful to give more arguments to your reasoning." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Bonus challenge\n", - "Compare the information about the three neighbourhoods. Prepare a report about the three of them. Remember to find out which are their similarities and their differences backing your arguments in basic statistics." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ironhack-3.7", - "language": "python", - "name": "ironhack-3.7" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": { + "id": "QVnHg8hnwDwq" + }, + "source": [ + "# Understanding Descriptive Statistics\n", + "\n", + "Import the necessary libraries here:" + ] + }, + { + "cell_type": "code", + "execution_count": 79, + "metadata": { + "id": "8ulYXK6BwDwr" + }, + "outputs": [], + "source": [ + "# Libraries\n", + "import pandas as pd\n", + "import numpy as np\n", + "import matplotlib.pyplot as plt\n", + "import seaborn as sns" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "k8RzuwwrwDws" + }, + "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": 80, + "metadata": { + "id": "STc2n8iVwDws" + }, + "outputs": [], + "source": [ + "# your code here\n", + "def roll_dice():\n", + " results = np.random.choice([1,2,3,4,5,6], size=10)\n", + " df = pd.DataFrame(results, columns=['value'])\n", + " return df" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "TWC8pgZDwDws" + }, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 81, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 442 + }, + "id": "aqsjLHrwwDws", + "outputId": "3317a14d-8bdc-47c4-b12f-b2f9dde6dd01" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 81 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAhYAAAGYCAYAAAAeFavmAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAeYklEQVR4nO3deXRU9fnH8c9kYRJMwppAooHEoiwqihIRUDZRRExFW6mIFbHqsUVFKQqhVkytJvb0uPToCWKlLkWWqlQsAioV3EAgHCwoRVaJEghKSYDIgMz394eH+RkhkBueyczE9+uc+8edOzP3+WLAd2b1OeecAAAADMRFegAAANB4EBYAAMAMYQEAAMwQFgAAwAxhAQAAzBAWAADADGEBAADMEBYAAMBMQkOfMBgMatu2bUpNTZXP52vo0wMAgHpwzmnPnj3KyspSXFztj0s0eFhs27ZN2dnZDX1aAABgoKysTKecckqtxxs8LFJTUyV9N1haWlpDnx4AANRDVVWVsrOzQ/8fr02Dh8Xhpz/S0tIICwAAYszxXsbAizcBAIAZwgIAAJghLAAAgJkGf41FXQSDQR04cCDSYzQqiYmJio+Pj/QYAIBGLurC4sCBA9q8ebOCwWCkR2l0mjdvrrZt2/L5IQCAsImqsHDOqby8XPHx8crOzj7mB3Cg7pxzqq6uVkVFhSQpMzMzwhMBABqrqAqLb7/9VtXV1crKylLTpk0jPU6jkpycLEmqqKhQRkYGT4sAAMIiqh4SOHTokCSpSZMmEZ6kcTocawcPHozwJACAxiqqwuIwXgMQHvy5AgDCLSrDAgAAxCbPYfHll1/q+uuvV6tWrZScnKyzzjpLK1asCMdsPxo5OTl6/PHHIz0GAAAnzNOLN//3v/+pd+/e6t+/v+bNm6f09HStX79eLVq0CNd8kqScCXPDev8/tKV4SIOeDwCAxsJTWDzyyCPKzs7W3/72t9Blubm55kMBAIDY5OmpkDlz5qh79+665pprlJGRoW7duumZZ5455m0CgYCqqqpqbI3JlClTlJWVdcQHel155ZW66aabtHHjRl155ZVq06aNUlJSlJeXp7fffrvW+9uyZYt8Pp9WrVoVumz37t3y+XxatGhR6LI1a9Zo8ODBSklJUZs2bfTLX/5SX331lfXyAADwxNMjFps2bVJJSYnGjh2riRMnavny5brzzjvVpEkTjRw58qi3KSoqUmFhocmw0eiaa67RHXfcoXfeeUcXX3yxJGnXrl2aP3++3njjDe3du1eXX365HnroIfn9fr3wwgvKz8/XunXr1K5du3qdc/fu3RowYIBuvvlmPfbYY/rmm280fvx4DRs2TP/+978tlwcAMachnj4P91PmsbwGT2ERDAbVvXt3Pfzww5Kkbt26ac2aNZo8eXKtYVFQUKCxY8eG9quqqpSdnX0CI0eXFi1aaPDgwXrppZdCYfHyyy+rdevW6t+/v+Li4nT22WeHrv/ggw9q9uzZmjNnjm6//fZ6nfPJJ59Ut27dQv8dJGnq1KnKzs7WZ599ptNPP/3EFgUAQD15eiokMzNTXbp0qXFZ586dtXXr1lpv4/f7lZaWVmNrbEaMGKFXXnlFgUBAkjRt2jRde+21iouL0969ezVu3Dh17txZzZs3V0pKitauXXvMP7Pj+fjjj/XOO+8oJSUltHXq1EmStHHjRpM1AQBQH54esejdu7fWrVtX47LPPvtM7du3Nx0q1uTn58s5p7lz5yovL0/vvfeeHnvsMUnSuHHj9NZbb+nPf/6zOnTooOTkZP385z+v9dtbD38/inMudNkPPylz7969ys/P1yOPPHLE7fkeEABAJHkKi7vvvlu9evXSww8/rGHDhmnZsmWaMmWKpkyZEq75YkJSUpKuvvpqTZs2TRs2bFDHjh117rnnSpI++OAD3XjjjbrqqqskfRcFW7ZsqfW+0tPTJUnl5eXq1q2bJNV4IacknXvuuXrllVeUk5OjhISo+roXAMCPnKenQvLy8jR79mxNnz5dZ555ph588EE9/vjjGjFiRLjmixkjRozQ3LlzNXXq1Bp/HqeddppeffVVrVq1Sh9//LGuu+66Y34lfHJysi644AIVFxdr7dq1Wrx4se67774a1xk9erR27dql4cOHa/ny5dq4caMWLFigUaNGhb5vBQCASPD86+4VV1yhK664Ihyz1CoWPrBqwIABatmypdatW6frrrsudPmjjz6qm266Sb169VLr1q01fvz4477ldurUqfrVr36l8847Tx07dtSf/vQnXXrppaHjWVlZ+uCDDzR+/HhdeumlCgQCat++vS677DK+ah4AEFE8jm4kLi5O27ZtO+LynJycI94COnr06Br7P3xqpHPnzvrwww9rXPb911xI//9ICAAA0YRfbwEA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mMfUuXNn9/XXXzvnnNu6davLyclxzZo1c3l5ea5ly5YuIyPDbdq0KcJT2li1alVU/1z17t3bPfDAA6H9F1980fXo0cM559yuXbvcOeec4+68885IjVdnXbt2dW+99ZZzzrlnnnnGJScnuzvvvNOVlJS4u+66y6WkpLhnn302wlMe3+F/n0477TRXXFzsysvLIz1SDTEdFklJSW7t2rW1Hl+7dq1LSkpqwInqp6ioyOXm5h7xD31CQoL75JNPIjSVdz/5yU/cK6+84pz77h/K+Ph49/e//z10/NVXX3UdOnSI1Hh1MnToUDdkyBC3c+dOt379ejdkyBCXm5vrPv/8c+dc7IRFz5493e9+9zvnnHPTp093LVq0cBMnTgwdnzBhgrvkkksiNV6d+Hw+t2PHDueccyNGjHC9evVyu3fvds45t2fPHjdw4EA3fPjwSI5YZ6+99toxt8ceeyyqf66Sk5Pdxo0bQ/uHDh1yiYmJbvv27c455958802XlZUVqfHqLDk52W3ZssU551y3bt3clClTahyfNm2a69KlSyRG88Tn87m3337bjRkzxrVu3dolJia6n/70p+711193hw4divR4sR0WOTk57vnnn6/1+PPPP+/at2/fcAOdgGXLlrnTTz/d/fa3v3UHDhxwzsVeWCQnJ4f+B+ycc4mJiW7NmjWh/S1btrimTZtGYrQ6y8jIcP/5z39C+8Fg0N12222uXbt2buPGjTETFmlpaW79+vXOue/+J5CQkOBWrlwZOr569WrXpk2bSI1XJ98Pi1NPPdW9+eabNY5/8MEHLjs7OxKjeXb4N0yfz1frFs0/V+3bt3fvv/9+aH/btm3O5/O56upq55xzmzdvjolf4lq1auVWrFjhnPvu7/qqVatqHN+wYYNLTk6OxGiefP/vxoEDB9zMmTPdoEGDXHx8vMvKynITJ04M/f2PhJh+V8i4ceN06623asyYMZozZ44++ugjffTRR5ozZ47GjBmj2267Tffee2+kx6yTvLw8lZaWaufOnerevbvWrFkjn88X6bE8adu2rT799FNJ0vr163Xo0KHQviR98sknysjIiNR4dfLNN9/UeA2Iz+dTSUmJ8vPz1bdvX3322WcRnM6bwz8/cXFxSkpKqvF1x6mpqaqsrIzUaHV2eA379+9XZmZmjWMnn3yydu7cGYmxPMvMzNSrr76qYDB41G3lypWRHvGYhg4dqttuu03z58/XO++8oxEjRqhv375KTk6WJK1bt04nn3xyhKc8vsGDB6ukpESS1LdvX7388ss1js+aNUsdOnSIxGj1lpiYqGHDhmn+/PnatGmTbrnlFk2bNk0dO3aM3FARSxojM2bMcD169HAJCQmh8k9ISHA9evRwM2fOjPR49TJ9+nTXpk0bFxcXF1OPWNx3330uPT3d3XzzzS43N9dNmDDBtWvXzpWUlLjJkye77Oxsd/fdd0d6zGPKy8tzL7zwwlGPjR492jVv3jyqf7M8rGvXrm7evHmh/dWrV7uDBw+G9t99912Xm5sbidHqzOfzubPOOst169bNpaSkuJdffrnG8cWLF7uTTz45QtN5k5+f737/+9/XenzVqlXO5/M14ETe7Nmzxw0bNiz072yvXr1qvL5lwYIFbtasWRGcsG6+/PJLl5OT4/r06ePGjh3rkpOT3YUXXuhuueUW16dPH9ekSRM3d+7cSI95XN9/xOJogsHgEY/wNaSYflfI9x08eFBfffWVJKl169ZKTEyM8EQn5osvvlBpaakGDhyok046KdLj1EkwGFRxcbGWLFmiXr16acKECZo5c6buvfdeVVdXKz8/X08++WRUr6eoqEjvvfee3njjjaMe/81vfqPJkycrGAw28GTeTJ48WdnZ2RoyZMhRj0+cOFEVFRX661//2sCT1V1hYWGN/QsuuECDBg0K7d9zzz364osvNH369IYezbP33ntP+/bt02WXXXbU4/v27dOKFSvUt2/fBp7Mm/379+vbb79VSkpKpEept927d6u4uFivv/66Nm3apGAwqMzMTPXu3Vt333131L+LUJJyc3O1YsWKqH1XVKMJCwAAEHkx/RoLAAAQXQgLAABghrAAAABmCAsAAGCGsAAAAGYICwAAYIawAAAAZggLAABg5v8AxJnSD+SU2foAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "source": [ + "# your code here\n", + "dice_results = roll_dice()\n", + "dice_results.sort_values(by='value').plot(kind='bar')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "YkuVlPOfwDws" + }, + "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": 82, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 461 + }, + "id": "AmAG4Bc_wDwt", + "outputId": "3ae55654-02c1-40e3-db66-9447490ea2bd" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 82 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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WKtXr27mtwIAANqjgK6MrFy5UlVVVZowYYKioqJ8y4svvujbp6ysTBUVFb7HycnJys3N1erVq5WQkKBXXnlF69evv+BNrwAAoPMI6MrIxfxJksLCwvPW3Xzzzbr55psDeSkAANBJ8Nk0AADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATAUcIzt37lR6erqio6Plcrm0fv36C+5fWFgol8t13uLxeJo6MwAA6EACjpGamholJCRoxYoVAR1XWlqqiooK3xIeHh7oSwMAgA6oS6AHpKWlKS0tLeAXCg8PV8+ePQM+DgAAdGytds/IiBEjFBUVpRtuuEG7d+++4L61tbXyer1+CwAA6JhaPEaioqK0atUqrV27VmvXrlVMTIwmTJigffv2NXpMdna2wsLCfEtMTExLjwkAAIwE/GOaQA0aNEiDBg3yPU5OTtbRo0e1dOlSPffccw0ek5WVpQULFvgee71eggQAgA6qxWOkIVdffbV27drV6Ha32y23292KEwEAACsmf2ekpKREUVFRFi8NAADamICvjFRXV+vIkSO+x8eOHVNJSYl69+6t/v37KysrS59++qmeffZZSdKyZcs0cOBA/fSnP9WZM2f09NNPa/v27XrjjTea710AAIB2K+AYKS4u1nXXXed7/N29HTNmzNCaNWtUUVGhsrIy3/azZ8/q7rvv1qeffqpu3bpp+PDhevPNN/2eAwAAdF4Bx8iECRPkOE6j29esWeP3+L777tN9990X8GAAAKBz4LNpAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmAo4Rnbu3Kn09HRFR0fL5XJp/fr1P3hMYWGhRo4cKbfbrbi4OK1Zs6YJowIAgI4o4BipqalRQkKCVqxYcVH7Hzt2TJMmTdJ1112nkpISzZ8/X3fccYe2bdsW8LAAAKDj6RLoAWlpaUpLS7vo/VetWqWBAwdqyZIlkqT4+Hjt2rVLS5cuVWpqaqAvDwAAOpgWv2ekqKhIKSkpfutSU1NVVFTU6DG1tbXyer1+CwAA6JgCvjISKI/Ho4iICL91ERER8nq9+uabbxQSEnLeMdnZ2Vq0aFFLj4Y2LPZPm6xHuGTHF0+yHgEA2oU2+ds0WVlZqqqq8i3l5eXWIwEAgBbS4ldGIiMjVVlZ6beusrJSoaGhDV4VkSS32y23293SowEAgDagxa+MJCUlqaCgwG9dfn6+kpKSWvqlAQBAOxBwjFRXV6ukpEQlJSWSvv3V3ZKSEpWVlUn69kcsmZmZvv3vvPNOffzxx7rvvvv0wQcf6G9/+5teeukl/fGPf2yedwAAANq1gGOkuLhYiYmJSkxMlCQtWLBAiYmJevDBByVJFRUVvjCRpIEDB2rTpk3Kz89XQkKClixZoqeffppf6wUAAJKacM/IhAkT5DhOo9sb+uuqEyZM0P79+wN9KQAA0Am0yd+mAQAAnQcxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMBUk2JkxYoVio2NVXBwsK655hq98847je67Zs0auVwuvyU4OLjJAwMAgI4l4Bh58cUXtWDBAi1cuFD79u1TQkKCUlNT9fnnnzd6TGhoqCoqKnzLiRMnLmloAADQcQQcI0888YRmz56tmTNnasiQIVq1apW6deumnJycRo9xuVyKjIz0LREREZc0NAAA6DgCipGzZ89q7969SklJ+f4JgoKUkpKioqKiRo+rrq7WgAEDFBMTo8mTJ+vQoUMXfJ3a2lp5vV6/BQAAdEwBxcgXX3yhurq6865sREREyOPxNHjMoEGDlJOTow0bNuj5559XfX29kpOT9cknnzT6OtnZ2QoLC/MtMTExgYwJAADakRb/bZqkpCRlZmZqxIgRGj9+vF599VX16dNHTz31VKPHZGVlqaqqyreUl5e39JgAAMBIl0B2vvLKK3XZZZepsrLSb31lZaUiIyMv6jkuv/xyJSYm6siRI43u43a75Xa7AxkNAAC0UwFdGenatatGjRqlgoIC37r6+noVFBQoKSnpop6jrq5OBw4cUFRUVGCTAgCADimgKyOStGDBAs2YMUOjR4/W1VdfrWXLlqmmpkYzZ86UJGVmZqpv377Kzs6WJD300EMaO3as4uLidOrUKT3++OM6ceKE7rjjjuZ9JwAAoF0KOEamTp2qkydP6sEHH5TH49GIESO0detW302tZWVlCgr6/oLL119/rdmzZ8vj8ahXr14aNWqU9uzZoyFDhjTfuwAAAO1WwDEiSfPmzdO8efMa3FZYWOj3eOnSpVq6dGlTXgYAAHQCfDYNAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAADBFjAAAAFPECAAAMEWMAAAAU02KkRUrVig2NlbBwcG65ppr9M4771xw/5dfflmDBw9WcHCwhg0bps2bNzdpWAAA0PEEHCMvvviiFixYoIULF2rfvn1KSEhQamqqPv/88wb337Nnj6ZNm6ZZs2Zp//79ysjIUEZGhg4ePHjJwwMAgPYv4Bh54oknNHv2bM2cOVNDhgzRqlWr1K1bN+Xk5DS4/5NPPqmbbrpJ9957r+Lj4/Xwww9r5MiRWr58+SUPDwAA2r8ugex89uxZ7d27V1lZWb51QUFBSklJUVFRUYPHFBUVacGCBX7rUlNTtX79+kZfp7a2VrW1tb7HVVVVkiSv1xvIuAGrr/2/Fn3+1tDS/41aC+ei7egI50LqGOeDc9F2cC4Ce37HcS64X0Ax8sUXX6iurk4RERF+6yMiIvTBBx80eIzH42lwf4/H0+jrZGdna9GiReetj4mJCWTcTilsmfUE+A7nom3hfLQdnIu2o7XOxenTpxUWFtbo9oBipLVkZWX5XU2pr6/XV199pSuuuEIul8twsqbzer2KiYlReXm5QkNDrcfp9DgfbQfnou3gXLQdHeVcOI6j06dPKzo6+oL7BRQjV155pS677DJVVlb6ra+srFRkZGSDx0RGRga0vyS53W653W6/dT179gxk1DYrNDS0Xf+P1dFwPtoOzkXbwbloOzrCubjQFZHvBHQDa9euXTVq1CgVFBT41tXX16ugoEBJSUkNHpOUlOS3vyTl5+c3uj8AAOhcAv4xzYIFCzRjxgyNHj1aV199tZYtW6aamhrNnDlTkpSZmam+ffsqOztbknTXXXdp/PjxWrJkiSZNmqS8vDwVFxdr9erVzftOAABAuxRwjEydOlUnT57Ugw8+KI/HoxEjRmjr1q2+m1TLysoUFPT9BZfk5GTl5ubqgQce0P3336+rrrpK69ev19ChQ5vvXbQDbrdbCxcuPO/HT7DB+Wg7OBdtB+ei7ehs58Ll/NDv2wAAALQgPpsGAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWLESHl5uW6//XbrMTqNb775Rrt27dL7779/3rYzZ87o2WefNZiqczp8+LCeeeYZ34drfvDBB5ozZ45uv/12bd++3Xi6zqumpkbPPPOM/vznP2v58uX68ssvrUfqNPbt26djx475Hj/33HMaN26cYmJi9LOf/Ux5eXmG07USByZKSkqcoKAg6zE6hdLSUmfAgAGOy+VygoKCnGuvvdb57LPPfNs9Hg/nopVs2bLF6dq1q9O7d28nODjY2bJli9OnTx8nJSXFmThxonPZZZc5BQUF1mN2CvHx8c6XX37pOI7jlJWVObGxsU5YWJgzZswYp3fv3k54eLjz8ccfG0/ZOQwfPtzJz893HMdx/v73vzshISHOH/7wB2flypXO/Pnzne7duzv/+Mc/jKdsWfzRsxby2muvXXD7xx9/rLvvvlt1dXWtNFHnNWXKFJ07d05r1qzRqVOnNH/+fL3//vsqLCxU//79VVlZqejoaM5FK0hOTtbEiRP1yCOPKC8vT7///e81Z84cPfroo5K+/cTuvXv36o033jCetOMLCgqSx+NReHi4fve73+nYsWPavHmzwsLCVF1drSlTpqhPnz7Kzc21HrXD69atmw4fPqwBAwZo5MiRmjNnjmbPnu3bnpubq0cffVSHDh0ynLKFWddQR/Xdd+Eul6vRhe/GW0d4eLjzn//8x/e4vr7eufPOO53+/fs7R48e5cpIKwoNDXU++ugjx3Ecp66uzunSpYuzb98+3/YDBw44ERERVuN1Ki6Xy6msrHQcx3F+9KMfOW+88Ybf9t27dzsxMTEWo3U6V1xxhVNcXOw4zrf/XpWUlPhtP3LkiBMSEmIxWqvhnpEWEhUVpVdffVX19fUNLvv27bMesdP45ptv1KXL9x/D5HK5tHLlSqWnp2v8+PH68MMPDafrfFwul6RvvzMPDg72+3jxHj16qKqqymq0Tue7c3HmzBlFRUX5bevbt69OnjxpMVank5aWppUrV0qSxo8fr1deecVv+0svvaS4uDiL0VpNwB+Uh4szatQo7d27V5MnT25wu8vlksNPyFrF4MGDVVxcrPj4eL/1y5cvlyT98pe/tBirU4qNjdVHH32kH//4x5KkoqIi9e/f37e9rKzsvC+KaDnXX3+9unTpIq/Xq9LSUr8PMD1x4oSuuOIKw+k6j8cee0zjxo3T+PHjNXr0aC1ZskSFhYWKj49XaWmp3n77ba1bt856zBZFjLSQe++9VzU1NY1uj4uL01tvvdWKE3VeU6ZM0T//+U/deuut521bvny56uvrtWrVKoPJOp85c+b43Zvz/39695YtWzRx4sTWHqtTWrhwod/j7t27+z1+/fXX9fOf/7w1R+q0oqOjtX//fi1evFivv/66HMfRO++8o/Lyco0bN067d+/W6NGjrcdsUdzACgAATHHPCAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAM7GxsVq2bJn1GACMESMAAMAUMQIAAEwRIwCaZPXq1YqOjlZ9fb3f+smTJ+v222/X0aNHNXnyZEVERKh79+4aM2aM3nzzzUaf7/jx43K5XCopKfGtO3XqlFwulwoLC33rDh48qLS0NHXv3l0RERG69dZb9cUXXzT32wPQiogRAE1y880368svv/T7S8JfffWVtm7dqunTp6u6ulq/+MUvVFBQoP379+umm25Senq6ysrKmvyap06d0sSJE5WYmKji4mJt3bpVlZWV+s1vftMcbwmAEf4cPIAm6dWrl9LS0pSbm6vrr79ekvTKK6/oyiuv1HXXXaegoCAlJCT49n/44Ye1bt06vfbaa5o3b16TXnP58uVKTEzUX/7yF9+6nJwcxcTE6MMPP9RPfvKTS3tTAExwZQRAk02fPl1r165VbW2tJOmFF17Qb3/7WwUFBam6ulr33HOP4uPj1bNnT3Xv3l2HDx++pCsj7733nt566y11797dtwwePFiSdPTo0WZ5TwBaH1dGADRZenq6HMfRpk2bNGbMGP3rX//S0qVLJUn33HOP8vPz9de//lVxcXEKCQnRr3/9a509e7bB5woK+vZ7o//9uKxz58757VNdXa309HQ99thj5x3Pp/0C7RcxAqDJgoOD9atf/UovvPCCjhw5okGDBmnkyJGSpN27d+u2227TlClTJH0bEsePH2/0ufr06SNJqqioUGJioiT53cwqSSNHjtTatWsVGxurLl345wvoKPgxDYBLMn36dG3atEk5OTmaPn26b/1VV12lV199VSUlJXrvvfd0yy23nPebN/8rJCREY8eO1eLFi3X48GHt2LFDDzzwgN8+c+fO1VdffaVp06bp3Xff1dGjR7Vt2zbNnDlTdXV1LfYeAbQsYgTAJZk4caJ69+6t0tJS3XLLLb71TzzxhHr16qXk5GSlp6crNTXVd9WkMTk5Ofrvf/+rUaNGaf78+XrkkUf8tkdHR2v37t2qq6vTjTfeqGHDhmn+/Pnq2bOn78c8ANofl/O/P6AFAABoZXwrAQAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEz9P5FvJafnIgFbAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ], + "source": [ + "# your code here\n", + "dice_results.value.value_counts().sort_index().plot(kind='bar')" + ] + }, + { + "cell_type": "code", + "execution_count": 83, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 70 + }, + "id": "qtEcj9rUwDwt", + "outputId": "88bdc2c2-466d-49b6-9608-3c015bd40ec9" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'\\n1) the number of bars. WE have 10 on the 1st plot and only 4 on the 2nd, `cause the 1st plot is for each roll and the 2nd is for eveery value\\n2) value axis is now X axis, unlike the 1st plot. \\n3) we only have 4 values instead of all 6 as we had in the 1st plot. Only the values that were rolled appear on the 2nd graph\\n4) \\n'" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 83 + } + ], + "source": [ + "\"\"\"\n", + "1) the number of bars. WE have 10 on the 1st plot and only 4 on the 2nd, `cause the 1st plot is for each roll and the 2nd is for eveery value\n", + "2) value axis is now X axis, unlike the 1st plot.\n", + "3) we only have 4 values instead of all 6 as we had in the 1st plot. Only the values that were rolled appear on the 2nd graph\n", + "4)\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "n1nuCzYWwDwt" + }, + "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": 84, + "metadata": { + "id": "Or_tBxNMwDwt" + }, + "outputs": [], + "source": [ + "# your code here\n", + "def mean(df):\n", + " return df.sum() / df.count()" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "BN9YmR3LwDwt" + }, + "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": 85, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 461 + }, + "id": "l2_n6X-9wDwu", + "outputId": "21cda08e-d064-409c-fffd-487d8422c816" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 85 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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WKtXr27mtwIAANqjgK6MrFy5UlVVVZowYYKioqJ8y4svvujbp6ysTBUVFb7HycnJys3N1erVq5WQkKBXXnlF69evv+BNrwAAoPMI6MrIxfxJksLCwvPW3Xzzzbr55psDeSkAANBJ8Nk0AADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATAUcIzt37lR6erqio6Plcrm0fv36C+5fWFgol8t13uLxeJo6MwAA6EACjpGamholJCRoxYoVAR1XWlqqiooK3xIeHh7oSwMAgA6oS6AHpKWlKS0tLeAXCg8PV8+ePQM+DgAAdGytds/IiBEjFBUVpRtuuEG7d+++4L61tbXyer1+CwAA6JhaPEaioqK0atUqrV27VmvXrlVMTIwmTJigffv2NXpMdna2wsLCfEtMTExLjwkAAIwE/GOaQA0aNEiDBg3yPU5OTtbRo0e1dOlSPffccw0ek5WVpQULFvgee71eggQAgA6qxWOkIVdffbV27drV6Ha32y23292KEwEAACsmf2ekpKREUVFRFi8NAADamICvjFRXV+vIkSO+x8eOHVNJSYl69+6t/v37KysrS59++qmeffZZSdKyZcs0cOBA/fSnP9WZM2f09NNPa/v27XrjjTea710AAIB2K+AYKS4u1nXXXed7/N29HTNmzNCaNWtUUVGhsrIy3/azZ8/q7rvv1qeffqpu3bpp+PDhevPNN/2eAwAAdF4Bx8iECRPkOE6j29esWeP3+L777tN9990X8GAAAKBz4LNpAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAA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UdzACgAATHHPCAAAMEWMAAAAU8QIAAAwRYwAAABTxAgAM7GxsVq2bJn1GACMESMAAMAUMQIAAEwRIwCaZPXq1YqOjlZ9fb3f+smTJ+v222/X0aNHNXnyZEVERKh79+4aM2aM3nzzzUaf7/jx43K5XCopKfGtO3XqlFwulwoLC33rDh48qLS0NHXv3l0RERG69dZb9cUXXzT32wPQiogRAE1y880368svv/T7S8JfffWVtm7dqunTp6u6ulq/+MUvVFBQoP379+umm25Senq6ysrKmvyap06d0sSJE5WYmKji4mJt3bpVlZWV+s1vftMcbwmAEf4cPIAm6dWrl9LS0pSbm6vrr79ekvTKK6/oyiuv1HXXXaegoCAlJCT49n/44Ye1bt06vfbaa5o3b16TXnP58uVKTEzUX/7yF9+6nJwcxcTE6MMPP9RPfvKTS3tTAExwZQRAk02fPl1r165VbW2tJOmFF17Qb3/7WwUFBam6ulr33HOP4uPj1bNnT3Xv3l2HDx++pCsj7733nt566y11797dtwwePFiSdPTo0WZ5TwBaH1dGADRZenq6HMfRpk2bNGbMGP3rX//S0qVLJUn33HOP8vPz9de//lVxcXEKCQnRr3/9a509e7bB5woK+vZ7o//9uKxz58757VNdXa309HQ99thj5x3Pp/0C7RcxAqDJgoOD9atf/UovvPCCjhw5okGDBmnkyJGSpN27d+u2227TlClTJH0bEsePH2/0ufr06SNJqqioUGJioiT53cwqSSNHjtTatWsVGxurLl345wvoKPgxDYBLMn36dG3atEk5OTmaPn26b/1VV12lV199VSUlJXrvvfd0yy23nPebN/8rJCREY8eO1eLFi3X48GHt2LFDDzzwgN8+c+fO1VdffaVp06bp3Xff1dGjR7Vt2zbNnDlTdXV1LfYeAbQsYgTAJZk4caJ69+6t0tJS3XLLLb71TzzxhHr16qXk5GSlp6crNTXVd9WkMTk5Ofrvf/+rUaNGaf78+XrkkUf8tkdHR2v37t2qq6vTjTfeqGHDhmn+/Pnq2bOn78c8ANofl/O/P6AFAABoZXwrAQAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEz9P5FvJafnIgFbAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ], + "source": [ + "# your code here\n", + "#freuency distribution\n", + "dice_results.value.value_counts().sort_index().plot(kind='bar')" + ] + }, + { + "cell_type": "code", + "source": [ + "#claculating mean without using direct functions\n", + "def mean_from_freq(freq_dist):\n", + " sum_of_products = 0\n", + " total_count = 0\n", + " for value, count in freq_dist.items():\n", + " sum_of_products += value * count\n", + " total_count += count\n", + " mean = sum_of_products / total_count\n", + " return mean\n", + "\n", + "freq_dist = dice_results.value.value_counts()\n", + "mean_from_freq(freq_dist)" + ], + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "kvMDX4Ox9kZH", + "outputId": "253137d2-6215-47e8-c27c-ccc06a0847f5" + }, + "execution_count": 86, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "3.5" + ] + }, + "metadata": {}, + "execution_count": 86 + } + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "NkJTBoCzwDwu" + }, + "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": 87, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "LX42belowDwu", + "outputId": "2abd28b4-8dbb-414e-8b07-c3bed7dff5d1" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "3.0" + ] + }, + "metadata": {}, + "execution_count": 87 + } + ], + "source": [ + "# your code here\n", + "def calculate_median(data):\n", + " sorted_data = sorted(data)\n", + " n = len(sorted_data)\n", + " if n % 2 == 0:\n", + " # even number of observations\n", + " mid1 = sorted_data[n//2 - 1]\n", + " mid2 = sorted_data[n//2]\n", + " median = (mid1 + mid2) / 2\n", + " else:\n", + " # odd number of observations\n", + " mid = n // 2\n", + " median = sorted_data[mid]\n", + " return median\n", + "\n", + "calculate_median(dice_results['value'])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "2EnFqOj1wDwu" + }, + "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": 88, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YkTxU66LwDwu", + "outputId": "92c9ac81-ae1a-46db-a47f-143c1aab965c" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "(2, 3.0, 5)" + ] + }, + "metadata": {}, + "execution_count": 88 + } + ], + "source": [ + "# your code here\n", + "def calculate_quartiles(data):\n", + " sorted_data = sorted(data)\n", + " n = len(sorted_data)\n", + "\n", + " median = calculate_median(sorted_data)\n", + "\n", + " if n % 2 == 0:\n", + " # even\n", + " lower_half = sorted_data[:n//2]\n", + " upper_half = sorted_data[n//2:]\n", + " else:\n", + " # odd\n", + " lower_half = sorted_data[:n//2]\n", + " upper_half = sorted_data[n//2+1:]\n", + "\n", + " q1 = calculate_median(lower_half)\n", + " q3 = calculate_median(upper_half)\n", + "\n", + " return q1, median, q3\n", + "\n", + "calculate_quartiles(dice_results['value'])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "yi_KnQruwDwu" + }, + "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": 89, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 434 + }, + "id": "lDJ_vL2OwDwu", + "outputId": "ba57bdd9-9f3b-4fbf-cca7-05c9f5656408" + }, + "outputs": [ + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "# your code here\n", + "df = pd.read_csv('roll_the_dice_hundred.csv')\n", + "df.sort_values(by='value').plot(kind='bar')\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 53 + }, + "id": "k-RlibdRwDwv", + "outputId": "5db9bba0-9a70-4b21-c85a-20ba7794498b" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'\\nI see lots of bars and the x-axis scale is incomrehendable, idk what numbers are there and couldn`t cahnge it to be visible,\\n but in general it looks like a wierd sinusoid to me '" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 90 + } + ], + "source": [ + "\"\"\"\n", + "I see lots of bars and the x-axis scale is incomrehendable, idk what numbers are there and couldn`t cahnge it to be visible,\n", + " but in general it looks like a wierd sinusoid to me \"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "nHeGxrG_wDwv" + }, + "source": [ + "#### 2.- Using the functions you defined in *challenge 2*, calculate the mean value of the hundred dice rolls." + ] + }, + { + "cell_type": "code", + "execution_count": 91, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4i_js-qmwDwv", + "outputId": "3b55e3ed-4f2e-4b26-ffb0-a783dcf544ab" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "3.74" + ] + }, + "metadata": {}, + "execution_count": 91 + } + ], + "source": [ + "# your code here\n", + "mean(df['value'])" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "b6O9sOM8wDwv" + }, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 92, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 461 + }, + "id": "uzhTescfwDwv", + "outputId": "70633c91-851b-4dca-b0f1-11ed4d63137d" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 92 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAGrCAYAAABg7vUvAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAZdElEQVR4nO3de5CVdf3A8c9Z1xYUWFzktrlcvCCYSiqKeBcZcGsI0S4g3h2bDGoILxMzJuUlsMlbI8E4hmgjEqmYZuEFBUtFAwTTCIEg1pTNMHaFZCH2/P5wOj83RFk4+z0cer1mnhnO8zx7ns8+w+y+ec5zOJlsNpsNAIBESgo9AADwv0V8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJIqLfQA/62xsTHefvvtaNu2bWQymUKPAwDshGw2G++//35UVlZGScknX9vY4+Lj7bffjqqqqkKPAQDsgpqamjjooIM+cZ89Lj7atm0bER8O365duwJPAwDsjPr6+qiqqsr9Hv8ke1x8/Oellnbt2okPACgyO3PLhBtOAYCkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AIKnSQg8AAHubHt99otAj7JQ1k75YkOO68gEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASKq00AMA7K5i+PjyQn10OeyJXPkAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUs2Kj4kTJ8bxxx8fbdu2jU6dOsU555wTy5cvb7LP5s2bY/To0dGhQ4do06ZNnHfeeVFbW5vXoQGA4tWs+Jg/f36MHj06FixYEE8//XRs3bo1Bg8eHJs2bcrt853vfCcef/zx+OUvfxnz58+Pt99+O84999y8Dw4AFKfS5uw8Z86cJo+nT58enTp1ikWLFsVpp50WdXV18bOf/SxmzJgRAwcOjIiIe++9N/r06RMLFiyIE088MX+TAwBFabfu+airq4uIiIqKioiIWLRoUWzdujUGDRqU26d3797RrVu3eOmllz72ORoaGqK+vr7JAgDsvXY5PhobG2Ps2LFx8sknx5FHHhkREevWrYvPfOYz0b59+yb7du7cOdatW/exzzNx4sQoLy/PLVVVVbs6EgBQBHY5PkaPHh2vv/56zJw5c7cGGD9+fNTV1eWWmpqa3Xo+AGDP1qx7Pv5jzJgx8etf/zqef/75OOigg3Lru3TpElu2bIkNGzY0ufpRW1sbXbp0+djnKisri7Kysl0ZAwAoQs268pHNZmPMmDExe/bsePbZZ6Nnz55Nth933HGx7777xty5c3Prli9fHmvXro0BAwbkZ2IAoKg168rH6NGjY8aMGfGrX/0q2rZtm7uPo7y8PFq3bh3l5eVx+eWXx7hx46KioiLatWsX3/rWt2LAgAHe6QIAREQz42PKlCkREXHGGWc0WX/vvffGJZdcEhERt99+e5SUlMR5550XDQ0NMWTIkPjpT3+al2EBgOLXrPjIZrOfuk+rVq1i8uTJMXny5F0eCgDYe/lsFwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEiqtNADUHx6fPeJQo/wqdZM+mKhRwBgB1z5AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLNjo/nn38+hg4dGpWVlZHJZOLRRx9tsv2SSy6JTCbTZDn77LPzNS8AUOSaHR+bNm2Kvn37xuTJk3e4z9lnnx3vvPNObnnwwQd3a0gAYO9R2twvqK6ujurq6k/cp6ysLLp06bJTz9fQ0BANDQ25x/X19c0dCQAoIi1yz8e8efOiU6dOcfjhh8eVV14Z69ev3+G+EydOjPLy8txSVVXVEiMBAHuIvMfH2WefHffff3/MnTs3brnllpg/f35UV1fHtm3bPnb/8ePHR11dXW6pqanJ90gAwB6k2S+7fJoRI0bk/nzUUUfF0UcfHYccckjMmzcvzjrrrO32Lysri7KysnyPAQDsoVr8rbYHH3xwHHjggbFy5cqWPhQAUARaPD7eeuutWL9+fXTt2rWlDwUAFIFmv+yycePGJlcxVq9eHUuWLImKioqoqKiIH/zgB3HeeedFly5dYtWqVXHttdfGoYceGkOGDMnr4ABAcWp2fCxcuDDOPPPM3ONx48ZFRMTFF18cU6ZMiddeey3uu+++2LBhQ1RWVsbgwYPjxhtvdF8HABARuxAfZ5xxRmSz2R1uf/LJJ3drIABg7+azXQCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAklfdPtQV2To/vPlHoEXbKmklfLPQIwF7GlQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJIqLfQAqfT47hOFHuFTrZn0xUKPAPyP87OSFFz5AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLNjo/nn38+hg4dGpWVlZHJZOLRRx9tsj2bzcb1118fXbt2jdatW8egQYNixYoV+ZoXAChyzY6PTZs2Rd++fWPy5Mkfu/1HP/pR/OQnP4mpU6fGyy+/HPvvv38MGTIkNm/evNvDAgDFr7S5X1BdXR3V1dUfuy2bzcYdd9wR1113XQwbNiwiIu6///7o3LlzPProozFixIjdmxYAKHp5vedj9erVsW7duhg0aFBuXXl5efTv3z9eeumlj/2ahoaGqK+vb7IAAHuvvMbHunXrIiKic+fOTdZ37tw5t+2/TZw4McrLy3NLVVVVPkcCAPYwBX+3y/jx46Ouri631NTUFHokAKAF5TU+unTpEhERtbW1TdbX1tbmtv23srKyaNeuXZMFANh75TU+evbsGV26dIm5c+fm1tXX18fLL78cAwYMyOehAIAi1ex3u2zcuDFWrlyZe7x69epYsmRJVFRURLdu3WLs2LFx0003xWGHHRY9e/aM733ve1FZWRnnnHNOPucGAIpUs+Nj4cKFceaZZ+Yejxs3LiIiLr744pg+fXpce+21sWnTpvj6178eGzZsiFNOOSXmzJkTrVq1yt/UAEDRanZ8nHHGGZHNZne4PZPJxA033BA33HDDbg0GAOydCv5uFwDgf4v4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJLKe3x8//vfj0wm02Tp3bt3vg8DABSp0pZ40s997nPxzDPP/P9BSlvkMABAEWqRKigtLY0uXbrs1L4NDQ3R0NCQe1xfX98SIwEAe4gWuedjxYoVUVlZGQcffHCMGjUq1q5du8N9J06cGOXl5bmlqqqqJUYCAPYQeY+P/v37x/Tp02POnDkxZcqUWL16dZx66qnx/vvvf+z+48ePj7q6utxSU1OT75EAgD1I3l92qa6uzv356KOPjv79+0f37t1j1qxZcfnll2+3f1lZWZSVleV7DABgD9Xib7Vt37599OrVK1auXNnShwIAikCLx8fGjRtj1apV0bVr15Y+FABQBPIeH1dffXXMnz8/1qxZEy+++GIMHz489tlnnxg5cmS+DwUAFKG83/Px1ltvxciRI2P9+vXRsWPHOOWUU2LBggXRsWPHfB8KAChCeY+PmTNn5vspAYC9iM92AQCSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACQlPgCApMQHAJCU+AAAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJJqsfiYPHly9OjRI1q1ahX9+/ePV155paUOBQAUkRaJj1/84hcxbty4mDBhQixevDj69u0bQ4YMib///e8tcTgAoIi0SHzcdtttccUVV8Sll14aRxxxREydOjX222+/mDZtWkscDgAoIqX5fsItW7bEokWLYvz48bl1JSUlMWjQoHjppZe227+hoSEaGhpyj+vq6iIior6+Pq9zNTb8K6/P1xLy/T23FOcyP4rhPEY4l/lSDOcxwrnMl2I4jxH5PZf/ea5sNvvpO2fz7G9/+1s2IrIvvvhik/XXXHNN9oQTTthu/wkTJmQjwmKxWCwWy16w1NTUfGor5P3KR3ONHz8+xo0bl3vc2NgY7733XnTo0CEymUwBJ/tk9fX1UVVVFTU1NdGuXbtCj1O0nMf8cS7zx7nMD+cxf4rhXGaz2Xj//fejsrLyU/fNe3wceOCBsc8++0RtbW2T9bW1tdGlS5ft9i8rK4uysrIm69q3b5/vsVpMu3bt9ti/CMXEecwf5zJ/nMv8cB7zZ08/l+Xl5Tu1X95vOP3MZz4Txx13XMydOze3rrGxMebOnRsDBgzI9+EAgCLTIi+7jBs3Li6++OLo169fnHDCCXHHHXfEpk2b4tJLL22JwwEARaRF4uNrX/tavPvuu3H99dfHunXr4vOf/3zMmTMnOnfu3BKHK4iysrKYMGHCdi8Z0TzOY/44l/njXOaH85g/e9u5zGSzO/OeGACA/PDZLgBAUuIDAEhKfAAASYkPACAp8QHwX9yHDy1LfAD8l7Kysli2bFmhx4C9VsE/22VvUFNTExMmTIhp06YVepQ93gcffBCLFi2KioqKOOKII5ps27x5c8yaNSsuuuiiAk1XXJYtWxYLFiyIAQMGRO/evePPf/5z3HnnndHQ0BAXXHBBDBw4sNAj7vE++rlSH7Vt27aYNGlSdOjQISIibrvttpRj7RU2bdoUs2bNipUrV0bXrl1j5MiRufPJJ1u8eHEccMAB0bNnz4iI+PnPfx5Tp06NtWvXRvfu3WPMmDExYsSIAk+5e/w/H3mwdOnSOPbYY2Pbtm2FHmWP9uabb8bgwYNj7dq1kclk4pRTTomZM2dG165dI+LDz/+prKx0HnfCnDlzYtiwYdGmTZv417/+FbNnz46LLroo+vbtG42NjTF//vx46qmnBMinKCkpib59+273eVLz58+Pfv36xf777x+ZTCaeffbZwgxYRI444oj4/e9/HxUVFVFTUxOnnXZa/POf/4xevXrFqlWrorS0NBYsWJD7hcqO9e3bN2699dYYNGhQ3HPPPfHtb387rrjiiujTp08sX7487rnnnrjzzjvjsssuK/Sou0x87ITHHnvsE7f/5S9/iauuusovzU8xfPjw2Lp1a0yfPj02bNgQY8eOjT/96U8xb9686Natm/hohpNOOikGDhwYN910U8ycOTO++c1vxpVXXhk333xzRHz4adGLFi2Kp556qsCT7tkmTZoUd999d9xzzz1NQm3fffeNpUuXbnd1jh0rKSmJdevWRadOneKCCy6I1atXx29+85soLy+PjRs3xvDhw6Njx44xY8aMQo+6x9tvv/1i2bJl0b179zj22GPjyiuvjCuuuCK3fcaMGXHzzTfHG2+8UcApd1OWT5XJZLIlJSXZTCazw6WkpKTQY+7xOnXqlH3ttddyjxsbG7Pf+MY3st26dcuuWrUqu27dOudxJ7Vr1y67YsWKbDabzW7bti1bWlqaXbx4cW77H//4x2znzp0LNV5ReeWVV7K9evXKXnXVVdktW7Zks9lstrS0NPvGG28UeLLikslksrW1tdlsNps9+OCDs0899VST7S+88EK2qqqqEKMVnQ4dOmQXLlyYzWY//Lm5ZMmSJttXrlyZbd26dSFGyxs3nO6Erl27xiOPPBKNjY0fuyxevLjQIxaFDz74IEpL//82o0wmE1OmTImhQ4fG6aefHm+++WYBpys+mUwmIj78F2erVq2afJR127Zto66urlCjFZXjjz8+Fi1aFO+++27069cvXn/99dy5pXn+c942b96cezn1Pz772c/Gu+++W4ixik51dXVMmTIlIiJOP/30eOihh5psnzVrVhx66KGFGC1v3HC6E4477rhYtGhRDBs27GO3ZzIZb83bCb17946FCxdGnz59mqy/6667IiLiS1/6UiHGKko9evSIFStWxCGHHBIRES+99FJ069Ytt33t2rXb/fBnx9q0aRP33XdfzJw5MwYNGuSlv1101llnRWlpadTX18fy5cvjyCOPzG3761//6obTnXTLLbfEySefHKeffnr069cvbr311pg3b17uno8FCxbE7NmzCz3mbhEfO+Gaa66JTZs27XD7oYceGs8991zCiYrT8OHD48EHH4wLL7xwu2133XVXNDY2xtSpUwswWfG58sorm/yC/OgP+YiI3/72t2423QUjRoyIU045JRYtWhTdu3cv9DhFZcKECU0et2nTpsnjxx9/PE499dSUIxWtysrKePXVV2PSpEnx+OOPRzabjVdeeSVqamri5JNPjhdeeCH69etX6DF3ixtOAYCk3PMBACQlPgCApMQHAJCU+AAAkhIfQDI9evSIO+64o9BjAAUmPgCApMQHAJCU+AB2yt133x2VlZXR2NjYZP2wYcPisssui1WrVsWwYcOic+fO0aZNmzj++OPjmWee2eHzrVmzJjKZTCxZsiS3bsOGDZHJZGLevHm5da+//npUV1dHmzZtonPnznHhhRfGP/7xj3x/e0BC4gPYKV/5yldi/fr1Tf433/feey/mzJkTo0aNio0bN8YXvvCFmDt3brz66qtx9tlnx9ChQ2Pt2rW7fMwNGzbEwIED45hjjomFCxfGnDlzora2Nr761a/m41sCCsR/rw7slAMOOCCqq6tjxowZcdZZZ0VExEMPPRQHHnhgnHnmmVFSUhJ9+/bN7X/jjTfG7Nmz47HHHosxY8bs0jHvuuuuOOaYY+KHP/xhbt20adOiqqoq3nzzzejVq9fufVNAQbjyAey0UaNGxcMPPxwNDQ0REfHAAw/EiBEjoqSkJDZu3BhXX3119OnTJ9q3bx9t2rSJZcuW7daVj6VLl8Zzzz0Xbdq0yS29e/eOiIhVq1bl5XsC0nPlA9hpQ4cOjWw2G0888UQcf/zx8bvf/S5uv/32iIi4+uqr4+mnn44f//jHceihh0br1q3jy1/+cmzZsuVjn6uk5MN/+3z046W2bt3aZJ+NGzfG0KFD45Zbbtnu631qLxQv8QHstFatWsW5554bDzzwQKxcuTIOP/zwOPbYYyMi4oUXXohLLrkkhg8fHhEfhsOaNWt2+FwdO3aMiIh33nknjjnmmIiIJjefRkQce+yx8fDDD0ePHj2itNSPK9hbeNkFaJZRo0bFE088EdOmTYtRo0bl1h922GHxyCOPxJIlS2Lp0qVx/vnnb/fOmI9q3bp1nHjiiTFp0qRYtmxZzJ8/P6677rom+4wePTree++9GDlyZPzhD3+IVatWxZNPPhmXXnppbNu2rcW+R6BliQ+gWQYOHBgVFRWxfPnyOP/883Prb7vttjjggAPipJNOiqFDh8aQIUNyV0V2ZNq0afHvf/87jjvuuBg7dmzcdNNNTbZXVlbGCy+8ENu2bYvBgwfHUUcdFWPHjo327dvnXrYBik8m+9EXXAEAWph/OgAASYkPACAp8QEAJCU+AICkxAcAkJT4AACSEh8AQFLiAwBISnwAAEmJDwAgKfEBACT1fxq8US4Vi5hWAAAAAElFTkSuQmCC\n" + }, + "metadata": {} + } + ], + "source": [ + "# your code here\n", + "df.value.value_counts().sort_index().plot(kind='bar')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "zzmcWWFcwDwv" + }, + "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": 93, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 447 + }, + "id": "Igv7E7b7wDwv", + "outputId": "e1c03622-9055-467d-8e3d-a67198a06ffc" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 93 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAGdCAYAAAD0e7I1AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAvMElEQVR4nO3de1TU1f7/8ddwR+XiJQY4QlChaFpeM9ROF/mGaR5vdbKovPCrk2KJZKZ5LTXM0sw0rb55+x7NstQuJy1Ds1TEu2kplppaCFoGIxqgzOf3R6tZZzJNh4EZPj0fa81azf7s2Z/37MVxXmfP/nzGYhiGIQAAAJPy8XQBAAAAVYmwAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATI2wAwAATM3P0wV4A7vdrvz8fIWEhMhisXi6HAAAcAkMw9CpU6cUHR0tH58Lr98QdiTl5+crJibG02UAAAAXHD16VA0bNrzgccKOpJCQEEm/TlZoaKiHqwEAAJfCZrMpJibG8Tl+IYQdyfHVVWhoKGEHAIAa5s+2oLBBGQAAmBphBwAAmBphBwAAmBp7dgAAXsMwDJ07d04VFRWeLgVewNfXV35+fpW+LQxhBwDgFcrLy3Xs2DGdOXPG06XAi9SqVUtRUVEKCAhweQzCDgDA4+x2uw4dOiRfX19FR0crICCAm7z+xRmGofLycp04cUKHDh1SQkLCRW8ceDGEHQCAx5WXl8tutysmJka1atXydDnwEsHBwfL399fhw4dVXl6uoKAgl8ZhgzIAwGu4+v/cYV7u+JvgrwoAAJgaYQcAAJiaR/fsfP7553r++ee1bds2HTt2TMuXL1ePHj0cxw3D0Lhx4/T666+rqKhIHTp00OzZs5WQkODoc/LkST366KP64IMP5OPjo969e+ull15SnTp1PPCOAADuFDfiP9V6vu8md63W89Vk48eP14oVK7Rz505Pl/KnPLqyc/r0aV1//fWaNWvWHx6fMmWKZsyYoTlz5ig3N1e1a9dWSkqKSktLHX1SU1P11VdfafXq1frwww/1+eef6+GHH66utwAA+Au75ZZblJGRcV77/PnzFR4eXu311ARLly5VYmKigoKC1Lx5c3300UdVfk6Php077rhDEydOVM+ePc87ZhiGpk+frtGjR6t79+667rrrtHDhQuXn52vFihWSpL1792rVqlX63//9X7Vr104dO3bUyy+/rCVLlig/P7+a3w0AALiYjRs36t5771VaWpp27NihHj16qEePHtqzZ0+Vntdr9+wcOnRIBQUFSk5OdrSFhYWpXbt2ysnJkSTl5OQoPDxcbdq0cfRJTk6Wj4+PcnNzLzh2WVmZbDab0wMAgKrSr18/9ejRQy+88IKioqJUv359paen6+zZs44+cXFxevbZZzVgwACFhIQoNjZWr732mtM4Tz75pBo1aqRatWrpqquu0pgxY5zGGD9+vFq0aKG5c+cqNjZWderU0aBBg1RRUaEpU6YoMjJSERERmjRpktO4RUVF+n//7//piiuuUGhoqG677Tbt2rXLqc/kyZNltVoVEhKitLQ0p29ZLtVLL72kzp0764knnlCTJk00YcIEtWrVSjNnzrzssS6H195np6CgQJJktVqd2q1Wq+NYQUGBIiIinI77+fmpXr16jj5/JCsrS08//bSbK/5jzRc0r5bzuNPuvrs9XQIAmM7atWsVFRWltWvX6ttvv9U999yjFi1a6KGHHnL0mTp1qiZMmKCnnnpK77zzjgYOHKibb75ZjRs3liSFhIRo/vz5io6O1u7du/XQQw8pJCREw4cPd4xx4MABrVy5UqtWrdKBAwd011136eDBg2rUqJHWrVunjRs3asCAAUpOTla7du0kSXfffbeCg4O1cuVKhYWF6dVXX1WnTp20f/9+1atXT2+//bbGjx+vWbNmqWPHjvq///s/zZgxQ1dddZXjvJ999pluvfVWHTp0SHFxcX84Bzk5OcrMzHRqS0lJcXxjU1W8dmWnKo0cOVLFxcWOx9GjRz1dEgDA5OrWrauZM2cqMTFRd955p7p27ars7GynPl26dNGgQYN0zTXX6Mknn1SDBg20du1ax/HRo0erffv2iouLU7du3TRs2DC9/fbbTmPY7XbNnTtXTZs2Vbdu3XTrrbcqLy9P06dPV+PGjdW/f381btzYMe769eu1efNmLV26VG3atFFCQoJeeOEFhYeH65133pEkTZ8+XWlpaUpLS1Pjxo01ceJENW3a1Om8tWrVUuPGjeXv73/BOSgoKLjoIkZV8dqVncjISElSYWGhoqKiHO2FhYVq0aKFo8/x48edXnfu3DmdPHnS8fo/EhgYqMDAQPcXDQDABVx77bXy9fV1PI+KitLu3c4r6dddd53jvy0Wy3mf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MLVr1045OTkeqRkAAHgXr17ZGTFihGw2mxITE+Xr66uKigpNmjRJqampkqSCggJJktVqdXqd1Wp1HPsjZWVlKisrczy32WxVUD0AAPAGXr2y8/bbb2vRokVavHixtm/frgULFuiFF17QggULKjVuVlaWwsLCHI+YmBg3VQwAALyNV4edJ554QiNGjFCfPn3UvHlzPfDAAxo6dKiysrIkyfGT74WFhU6vKywsvOjPwY8cOVLFxcWOx9GjR6vuTQAAAI/y6rBz5swZ+fg4l+jr6yu73S5Jio+PV2RkpLKzsx3HbTabcnNzlZSUdMFxAwMDFRoa6vQAAADm5NV7drp166ZJkyYpNjZW1157rXbs2KFp06ZpwIABkiSLxaKMjAxNnDhRCQkJio+P15gxYxQdHa0ePXp4tngAAOAVvDrsvPzyyxozZowGDRqk48ePKzo6Wv/61780duxYR5/hw4fr9OnTevjhh1VUVKSOHTtq1apVCgoK8mDlAADAW1iM/74d8V+UzWZTWFiYiouL3f6VVvMFzd06XnXY3Xe3p0sAAOBPXernt1fv2QEAAKgswg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1wg4AADA1l8LOwYMH3V0HAABAlXAp7FxzzTW69dZb9e9//1ulpaXurgkAAMBtXAo727dv13XXXafMzExFRkbqX//6lzZv3uzu2iRJP/zwg+6//37Vr19fwcHBat68ubZu3eo4bhiGxo4dq6ioKAUHBys5OVnffPNNldQCAABqHpfCTosWLfTS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hbx6Zefo0aMaMmSIFi1apKCgILeNO3LkSBUXFzseR48eddvYAADAu3h12Nm2bZuOHz+uVq1ayc/PT35+flq3bp1mzJghPz8/Wa1WlZeXq6ioyOl1hYWFioyMvOC4gYGBCg0NdXoAAABz8uqvsTp16qTdu3c7tfXv31+JiYl68sknFRMTI39/f2VnZ6t3796SpLy8PB05ckRJSUmeKBkAAHgZrw47ISEhatasmVNb7dq1Vb9+fUd7WlqaMjMzVa9ePYWGhurRRx9VUlKSbrzxRk+UDAAAvIxXh51L8eKLL8rHx0e9e/dWWVmZUlJS9Morr3i6LAAA4CUshmEYni7C02w2m8LCwlRcXOz2/TvNFzR363jVYXff3X/eCQAAD7vUz2+v3qAMAABQWYQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgal4ddrKystS2bVuFhIQoIiJCPXr0UF5enlOf0tJSpaenq379+qpTp4569+6twsJCD1UMAAC8jVeHnXXr1ik9PV2bNm3S6tWrdfbsWd1+++06ffq0o8/QoUP1wQcfaOnSpVq3bp3y8/PVq1cvD1YNAAC8icUwDMPTRVyqEydOKCIiQuvWrdPf//53FRcX64orrtDixYt11113SZL27dunJk2aKCcnRzfeeOMljWuz2RQWFqbi4mKFhoa6tebmC5q7dbzqsLvvbk+XAADAn7rUz2+vXtn5veLiYklSvXr1JEnbtm3T2bNnlZyc7OiTmJio2NhY5eTkXHCcsrIy2Ww2pwcAADCnGhN27Ha7MjIy1KFDBzVr1kySVFBQoICAAIWHhzv1tVqtKigouOBYWVlZCgsLczxiYmKqsnQAAOBBNSbspKena8+ePVqyZEmlxxo5cqSKi4sdj6NHj7qhQgAA4I38PF3ApRg8eLA+/PBDff7552rYsKGjPTIyUuXl5SoqKnJa3SksLFRkZOQFxwsMDFRgYGBVlgwAALyEV6/sGIahwYMHa/ny5VqzZo3i4+Odjrdu3Vr+/v7Kzs52tOXl5enIkSNKSkqq7nIBAIAX8uqVnfT0dC1evFjvvfeeQkJCHPtwwsLCFBwcrLCwMKWlpSkzM1P16tVTaGioHn30USUlJV3ylVgAAMDcvDrszJ49W5J0yy23OLXPmzdP/fr1kyS9+OKL8vHxUe/evVVWVqaUlBS98sor1VwpAADwVl4ddi7lFkBBQUGaNWuWZs2aVQ0VAQCAmsar9+wAAABUFmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYmp+nC4AXGh/m6QoAAGYyvtijp2dlBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmBphBwAAmJppws6sWbMUFxenoKAgtWvXTps3b/Z0SQAAwAuYIuy89dZbyszM1Lhx47R9+3Zdf/31SklJ0fHjxz1dGgAA8DBThJ1p06bpoYceUv/+/dW0aVPNmTNHtWrV0ty5cz1dGgAA8DA/TxdQWeXl5dq2bZtGjhzpaPPx8VFycrJycnL+8DVlZWUqKytzPC8uLpYk2Ww2t9dX8UuF28esarYyw9MlAADMpAo+X38d9tdxDePin1s1Puz8+OOPqqiokNVqdWq3Wq3at2/fH74mKytLTz/99HntMTExVVJjTRPm6QIAAOYyuWo/WU6dOqWwsAufo8aHHVeMHDlSmZmZjud2u10nT55U/fr1ZbFY3HYem82mmJgYHT16VKGhoW4bF+djrqsPc119mOvqxXxXH3fNtWEYOnXqlKKjoy/ar8aHnQYNGsjX11eFhYVO7YWFhYqMjPzD1wQGBiowMNCpLTw8vKpKVGhoKP/DqSbMdfVhrqsPc129mO/q4465vtiKzm9q/AblgIAAtW7dWtnZ2Y42u92u7OxsJSUlebAyAADgDWr8yo4kZWZmqm/fvmrTpo1uuOEGTZ8+XadPn1b//v09XRoAAPAwU4Sde+65RydOnNDYsWNVUFCgFi1aaNWqVedtWq5ugYGBGjdu3HlfmcH9mOvqw1xXH+a6ejHf1ae659pi/Nn1WgAAADVYjd+zAwAAcDGEHQAAYGqEHQAAYGqEHQAAYGqEnSo0a9YsxcXFKSgoSO3atdPmzZs9XVKNl5WVpbZt2yokJEQRERHq0aOH8vLynPqUlpYqPT1d9evXV506ddS7d+/zbjqJyzN58mRZLBZlZGQ42phn9/rhhx90//33q379+goODlbz5s21detWx3HDMDR27FhFRUUpODhYycnJ+uabbzxYcc1UUVGhMWPGKD4+XsHBwbr66qs1YcIEp99WYq5d8/nnn6tbt26Kjo6WxWLRihUrnI5fyryePHlSqampCg0NVXh4uNLS0lRSUlL54gxUiSVLlhgBAQHG3Llzja+++sp46KGHjPDwcKOwsNDTpdVoKSkpxrx584w9e/YYO3fuNLp06WLExsYaJSUljj6PPPKIERMTY2RnZxtbt241brzxRqN9+/YerLpm27x5sxEXF2dcd911xpAhQxztzLP7nDx50rjyyiuNfv36Gbm5ucbBgweNjz/+2Pj2228dfSZPnmyEhYUZK1asMHbt2mX84x//MOLj441ffvnFg5XXPJMmTTLq169vfPjhh8ahQ4eMpUuXGnXq1DFeeuklRx/m2jUfffSRMWrUKGPZsmWGJGP58uVOxy9lXjt37mxcf/31xqZNm4wvvvjCuOaaa4x777230rURdqrIDTfcYKSnpzueV1RUGNHR0UZWVpYHqzKf48ePG5KMdevWGYZhGEVFRYa/v7+xdOlSR5+9e/cakoycnBxPlVljnTp1ykhISDBWr15t3HzzzY6wwzy715NPPml07NjxgsftdrsRGRlpPP/88462oqIiIzAw0HjzzTero0TT6Nq1qzFgwACntl69ehmpqamGYTDX7vL7sHMp8/r1118bkowtW7Y4+qxcudKwWCzGDz/8UKl6+BqrCpSXl2vbtm1KTk52tPn4+Cg5OVk5OTkerMx8iouLJUn16tWTJG3btk1nz551mvvExETFxsYy9y5IT09X165dneZTYp7d7f3331ebNm109913KyIiQi1bttTrr7/uOH7o0CEVFBQ4zXdYWJjatWvHfF+m9u3bKzs7W/v375ck7dq1S+vXr9cdd9whibmuKpcyrzk5OQoPD1ebNm0cfZKTk+Xj46Pc3NxKnd8Ud1D2Nj/++KMqKirOu4Oz1WrVvn37PFSV+djtdmVkZKhDhw5q1qyZJKmgoEABAQHn/bCr1WpVQUGBB6qsuZYsWaLt27dry5Yt5x1jnt3r4MGDmj17tjIzM/XUU09py5YteuyxxxQQEKC+ffs65vSP/k1hvi/PiBEjZLPZlJiYKF9fX1VUVGjSpElKTU2VJOa6ilzKvBYUFCgiIsLpuJ+fn+rVq1fpuSfsoMZKT0/Xnj17tH79ek+XYjpHjx7VkCFDtHr1agUFBXm6HNOz2+1q06aNnn32WUlSy5YttWfPHs2ZM0d9+/b1cHXm8vbbb2vRokVavHixrr32Wu3cuVMZGRmKjo5mrk2Mr7GqQIMGDeTr63velSmFhYWKjIz0UFXmMnjwYH344Ydau3atGjZs6GiPjIxUeXm5ioqKnPoz95dn27ZtOn78uFq1aiU/Pz/5+flp3bp1mjFjhvz8/GS1WplnN4qKilLTpk2d2po0aaIjR45IkmNO+Tel8p544gmNGDFCffr0UfPmzfXAAw9o6NChysrKksRcV5VLmdfIyEgdP37c6fi5c+d08uTJSs89YacKBAQEqHXr1srOzna02e12ZWdnKykpyYOV1XyGYWjw4MFavny51qxZo/j4eKfjrVu3lr+/v9Pc5+Xl6ciRI8z9ZejUqZN2796tnTt3Oh5t2rRRamqq47+ZZ/fp0KHDebdQ2L9/v6688kpJUnx8vCIjI53m22azKTc3l/m+TGfOnJGPj/NHn6+vr+x2uyTmuqpcyrwmJSWpqKhI27Ztc/RZs2aN7Ha72rVrV7kCKrW9GRe0ZMkSIzAw0Jg/f77x9ddfGw8//LARHh5uFBQUeLq0Gm3gwIFGWFiY8dlnnxnHjh1zPM6cOePo88gjjxixsbHGmjVrjK1btxpJSUlGUlKSB6s2h/++GsswmGd32rx5s+Hn52dMmjTJ+Oabb4xFixYZtWrVMv797387+kyePNkIDw833nvvPePLL780unfvzuXQLujbt6/xt7/9zXHp+bJly4wGDRoYw4cPd/Rhrl1z6tQpY8eOHcaOHTsMSca0adOMHTt2GIcPHzYM49LmtXPnzkbLli2N3NxcY/369UZCQgKXnnu7l19+2YiNjTUCAgKMG264wdi0aZOnS6rxJP3hY968eY4+v/zyizFo0CCjbt26Rq1atYyePXsax44d81zRJvH7sMM8u9cHH3xgNGvWzAgMDDQSExON1157zem43W43xowZY1itViMwMNDo1KmTkZeX56Fqay6bzWYMGTLEiI2NNYKCgoyrrrrKGDVqlFFWVubow1y7Zu3atX/473Pfvn0Nw7i0ef3pp5+Me++916hTp44RGhpq9O/f3zh16lSla7MYxn/dNhIAAMBk2LMDAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABMjbADAABM7f8DrVqAJh96wbAAAAAASUVORK5CYII=\n" + }, + "metadata": {} + } + ], + "source": [ + "# your code here\n", + "df.plot(kind='hist')" + ] + }, + { + "cell_type": "code", + "execution_count": 94, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 53 + }, + "id": "nSStl78TwDwv", + "outputId": "c35038bd-1c2b-45b9-c684-e35a9a01856d" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'\\nthe shape is rly wierd, I dont get any information from the graph, \\ndon`t know what it`s supposed to show... I might have a mistake somewhere'" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 94 + } + ], + "source": [ + "\"\"\"\n", + "the shape is rly wierd, I dont get any information from the graph,\n", + "don`t know what it`s supposed to show... I might have a mistake somewhere\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "DjYoe10MwDww" + }, + "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": 95, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 461 + }, + "id": "yPw-YK1jwDww", + "outputId": "15cd92f8-d35f-4522-c763-ff4496af4873" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 95 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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\n" + }, + "metadata": {} + } + ], + "source": [ + "# your code here\n", + "df = pd.read_csv('roll_the_dice_thousand.csv')\n", + "df.value.value_counts().sort_index().plot(kind='bar')" + ] + }, + { + "cell_type": "code", + "execution_count": 96, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 53 + }, + "id": "4MIMoYi4wDww", + "outputId": "659c1e4d-16d6-4125-d28a-7a77f6ec5f1d" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "'\\nnow we have all the 6 faces of the dice as we have more observations and all the faces appeared+ they have realtively even chance to appear'" + ], + "application/vnd.google.colaboratory.intrinsic+json": { + "type": "string" + } + }, + "metadata": {}, + "execution_count": 96 + } + ], + "source": [ + "\"\"\"\n", + "now we have all the 6 faces of the dice as we have more observations and all the faces appeared+ they have realtively even chance to appear\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "DtbA_C-5wDww" + }, + "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": 98, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 499 + }, + "id": "cEdBaf36wDww", + "outputId": "56309cd4-41ad-4264-ffeb-7e98822b2fd9" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 98 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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/vOfGh8fryKiLVq00DvvvFNTUlL07bff1rCwMLVYLBoSEqIxMTHGwzEmUVFRGhMTo//73//UarXqjTfeqNHR0Tpw4EANDAzUXr16aUZGhn7xxRd64sQJY18ios2aNdNnnnlGDx06pKp/rPp3ySWX6IIFC3TIkCHapUsX7d69u/700086YcIEtdls2qpVK6MQe+SRR3TRokXauXNnFRHt06ePzpw5Uz/++GP9+OOPdebMmTp06FANCgrSWbNmuYzJkiVLNCgoSEVEU1NTNS4uTpcvX66qqlOmTNHQ0FAVEU1KStJHH31U4+Li9NFHHzXOW0pKimZkZBgPEdG0tDTNyMjQtLQ0DQoK0ksuuUTHjh2rISEhGhAQoCtXrtT7779fGzZsqPPnz9dvvvnGmBgtFotmZ2fre++9pyUlJaqqeuutt2p6erq+9NJLeskll+iAAQO0VatW+vnnn+uECRPUarVqixYt9MEHH9TExEQdN26cTp8+XZs2baoiopdffnmVj0lSUpLbMXG8RtLT0zUjI0NXr15dq8ZkypQpGhYWppdffrmKSIVeI7VhTJYsWaLBwcHauHFjFZHzft/425hccMEFKiL6l7/8pcJzbHXOr1OnTtWwsDANCAjQ+fPn62233Valc+yYMWPUYrFoQECAPvTQQxV+30yZMsXI4+zXwuDBg1VEtGXLli7jpap68OBBrz6sWmMKkRYtWujjjz9udHL16tUaHx+vEyZM0Hr16hnV4YoVK3TFihWam5urAQEBarFY9P3339cVK1Zohw4d9KmnnjL2mZCQoP/85z81IyNDhwwZor169dLDhw+rxWLRHTt2aJ8+fbRVq1baokULtVqt2rZtW23RooUOGDBAt27dqvfcc482b95cr7nmGj116pSOHTtWo6KitHXr1rp06VK9+OKL9cknn9RvvvlGo6KiNDAwUJcsWeLSt0GDBmn79u01JCREBw0a5PSIiorStLQ0o99z587VsLAw/c9//qMXXHCBzpo1S61Wq+7atUutVqvm5OSoqmp4eLi2bdtW69Wrp2+88Ya+8cYbOnPmTGNMXnzxRX3jjTe0a9euOm7cOFVVtdlsumfPHn3sscfUZrM53eFjsVj0k08+0Tp16uioUaM0NjZWg4OD9aqrrtKoqCj94osvVFW1oKBALRaL8T+lhg0b6osvvqgJCQmqqrpz506Ni4vTkpISTUtL00suucTtUsijR4/WHj16aFRUlI4ePdrpkZSUpOnp6Wq1WrW0tFSffPJJDQ8P10WLFmmzZs102rRparVa9YsvvtDAwEDjf0KBgYGanp6uSUlJ+vDDD+vDDz+sEydOVBHRm2++WR9++GG94IIL9NZbbzXysNlsesstt2iPHj20SZMmumjRIqcxmTdvntapU0f79++vgYGBGh8fr/fdd5/Gx8fr6tWrVfWPN6dj/FT/+GT5pEmTtF69eqr6x91U9evX19LSUk1LS9O2bdvqoEGDqnxMAgMDtW/fvnrllVcaYzJx4kSjqL///vv14Ycf1t69e9eqMUlJSdHZs2cbOVTkNVIbxiQpKUk7dOigN9xwg1oslvN+3/jbmKSmpmpWVpbLmDjmUndzbHXOr44xuf/++7VTp07asGHDKp1j09LS9N///rfefffdLnOsp/dNbGysdunSxe1roU2bNnrddddpZmamy3g5zleNL0TKVttnPywWi15wwQVOndy6dasmJCToPffco/369VMR0Z9++smIBwYGqsViMarKOnXq6JYtW4y43W7X3NxcjYiI0Pr16+v69etV9Y8XRH5+vm7dulXr1Kmjqqpr1qzRW2+9VUVE7Xa7Dh8+XI8fP64BAQFGu6SkJH3zzTeN75r56aefNDw8XE+ePKl2u13vuusut2v0BwYGardu3TQgIEBvvvlmp0dgYKD27NnTqd/Lly/X8PBwDQoK0ry8PCNmt9uNS2W7du3SVq1aaWBgoP72228uY5Kfn6+qqnXr1tVNmzapqmqTJk30o48+0h07dqjVajUmA8eYLFu2TCMjI1X1jz9HzZkzR3v27KkioomJiTphwgQ9c+aMBgYGGuMcGhpqjLGqamlpqQYGBuqBAwfUZrPpBx98oOHh4S5j4vhfj9Vq1e7duzs9AgICjF8wDrNnz9awsDANDg7WTZs2GTGbzabbtm1TVdXPP/9cU1NT1WazGX9WU1UVEV21apVxDteuXWvEGjRooK+//rrWqVNH69Wrpxs3bnQak88++0zDwsJUVfXAgQP6+OOPa1pamoqItm3bVl977TVV/eOS7datW1VVNSQkRFetWmW0c5yX/fv3q81m03feecftN3D6ekw+//xzbdy4sY4aNcrpO5zOfo3UtjEREX3ttdeMSbMir5HaMCYBAQHasWNHbdeunTEm5/O+8bcxsdvtmpOT4zImgYGB2q9fPx04cKDLHFud86vqH3Psyy+/rNHR0dqoUaMqnWNtNpvu2LFDt2zZ4jLHenrfWK1WbdmypdvXQlhYmC5fvtxpjB3jNX369NpRiNhsNr3pppuMqrvsIzIyUq+88kqXTm7fvl0TEhL0xhtvVIvFosnJyTpnzhxV/b8XxaxZs/TDDz/U+vXr65o1a4y2rVq10qefflojIyO1efPmxt/MrFar5ufn65o1azQ2NtbpeNHR0frYY49p586d9dSpUxoQEKB5eXmqqhoREaGffPKJ8cV2jhfMzz//rN26ddMrr7xSQ0JCXPrdsmVLzcrKcvkCLtX/K27O7veKFSvUYrHo7bffbsQ6d+7sVIht3brVuBT7+eefO41Jbm6ufvnll9qgQQPdsGGDqqo+/fTT2rx5c+MSblZWlu7evdsYk86dO+vVV1/tkmNGRoZ27dpVU1JS9PXXX9eEhATjfwFt2rTRK6+80qigly1bpqGhoVpaWqpt27bVESNGGG+gspo0aaKXX365tm3b1iUWHx+vs2fPdhmT//73vyoi+tBDDxmx+vXr6549e4znOCr8jh07Gn0TEV20aJEWFhZqo0aNjP95qKr+4x//0IyMDA0JCdFx48Zp//79jYnHarXqlVdeqX369HHJsXHjxtq+fXsNCwvTjz/+WCMiIvTZZ59VVdXmzZvr7bffrunp6aqqmpeXp8HBwXr69Glt27at3nbbbU4TbVWOSUFBgV5++eVqtVqN8XC8Rnbv3l0rxyQ8PFztdrtOnz5drVZrhV4jtWFM4uPjddOmTbp582anMfH2feNvY9KtWzcdNGiQhoaGOu2vZcuW+uqrr+qNN97oMsdW5/yq+scc27hxYw0NDdVnn322SufYtm3b6tixY3XHjh0uc6yn901cXJzOmzfP7WshKSlJ33nnHZfCZsWKFRoeHq4PPvhgzS9EMjMzddq0aW5jQ4cO1WHDhrnt5LZt2zQ+Pl6tVqtu375dW7durUOHDjVeFGUfjz76qNFu5syZGhMToxdeeKHOmjVLmzdvrp9++qlx2bBly5Z62223OR2rZ8+eOmLECP3pp5900qRJeuGFF+ott9yiqn+8UDt06GB8E+V///tfo3L88ssvtU6dOmqxWHTQoEF655136p133qmDBg1Sm82moaGhRtVf1oABA/Svf/2rNmzY0CWWkZGhwcHB5Z74d955RzMzM3XZsmWampqq48eP16CgIKe/z1osFp0yZYrR5q677tKAgAANDg42PusSHBysIqKtW7fWn3/+2eU4ixcvVrvdbrRZuXKlNmnSRDt06GD8DycrK0tvvPFGDQ8PN95Aubm5Rt9Hjx6tkydP1smTJ+vo0aM1Ojpag4KC3C4A17t3bx09erRaLBaXWJMmTYwPxLmzYMECTU9P19dff10TExP1lVdecfpskcVi0VdffdV4fnFxsXbo0EGtVqv27t1b7Xa7hoaGGv2qV6+e7ty50+U4b7/9tgYEBOgFF1ygNptN3333XU1OTtYhQ4ZoZmamioj26tVLH3roIU1OTtYRI0Y4jYndbq/WMalXr54xHmVfI7VxTLp06aJ33XWXBgUFuR0Td6+R2jAmvXv31qefflq3bNniMibevG/8bUy+/PJLjYqK0oCAAKc51nE1JykpyWWOre75VVU1Ozvb+BxIVc6xubm5GhYWpvXq1dOkpKQKv2+6dOmiTz75pNu5ZMCAAXrdddcZhWBZjuN5U4j41Toi99xzj1gsFnn++eddYl999ZUsWrRIFi9ebHxzZlnbtm2TefPmycSJE+XUqVMybtw4yc3Nlfnz5xvfnuvObbfdJm+//bZYrVY5c+aMnD59WhxDMmDAAHnrrbckPDzceP7GjRulX79+xjce5ubmyogRI+THH3+UkpISOXLkiDRr1kzq1q0ra9askaefflruvfdeERF59NFH5a233pJOnTo5fQ9Nu3bt5JprrjG+FbKslStXypo1a2T8+PEusW+//VY2bdokS5culZkzZ7rE58yZI4GBgTJkyBA5cuSI3H777ZKbmyvz5s2Txo0bG88LDw+XuLg44+fJkyfLli1bJCYmRkpLSyUpKUm+//57mT59uoSFhbkdxz179kheXp5kZmZKw4YNJT8/X6ZOnSrHjx+XOnXqyNatW6W4uFiys7Pl9ttvN9pt3rxZZs6c6fLlYy1btpTrrrtOunbt6nKs999/X1atWiVTpkxxia1evVpWrlwpS5cudfs6mTZtmpSWlsqoUaNk165dMmzYMNm4caO88cYbxreRJiUlSZMmTYw2L7zwgmzdulVsNpt8//33xpjs2rVL5s2b5/a8OXJZt26dZGVlSefOneXrr7+WyZMny/HjxyUsLEx2795tjMmECRPE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\n" + }, + "metadata": {} + } + ], + "source": [ + "# your code here\n", + "df = pd.read_csv('ages_population.csv')\n", + "df.value_counts().sort_index().plot(kind='bar')\n", + "#and again: the x-axis is incomrehensible, I see no scale at all, it`s a mess.\n", + "#But, the mean will be close to median, I guesss and the deviation will be.. 1?\n", + "#the plot looks a lot like normal distribution" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "7P05gkRrwDww" + }, + "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": 104, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "rxiqeiy7wDww", + "outputId": "1b5d3ba4-31c0-4eea-efab-664a5ed573bc" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "mean_df is observation 36.56\n", + "dtype: float64\n", + "std_df is observation 12.8165\n", + "dtype: float64\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_df = df.mean()\n", + "std_df = df.std()\n", + "print('mean_df is', mean_df)\n", + "print('std_df is', std_df)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "VBl-66oTwDwx" + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "not even close, I`ve missed comletely, but I cannot see the values on th x-axis, so no wonder...\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "jI7IVcpVwDwx" + }, + "source": [ + "#### 3.- Now read the file `ages_population2.csv` . Calculate the frequency distribution and plot it." + ] + }, + { + "cell_type": "code", + "execution_count": 105, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 499 + }, + "id": "CL9U52a4wDwx", + "outputId": "3754b12d-bea7-4a5f-a8c7-1b7d26a612a1" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 105 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "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7s3NeoG8n/D59t96VbGfcA0KAACwzkXxFc/+/fuVk5Oj3Nxcfffdd67ULC0tVWlpqSu14LyPPvpI33//fXUPw3GlpaX68ssvA3bfLCws9P66oKqUl5ersLBQ33zzTZXWOY1jiX8L1GOJVPXHk4AOKNOnT9dll12mpKQktW/fXtddd51iYmLUsWNH5eXlOV5vxYoV6tatm+rXr686deqoTp06ql+/vrp166YPPvjA8Xpns23bNse/e/zss880btw4TZ8+/YzThiUlJbrvvvscq/XGG2+of//+mj17tiRpwYIFSk5O1uWXX67Ro0c7VudcOnfurL179zq6zYMHD/q83rhxo/r3768OHTrojjvu0EcffeRovbfeektr166VJJ04cUIDBgxQWFiYmjZtqrp16+rhhx929MDSsmVLPfvss8rPz3dsm2dz6NAh3XHHHWrUqJEeeeQRlZeX6/7771d8fLwuvfRStW/fXl9//bWjNZcuXarrr79eYWFhSkhIUFxcnCIjI9WvXz/HL7i35VgiOX88cfNYIlX/8aQqjiVS4B9PJAXunWRfeOEFk5CQYKZOnep94uPYsWPNsmXLTL9+/UydOnVMbm6uY/XeeustExwcbPr06WNmz55t3n//ffP++++b2bNnm7vuusvUrFnTzJkzx7F657Jx40YTFBTk2PaWL19uatWqZa666irTqFEjEx0dbT788EPv8oKCAsfqvfLKKyYsLMzcfvvtJj4+3owbN85ER0ebcePGmTFjxpjw8HDz2muvOVLLGGNSUlIqnTwej0lOTva+dkJQUJApLCw0xhizZs0aU7NmTXPDDTeYoUOHmptvvtkEBweblStXOlLLGGOSkpLMunXrjDHG/PGPfzSNGzc2CxcuNNu2bTOLFi0yTZs2NUOHDnWsnsfjMdHR0aZGjRomPT3d/M///E+ld7l0wn333WdatGhhpk6dam644QbTs2dPc/XVV5vVq1ebTz75xPz6178299xzj2P15syZY+rVq2eeeOIJ89RTT5m4uDgzfPhwM2PGDHPDDTeYBg0amC+++MKRWjYdS4xx9nji5rHEGHePJ24eS4wJ/OOJMQH8sMDGjRub999/3/t6x44dJjo62nvAfPTRR83NN9/sWL0mTZqYV1999azLp02bZq644gpHaj3++OPnnPr27evohzw1NdX86U9/MsYYU1FR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lltu0ZdffuldPykpSZKUkpIij8ejTp06STrzK56f6v/011xZWVlq27at6tSpo/bt25/zKekAnENAAS5Sw4YN09/+9je9/fbb2rBhg6644gqlp6fr0KFD3nWGDh2ql156Sbm5ubrkkkvUo0cPlZWVSZIGDhyo0tJSrVq1Sps2bdLEiRNVt25dSVJRUZFuvPFGpaSkaP369crMzFRhYaF69+7tM4a3335btWrV0po1azRz5kxlZGRo8eLFOnr0qHed5cuX6/jx47rtttskSceOHdOQIUO0fv16ZWVlKSgoSLfddpsqKiokSf/6178kSR988IG+/vprLVy48IL7l6SnnnpKL730ktavX6/g4GDdd999v+Q/O4Cfy5FHDgLwK0ePHjU1a9Y0c+fO9c47efKkSUhIMJMmTTLZ2dlGkpk/f753+XfffWdq165tFixYYIwxpmXLluaZZ56pdPvPPvus6dy5s8+8/Px8I8ns2LHDGGPMDTfcYFJSUnzWKSsrMw0aNDBz5szxzrvrrrvMnXfeedZevvnmGyPJbNq0yRhjzJ49e4wk8+mnn/qs179/f9OzZ8+f1b8xxvvf4IMPPvCus3TpUiPJfP/992cdDwBncAYFuAh9+eWXKisrU4cOHbzzatasqWuvvVbbtm3zzktNTfX+OSoqSldeeaV3+aOPPqpx48apQ4cOGj16tD7//HPvup999pmys7NVt25d79SsWTNv7dPatGnjM67g4GD17t1bc+fOlfTD2ZK///3vysjI8K6zc+dO3XXXXbr88ssVHh6uxo0bS5L279/veP+SdPXVV3v/HB8fL0k6ePDgz64F4MIQUABckPvvv1+7d+9Wv379tGnTJrVt21ZTp06VJB09elQ9evTQxo0bfaadO3fq+uuv924jLCzsjO1mZGQoKytLBw8e1KJFi1S7dm116dLFu7xHjx46dOiQZs2apZycHOXk5Ej64SLbqlCzZk3vnz0ejyR5v04CUHUIKMBF6Fe/+pX32o/TysrKlJubq+bNm3vnrVu3zvvnw4cP64svvlBycrJ3XmJioh5++GEtXLhQTzzxhGbNmiVJat26tbZs2aLGjRvriiuu8JkqCyX/rn379kpMTNSCBQs0d+5c/fa3v/WGhO+++047duzQ008/rZtuuknJyck6fPiwz/tP/xKovLz8F/cPoPrwM2PgIhQWFqZHHnlEQ4cOVVRUlBo1aqRJkybp+PHjGjBggD777DNJ0tixYxUdHa3Y2Fg99dRTatCggfeXMIMHD1bXrl3VtGlTHT58WNnZ2d7wMnDgQM2aNUt33XWXhg0bpqioKO3atUvz58/XG2+8oRo1apxzfHfffbdmzpypL774QtnZ2d759evXV3R0tF5//XXFx8dr//79Gj58uM97Y2JiVLt2bWVmZqphw4YKDQ094yfGP9U/gOrHGRTgIjVhwgT16tVL/fr1U+vWrbVr1y4tX75c9evX91nnscceU5s2bVRQUKDFixf7nKEYOHCgkpOT1aVLFzVt2lTTp0+XJCUkJGjNmjUqLy9X586d1bJlSw0ePFiRkZEKCvrpw05GRoa2bt2qSy+91Oc6kaCgIM2fP195eXlq0aKFHn/8cb3wwgs+7w0ODtaUKVP02muvKSEhQT179rzg/gFUH48x3FoRAADYhTMoAADAOgQUAABgHQIKAACwDgEFAABYh4ACAACsQ0ABAADWIaAAAADrEFAAAIB1CCgAAMA6BBQAAGAdAgoAALAOAQUAAFjn/wC95Qx9K6Qn8QAAAABJRU5ErkJggg==\n" + }, + "metadata": {} + } + ], + "source": [ + "# your code here\n", + "df = pd.read_csv('ages_population2.csv')\n", + "df.value_counts().sort_index().plot(kind='bar')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "U10mHjGVwDwx" + }, + "source": [ + "#### 4.- What do you see? Is there any difference with the frequency distribution in step 1?" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "fqbqK6yHwDwx" + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "there`s definitely a difference, but in general he plots are showing the same normal distribution\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "Cv5g7IKKwDwy" + }, + "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": 106, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YqoYfB5cwDwy", + "outputId": "472c7a08-75ff-4dcf-eca0-bd45910253c7" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "mean_df is observation 27.155\n", + "dtype: float64\n", + "std_df is observation 2.969814\n", + "dtype: float64\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_df = df.mean()\n", + "std_df = df.std()\n", + "print('mean_df is', mean_df)\n", + "print('std_df is', std_df)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "pm8coW5LwDwy" + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "so, here people are 10 years younger and the age gap is much smaller\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "YXfV9TlqwDwy" + }, + "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": 107, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/", + "height": 499 + }, + "id": "wS-pm2Z9wDwy", + "outputId": "d7056d7b-314a-4369-b1f8-e365c965c227" + }, + "outputs": [ + { + "output_type": "execute_result", + "data": { + "text/plain": [ + "" + ] + }, + "metadata": {}, + "execution_count": 107 + }, + { + "output_type": "display_data", + "data": { + "text/plain": [ + "
" + ], + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiMAAAHRCAYAAAC4mLk+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAABTI0lEQVR4nO3deVyU5fo/8M8My7CD7KDgCoIBiqiIK7mA6DEzyiXLLLM8R8ulMumkpV9LW205at/MML/pwUqtrNRcUI/7kiZo4p64oamAK6Jcvz/8zXMcZ5EZB54RP+/Xa17Cfc99z/Vc83DP5Sz3aEREQERERKQSrdoBEBER0f2NxQgRERGpisUIERERqYrFCBEREamKxQgRERGpisUIERERqYrFCBEREamKxQgRERGpylntAG5XUVGBEydOwNvbGxqNRu1wiIiIqBJEBBcuXEB4eDi0Wuue63C4YuTEiROIiIhQOwwiIiKyQWFhIerUqWPVGIcrRry9vQHcPBgfHx+VoyEiIqLKKC0tRUREhPI4bg2HK0b0L834+PiwGCEiIrrH2PIWC76BlYiIiFTFYoSIiIhUxWKEiIiIVMVihIiIiFTFYoSIiIhUxWKEiIiIVMVihIiIiFTFYoSIiIhUxWKEiIiIVMVihIiIiFTFYoSIiIhUxWKEiIiIVMVihIiIiFTFYoSIiIhUxWKEiIiIVOWsdgBEZFq9sT8rPx+Z0kPFSIiIqhafGSEiIiJVsRghIiIiVbEYISIiIlWxGCEiIiJVsRghIiIiVbEYISIiIlWxGCEiIiJVsRghIiIiVbEYISIiIlWxGCEiIiJVsRghIiIiVbEYISIiIlWxGCEiIiJVWVWMzJgxAwkJCfDx8YGPjw9SUlKwZMkSpT81NRUajcbgMnToULsHTURERDWHszVXrlOnDqZMmYKoqCiICL766iv06tULO3bswAMPPAAAGDJkCCZOnKiM8fDwsG/EREREVKNYVYz07NnT4Pe33noLM2bMwKZNm5RixMPDA6GhofaLkIiIiGo0m98zcuPGDeTk5ODSpUtISUlR2ufOnYvAwEDExcUhKysLly9ftkugREREVDNZ9cwIAOTl5SElJQVXr16Fl5cXFi1ahCZNmgAAHn/8cdStWxfh4eHYtWsXXn31VRQUFGDhwoVm5ysrK0NZWZnye2lpqQ2HQURERPcqq4uRxo0bY+fOnSgpKcF3332Hp556CmvWrEGTJk3w3HPPKdeLj49HWFgYOnfujIMHD6Jhw4Ym55s8eTImTJhg+xEQERHRPc3ql2lcXV3RqFEjJCUlYfLkyWjatCk+/vhjk9dNTk4GABw4cMDsfFlZWSgpKVEuhYWF1oZERERE9zCrnxm5XUVFhcHLLLfauXMnACAsLMzseJ1OB51Od7dhEBER0T3KqmIkKysLGRkZiIyMxIULFzBv3jysXr0ay5Ytw8GDBzFv3jx0794dAQEB2LVrF0aNGoUOHTogISGhquInIiKie5xVxcjp06cxcOBAnDx5Er6+vkhISMCyZcvQtWtXFBYWYsWKFfjoo49w6dIlREREIDMzE6+//npVxU5EREQ1gFXFyKxZs8z2RUREYM2aNXcdEBEREd1f+N00REREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqZ7UDIKLqUW/sz8rPR6b0qLIxRETW4jMjREREpCoWI0RERKQqFiNERESkKhYjREREpCqripEZM2YgISEBPj4+8PHxQUpKCpYsWaL0X716FcOGDUNAQAC8vLyQmZmJoqIiuwdNRERENYdVxUidOnUwZcoUbN++Hdu2bUOnTp3Qq1cv7N69GwAwatQoLF68GN9++y3WrFmDEydO4JFHHqmSwImIiKhmsOqjvT179jT4/a233sKMGTOwadMm1KlTB7NmzcK8efPQqVMnAEB2djZiY2OxadMmtG7d2n5RExERUY1h83tGbty4gZycHFy6dAkpKSnYvn07ysvL0aVLF+U6MTExiIyMxMaNG83OU1ZWhtLSUoMLERER3T+sLkby8vLg5eUFnU6HoUOHYtGiRWjSpAlOnToFV1dX+Pn5GVw/JCQEp06dMjvf5MmT4evrq1wiIiKsPggiIiK6d1ldjDRu3Bg7d+7E5s2b8fe//x1P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0tLS8D//8z989oOIiIhMsroYSU1NhYiY7V+2bNldBURERET3F343DREREamKxQgRERGpisUIERERqarKP9pLZAo3GqLKup/OlVuPFaj88d5POaKaic+MEBERkapYjBAREZGqWIwQERGRqliMEBERkapYjBAREZGqWIwQERGRqliMEBERkapYjBAREZGqWIwQERGRqrgDKxHRfYi7tpIj4TMjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqbnpGd42bJxGRIzC3Ft3afnsfOQY+M0JERESqYjFCREREqmIxQkRERKpiMUJERESqYjFCREREqmIxQkRERKpiMUJERESqYjFCREREqmIxQkRERKriDqxUZWzd9ZC7KBIR3XS/7HDNZ0aIiIhIVSxGiIiISFUsRoiIiEhVLEaIiIhIVVYXI2vXrkXPnj0RHh4OjUaD77//3qBfRDB+/HiEhYXB3d0dXbp0wf79++0VLxEREdUwVhcjly5dQtOmTTFt2jST/e+++y4++eQTfPbZZ9i8eTM8PT2Rnp6Oq1ev3nWwREREVPNY/dHejIwMZGRkmOwTEXz00Ud4/fXX0atXLwDAnDlzEBISgu+//x79+vW7u2iJiIioxrHre0YOHz6MU6dOoUuXLkqbr68vkpOTsXHjRpNjysrKUFpaanAhIiKi+4ddNz07deoUACAkJMSgPSQkROm73eTJkzFhwgR7hkF34X7ZYIeIzOM6QNVN9U/TZGVloaSkRLkUFhaqHRIRERFVI7sWI6GhoQCAoqIig/aioiKl73Y6nQ4+Pj4GFyIiIrp/2LUYqV+/PkJDQ7Fy5UqlrbS0FJs3b0ZKSoo9b4qIiIhqCKvfM3Lx4kUcOHBA+f3w4cPYuXMn/P39ERkZiZEjR2LSpEmIiopC/fr1MW7cOISHh+Phhx+2Z9xERERUQ1hdjGzbtg0PPvig8vvo0aMBAE899RRmz56NMWPG4NKlS3juuedQXFyMdu3aYenSpXBzc7Nf1ERERFRjWF2MpKamQkTM9ms0GkycOBETJ068q8CIiIjo/qD6p2mIiIjo/sZihIiIiFTFYoSIiIhUZdcdWOneYMvuireOsWYcEamHf7d0r+AzI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKm56VkNxsyMisjdumOg4alpe+cwIERERqYrFCBEREamKxQgRERGpisUIERERqYrFCBEREamKxQgRERGpisUIERERqYrFCBEREamKxQgRERGpisUIERERqYrFCBEREamKxQgRERGpisUIERERqYrFCBEREamKxQgRERGpisUIERERqYrFCBEREamKxQgRERGpisUIERERqcpZ7QCIiOjeV2/sz8rPR6b0uOsxtsxHN92LeeUzI0RERKQqFiNERESkKhYjREREpCoWI0RERKQquxcjb775JjQajcElJibG3jdDRERENUSVfJrmgQcewIoVK/57I8780A4RERGZViVVgrOzM0JDQ6tiaiIiIqphquQ9I/v370d4eDgaNGiAAQMG4OjRo2avW1ZWhtLSUoMLERER3T/sXowkJydj9uzZWLp0KWbMmIHDhw+jffv2uHDhgsnrT548Gb6+vsolIiLC3iHVaPXG/qxciIiI7kV2L0YyMjLw2GOPISEhAenp6fjll19QXFyMb775xuT1s7KyUFJSolwKCwvtHRIRERE5sCp/Z6mfnx+io6Nx4MABk/06nQ46na6qwyAiIiIHVeX7jFy8eBEHDx5EWFhYVd8UERER3YPsXoy8/PLLWLNmDY4cOYINGzagd+/ecHJyQv/+/e19U0RERFQD2P1lmmPHjqF///44e/YsgoKC0K5dO2zatAlBQUH2vikiIiKqAexejOTk5Nh7SiIiIqrB+N00REREpCoWI0RERKQqFiNERESkKn6DnQO5dRfVI1N6qBgJERFR9eEzI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKhYjREREpCoWI0RERKQqFiNERESkKm56RkRE9wxuDlkz8ZkRIiIiUhWLESIiIlIVixEiIiJSFYsRIiIiUhWLESIiIlIVixEiIiJSFYsRIiIiUhWLESIiIlIVixEiIiJS1T27A6u5Xfhubb+9r7pYisGW3QO54yAREVWlu31sAoBdr7W3+fb5zAgRERGpisUIERERqYrFCBEREamKxQgRERGpisUIERERqYrFCBEREamKxQgRERGpisUIERERqcqhNz2z92ZftmyUZikGbkZGREQ1XXU81vGZESIiIlIVixEiIiJSFYsRIiIiUhWLESIiIlJVlRUj06ZNQ716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\n" + }, + "metadata": {} + } + ], + "source": [ + "# your code here\n", + "df = pd.read_csv('ages_population3.csv')\n", + "df.value_counts().sort_index().plot(kind='bar')" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "gVV7vXwwwDwy" + }, + "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": 108, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "Srcjp9CSwDwz", + "outputId": "0f4a3b3c-f107-47aa-b3c9-2b7fbcd57e77" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "mean_df is observation 41.989\n", + "dtype: float64\n", + "std_df is observation 16.144706\n", + "dtype: float64\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_df = df.mean()\n", + "std_df = df.std()\n", + "print('mean_df is', mean_df)\n", + "print('std_df is', std_df)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "P91zwiYUwDwz" + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "people here are much older! Almost 42 years average!\n", + "POpulation is geting older which I`d say is bad for the countrey`s economy and societyю\n", + "Also, the std shows us a huge gap of 16 years between reponses, which indicates a highly diverse age group. \"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "UYzgAUOiwDwz" + }, + "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": 113, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "4IWgZtfLwDwz", + "outputId": "cdaf7c85-4f34-4cb0-e32c-21f56897b7e7" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "Q1: observation 30.0\n", + "Name: 0.25, dtype: float64\n", + "Q2: observation 40.0\n", + "Name: 0.5, dtype: float64\n", + "Q3: observation 53.0\n", + "Name: 0.75, dtype: float64\n", + "Q4: observation 77.0\n", + "Name: 1.0, dtype: float64\n", + "Mean: observation 41.989\n", + "dtype: float64\n", + "Difference between median and mean: observation 1.989\n", + "dtype: float64\n" + ] + } + ], + "source": [ + "# your code here\n", + "# Calculate quartiles\n", + "q1 = df.quantile(0.25)\n", + "q2 = df.quantile(0.5) # Median\n", + "q3 = df.quantile(0.75)\n", + "q4 = df.quantile(1)\n", + "\n", + "# Calculate mean\n", + "mean = df.mean()\n", + "\n", + "# Print the results\n", + "print(f\"Q1: {q1}\")\n", + "print(f\"Q2: {q2}\")\n", + "print(f\"Q3: {q3}\")\n", + "print(f\"Q4: {q4}\")\n", + "\n", + "print(f\"Mean: {mean}\")\n", + "\n", + "# Calculate the difference between median and mean\n", + "difference = mean - q2\n", + "print(f\"Difference between median and mean: {difference}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "gdnCmgECwDwz" + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "the difference = 1.989, which skews our data to the right, positively.\n", + "Q2 is 40 and mean is 42 which is quite close. \"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "d9Q-sPKFwDwz" + }, + "source": [ + "#### 4.- Calculate other percentiles that might be useful to give more arguments to your reasoning." + ] + }, + { + "cell_type": "code", + "execution_count": 114, + "metadata": { + "colab": { + "base_uri": "https://localhost:8080/" + }, + "id": "YnUe2IjBwDwz", + "outputId": "6b70d3d3-96e4-420e-9cee-6c48c16c6e16" + }, + "outputs": [ + { + "output_type": "stream", + "name": "stdout", + "text": [ + "90th percentile: observation 67.0\n", + "Name: 0.9, dtype: float64\n" + ] + } + ], + "source": [ + "# your code here\n", + "# Calculate the 90th percentile\n", + "percentile_90 = df.quantile(0.9)\n", + "\n", + "# Print the result\n", + "print(f\"90th percentile: {percentile_90}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "hlVWgYdZwDw0" + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Q4 is 77, but the 0.9 percentile is only 67m which gives us a gap of 10 years for 10% of respondents!\n", + "I guess we should consider people older that 67 outliers\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": { + "id": "GrEHKZmFwDw0" + }, + "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": { + "id": "cv_XJCi_wDw0" + }, + "outputs": [], + "source": [ + "# your code here\n", + "\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": { + "id": "LPohCH-mwDw0" + }, + "outputs": [], + "source": [ + "\"\"\"\n", + "Possible Interpretations:\n", + "\n", + "Dataset 2: This dataset might represent a specific age group, such as young adults or university students, due to its low mean and small standard deviation.\n", + "\n", + "Dataset 3: This dataset could represent a broader population sample, possibly including multiple generations, as indicated by its higher mean and larger standard deviation.\n", + "\n", + "Dataset 1: This dataset might represent a more focused age group with a moderate level of diversity, such as employees within a company or members of a particular community.\n", + "\n", + "Conclusion:\n", + "\n", + "The analysis reveals significant differences in the age distributions across the three datasets.\n", + "Dataset 2 represents a younger and more homogeneous age group, while Dataset 3 represents a more diverse and potentially older population.\n", + "Dataset 1 falls in between, with a moderate level of age diversity.\"\"\"" + ] + } + ], + "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" + }, + "colab": { + "provenance": [] + } + }, + "nbformat": 4, + "nbformat_minor": 0 +} \ No newline at end of file