diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..4ccfd6d Binary files /dev/null and b/.DS_Store differ diff --git a/your-code/.ipynb_checkpoints/main-checkpoint.ipynb b/your-code/.ipynb_checkpoints/main-checkpoint.ipynb new file mode 100644 index 0000000..d1231be --- /dev/null +++ b/your-code/.ipynb_checkpoints/main-checkpoint.ipynb @@ -0,0 +1,1217 @@ +{ + "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": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Rolls Results\n", + "0 1 1\n", + "1 2 5\n", + "2 3 3\n", + "3 4 2\n", + "4 5 3\n", + "5 6 6\n", + "6 7 1\n", + "7 8 2\n", + "8 9 2\n", + "9 10 5\n" + ] + } + ], + "source": [ + "# your code here\n", + "from random import choices\n", + "dice=[1,2,3,4,5,6]\n", + "def rolling_dice(number):\n", + " # reat empty list\n", + " results = []\n", + "\n", + " # Simulate rolling the die num_rolls times\n", + " for _ in range(1,number+1):\n", + " roll = choices(dice,k=1) # Simulate a roll between 1 and 6\n", + " results.append(roll)\n", + "\n", + " # transform list to dataframe\n", + " results_df = pd.DataFrame(results,index=range(1, number+1),columns=[\"Results\"])\n", + "\n", + " return results_df\n", + "\n", + "# Call the function to simulate rolling the dice 10 times\n", + "rolls_store = rolling_dice(10)\n", + "#transform index columns to normal columns\n", + "rolls_store = rolls_store.rename_axis('Rolls').reset_index()\n", + "# Display the DataFrame\n", + "print(rolls_store)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHFCAYAAADcytJ5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsw0lEQVR4nO3deXgUVb7G8bdJIJtJAxkgKxBFZV8UGQVBIssVRMUQR1QUkUdFWQ2OkBkFLo5E0FHkIlxhvCByERwmIC6gDvsWjWwyKptECZi4m45RI+nU/aMvPTQJkI5J6iT9/TxPPUmdPl39665015uqU9UOy7IsAQAAGKie3QUAAACcDUEFAAAYi6ACAACMRVABAADGIqgAAABjEVQAAICxCCoAAMBYBBUAAGAsggoAADAWQQWoQosXL5bD4fBOwcHBio2N1dChQ3X48GHb6po2bZocDodtj19Rp16/zz77zNvWu3dv9e7d27aaKqu8uh0Oh6ZNm+ad37RpkxwOhzZt2lSjtQG1SbDdBQB10aJFi9S6dWv98ssv2r59u5544glt3LhRBw4cUKNGjewur1aZN2+e3SVUm8suu0w7d+5U27Zt7S4FMBZBBagG7du3V9euXSV5/rN2u92aOnWqVq9erREjRthcXe1iykb8p59+Unh4eJUuMyoqSldeeWWVLhOoazj0A9SAU6Hlyy+/9Lb98ssvmjhxojp37iyn06nGjRvrqquu0muvvVbm/g6HQ2PGjNHLL7+sNm3aKDw8XJ06ddIbb7xRpu+bb76pzp07KyQkRElJSXr66afLremXX35Renq6kpKS1KBBA8XHx2v06NH64YcffPq1bNlSgwYN0htvvKEuXbooLCxMbdq08T724sWL1aZNG0VERKhbt2764IMPKvSaZGVlqUePHgoNDVVcXJzS09N18uTJMv3KO4RSXFys6dOnq02bNgoNDVV0dLSSk5O1Y8cObx/LsjRv3jx17txZYWFhatSokVJTU3X06NHz1nbqUNnu3buVmpqqRo0a6aKLLvLrdauI8g793H333brgggt05MgRDRw4UBdccIESExM1ceJEFRcX+9z/+PHjSk1NVWRkpBo2bKg77rhD2dnZcjgcWrx4sd/1ACZijwpQA3JyciRJl1xyibetuLhY3333nR5++GHFx8fr119/1T//+U+lpKRo0aJFuuuuu3yW8eabbyo7O1vTp0/XBRdcoFmzZunmm2/WwYMHdeGFF0qS1q9fr5tuuklXXXWVli9fLrfbrVmzZvkEJMmzER88eLDWr1+v9PR09ezZUx9++KGmTp2qnTt3aufOnQoJCfH237dvn9LT0/XnP/9ZTqdT//mf/6mUlBSlp6dr/fr1mjFjhhwOhyZNmqRBgwYpJydHYWFhZ309Pv74Y/Xp00ctW7bU4sWLFR4ernnz5mnZsmXnfS1LSko0YMAAbd26VRMmTNC1116rkpISZWVl6dixY+revbsk6f7779fixYs1btw4zZw5U999952mT5+u7t27a9++fWrWrNl5HyslJUVDhw7VqFGjVFRU5PfrVlknT57UjTfeqJEjR2rixInasmWLHn/8cTmdTk2ZMkWSVFRUpOTkZH333XeaOXOmWrVqpXXr1unWW2/9zY8PGMUCUGUWLVpkSbKysrKskydPWoWFhda6deusmJgYq1evXtbJkyfPet+SkhLr5MmT1siRI60uXbr43CbJatasmeVyubxt+fn5Vr169ayMjAxv2+9//3srLi7O+vnnn71tLpfLaty4sXX6233dunWWJGvWrFk+j7NixQpLkrVgwQJvW4sWLaywsDDr+PHj3ra9e/dakqzY2FirqKjI27569WpLkrVmzZpzvk633nqrFRYWZuXn5/s8/9atW1uSrJycHG/7NddcY11zzTXe+SVLlliSrIULF551+Tt37rQkWX/961992nNzc62wsDDrkUceOWd9U6dOtSRZU6ZM8Wn353U7s27L8qzHqVOneuc3btxoSbI2btzobRs+fLglyXr11Vd97jtw4EDr0ksv9c4///zzliRr7dq1Pv3uv/9+S5K1aNGicz5HoLbg0A9QDa688krVr19fkZGRuu6669SoUSO99tprCg723Yn597//XT169NAFF1yg4OBg1a9fXy+++KI++eSTMstMTk5WZGSkd75Zs2Zq2rSpPv/8c0me/7Czs7OVkpKi0NBQb7/IyEjdcMMNPsvasGGDJM9hhtPdcsstioiI0Pr1633aO3furPj4eO98mzZtJHkOy5w+buNU+6mazmbjxo3q06ePz16NoKCgCu0NWLt2rUJDQ3XPPfectc8bb7whh8OhYcOGqaSkxDvFxMSoU6dOFT7LZsiQIT7z/r5uleVwOMqss44dO/q8rps3b/b+fZ3utttuq5IaAFMQVIBqsGTJEmVnZ2vDhg26//779cknn5TZgGRmZuoPf/iD4uPjtXTpUu3cuVPZ2dm655579Msvv5RZZnR0dJm2kJAQ/fzzz5Kk77//XqWlpYqJiSnT78y2b7/9VsHBwWrSpIlPu8PhUExMjL799luf9saNG/vMN2jQ4Jzt5dV/5uNXpM7yfP3114qLi1O9emf/+Pryyy9lWZaaNWum+vXr+0xZWVn65ptvzvs4khQbG1umbn9et8oKDw/3CZuSZ12f/rp+++235R6+qsghLaA2YYwKUA3atGnjHUCbnJwst9utv/3tb1q5cqVSU1MlSUuXLlVSUpJWrFjhc42TMwdMVlSjRo3kcDiUn59f5rYz26Kjo1VSUqKvv/7aZ6NrWZby8/N1xRVXVKqGioqOjq5QneVp0qSJtm3bptLS0rOGld/97ndyOBzaunVruWNGKjqO5Mxrz9j9up1Zy/vvv1+mvSKvIVCbsEcFqAGzZs1So0aNNGXKFJWWlkrybAQbNGjgszHMz88v96yfijh11k1mZqbPf96FhYV6/fXXffr26dNHkicsne4f//iHioqKvLdXl+TkZK1fv95nkK/b7daKFSvOe98BAwbol19+OedZLYMGDZJlWTpx4oS6du1aZurQoUOl6rb7dTvdNddco8LCQq1du9anffny5TVWA1AT2KMC1IBGjRopPT1djzzyiJYtW6Zhw4Zp0KBByszM1IMPPqjU1FTl5ubq8ccfV2xsbKWvYvv444/ruuuuU79+/TRx4kS53W7NnDlTERER+u6777z9+vXrp//4j//QpEmT5HK51KNHD+/ZK126dNGdd95ZVU+9XI8++qjWrFmja6+9VlOmTFF4eLief/55FRUVnfe+t912mxYtWqRRo0bp4MGDSk5OVmlpqd577z21adNGQ4cOVY8ePXTfffdpxIgR+uCDD9SrVy9FREQoLy9P27ZtU4cOHfTAAw/4Xbfdr9vphg8frmeffVbDhg3TX/7yF7Vq1Upr167V22+/LUnnPDQG1Cb8JQM1ZOzYsWrevLmmT58ut9utESNG6Mknn9TatWs1cOBAzZw5U5MnT9btt99e6cfo16+fVq9eLZfLpVtvvVVpaWkaMmRImYGnDodDq1evVlpamhYtWqSBAwfq6aef1p133qkNGzZUySm259K+fXv985//VFRUlIYP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9x4Vk7BHBQCA2qda96hMnz79nLdPmTLF30UCAACUy++gsmrVKp/5kydPKicnR8HBwbrooosIKgAAoMr4HVT27NlTps3lcunuu+/WzTffXCVFAQAASFX0pYRRUVGaPn26HnvssapYHAAAgKQq/PbkH374QQUFBVW1OAAAAP8P/cyZM8dn3rIs5eXl6eWXX9Z1111XZYUBAAD4HVSeffZZn/l69eqpSZMmGj58uF/fngwAAHA+fgeVnJyc6qgDAACgjCobowIAAFDVKrRHJSUlpcILzMzMrHQxAAAAp6tQUHE6ndVdBwAAQBkVCiqLFi2q7joAAADKYIwKAAAwlt9n/UjSypUr9eqrr+rYsWP69ddffW7bvXt3lRQGAADg9x6VOXPmaMSIEWratKn27Nmjbt26KTo6WkePHtWAAQOqo0YAABCg/A4q8+bN04IFCzR37lw1aNBAjzzyiN59912NGzeOS+gDAIAq5XdQOXbsmLp37y5JCgsLU2FhoSTpzjvv1CuvvFK11QEAgIDmd1CJiYnRt99+K0lq0aKFsrKyJHmuWGtZVtVWBwAAAprfQeXaa6/V66+/LkkaOXKkHnroIfXr10+33nqrbr755iovEAAABC6H5edukNLSUpWWlio42HPC0Kuvvqpt27apVatWGjVqlBo0aFAthZbH5XLJ6XSqoKBAUVFRNfa4AACg8vzZfvsdVExCUAEAoPbxZ/vt96GfpKQkPfbYYzpw4EClCwQAAKgIv4PK2LFjtW7dOrVt21aXX365Zs+erby8vOqoDQAABDi/g0paWpqys7N14MABDRo0SPPnz1fz5s3Vv39/LVmypDpqBAAAAapKxqhkZWXpgQce0Icffii3210VdVUIY1QAAKh9/Nl+V+q7fk55//33tWzZMq1YsUIFBQVKTU39LYsDAADw4XdQOXTokP73f/9Xy5Yt02effabk5GQ9+eSTSklJUWRkZHXUCAAAApTfQaV169bq2rWrRo8eraFDhyomJqY66gIAAPA/qBw4cECXXHJJddQCAADgw++zfggpAACgpvgdVAAAAGoKQQUAABiLoAIAAIxV6aDy66+/6uDBgyopKanKegAAALz8Dio//fSTRo4cqfDwcLVr107Hjh2TJI0bN05PPvlklRcIAAACl99BJT09Xfv27dOmTZsUGhrqbe/bt69WrFhRpcUBAIDA5vd1VFavXq0VK1boyiuvlMPh8La3bdtWn376aZUWBwAAApvfe1S+/vprNW3atEx7UVGRT3ABAAD4rfwOKldccYXefPNN7/ypcLJw4UJdddVVVVcZAAAIeH4f+snIyNB1112njz/+WCUlJXruuef00UcfaefOndq8eXN11AgAAAKU33tUunfvru3bt+unn37SRRddpHfeeUfNmjXTzp07dfnll1dHjQAAIEA5LMuy7C6islwul5xOpwoKChQVFWV3OQAAoAL82X77vUflrbfe0ttvv12m/e2339batWv9XRwAAMBZ+R1UJk+eLLfbXabdsixNnjy5SooCAACQKhFUDh8+rLZt25Zpb926tY4cOVIlRQEAAEiVCCpOp1NHjx4t037kyBFFRERUSVEAAABSJYLKjTfeqAkTJvhchfbIkSOaOHGibrzxxiotDgAABDa/g8pTTz2liIgItW7dWklJSUpKSlKbNm0UHR2tp59+ujpqBAAAAcrvC745nU7t2LFD7777rvbt26ewsDB17NhRvXr1qo76AABAAOM6KgAAoEb5s/2u0B6VOXPm6L777lNoaKjmzJlzzr7jxo2reKUAAADnUKE9KklJSfrggw8UHR2tpKSksy/M4Sj3jKDqwh4VAABqnyrfo5KTk1Pu7wAAANXJ77N+AAAAakqF9qikpaVVeIHPPPNMhfvOnz9f8+fP12effSZJateunaZMmaIBAwZUeBkIAG63tHWrlJcnxcZKPXtKQUF2VxW4WB8AalCFgsqePXt85nft2iW3261LL71UknTo0CEFBQXp8ssv9+vBExIS9OSTT6pVq1aSpJdeekk33XST9uzZo3bt2vm1LNRRmZnS+PHS8eP/bktIkJ57TkpJsa+uQMX6AFDD/D49+ZlnntGmTZv00ksvqVGjRpKk77//XiNGjFDPnj01ceLE31RQ48aN9dRTT2nkyJHn7ctg2jouM1NKTZXO/BN1ODw/V65k41iTWB8Aqog/22+/g0p8fLzeeeedMns8/vWvf6l///764osv/K9Yktvt1t///ncNHz5ce/bsKfeLD89EUKnD3G6pZUvf/9xP53B4/pPPyeGwQ01gfQCoQv5sv/0eTOtyufTll1+Waf/qq69UWFjo7+K0f/9+XXDBBQoJCdGoUaO0atWqs4aU4uJiuVwunwl11NatZ98oSp7/6nNzPf1Q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gPXjjz/qsssu07x58/SXv/xFnTt31uzZs+0uKyBNnjxZ27dv19atW+0uBZIGDRqkZs2a6cUXX/S2DRkyROHh4Xr55ZdtrCzwOBwOrVq1SoMHD5bk2ZsSFxenCRMmaNKkSZKk4uJiNWvWTDNnztT9999f7TWxRyUAFBQUSJIaN25scyWBbfTo0br++uvVt29fu0sJeGvWrFHXrl11yy23qGnTpurSpYsWLlxod1kB6+qrr9b69et16NAhSdK+ffu0bds2DRw40ObKkJOTo/z8fPXv39/bFhISomuuuUY7duyokRpq9ZcS4vwsy1JaWpquvvpqtW/f3u5yAtby5cu1e/duZWdn210KJB09elTz589XWlqa/vSnP+n999/XuHHjFBISorvuusvu8gLOpEmTVFBQoNatWysoKEhut1tPPPGEbrvtNrtLC3j5+fmSpGbNmvm0N2vWTJ9//nmN1EBQqePGjBmjDz/8UNu2bbO7lICVm5ur8ePH65133lFoaKjd5UBSaWmpunbtqhkzZkiSunTpoo8++kjz588nqNhgxYoVWrp0qZYtW6Z27dpp7969mjBhguLi4jR8+HC7y4M8h4ROZ1lWmbbqQlCpw8aOHas1a9Zoy5YtSkhIsLucgLVr1y599dVXuvzyy71tbrdbW7Zs0dy5c1VcXKygoCAbKww8sbGxatu2rU9bmzZt9I9//MOmigLbH//4R02ePFlDhw6VJHXo0EGff/65MjIyCCo2i4mJkeTZsxIbG+tt/+qrr8rsZakujFGpgyzL0pgxY5SZmakNGzYoKSnJ7pICWp8+fbR//37t3bvXO3Xt2lV33HGH9u7dS0ixQY8ePcqcsn/o0CG1aNHCpooC208//aR69Xw3R0FBQZyebICkpCTFxMTo3Xff9bb9+uuv2rx5s7p3714jNbBHpQ4aPXq0li1bptdee02RkZHeY4xOp1NhYWE2Vxd4IiMjy4wPioiIUHR0NOOGbPLQQw+pe/fumjFjhv7whz/o/fff14IFC7RgwQK7SwtIN9xwg5544gk1b95c7dq10549e/TMM8/onnvusbu0gPDjjz/qyJEj3vmcnBzt3btXjRs3VvPmzTVhwgTNmDFDF198sS6++GLNmDFD4eHhuv3222umQAt1jqRyp0WLFtldGv7fNddcY40fP97uMgLa66+/brVv394KCQmxWrdubS1YsMDukgKWy+Wyxo8fbzVv3twKDQ21LrzwQuvPf/6zVVxcbHdpAWHjxo3lbjOGDx9uWZZllZaWWlOnTrViYmKskJAQq1evXtb+/ftrrD6uowIAAIzFGBUAAGAsggoAADAWQQUAABiLoAIAAIxFUAEAAMYiqAAAAGMRVAAAgLEIKgCM1bt3b02YMME737JlS82ePdu2egDUPIIKAAAwFkEFgC1+/fVXu0sAUAsQVADUiN69e2vMmDFKS0vT7373O/Xr10+bN29Wt27dFBISotjYWE2ePFklJSUVXua0adPUvHlzhYSEKC4uTuPGjavGZwDADnx7MoAa89JLL+mBBx7Q9u3b9c0336h///66++67tWTJEh04cED33nuvQkNDNW3atPMua+XKlXr22We1fPlytWvXTvn5+dq3b1/1PwkANYqgAqDGtGrVSrNmzZIkLVmyRImJiZo7d64cDodat26tL774QpMmTdKUKVNUr965d/geO3ZMMTEx6tu3r+rXr6/mzZurW7duNfE0ANQgDv0AqDFdu3b1/v7JJ5/oqquuksPh8Lb16NFDP/74o44fP37eZd1yyy36+eefdeGFF+ree+/VqlWr/DpsBKB2IKgAqDERERHe3y3L8gkpp9oklWkvT2Jiog4ePKjnn39eYWFhevDBB9WrVy+dPHmyaosGYCuCCgBbtG3bVjt27PCGE0nasWOHIiMjFR8fX6FlhIWF6cYbb9ScOXO0adMm7dy5U/v376+ukgHYgKACwBYPPvigcnNzNXbsWB04cECvvfaapk6dqrS0tPOOT5GkxYsX68UXX9S//vUvHT16VC+//LLCwsLUokWLGqgeQE1hMC0AW8THx+utt97SH//4R3Xq1EmNGzfWyJEj9eijj1bo/g0bNtSTTz6ptLQ0ud1udejQQa+//rqio6OruXIANclhnb7fFQAAwCAc+gEAAMYiqAAAAGMRVAAAgLEIKgAAwFgEFQAAYCyCCgAAMBZBBQAAGIugAgAAjEVQAQAAxiKoAAAAYxFUAACAsQgqAADAWP8HWaRSYmEEvd0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "\n", + "plt.scatter(rolls_store[\"Rolls\"],rolls_store[\"Results\"],color=\"red\")\n", + "# Add labels \n", + "plt.xlabel('rolls')\n", + "plt.ylabel('dice value')\n", + "plt.title('Random dice rolling ')\n", + "\n", + "# Show the plot\n", + "plt.show()\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": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Frequency Distribution')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA2l0lEQVR4nO3de1xVdb7/8fdOboKAgnJLVPIuXpOavGskKkbeOkdPFzW1xtHygjyc0c6M2nhCR/OYXTRLMXMsKzR1vKSpaE10EhVvmZdEUILwUqKYILB+f/Rw/9qCCFt0b5av5+Ox/ljf9V1rfdbaNL7nu75rb4thGIYAAABM4j5HFwAAAFCZCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDfAHbRs2TJZLJZSl7i4OEeXZyo33msPDw8FBQWpR48eio+PV05OTol9pk+fLovFUqHzXLlyRdOnT1dSUlKF9ivtXA0aNNDjjz9eoePcysqVKzV//vxSt1ksFk2fPr1Szwc4IxdHFwDcCxISEtSsWTObtpCQEAdVY27X7/W1a9eUk5Ojr776SrNnz9bcuXO1atUqPfbYY9a+o0aNUu/evSt0/CtXrmjGjBmSpO7du5d7P3vOZY+VK1fq0KFDmjBhQoltycnJqlu37h2vAXA0wg1wF7Rs2VIRERHl6nvt2jVZLBa5uPCfpz1uvNeDBg3SxIkT1blzZw0cOFDHjx9XYGCgJKlu3bp3/B/7K1euyNPT866c61YeeeQRh54fuFt4LAU4UFJSkiwWiz744ANNmjRJ999/v9zd3XXixAlJ0hdffKHIyEj5+PjI09NTnTp10rZt20ocZ8OGDWrbtq3c3d0VFhamuXPnlngMcurUKVksFi1btqzE/qU9rjh+/LieeuopBQQEyN3dXc2bN9dbb71Vav0ffvihXn75ZYWEhMjHx0ePPfaYjh49WuI8mzdvVmRkpHx9feXp6anmzZsrPj5ekvTBBx/IYrEoOTm5xH6vvPKKXF1d9eOPP97ynpamXr16eu2113Tp0iW988471vbSHhVt375d3bt3l7+/v6pXr6569epp0KBBunLlik6dOqU6depIkmbMmGF9BDZ8+HCb4+3du1dPPvmkatWqpYYNG970XNetWbNGrVu3loeHhx544AEtWLDAZvv1R26nTp2yab9+/68/Iuvevbs2bNig9PR0m0d015X2OR86dEj9+vVTrVq15OHhobZt2+r9998v9Tzl/ZwBRyPcAHdBUVGRCgsLbZbfmzJlijIyMrRo0SKtX79eAQEBWrFihaKiouTj46P3339fH3/8sfz8/NSrVy+bgLNt2zb169dP3t7e+uijjzRnzhx9/PHHSkhIsLve7777Tg899JAOHTqk1157Tf/617/Ut29fjRs3zvpI5vemTp2q9PR0vffee1q8eLGOHz+umJgYFRUVWfssWbJE0dHRKi4utl7nuHHjdObMGUnS4MGDFRQUVCJAFRYW6p133tGAAQNu61FedHS0qlWrpl27dt20z6lTp9S3b1+5ublp6dKl2rx5s2bNmiUvLy8VFBQoODhYmzdvliSNHDlSycnJSk5O1l//+leb4wwcOFCNGjXSJ598okWLFpVZV2pqqiZMmKCJEydqzZo16tixo8aPH6+5c+dW+BrffvttderUSUFBQdbaSguL1x09elQdO3bU4cOHtWDBAq1evVotWrTQ8OHD9Y9//KNE//J8zoBTMADcMQkJCYakUpdr164ZO3bsMCQZXbt2tdkvLy/P8PPzM2JiYmzai4qKjDZt2hgPP/ywte0Pf/iDERISYvz666/WttzcXMPPz8/4/X/iaWlphiQjISGhRJ2SjGnTplnXe/XqZdStW9e4ePGiTb8XX3zR8PDwMC5cuGAYhmGtPzo62qbfxx9/bEgykpOTDcMwjEuXLhk+Pj5G586djeLi4pver2nTphlubm7GTz/9ZG1btWqVIcnYuXPnTfczjP9/r3fv3n3TPoGBgUbz5s1tzvf7e/Tpp58akozU1NSbHuPs2bMl7teNx/vb3/52022/V79+fcNisZQ4X8+ePQ0fHx8jLy/P5trS0tJs+l2//zt27LC29e3b16hfv36ptd9Y95AhQwx3d3cjIyPDpl+fPn0MT09P45dffrE5z60+Z8BZMHID3AXLly/X7t27bZbfz6kZNGiQTf+vv/5aFy5c0LBhw2xGe4qLi9W7d2/t3r1beXl5ysvL0+7duzVw4EB5eHhY9/f29lZMTIxdtV69elXbtm3TgAED5OnpaXP+6OhoXb16Vd98843NPk888YTNeuvWrSVJ6enp1uvJzc3VmDFjynw76U9/+pMk6d1337W2vfnmm2rVqpW6du1q1/X8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zp0aO3asvvnmG23dulWFhYWKiopSXl7eTfdJS0tTdHS0unTpon379mnq1KkaN26cEhMT72LlAADAWbk48uSbN2+2WU9ISFBAQID27Nmjrl27lrrPokWLVK9ePc2fP1+S1Lx5c6WkpGju3LkaNGjQnS4ZAAA4Oaeac3Px4kVJkp+f3037JCcnKyoqyqatV69eSklJ0bVr10r0z8/PV25urs0CAADMy6EjN79nGIZiY2PVuXNntWzZ8qb9srOzFRgYaNMWGBiowsJCnTt3TsHBwTbb4uPjNWPGjDtSc2ka/GXDXTuXMzk1q6+jS7jn3Kt/axJ/b45wr/698bdWNTnNyM2LL76oAwcO6MMPP7xlX4vFYrNuGEap7ZI0ZcoUXbx40bqcPn26cgoGAABOySlGbl566SWtW7dOu3btUt26dcvsGxQUpOzsbJu2nJwcubi4yN/fv0R/d3d3ubu7V2q9AADAeTl05MYwDL344otavXq1tm/frrCwsFvu06FDB23dutWmbcuWLYqIiJCrq+udKhUAAFQRDg03Y8eO1YoVK7Ry5Up5e3srOztb2dnZ+vXXX619pkyZoqFDh1rXR48erfT0dMXGxurIkSNaunSplixZori4OEdcAgAAcDIODTcLFy7UxYsX1b17dwUHB1uXVatWWftkZWUpIyPDuh4WFqaNGzcqKSlJbdu21d///nctWLCA18ABAIAkB8+5uT4RuCzLli0r0datWzft3bv3DlQEAACqOqd5WwoAAKAyEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICp2BVu0tLSKrsOAACASmFXuGnUqJF69OihFStW6OrVq5VdEwAAgN3sCjf79+9Xu3btNGnSJAUFBemPf/yjvv3228quDQAAoMLsCjctW7bUvHnzlJmZqYSEBGVnZ6tz584KDw/XvHnzdPbs2cquEwAAoFxua0Kxi4uLBgwYoI8//lizZ8/WDz/8oLi4ONWtW1dDhw5VVlZWZdUJAABQLrcVblJSUjRmzBgFBwdr3rx5iouL0w8//KDt27crMzNT/fr1q6w6AQAAysXFnp3mzZunhIQEHT16VNHR0Vq+fLmio6N1332/ZaWwsDC98847atasWaUWCwAAcCt2hZuFCxdqxIgReu655xQUFFRqn3r16mnJ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bjVic51D35aKjY3Ve++9p6VLl+rIkSOaOHGiMjIyNHr0aEm/jboMHTrU2n/06NFKT09XbGysjhw5oqVLl2rJkiWKi4tz1CUAAAAn49A5N4MHD9b58+f1yiuvKCsrSy1bttTGjRtVv359SVJWVpbNd96EhYVp48aNmjhxot566y2FhIRowYIFGjRokKMuAQAAOBmHTygeM2aMxowZU+q2ZcuWlWjr1q2b9u7de4erqnrc3d01bdq0Eo/gUDbum324bxXHPbMP980+9/p9sxjleacKAACginD4b0sBAABUJsINAAAwFcINAAAwFcINAAAwFcJNFbdr1y7FxMQoJCREFotFn332maNLcnrx8fF66KGH5O3trYCAAPXv319Hjx51dFlOb+HChWrdurX1S8E6dOigTZs2ObqsKic+Pl4Wi0UTJkxwdClObfr06bJYLDZLUFCQo8tyepmZmXrmmWfk7+8vT09PtW3bVnv27HF0WXcd4aaKy8vLU5s2bfTmm286upQqY+fOnRo7dqy++eYbbd26VYWFhYqKilJeXp6jS3NqdevW1axZs5SSkqKUlBQ9+uij6tevnw4fPuzo0qqM3bt3a/HixWrdurWjS6kSwsPDlZWVZV0OHjzo6JKc2s8//6xOnTrJ1dVVmzZt0nfffafXXnvN1N/KfzMO/54b3J4+ffqoT58+ji6jStm8ebPNekJCggICArRnzx517drVQVU5v5iYGJv1//mf/9HChQv1zTffKDw83EFVVR2XL1/W008/rXfffVczZ850dDlVgouLC6M1FTB79myFhoYqISHB2tagQQPHFeRAjNzgnnfx4kVJkp+fn4MrqTqKior00UcfKS8vTx06dHB0OVXC2LFj1bdvXz322GOOLqXKOH78uEJCQhQWFqYhQ4bo5MmTji7Jqa1bt04RERH6j//4DwUEBKhdu3Z69913HV2WQxBucE8zDEOxsbHq3LmzWrZs6ehynN7BgwdVo0YNubu7a/To0VqzZo1atGjh6LKc3kcffaS9e/cqPj7e0aVUGX/4wx+0fPlyff7553r33XeVnZ2tjh076vz5844uzWmdPHlSCxcuVOPGjfX5559r9OjRGjdunJYvX+7o0u46Hkvhnvbiiy/qwIED+uqrrxxdSpXQtGlTpaam6pdfflFiYqKGDRumnTt3EnDKcPr0aY0fP15btmyRh4eHo8upMn7/uL1Vq1bq0KGDGjZsqPfff1+xsbEOrMx5FRcXKyIiQq+++qokqV27djp8+LAWLlxo8yPU9wJGbnDPeumll7Ru3Trt2LFDdevWdXQ5VYKbm5saNWqkiIgIxcfHq02bNnr99dcdXZZT27Nnj3JyctS+fXu5uLjIxcVFO3fu1IIFC+Ti4qKioiJHl1gleHl5qVWrVjp+/LijS3FawcHBJf6PRvPmzW1+gPpewcgN7jmGYeill17SmjVrlJSUpLCwMEeXVGUZhqH8/HxHl+HUIiMjS7zl89xzz6lZs2b685//rGrVqjmosqolPz9fR44cUZcuXRxditPq1KlTia+1OHbsmOrXr++gihyHcFPFXb58WSdOnLCup6WlKTU1VX5+fqpXr54DK3NeY8eO1cqVK7V27Vp5e3srOztbkuTr66vq1as7uDrnNXXqVPXp00ehoaG6dOmSPvroIyUlJZV4+wy2vL29S8zn8vLykr+/P/O8yhAXF6eYmBjVq1dPOTk5mjlzpnJzczVs2DBHl+a0Jk6cqI4dO+rVV1/Vf/7nf+rbb7/V4sWLtXjxYkeXdvcZqNJ27NhhSCqxDBs2zNGlOa3S7pckIyEhwdGlObURI0YY9evXN9zc3Iw6deoYkZGRxpYtWxxdVpXUrVs3Y/z48Y4uw6kNHjzYCA4ONlxdXY2QkBBj4MCBxuHDhx1dltNbv3690bJlS8Pd3d1o1qyZsXjxYkeX5BAWwzAMB+UqAACASseEYgAAYCqEGwAAYCqEGwAAYCqEGwAAYCqEGwAAYCqEGwAAYCqEGwAAYCqEGwC3zWKx6LPPPitX3+nTp6tt27Z3tB5H6t69uyZMmODoMoB7GuEGQKmGDx8ui8Uii8UiV1dXBQYGqmfPnlq6dKmKi4tt+mZlZdn8inNZ4uLitG3btjtRslNq0KCB5s+f7+gygHsK4QbATfXu3VtZWVk6deqUNm3apB49emj8+PF6/PHHVVhYaO0XFBQkd3f3ch2zRo0a8vf3v1Ml31RBQcFdPycAxyDcALgpd3d3BQUF6f7779eDDz6oqVOnau3atdq0aZOWLVtm7XfjY6kzZ85oyJAh8vPzk5eXlyIiIvR///d/kko+lho+fLj69++vuXPnKjg4WP7+/ho7dqyuXbtm7ZOVlaW+ffuqevXqCgsL08qVK285InL9uPHx8QoJCVGTJk0kSZmZmRo8eLBq1aolf39/9evXT6dOnbLul5SUpIcfflheXl6qWbOmOnXqpPT0dJtj/t6ECRPUvXv3Umvo3r270tPTNXHiROsomCSlp6crJiZGtWrVkpeXl8LDw7Vx48abXguAiuFXwQFUyKOPPqo2bdpo9erVGjVqVIntly9fVrdu3XT//fdr3bp1CgoK0t69e0s8yvq9HTt2KDg4WDt27NCJEyc0ePBgtW3bVs8//7wkaejQoTp37pySkpLk6uqq2NhY5eTk3LLWbdu2ycfHR1u3bpVhGLpy5Yp69OihLl26aNeuXXJxcdHMmTPVu3dvHThwQPfdd5/69++v559/Xh9++KEKCgr07bffWkNJRa1evVpt2rTRCy+8YL0W6bdfpi8oKNCuXbvk5eWl7777TjVq1LDrHABKItwAqLBmzZrpwIEDpW5buXKlzp49q927d8vPz0+S1KhRozKPV6tWLb355puqVq2amjVrpr59+2rbtm16/vnn9f333+uLL77Q7t27FRERIUl677331Lhx41vW6eXlpffee09ubm6SpKVLl+q+++7Te++9Zw0sCQkJqlmzppKSkhQREaGLFy/q8ccfV8OGDSVJzZs3L99NKYWfn5+qVasmb29vBQUFWdszMjI0aNAgtWrVSpL0wAMP2H0OACXxWApAhRmGcdPRjNTUVLVr184abMojPDxc1apVs64HBwdbR2aOHj0qFxcXPfjgg9btjRo1Uq1atW553FatWlmDjSTt2bNHJ06ckLe3t2rUqKEaNWrIz89PV69e1Q8//CA/Pz8NHz5cvXr1UkxMjF5//XVlZWWV+zrKa9y4cZo5c6Y6deqkadOm3TQoArAP4QZAhR05ckRhYWGlbqtevXqFj+fq6mqzbrFYrI+xDMModZ+btf+el5eXzXpxcbHat2+v1NRUm+XYsWN66qmnJP02kpOcnKyOHTtq1apVatKkib755htJ0n333VfivL+fG1Reo0aN0smTJ/Xss8/q4MGDioiI0BtvvFHh4wAoHeEGQIVs375dBw8e1KBBg0rd3rp1a6WmpurChQuVcr5mzZqpsLBQ+/bts7adOHFCv/zyS4WP9eCDD+r48eMKCAhQo0aNbBZfX19rv3bt2mnKlCn6+uuv1bJlS61cuVKSVKdOnRIjOampqWWe083NTUVFRSXaQ0NDNXr0aK1evVqTJk3Su+++W+HrAVA6wg2Am8rPz1d2drYyMzO1d+9evfrqq+rXr58ef/xxDR06tNR9/uu//ktBQUHq37+//v3vf+vkyZNKTExUcnKyXTU0a9ZMjz32mF544QV9++232rdvn1544QVVr169whN9n376adWuXVv9+vXTl19+qbS0NO3cuVPjx4/XmTNnlJaWpilTpig5OVnp6enasmWLjh07Zp138+ijjyolJUXLly/X8ePHNW3aNB06dKjMczZo0EC7du1SZmamzp07J+m3N6w+//xzpaWlae/evdq+ffttze0BYItwA+CmNm/erODgYDVo0EC9e/fWjh07tGDBAq1du9Zmjszvubm5acuWLQoICFB0dLRatWqlWbNm3bR/eSxfvlyBgYHq2rWrBgwYoOeff17e3t7y8PCo0HE8PT21a9cu1atXTwMHDlTz5s01YsQI/frrr/Lx8ZGnp6e+//57DRo0SE2aNNELL7ygF198UX/84x8lSb169dJf//pXTZ48WQ899JAuXbp005B33SuvvKJTp06pYcOGqlOnjiSpqKhIY8eOVfPmzdW7d281bdpUb7/9tn03B0AJFqM8D64BwImcOXNGoaGh+uKLLxQZGenocgA4GcINAKe3fft2Xb58Wa1atVJWVpYmT56szMxMHTt2rMRkZADge24AOL1r165p6tSpOnnypLy9vdWxY0f985//JNgAKBUjNwAAwFSYUAwAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEzl/wEJXIIrvsOvIAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "\n", + "frequency_distribution = rolls_store['Results'].value_counts().sort_index()\n", + "\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(frequency_distribution.index, frequency_distribution.values)\n", + "plt.xlabel('Dicing results')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Frequency Distribution')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The plot above shows a number of observations (samples), the second plot is trying to draw a distribution pattern of the above observations\n", + "\"\"\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 2\n", + "Now, using the dice results obtained in *challenge 1*, your are going to define some functions that will help you calculate the mean of your data in two different ways, the median and the four quartiles. \n", + "\n", + "#### 1.- Define a function that computes the mean by summing all the observations and dividing by the total number of observations. You are not allowed to use any methods or functions that directly calculate the mean value. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.0" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "def mean_cal(values):\n", + " mean_value=np.sum(values)/len(values)\n", + " return mean_value\n", + "mean_cal(rolls_store[\"Results\"])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- First, calculate the frequency distribution. Then, calculate the mean using the values of the frequency distribution you've just computed. You are not allowed to use any methods or functions that directly calculate the mean value. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 2\n", + "2 3\n", + "3 2\n", + "5 2\n", + "6 1\n", + "Name: Results, dtype: int64\n", + " Results avg\n", + "1 2 0.2\n", + "2 3 0.6\n", + "3 2 0.6\n", + "5 2 1.0\n", + "6 1 0.6\n" + ] + }, + { + "data": { + "text/plain": [ + "3.0" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "print(frequency_distribution)\n", + "# change to dataframe and rename columns, add one columns as average value\n", + "freq_distribution=pd.DataFrame(frequency_distribution)\n", + "freq_distribution[\"avg\"]=frequency_distribution.index*frequency_distribution.values/np.sum(frequency_distribution.values)\n", + "print(freq_distribution)\n", + "\n", + "def mean_from_freq(column):\n", + " mean_calc=np.sum(column)\n", + " return mean_calc\n", + "mean_from_freq(freq_distribution[\"avg\"])" + ] + }, + { + "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": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Rolls Results\n", + "0 1 1\n", + "6 7 1\n", + "3 4 2\n", + "7 8 2\n", + "8 9 2\n", + "2 3 3\n", + "4 5 3\n", + "1 2 5\n", + "9 10 5\n", + "5 6 6\n" + ] + }, + { + "data": { + "text/plain": [ + "3.5" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "#sort data of dice rolling results:\n", + "rolls_store_sort=rolls_store.sort_values(\"Results\")\n", + "# if data length is odd then take the middle, if even, take mean of the two in the middle\n", + "print(rolls_store_sort)\n", + "def median_cut(column):\n", + " if len(column)%2==1 :\n", + " i=(len(column))+1/2\n", + " median_result= column[i]\n", + " else:\n", + " i=len(column)/2\n", + " median_result= (column[i]+column[i+1])/2\n", + " return median_result\n", + "median_cut(rolls_store_sort[\"Results\"]) \n" + ] + }, + { + "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": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 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" + ] + }, + { + "data": { + "image/png": "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2G/rlKpdu7Yk6eDBgxHbBwwYIEmVzueCCy6QVHKC8LGWL1+ur776qtITg6NRp04d9e3bVytXrtSZZ55Z7rqVhiYA5eMdFSAJrFmzJnzuw65du7RkyRJNnz5dwWBQc+fODb9rUp6cnByNHTtWjz76qA4ePKhrrrlG6enpWrt2rfbs2aOHH35Y9erV05QpUzR48GDt27dPV111lZo2bardu3fr888/1+7duysNBnfffbdmzpypgQMH6pFHHlGrVq00b948PfPMM7rjjjt02mmnSZKaN2+u/v37Kzc3VyeffLJatWql9957T3PmzCnTZ+nHWU899ZQGDBigYDCoM888U7169dL111+vxx57TN99950uvfRS1a5dWytXrlSdOnV011136fTTT9fvf/97TZkyRTVq1NCAAQPC3/rJzs7W3XffXcV75GeTJk1Sz5491atXL91xxx3KycnR/v37tXHjRr3xxhuunp8DJCW/z+YFELvSb/2U3lJSUkzTpk1N7969zRNPPGF27dpVZp/jv/VTaubMmeacc84xqamppl69eqZz584R37IxxpjFixebgQMHmoYNG5patWqZFi1amIEDB5rZs2efsNatW7ea3/3ud6ZRo0amVq1a5vTTTzd/+tOfTFFRUUS7goICc9VVV5mGDRua9PR0c91115lPP/20zLd+Dh8+bG699VbTpEkTEwgEjCSzefNmY0zJt5H++te/mo4dO5qUlBSTnp5uunfvbt54443w/kVFReapp54yp512mqlVq5Zp3Lixue6660x+fn5EPb179zYdOnQoM59WrVqZgQMHltkuyQwdOjRi2+bNm83NN99sWrRoYWrVqmWaNGlievToYR577LETrhtQ3QWMOcFXAgAAAHzCOSoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANZK6Au+FRcXa8eOHapfv74CgYDf5QAAAAeMMdq/f78yMzNVo0bl75kkdFDZsWNHhf+bBAAA2C0/P7/Sf4gqJXhQqV+/vqSSiTZo0MDnagAAgBOFhYXKzs4Ov45XJqGDSunHPQ0aNCCoAACQYJyctsHJtAAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgl9ZVpfFRVJS5ZIBQVSRobUq5cUDEbfxu8abRsr1nWVEm+u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00+SpEAgoG3btmn06NG68sorXS8QAABUX1EHlT//+c/avXu3mjZtqoMHD6p3795q06aN6tevr8cff9yLGgEAQDUV9bd+GjRooA8//FDvv/++VqxYoeLiYp199tnq37+/F/UBAIBqLKqgcvToUaWmpmrVqlW64IILdMEFF3hVFwAAQHQf/dSsWVOtWrVSUVGRV/UAAACERX2OyoMPPhhxRVoAAACvRH2OyuTJk7Vx40ZlZmaqVatWqlu3bsTfV6xY4VpxAACgeos6qAwaNMiDMgAAAMpy7b8n+4H/ngwAQOLx/L8nAwAAxANBBQAAWIugAgAArEVQAQAA1oo5qBw5ckTr1q3T0aNH3awHAAAgLOqg8uOPP+qWW25RnTp11KFDB23btk2SNHz4cD355JOuFwgAAKqvqIPKmDFj9Pnnn2vRokVKTU0Nb+/fv79eeeUVV4sDAADVW9QXfHvttdf0yiuv6Nxzz1UgEAhvb9++vb755htXiwMAANVb1O+o7N69W02bNi2z/cCBAxHBBQAAoKqiDirnnHOO5s2bF/69NJw8//zz6t69u3uVAQCAai/qj35yc3P1y1/+UmvXrtXRo0c1adIkffnll1q2bJkWL17sRY0AAKCaivodlR49euijjz7Sjz/+qF/84hd655131KxZMy1btkxdunTxokYAAFBN8U8JAQBAXHn6Twnnz5+vt99+u8z2t99+W//+97+j7Q4AAKBCUQeV0aNHq6ioqMx2Y4xGjx7tSlEAAABSDEFlw4YNat++fZntbdu21caNG10pCgAAQIohqKSnp2vTpk1ltm/cuFF169Z1pSgAAAAphqBy+eWXa+TIkRFXod24caPuueceXX755a4WBwAAqreog8qf/vQn1a1bV23btlXr1q3VunVrtWvXTo0aNdKf//xnL2oEAADVVNQXfEtPT9fSpUu1YMECff7550pLS9OZZ56p888/34v6AABANcZ1VAAAQFxF8/rt6B2VyZMn6/e//71SU1M1efLkStsOHz7ccaHTpk3TtGnTtGXLFklShw4d9NBDD2nAgAGO+0A1UFQkLVkiFRRIGRlSr15SMOh3Ve5wa25erpGf6+/3fe/m+LH05WQfv9coUR2/bj16SEuXRq6jFL+19ft+9Hv8yhgHcnJyzJ49e8I/V3Rr3bq1k+7CXn/9dTNv3jyzbt06s27dOjN2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avpdAIDq48UXX9Qdd9yhjz76SHv27NFFF12kG2+8UTNnztTXX3+tIUOGKDU1VRMmTDhhX6+++qr++te/6uWXX1aHDh20c+dOff75595PAkBcEVQAxE2bNm30xz/+UZI0c+ZMZWdn63/+538UCATUtm1b7dixQw888IAeeugh1ahR+Ru+27ZtU/PmzdW/f3/VqlVLLVu2VLdu3eIxDQBxxEc/AOKma9eu4Z+/+uorde/eXYFAILztvPPO0w8//KDt27efsK/f/OY3OnjwoE455RQNGTJEc+fOjepjIwCJgaACIG7q1q0b/tkYExFSSrdJKrO9PNnZ2Vq3bp2mTp2qtLQ03XnnnTr//PP1008/uVs0AF8RVAD4on379lq6dGk4nEjS0qVLVb9+fbVo0cJRH2lpabr88ss1efJkLVq0SMuWLdPq1au9KhmADwgqAHxx5513Kj8/X3fddZe+/vpr/etf/9L48eM1atSoE56fIkkzZszQCy+8oDVr1mjTpk36+9//rrS0NLVq1SoO1QOIF06mBeCLFi1aaP78+brvvvt01llnqWHDhrrlllv04IMPOtr/pJNO0pNPPqlRo0apqKhIZ5xxht544w01atTI48oBxFPAHPu+KwAAgEX46AcAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAa/1/dCCgKvVerFQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "roll_dice_h=pd.read_csv(\"/Users/nhannguyen/Desktop/Ironhack/Week_3/Descriptive-Stats/data/roll_the_dice_hundred.csv\")\n", + "print(roll_dice_h.head())\n", + "roll_dice_sort=roll_dice_h.sort_values(\"value\")\n", + "\n", + "\n", + "\n", + "# Create scatter chart:\n", + "\n", + "plt.scatter(roll_dice_sort.index,roll_dice_sort[\"value\"],color=\"red\")\n", + "# Add labels \n", + "plt.xlabel('rolls')\n", + "plt.ylabel('dice results')\n", + "plt.title('Dice outcome')\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "there is a pattern of outcomes, homogeous distribution among possible outcome ( 1 to 6)\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": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.74" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "mean_cal(roll_dice_sort[\"value\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 12\n", + "2 17\n", + "3 14\n", + "4 22\n", + "5 12\n", + "6 23\n", + "Name: value, dtype: int64\n" + ] + } + ], + "source": [ + "# your code here\n", + "freq_dist = roll_dice_sort['value'].value_counts().sort_index()\n", + "print(freq_dist)\n" + ] + }, + { + "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": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Frequency Distribution')" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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q3HjxlqwYIGqVaumLVu2SJIeeOCBHMf97b09BdWvXz8dOXJEzz//vPbu3auYmBi99957hd4PgNxRZgDc1rp167R371517do119fr1KmjXbt26fz580VyvOrVq+vGjRvauXOna9nhw4f1888/F3pfDRo00KFDhxQSEqIqVaq4TUFBQa716tevr5EjR+q7775TrVq1NHfuXElS+fLlc4zU7Nq167bH9PX1VVZWVo7lkZGReumll7Rw4UINHz5cM2fOLPT7AZA7ygwAl8zMTJ0+fVonT57Ujh07NGbMGHXs2FFPPfWUevbsmes2f/zjHxUWFqZOnTrp22+/1ZEjR/T3v/9dmzdv9ihD9erV1bp1aw0YMEDff/+9du7cqQEDBqhkyZKFvjH32WefVbly5dSxY0d9/fXXSk5O1saNGzVkyBCdOHFCycnJGjlypDZv3qyUlBStWrVKBw8edN0388QTT2jbtm2aM2eODh06pFGjRmnfvn23PWalSpW0adMmnTx5UmfPnpX06xNQK1euVHJysnbs2KF169bd0b05ANxRZgC4rFixQuHh4apUqZLatWun9evX691339XixYvd7nH5LV9fX61atUohISHq0KGDateurbFjx+a5fkHMmTNHoaGhat68uTp37qz+/fsrICBAJUqUKNR+/Pz8tGnTJlWsWFFdunRRjRo11KdPH/3yyy8KDAyUn5+f/vWvf6lr166qVq2aBgwYoMGDB+vFF1+UJD355JP6y1/+otdee02PPPKILl26lGepu+mtt97S0aNHVblyZZUvX16SlJWVpUGDBqlGjRpq166dHnroIb3//vuenRwAOTisglyIBgAbnThxQpGRkVqzZo1atWpldxwAXoYyA8DrrFu3TpcvX1bt2rWVmpqq1157TSdPntTBgwdz3DwMAHzPDACvc/36db3++us6cuSIAgIC1LhxY3366acUGQC5YmQGAAAYjRuAAQCA0SgzAADAaJQZAABgNMoMAAAwGmUGAAAYjTIDAACMRpkBAABGo8wAAACjUWYAAIDR/j9n0LxPl8mdFAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(freq_dist.index, freq_dist.values)\n", + "plt.xlabel('Dicing results')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Frequency Distribution')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "higher concentration for \"4\" and \"6\" outcomes\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": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Unnamed: 0 roll value\n", + "0 0 0 5\n", + "1 1 1 6\n", + "2 2 2 1\n", + "3 3 3 6\n", + "4 4 4 5\n", + ".. ... ... ...\n", + "995 995 995 1\n", + "996 996 996 4\n", + "997 997 997 4\n", + "998 998 998 3\n", + "999 999 999 6\n", + "\n", + "[1000 rows x 3 columns]\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Frequency Distribution')" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA420lEQVR4nO3de3RNd/7/8ddpLoekSUgit4rIuJSKe3pDK3Gr0FB0ytBB3dqhSsnqfLVrvmK+vkKVqfKtaktQlLbj1tG632qqvyLuZggiLk0adcsFEcn+/dHljCMJcoRzsvt8rLXXsj/7s/d+7310efWzP/sci2EYhgAAAEzqIWcXAAAAcD8RdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdoAHbO7cubJYLCUuCQkJzi7PVG6915UqVVJISIhiY2OVlJSkrKysYvskJibKYrGU6TyXL19WYmKiNm/eXKb9SjpXzZo19fzzz5fpOHeyaNEivf/++yVus1gsSkxMLNfzAa7G3dkFAL9VycnJqlevnl1bWFiYk6oxtxv3uqCgQFlZWdq2bZsmTZqk9957T0uWLFG7du1sfQcNGqSOHTuW6fiXL1/WuHHjJEkxMTF3vZ8j53LEokWLdODAAY0cObLYtu3bt6t69er3vQbAmQg7gJNERUUpOjr6rvoWFBTIYrHI3Z3/ZB1x673u0aOH3nzzTbVq1Urdu3dXamqqgoODJUnVq1e/7//4X758WV5eXg/kXHfy1FNPOfX8wIPAYyzAxWzevFkWi0WfffaZRo8erUceeURWq1VHjx6VJK1fv15t27aVr6+vvLy81LJlS23YsKHYcVatWqUmTZrIarUqMjJS7733XrHHJidOnJDFYtHcuXOL7V/S443U1FT17t1bQUFBslqtql+/vv7v//6vxPo///xzvfPOOwoLC5Ovr6/atWunw4cPFzvP6tWr1bZtW/n5+cnLy0v169dXUlKSJOmzzz6TxWLR9u3bi+3317/+VR4eHvrpp5/ueE9LUqNGDU2ZMkU5OTmaNWuWrb2kR0sbN25UTEyMAgICVLlyZdWoUUM9evTQ5cuXdeLECVWrVk2SNG7cONsjs/79+9sdLyUlRS+++KKqVq2qWrVqlXquG5YtW6ZGjRqpUqVK+t3vfqcPPvjAbvuNR3QnTpywa79x/288UouJidGqVauUnp5u90jvhpI+5wMHDqhr166qWrWqKlWqpCZNmmjevHklnuduP2fAmQg7gJMUFhbq+vXrdsvNxowZo5MnT+qjjz7S119/raCgIC1YsEAdOnSQr6+v5s2bpy+++EL+/v567rnn7ALPhg0b1LVrV/n4+Gjx4sWaPHmyvvjiCyUnJztc76FDh/T444/rwIEDmjJliv7xj3+oc+fOeuONN2yPcG729ttvKz09XZ9++qk+/vhjpaamKj4+XoWFhbY+s2fPVqdOnVRUVGS7zjfeeEOnT5+WJPXs2VMhISHFAtX169c1a9YsdevW7Z4e/XXq1Elubm7aunVrqX1OnDihzp07y9PTU3PmzNHq1as1ceJEeXt769q1awoNDdXq1aslSQMHDtT27du1fft2/eUvf7E7Tvfu3VW7dm19+eWX+uijj25b1549ezRy5Ei9+eabWrZsmVq0aKERI0bovffeK/M1fvjhh2rZsqVCQkJstZUUHm84fPiwWrRooYMHD+qDDz7Q0qVL9dhjj6l///569913i/W/m88ZcDoDwAOVnJxsSCpxKSgoMDZt2mRIMp599lm7/fLy8gx/f38jPj7err2wsNBo3Lix8cQTT9jannzySSMsLMy4cuWKrS07O9vw9/c3bv7PPi0tzZBkJCcnF6tTkjF27Fjb+nPPPWdUr17duHTpkl2/119/3ahUqZJx/vx5wzAMW/2dOnWy6/fFF18Ykozt27cbhmEYOTk5hq+vr9GqVSujqKio1Ps1duxYw9PT0/j5559tbUuWLDEkGVu2bCl1P8P4z73esWNHqX2Cg4ON+vXr253v5nv01VdfGZKMPXv2lHqMs2fPFrtftx7vv//7v0vddrOIiAjDYrEUO1/79u0NX19fIy8vz+7a0tLS7PrduP+bNm2ytXXu3NmIiIgosfZb6+7Vq5dhtVqNkydP2vWLi4szvLy8jIsXL9qd506fM+AKGNkBnGT+/PnasWOH3XLznJwePXrY9f/+++91/vx59evXz240qKioSB07dtSOHTuUl5envLw87dixQ927d1elSpVs+/v4+Cg+Pt6hWq9evaoNGzaoW7du8vLysjt/p06ddPXqVf3www92+3Tp0sVuvVGjRpKk9PR02/VkZ2dr6NCht3376U9/+pMk6ZNPPrG1zZgxQw0bNtSzzz7r0PXc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SNCxY8e0ceNGnTlzRl27di2vOgEAABzi7shOU6dOVXJysg4fPqxOnTpp/vz56tSpkx566NfsFBkZqVmzZqlevXrlWiwAAEBZORR2Zs6cqQEDBuiVV15RSEhIiX1q1Kih2bNn31NxAAAA98qhsJOamnrHPp6enurXr58jhwcAACg3Ds3ZSU5O1pdfflms/csvv9S8efPuuSgAAIDy4lDYmThxogIDA4u1BwUFacKECfdcFAAAQHlxKOykp6crMjKyWHtERIROnjx5z0UBAACUF4fCTlBQkPbt21esfe/evQoICLjr42zdulXx8fEKCwuTxWLR8uXL7bYbhqHExESFhYWpcuXKiomJ0cGDB+365Ofna/jw4QoMDJS3t7e6dOmi06dPO3JZAADAhBwKO7169dIbb7yhTZs2qbCwUIWFhdq4caNGjBihXr163fVx8vLy1LhxY82YMaPE7e+++66mTp2qGTNmaMeOHQoJCVH79u2Vk5Nj6zNy5EgtW7ZMixcv1rZt25Sbm6vnn39ehYWFjlwaAAAwGYfexho/frzS09PVtm1bubv/eoiioiL17du3THN24uLiFBcXV+I2wzD0/vvv65133lH37t0lSfPmzVNwcLAWLVqkV199VZcuXdLs2bP12WefqV27dpKkBQsWKDw8XOvXr9dzzz3nyOUBAAATcWhkx9PTU0uWLNG///1vLVy4UEuXLtWxY8c0Z84ceXp6lkthaWlpyszMVIcOHWxtVqtVrVu31vfffy9J2rVrlwoKCuz6hIWFKSoqytYHAAD8tjk0snND3bp1Vbdu3fKqxU5mZqYkKTg42K49ODhY6enptj6enp6qWrVqsT439i9Jfn6+8vPzbevZ2dnlVTYAAHAxDoWdwsJCzZ07Vxs2bFBWVpaKiorstm/cuLFcipMki8Vit24YRrG2W92pT1JSksaNG1cu9QEAANfm0GOsESNGaMSIESosLFRUVJQaN25st5SHGz9DcesITVZWlm20JyQkRNeuXdOFCxdK7VOSMWPG6NKlS7bl1KlT5VIzAABwPQ6N7CxevFhffPGFOnXqVN712ERGRiokJETr1q1T06ZNJUnXrl3Tli1bNGnSJElS8+bN5eHhoXXr1umll16SJGVkZOjAgQN69913Sz221WqV1Wq9b7UDAADX4VDY8fT0VO3ate/55Lm5uTp69KhtPS0t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7NIBAICLcOmwc/r0af3hD3/QL7/8omrVqumpp57SDz/8oIiICEnSW2+9pStXrmjo0KG6cOGCnnzySa1du1Y+Pj5OrhwAALgKlw47ixcvvu12i8WixMREJSYmPpiCAABAhVOh5uwAAACUFWEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYmkuHnaSkJD3++OPy8fFRUFCQXnjhBR0+fNiuT//+/WWxWOyWp556ykkVAwAAV+PSYWfLli0aNmyYfvjhB61bt07Xr19Xhw4dlJeXZ9evY8eOysjIsC3ffPONkyoGAACuxt3ZBdzO6tWr7daTk5MVFBSkXbt26dlnn7W1W61WhYSEPOjyAABABeDSIzu3unTpkiTJ39/frn3z5s0KCgpS3bp1NXjwYGVlZd32OPn5+crOzrZbAACAOVWYsGMYhkaNGqVWrVopKirK1h4XF6eFCxdq48aNmjJlinbs2KE2bdooPz+/1GMlJSXJz8/PtoSHhz+ISwAAAE7g0o+xbvb6669r37592rZtm117z549bX+OiopSdHS0IiIitGrVKnXv3r3EY40ZM0ajRo2yrWdnZxN4AAAwqQoRdoYPH66VK1dq69atql69+m37hoaGKiIiQqmpqaX2sVqtslqt5V0mAABwQS4ddgzD0PDhw7Vs2TJt3rxZkZGRd9zn3LlzOnXqlEJDQx9AhQAAwNW59JydYcOGacGCBVq0aJF8fHyUmZmpzMxMXblyRZKUm5urhIQEbd++XSdOnNDmzZsVHx+vwMBAdevWzcnVAwAAV+DSIzszZ86UJMXExNi1Jycnq3///nJzc9P+/fs1f/58Xbx4UaGhoYqNjdWSJUvk4+PjhIoBAICrcemwYxjGbbdXrlxZa9aseUDVAACAisilH2MBAADcK8IOAAAwNcIOAAAwNcIOAAAwNcIO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6tXTvn37Sty2aNEinT17Vjt27JC/v78kqXbt2rc9XtWqVTVjxgy5ubmpXr166ty5szZs2KDBgwfr3//+t9avX68dO3YoOjpakvTpp5+qTp06d6zT29tbn376qTw9PSVJc+bM0UMPPaRPP/3UFmCSk5NVpUoVbd68WdHR0bp06ZKef/551apVS5JUv379u7spJfD395ebm5t8fHwUEhJiaz958qR69Oihhg0bSpJ+97vfOXwOAPZ4jAWgXBiGUepox549e9S0aVNb0LkbDRo0kJubm209NDTUNnJz+PBhubu7q1mzZrbttWvXVtWqVe943IYNG9qCjiTt2rVLR48elY+Pjx5++GE9/PDD8vf319WrV3Xs2DH5+/urf//+eu655xQfH69p06YpIyPjrq/jbr3xxhsaP368WrZsqbFjx5YaHAGUHWEHQLn417/+pcjIyBK3Va5cuczH8/DwsFu3WCy2x16GYZS4T2ntN/P29rZbLyoqUvPmzbVnzx675ciRI+rdu7ekX0d6tm/frhYtWmjJkiWqW7eufvjhB0nSQw89VOy8N88tuluDBg3S8ePH9cc//lH79+9XdHS0pk+fXubjACiOsAPgnm3cuFH79+9Xjx49StzeqFEj7dmzR+fPny+X89WrV0/Xr1/X7t27bW1Hjx7VxYsXy3ysZs2aKTU1VUFBQapdu7bd4ufnZ+vXtGlTjRkzRt9//72ioqK0aNEiSVK1atWKjfTs2bPntuf09PRUYWFhsfbw8HC99tprWrp0qUaPHq1PPvmkzNcDoDjCDoAyyc/PV2Zmps6cOaOUlBRNmDBBXbt21fPPP6++ffuWuM8f/vAHhYSE6IUXXtA///lPHT9+XH//+9+1fft2h2qoV6+e2rVrpyFDhujHH3/U7t27NWTIEFWuXLnME4f79OmjwMBAde3aVd99953S0tK0ZcsWjRgxQqdPn1ZaWprGjBmj7du3Kz09XWvXrtWRI0ds83batGmjnTt3av78+UpNTdXYsWN14MCB256zZs2a2rp1q86cOaNffvlF0q9vcK1Zs0ZpaWlKSUnRxo0b72luEID/IOwAKJPVq1crNDRUNWvWVMeOHbVp0yZ98MEHWrFihd0cm5t5enpq7dq1CgoKUqdOndSwYUNNnDix1P53Y/78+QoODtazzz6rbt26afDgwfLx8VGlSpXKdBwvLy9t3bpVNWrUUPfu3VW/fn0NGDBAV65cka+vr7y8vPTvf/9bPXr0UN26dTVkyBC9/vrrevXVVyVJzz33nP7yl7/orbfe0uOPP66cnJxSQ98Nf/3rX3XixAnVqlVL1apVkyQVFhZq2LBhql+/vjp27KhHH31UH374oWM3B4Adi3E3D7kBwMWdPn1a4eHhWr9+vdq2bevscgC4EMIOgApp48aNys3NVcOGDZWRkaG33npLZ86c0ZEjR4pNbgbw28b37ACokAoKCvT222/r+PHj8vHxUYsWLbRw4UKCDoBiGNkBAACmxgRlAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgav8flgJalQL409oAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "roll_dice_th=pd.read_csv(\"/Users/nhannguyen/Desktop/Ironhack/Week_3/Descriptive-Stats/data/roll_the_dice_thousand.csv\")\n", + "print(roll_dice_th)\n", + "freq_dist_th = roll_dice_th['value'].value_counts().sort_index()\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(freq_dist_th.index, freq_dist_th.values)\n", + "plt.xlabel('Dicing results')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Frequency Distribution')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "bigger sample size, more homogenous distribution in terms of outcomes \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": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " observation\n", + "0 68.0\n", + "1 12.0\n", + "2 45.0\n", + "3 38.0\n", + "4 49.0\n", + ".. ...\n", + "995 27.0\n", + "996 47.0\n", + "997 53.0\n", + "998 33.0\n", + "999 31.0\n", + "\n", + "[1000 rows x 1 columns]\n", + "1.0 2\n", + "2.0 2\n", + "4.0 1\n", + "5.0 2\n", + "6.0 2\n", + " ..\n", + "69.0 1\n", + "70.0 1\n", + "71.0 1\n", + "73.0 1\n", + "82.0 1\n", + "Name: observation, Length: 72, dtype: int64\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Age Distribution')" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHFCAYAAAAHcXhbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwJklEQVR4nO3de1xVVf7/8fdR5IgK5iW5lBdUlCk0Tcrx0qCZOkpO6beLecOsydIavPTVzEqaMTBtyHxQpuV4eZjZzaz5miYlaY5ZeEFN+5oVohZImQreQGH9/ujH+XYEFY7oOQtfz8djPx6z115n78+SxPesvfc6DmOMEQAAgKWqebsAAACAi0GYAQAAViPMAAAAqxFmAACA1QgzAADAaoQZAABgNcIMAACwGmEGAABYjTADAACsRpgBLDdr1iw5HA5FRUV5uxQ5HA7XVr16ddWrV0833HCDRo4cqY0bN5bqv3fvXjkcDi1YsKBC11myZIlmzpxZoc+Uda2EhAQ5HA798ssvFTrX+ezatUsJCQnau3dvqWPDhw9Xs2bNKu1aAH5DmAEs969//UuStHPnTn355Zderka666679MUXX2j9+vVaunSphg0bpo0bN6pTp06Kj4936xsaGqovvvhCsbGxFbqGJ2HG02tV1K5du/Tss8+WGWaefvppvf/++5f0+sCVyM/bBQDw3KZNm7Rt2zbFxsZqxYoVmjdvnjp27OjVmoKDg/XHP/7Rtd+7d2+NGTNGDz30kGbNmqXIyEg98sgjkiSn0+nW91IoKirSmTNnLsu1LqRFixZevT5QVTEzA1hs3rx5kqRp06apc+fOWrp0qU6cOFGq34EDB3TXXXcpMDBQV111lQYPHqz09PQyb/Fs2rRJf/nLX1S/fn3VrFlT7du319tvv31RdVavXl0pKSlq2LChZsyY4Wov69bPzz//rIceekiNGzeW0+nU1VdfrS5duuiTTz6RJHXr1k0rVqxQVlaW222t359v+vTpmjp1qsLDw+V0OpWWlnbeW1r79+/XgAEDFBQUpLp162rIkCH6+eef3fo4HA4lJCSU+myzZs00fPhwSdKCBQt09913S5K6d+/uqq3kmmXdZjp16pQmTZqk8PBw+fv765prrtHo0aN15MiRUte5/fbbtWrVKt14440KCAhQZGSka2YOuJIRZgBLnTx5Um+++aZuuukmRUVFacSIEcrPz9c777zj1u/48ePq3r270tLS9Pzzz+vtt99WcHCw7r333lLnTEtLU5cuXXTkyBG9+uqr+uCDD9SuXTvde++9FX6u5WwBAQG67bbblJmZqQMHDpyz39ChQ7V8+XI988wzWr16tV5//XXddtttOnTokCTplVdeUZcuXRQSEqIvvvjCtf3erFmztGbNGr3wwgtauXKlIiMjz1tb//791bJlS7377rtKSEjQ8uXL1bt3b50+fbpCY4yNjVViYqIk6eWXX3bVdq5bW8YY3XnnnXrhhRc0dOhQrVixQuPGjdPChQt16623qqCgwK3/tm3bNH78eI0dO1YffPCB2rZtqwceeEDr1q2rUJ1AlWMAWGnRokVGknn11VeNMcbk5+ebOnXqmFtuucWt38svv2wkmZUrV7q1jxw50kgy8+fPd7VFRkaa9u3bm9OnT7v1vf32201oaKgpKio6b02SzOjRo895fOLEiUaS+fLLL40xxmRmZpaqoU6dOmbMmDHnvU5sbKxp2rRpqfaS87Vo0cIUFhaWeez315oyZYqRZMaOHevW94033jCSzOLFi93GNmXKlFLXbNq0qYmLi3Ptv/POO0aSSUtLK9U3Li7Ore5Vq1YZSWb69Olu/d566y0jycydO9ftOjVr1jRZWVmutpMnT5r69eubkSNHlroWcCVhZgaw1Lx58xQQEKCBAwdKkurUqaO7775bn3/+ufbs2ePqt3btWgUGBurPf/6z2+fvu+8+t/3vvvtO//u//6vBgwdLks6cOePa+vbtq+zsbO3evfuiajbGXLDPzTffrAULFmjq1KnauHFjhWdHJOkvf/mLatSoUe7+JWMucc8998jPz09paWkVvnZFrFmzRpJct6lK3H333apdu7Y+/fRTt/Z27dqpSZMmrv2aNWuqVatWysrKuqR1Ar6OMANY6LvvvtO6desUGxsrY4yOHDmiI0eO6K677pIkt+coDh06pODg4FLnOLvt4MGDkqTHH39cNWrUcNtGjRolSRf9CnPJP7phYWHn7PPWW28pLi5Or7/+ujp16qT69etr2LBhysnJKfd1QkNDK1RXSEiI276fn58aNGjgurV1qRw6dEh+fn66+uqr3dodDodCQkJKXb9BgwalzuF0OnXy5MlLWifg6wgzgIX+9a9/yRijd999V/Xq1XNtJc9mLFy4UEVFRZJ++wew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V69eahYmNze3VHq1WclbFraP87HHHtOHH36otLQ0XXvtta5228fn7++vli1bKjo6WklJSbrhhhv00ksvWT+uzZs3Kzc3Vx06dJCfn5/8/Py0du1azZo1S35+fq4x2Dq+36tdu7batGmjPXv2WP9zCw0N1XXXXefW9oc//EH79u2TZP/fN0nKysrSJ598ogcffNDVZvu4/vu//1tPPPGEBg4cqDZt2mjo0KEaO3askpKSJNk7PsJMOfj7+6tDhw5KTU11a09NTVXnzp29VFXlCw8PV0hIiNs4CwsLtXbtWivGaYzRo48+qmXLlmnNmjUKDw93O277+M5mjFFBQYH14+rRo4d27NihjIwM1xYdHa3BgwcrIyNDzZs3t3p8v1dQUKBvvvlGoaGh1v/cunTpUmrpg2+//VZNmzaVVDX+vs2fP1+NGjVSbGysq832cZ04cULVqrn/01+9enXXq9nWjs87zx3bp+TV7Hnz5pldu3aZMWPGmNq1a5u9e/d6u7QKyc/PN1u3bjVbt241kkxycrLZunWr6xXzadOmmbp165ply5aZHTt2mPvuu8/nX8kr8cgjj5i6deuazz77zO21yhMnTrj62Dq+SZMmmXXr1pnMzEyzfft28+STT5pq1aqZ1atXG2PsHde5/P5tJmPsHd/48ePNZ599Zn744QezceNGc/vtt5vAwEDX7w1bx2XMb6/R+/n5meeee87s2bPHvPHGG6ZWrVpm8eLFrj42j6+oqMg0adLETJw4sdQxm8cVFxdnrrnmGter2cuWLTMNGzY0EyZMcPWxcXyEmQp4+eWXTdOmTY2/v7+58cYbXa/82iQtLc1IKrXFxcUZY357LW/KlCkmJCTEOJ1O86c//cns2LHDu0WXU1njkmTmz5/v6mPr+EaMGOH6b+/qq682PXr0cAUZY+wd17mcHWZsHV/J+hw1atQwYWFhZsCAAWbnzp2u47aOq8S///1vExUVZZxOp4mMjDRz5851O27z+D7++GMjyezevbvUMZvHlZeXZ+Lj402TJk1MzZo1TfPmzc3kyZNNQUGBq4+N43MYY4xXpoQAAAAqAc/MAAAAqxFmAACA1QgzAADAaoQZAABgNcIMAACwGmEGAABYjTADAACsRpgBAABWI8wAAACrEWYAAIDVCDMAfM6qVavUtWtXXXXVVWrQoIFuv/12ff/9967jGzZsULt27VSzZk1FR0dr+fLlcjgcysjIcPXZtWuX+vbtqzp16ig4OFhDhw7VL7/84oXRALjUCDMAfM7x48c1btw4paen69NPP1W1atXUv39/FRcXKz8/X/369VObNm20ZcsW/eMf/9DEiRPdPp+dna2YmBi1a9dOmzZt0qpVq3Tw4EHdc889XhoRgEuJL5oE4PN+/vlnNWrUSDt27ND69ev11FNP6cCBA6pZs6Yk6fXXX9df//pXbd26Ve3atdMzzzyjL7/8Uh9//LHrHAcOHFDjxo21e/dutWrVyltDAXAJMDMDwOd8//33GjRokJo3b66goCCFh4dLkvbt26fdu3erbdu2riAjSTfffLPb5zdv3qy0tDTVqVPHtUVGRrrODaBq8fN2AQBwtn79+qlx48Z67bXXFBYWpuLiYkVFRamwsFDGGDkcDrf+Z08wFxcXq1+/fnr++edLnTs0NPSS1g7g8iPMAPAphw4d0jfffKM5c+bolltukSStX7/edTwyMlJvvPGGCgoK5HQ6JUmbNm1yO8eNN96o9957T82aNZOfH7/mgKqO20wAfEq9evXUoEEDzZ07V999953WrFmjcePGuY4PGjRIxcXFeuihh/TNN9/o448/1gsvvCBJrhmb0aNH69dff9V9992nr776Sj/88INWr16tESNGqKioyCvjAnDpEGYA+JRq1app6dKl2rx5s6KiojR27FjNmDHDdTwoKEj//ve/lZGRoXbt2mny5Ml65plnJMn1HE1YWJj+85//qKioSL1791ZUVJTi4+NVt25dVavGrz2gquFtJgDWe+ONN3T//ffr6NGjCggI8HY5AC4zbiYDsM6iRYvUvHlzXXPNNdq2bZsmTpyoe+65hyADXKEIMwCsk5OTo2eeeUY5OTkKDQ3V3Xffreeee87bZQHwEm4zAQAAq/EkHAAAsBphBgAAWI0wAwAArEaYAQAAViPMAAAAqxFmAACA1QgzAADAaoQZAABgNcIMAACw2v8DO9+x2Io/jysAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "age_population=pd.read_csv(\"/Users/nhannguyen/Desktop/Ironhack/Week_3/Descriptive-Stats/data/ages_population.csv\")\n", + "print(age_population)\n", + "#fre_dist:\n", + "\n", + "freq_dist_age = age_population['observation'].value_counts().sort_index()\n", + "print(freq_dist_age)\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(freq_dist_age.index, freq_dist_age.values)\n", + "plt.xlabel('age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Age Distribution')\n", + "\n", + "# mean should be around 30-40 since there is large concentration there and distribution is slightly killed on the lest ( younger poulation)" + ] + }, + { + "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": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "36.56\n", + "12.81008977329979\n" + ] + } + ], + "source": [ + "# your code here\n", + "#mean :\n", + "\n", + "mean_calc= np.mean(age_population['observation'])\n", + "print(mean_calc)\n", + "\n", + "#standard deviation\n", + "\n", + "std_calc=np.std(age_population['observation'])\n", + "print(std_calc)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "high std compared to expected\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": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " observation\n", + "0 25.0\n", + "1 31.0\n", + "2 29.0\n", + "3 31.0\n", + "4 29.0\n", + ".. ...\n", + "995 26.0\n", + "996 22.0\n", + "997 21.0\n", + "998 19.0\n", + "999 28.0\n", + "\n", + "[1000 rows x 1 columns]\n", + "19.0 3\n", + "20.0 13\n", + "21.0 17\n", + "22.0 35\n", + "23.0 41\n", + "24.0 78\n", + "25.0 98\n", + "26.0 120\n", + "27.0 125\n", + "28.0 139\n", + "29.0 115\n", + "30.0 90\n", + "31.0 61\n", + "32.0 31\n", + "33.0 22\n", + "34.0 7\n", + "35.0 3\n", + "36.0 2\n", + "Name: observation, dtype: int64\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Age Distribution')" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA26UlEQVR4nO3de3hU1b3/8c9AwhAgCRAkFwkQNUA1CAhKAS03CSI3oRoVBVRasYAlAuVyUIktDbc2ppKKUCnBIuIN0HMoSJAUioCGq4oeRBogSGIUMeGahGT9/vDHHIaQAGHCTFber+fZz+Osvfba3+W44eOaPbMdxhgjAAAAS9XwdgEAAACVibADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsANUAy+99JIcDodiYmK8XYocDodrq1mzpho0aKA2bdpo5MiR2rp1a6n+Bw4ckMPhUGpq6hWdZ+nSpUpOTr6iYy52roSEBDkcDn3//fdXNFZ5vvjiCyUkJOjAgQOl9j322GNq3ry5x84FgLADVAt///vfJUl79uzRxx9/7OVqpPvvv19btmzRpk2btGzZMg0bNkxbt25Vp06dNHbsWLe+4eHh2rJli/r27XtF56hI2Knoua7UF198oRdeeOGiYee5557TihUrKvX8QHXj5+0CAFSubdu2affu3erbt69WrVqlhQsXqmPHjl6tKTQ0VD//+c9dr3v37q34+Hg9+eSTeumll9SqVSv95je/kSQ5nU63vpWhuLhYZ8+evSbnupQbb7zRq+cHbMTKDmC5hQsXSpJmzpypzp07a9myZTp16lSpfocPH9b999+vwMBA1a9fX4888ogyMjIu+hHStm3bNGDAADVs2FC1a9dWu3bt9NZbb11VnTVr1lRKSooaNWqkOXPmuNov9tHSd999pyeffFKRkZFyOp267rrr1KVLF61bt06S1K1bN61atUoHDx50+9js/PFmz56t6dOnKyoqSk6nU+np6eV+ZJaVlaXBgwcrKChIwcHBevTRR/Xdd9+59XE4HEpISCh1bPPmzfXYY49JklJTU/XAAw9Ikrp37+6q7dw5L/Yx1pkzZzRlyhRFRUWpVq1auv766zV69Gj9+OOPpc7Tr18/rVmzRrfddpsCAgLUqlUr18oeUF0RdgCLnT59Wm+88YZuv/12xcTE6IknntDx48f19ttvu/U7efKkunfvrvT0dM2aNUtvvfWWQkND9eCDD5YaMz09XV26dNGPP/6oV155Re+9957atm2rBx988Irvq7lQQECA7r77bmVmZurw4cNl9hs6dKhWrlyp559/XmvXrtWrr76qu+++W0ePHpUkvfzyy+rSpYvCwsK0ZcsW13a+l156SevXr9ef/vQnrV69Wq1atSq3tkGDBummm27SO++8o4SEBK1cuVK9e/dWUVHRFc2xb9++SkxMlCT99a9/ddVW1kdnxhjdd999+tOf/qShQ4dq1apVGjdunBYvXqwePXqooKDArf/u3bs1fvx4PfPMM3rvvfd06623asSIEdq4ceMV1QlYxQCw1muvvWYkmVdeecUYY8zx48dNvXr1zF133eXW769//auRZFavXu3WPnLkSCPJLFq0yNXWqlUr065dO1NUVOTWt1+/fiY8PNwUFxeXW5MkM3r06DL3T5o0yUgyH3/8sTHGmMzMzFI11KtXz8THx5d7nr59+5pmzZqVaj833o033mgKCwsvuu/8c02bNs1IMs8884xb39dff91IMkuWLHGb27Rp00qds1mzZmb48OGu12+//baRZNLT00v1HT58uFvda9asMZLM7Nmz3fq9+eabRpJZsGCB23lq165tDh486Go7ffq0adiwoRk5cmSpcwHVBSs7gMUWLlyogIAAPfTQQ5KkevXq6YEHHtC///1v7du3z9Vvw4YNCgwM1D333ON2/MMPP+z2+uuvv9b//u//6pFHHpEknT171rXde++9ys7O1t69e6+qZmPMJfvccccdSk1N1fTp07V169YrXl2RpAEDBsjf3/+y+5+b8zlxcXHy8/NTenr6FZ/7Sqxfv16SXB+DnfPAAw+obt26+vDDD93a27Ztq6ZNm7pe165dWy1atNDBgwcrtU7AlxF2AEt9/fXX2rhxo/r27StjjH788Uf9+OOPuv/++yXJ7T6Oo0ePKjQ0tNQYF7Z9++23kqQJEybI39/fbRs1apQkXfVXtM/9pRwREVFmnzfffFPDhw/Xq6++qk6dOqlhw4YaNmyYcnJyLvs84eHhV1RXWFiY22s/Pz+FhIS4PjqrLEePHpWfn5+uu+46t3aHw6GwsLBS5w8JCSk1htPp1OnTpyu1TsCXEXYAS/3973+XMUbvvPOOGjRo4NrO3RuyePFiFRcXS/rpL8hzQeZ8F4aHRo0aSZKmTJmijIyMi25t27atcM2nT5/WunXrdOONN6pJkyZl9mvUqJGSk5N14MABHTx4UDNmzNDy5ctLrX6U59wNy5frwn8XZ8+e1dGjR93ChdPpLHUPjaSrCkQhISE6e/ZsqZuhjTHKyclxvScAykbYASxUXFysxYsX68Ybb1R6enqpbfz48crOztbq1aslSV27dtXx48ddr89ZtmyZ2+uWLVsqOjpau3fvVocOHS66BQYGVrjmMWPG6OjRo5o0adJlH9e0aVONGTNGvXr10o4dO1ztnl7NeP31191ev/XWWzp79qy6devmamvevLk+/fRTt37r16/XiRMn3NqcTqckXVZ9PXv2lCQtWbLErf3dd9/VyZMnXfsBlI3f2QEstHr1ah05ckSzZs1y+8v4nJiYGKWkpGjhwoXq16+fhg8frhdffFGPPvqopk+frptuukmrV6/WBx98IEmqUeP//r9o/vz56tOnj3r37q3HHntM119/vX744Qd9+eWX2rFjR6lvel3Mt99+q61bt8oYo+PHj+vzzz/Xa6+9pt27d+uZZ57Rr3/96zKPzcvLU/fu3TVkyBC1atVKgYGBysjI0Jo1azR48GBXv9atW2v58uWaN2+e2rdvrxo1aqhDhw5X8G/R3fLly+Xn56devXppz549eu6559SmTRvFxcW5+gwdOlTPPfecnn/+eXXt2lVffPGFUlJSFBwc7DbWuV+yXrBggQIDA1W7dm1FRUVd9COoXr16qXfv3po0aZLy8/PVpUsXffrpp5o2bZratWunoUOHVnhOQLXh1dujAVSK++67z9SqVcvk5uaW2eehhx4yfn5+JicnxxhjzKFDh8zgwYNNvXr1TGBgoPnlL39p/vnPfxpJ5r333nM7dvfu3SYuLs40btzY+Pv7m7CwMNOjRw/Xt77KI8m11ahRwwQFBZnWrVubJ5980mzZsqVU/wu/IXXmzBnz1FNPmVtvvdUEBQWZgIAA07JlSzNt2jRz8uRJ13E//PCDuf/++039+vWNw+Ew5/64OzfenDlzLnkuY/7v21jbt283/fv3d/37efjhh823337rdnxBQYGZOHGiiYyMNAEBAaZr165m165dpb6NZYwxycnJJioqytSsWdPtnBd+G8uYn75RNWnSJNOsWTPj7+9vwsPDzW9+8xtz7Ngxt37NmjUzffv2LTWvrl27mq5du5ZqB6oLhzGX8dUHANVSYmKinn32WR06dKjce2gAwJfxMRYASVJKSookqVWrVioqKtL69ev10ksv6dFHHyXoAKjSCDsAJEl16tTRiy++qAMHDqigoEBNmzbVpEmT9Oyzz3q7NAC4KnyMBQAArMZXzwEAgNUIOwAAwGqEHQAAYDVuUJZUUlKiI0eOKDAw8Ip/Qh4AAHiH+f8/TBoREeH246cXIuxIOnLkiCIjI71dBgAAqICsrKxyfyKDsCO5nuWTlZWloKAgL1cDAAAuR35+viIjIy/5TD7Cjv7v6cdBQUGEHQAAqphL3YLCDcoAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNW8GnY2btyo/v37KyIiQg6HQytXriyz78iRI+VwOJScnOzWXlBQoKefflqNGjVS3bp1NWDAAB0+fLhyCwcAAFWGV8POyZMn1aZNG6WkpJTbb+XKlfr4448VERFRal98fLxWrFihZcuWadOmTTpx4oT69eun4uLiyiobAABUIV59XESfPn3Up0+fcvt88803GjNmjD744AP17dvXbV9eXp4WLlyof/zjH7r77rslSUuWLFFkZKTWrVun3r17V1rtAACgavDpe3ZKSko0dOhQ/e53v9Mtt9xSav/27dtVVFSk2NhYV1tERIRiYmK0efPmMsctKChQfn6+2wYAAOzk02Fn1qxZ8vPz029/+9uL7s/JyVGtWrXUoEEDt/bQ0FDl5OSUOe6MGTMUHBzs2iIjIz1aNwAA8B0+G3a2b9+uv/zlL0pNTb3k00wvZIwp95gpU6YoLy/PtWVlZV1tuQAAwEf5bNj597//rdzcXDVt2lR+fn7y8/PTwYMHNX78eDVv3lySFBYWpsLCQh07dszt2NzcXIWGhpY5ttPpVFBQkNsGAADs5NUblMszdOhQ103H5/Tu3VtDhw7V448/Lklq3769/P39lZaWpri4OElSdna2Pv/8c82ePfua1wzAtzWfvMrjYx6Y2ffSnQB4lVfDzokTJ/T111+7XmdmZmrXrl1q2LChmjZtqpCQELf+/v7+CgsLU8uWLSVJwcHBGjFihMaPH6+QkBA1bNhQEyZMUOvWrUsFJQAAUD15Nexs27ZN3bt3d70eN26cJGn48OFKTU29rDFefPFF+fn5KS4uTqdPn1bPnj2VmpqqmjVrVkbJAACginEYY4y3i/C2/Px8BQcHKy8vj/t3AIvxMRZgl8v9+9tnb1AGAADwBMIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNUIOwAAwGqEHQAAYDXCDgAAsBphBwAAWI2wAwAArEbYAQAAViPsAAAAqxF2AACA1Qg7AADAaoQdAABgNcIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDV/LxdAABIUvPJqzw63oGZfT06HoCqi5UdAABgNcIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqXg07GzduVP/+/RURESGHw6GVK1e69hUVFWnSpElq3bq16tatq4iICA0bNkxHjhxxG6OgoEBPP/20GjVqpLp162rAgAE6fPjwNZ4JAADwVV4NOydPnlSbNm2UkpJSat+pU6e0Y8cOPffcc9qxY4eWL1+ur776SgMGDHDrFx8frxUrVmjZsmXatGmTTpw4oX79+qm4uPhaTQMAAPgwrz4uok+fPurTp89F9wUHBystLc2tbe7cubrjjjt06NAhNW3aVHl5eVq4cKH+8Y9/6O6775YkLVmyRJGRkVq3bp169+5d6XMAAAC+rUrds5OXlyeHw6H69etLkrZv366ioiLFxsa6+kRERCgmJkabN28uc5yCggLl5+e7bQAAwE5V5kGgZ86c0eTJkzVkyBAFBQVJknJyclSrVi01aNDArW9oaKhycnLKHGvGjBl64YUXKrVewCY8pBNAVVYlVnaKior00EMPqaSkRC+//PIl+xtj5HA4ytw/ZcoU5eXlubasrCxPlgsAAHyIz4edoqIixcXFKTMzU2lpaa5VHUkKCwtTYWGhjh075nZMbm6uQkNDyxzT6XQqKCjIbQMAAHby6bBzLujs27dP69atU0hIiNv+9u3by9/f3+1G5uzsbH3++efq3LnztS4XAAD4IK/es3PixAl9/fXXrteZmZnatWuXGjZsqIiICN1///3asWOH/ud//kfFxcWu+3AaNmyoWrVqKTg4WCNGjND48eMVEhKihg0basKECWrdurXr21kAAKB682rY2bZtm7p37+56PW7cOEnS8OHD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//IupkaNGrr99tt98v/0LjX384WHh6tZs2blzqMqvfeXM/d///vf2rt3r958880rHt+X3/datWrppptukiR16NBBGRkZ+stf/qJJkyZJsvuaL2vu8+fPl2T39X6puZ/PtuvdU/gYqwoyxmjMmDFavny51q9fr6ioKLf9UVFRCgsLU1pamqutsLBQGzZsUOfOncsct1OnTm7HSNLatWvLPcYbLjV/6f/+4Nu3b5/WrVunkJCQCp1n165dbn95eNvlzP1CR48eVVZWVrnzqArv/ZXMfeHChWrfvr3atGlTofP42vteFmOMCgoKrL/mL+bc3CV7r/eynD/3C9lyvXuct5aUUHG/+c1vTHBwsPnXv/5lsrOzXdupU6dcfWbOnGmCg4PN8uXLzWeffWYefvhhEx4ebvLz8119hg4daiZPnux6/dFHH5maNWuamTNnmi+//NLMnDnT+Pn5ma1bt17T+V3KpeZfVFRkBgwYYJo0aWJ27drl1qegoMA1zoXzT0hIMGvWrDH79+83O3fuNI8//rjx8/MzH3/88TWfY1kuNffjx4+b8ePHm82bN5vMzEyTnp5uOnXqZK6//voq/95fzn/3xhiTl5dn6tSpY+bNm3fRcari+26MMVOmTDEbN240mZmZ5tNPPzX/9V//ZWrUqGHWrl1rjLH7mi9v7jZf78aUP3ebr3dPI+xUQZIuui1atMjVp6SkxEybNs2EhYUZp9NpfvGLX5jPPvvMbZyuXbua4cOHu7W9/fbbpmXLlsbf39+0atWq3M99veVS88/MzCyzT3p6umucC+cfHx9vmjZtamrVqmWuu+46ExsbazZv3nxtJ3cJl5r7qVOnTGxsrLnuuuuMv7+/adq0qRk+fLg5dOiQ2zhV8b2/nP/ujTFm/vz5JiAgwPz4448XHacqvu/GGPPEE0+YZs2auers2bOnK+gYY/c1X97cbb7ejSl/7jZf757mMMaYyl07AgAA8B7u2QEAAFYj7AAAAKsRdgAAgNUIOwAAwGqEHQAAYDXCDgAAsBphBwAAWI2wAwAArEbYAQAAViPsAAAAqxF2AFRJa9as0Z133qn69esrJCRE/fr10/79+137N2/erLZt26p27drq0KGDVq5cKYfDoV27drn6fPHFF7r33ntVr149hYaGaujQofr++++9MBsAlYmwA6BKOnnypMaNG6eMjAx9+OGHqlGjhgYNGqSSkhIdP35c/fv3V+vWrbVjxw794Q9/0KRJk9yOz87OVteuXdW2bVtt27ZNa9as0bfffqu4uDgvzQhAZeFBoACs8N1336lx48b67LPPtGnTJj377LM6fPiwateuLUl69dVX9etf/1o7d+5U27Zt9fzzz+vjjz/WBx984Brj8OHDioyM1N69e9WiRQtvTQWAh7GyA6BK2r9/v4YMGaIbbrhBQUFBioqKkiQdOnRIe/fu1a233uoKOpJ0xx13uB2/fft2paenq169eq6tVatWrrEB2MPP2wUAQEX0799fkZGR+tvf/qaIiAiVlJQoJiZGhYWFMsbI4XC49b9wEbukpET9+/fXrFmzSo0dHh5eqbUDuLYIOwCqnKNHj+rLL7/U/Pnzddddd0mSNm3a5NrfqlUrvf766yooKJDT6ZQkbdu2zW2M2267Te+++66aN28uPz/+KARsxsdYAKqcBg0aKCQkRAsWLNDXX3+t9evXa9y4ca79Q4YMUUlJiZ588kl9+eWX+uCDD/SnP/1JklwrPqNHj9YPP/yghx9+WJ988on+85//aO3atXriiSdUXFzslXkBqByEHQBVTo0aNbRs2TJt375dMTExeuaZZzRnzhzX/qCgIP33f/+3du3apbZt22rq1Kl6/vnnJcl1H09ERIQ++ugjFRcXq3fv3oqJidHYsWMVHBysGjX4oxGwCd/GAlAtvP7663r88ceVl5engIAAb5cD4Brig2oAVnrttdd0ww036Prrr9fu3bs1adIkxcXFEXSAaoiwA8BKOTk5ev7555WTk6Pw8HA98MAD+uMf/+jtsgB4AR9jAQAAq3EXHgAAsBphBwAAWI2wAwAArEbYAQAAViPsAAAAqxF2AACA1Qg7AADAaoQdAABgNcIOAACw2v8D+tch6Gd0MlQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "age_population_2=pd.read_csv(\"/Users/nhannguyen/Desktop/Ironhack/Week_3/Descriptive-Stats/data/ages_population2.csv\")\n", + "print(age_population_2)\n", + "#fre_dist:\n", + "\n", + "freq_dist_age2 = age_population_2['observation'].value_counts().sort_index()\n", + "print(freq_dist_age2)\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(freq_dist_age2.index, freq_dist_age2.values)\n", + "plt.xlabel('age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Age Distribution')" + ] + }, + { + "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", + "there are concentration in young ages, there are less diversity in group\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": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "27.155\n", + "2.9683286543103704\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_calc2= np.mean(age_population_2['observation'])\n", + "print(mean_calc2)\n", + "\n", + "#standard deviation\n", + "\n", + "std_calc2=np.std(age_population_2['observation'])\n", + "print(std_calc2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "lower std as expected\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 5\n", + "Now is the turn of `ages_population3.csv`.\n", + "\n", + "#### 1.- Read the file `ages_population3.csv`. Calculate the frequency distribution and plot it." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " observation\n", + "0 21.0\n", + "1 21.0\n", + "2 24.0\n", + "3 31.0\n", + "4 54.0\n", + ".. ...\n", + "995 16.0\n", + "996 55.0\n", + "997 30.0\n", + "998 35.0\n", + "999 43.0\n", + "\n", + "[1000 rows x 1 columns]\n", + "1.0 1\n", + "2.0 2\n", + "4.0 2\n", + "5.0 1\n", + "7.0 1\n", + " ..\n", + "73.0 6\n", + "74.0 6\n", + "75.0 2\n", + "76.0 1\n", + "77.0 2\n", + "Name: observation, Length: 75, dtype: int64\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Age Distribution')" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAHFCAYAAADlrWMiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA000lEQVR4nO3df3zN9f//8fthdgyb/Gi/MrMw3pof1fpByo+iZnmXlUiY9Bu9afkkVOadTOktuSj98h4u0vRD6v2RX2VIUsgQvaWamdqsFJvFZHt+/+jrfBxD2zHOeR636+Xyulx6PV/P8zqP5w5z7/l6vZ7HYYwxAgAAsFg1bxcAAABwpgg0AADAegQaAABgPQINAACwHoEGAABYj0ADAACsR6ABAADWI9AAAADrEWgAAID1CDSA5aZNmyaHw6G4uDhvlyKHw+Haqlevrnr16qlt27Z64IEHtG7dunL9d+3aJYfDoVmzZlXqfebNm6epU6dW6jUne6/U1FQ5HA798ssvlTrX6Wzfvl2pqanatWtXuWODBg1SkyZNquy9APwfAg1guX//+9+SpG3btumLL77wcjXS7bffrs8//1xr1qxRRkaGBg4cqHXr1ql9+/YaPny4W9+IiAh9/vnnSkxMrNR7eBJoPH2vytq+fbvGjx9/0kDz5JNP6v333z+r7w+crwK8XQAAz23YsEGbN29WYmKiFi1apJkzZ+qqq67yak1hYWG6+uqrXfs33nijRowYofvvv1/Tpk1Ty5Yt9dBDD0mSnE6nW9+zobS0VEePHj0n7/VXmjZt6tX3B/wZMzSAxWbOnClJmjRpkjp06KCMjAz9/vvv5frt2bNHt99+u4KDg3XBBRforrvu0vr16096uWfDhg36+9//rvr166tmzZq69NJL9fbbb59RndWrV9f06dPVsGFDTZ482dV+sstAP//8s+6//35FRUXJ6XTqwgsv1DXXXKOPP/5YktS5c2ctWrRIOTk5bpe4jj/fc889pwkTJigmJkZOp1OZmZmnvbyVm5urpKQkhYSEqG7duurfv79+/vlntz4Oh0OpqanlXtukSRMNGjRIkjRr1iz17t1bktSlSxdXbcfe82SXnA4fPqzRo0crJiZGgYGBuuiiizR06FDt37+/3PvcfPPNWrJkiS677DIFBQWpZcuWrhk64HxHoAEsdejQIb311lu64oorFBcXp8GDB6uoqEjvvPOOW7/i4mJ16dJFmZmZevbZZ/X2228rLCxMffr0KXfOzMxMXXPNNdq/f79eeeUVffDBB2rXrp369OlT6ftcThQUFKQbbrhB2dnZ2rNnzyn7DRgwQAsXLtRTTz2lZcuW6Y033tANN9ygffv2SZJefvllXXPNNQoPD9fnn3/u2o43bdo0rVixQs8//7wWL16sli1bnra2Xr16qVmzZnr33XeVmpqqhQsX6sYbb9Qff/xRqTEmJiZq4sSJkqSXXnrJVdupLnMZY3Trrbfq+eef14ABA7Ro0SKlpKRo9uzZ6tq1q0pKStz6b968WY8++qgeeeQRffDBB2rTpo3uuecerV69ulJ1An7JALDSnDlzjCTzyiuvGGOMKSoqMnXq1DHXXnutW7+XXnrJSDKLFy92a3/ggQeMJJOenu5qa9mypbn00kvNH3/84db35ptvNhEREaa0tPS0NUkyQ4cOPeXxUaNGGUnmiy++MMYYk52dXa6GOnXqmBEjRpz2fRITE010dHS59mPna9q0qTly5MhJjx3/XuPGjTOSzCOPPOLW98033zSSzNy5c93GNm7cuHLvGR0dbZKTk13777zzjpFkMjMzy/VNTk52q3vJkiVGknnuuefc+s2fP99IMq+99prb+9SsWdPk5OS42g4dOmTq169vHnjggXLvBZxvmKEBLDVz5kwFBQWpb9++kqQ6deqod+/e+vTTT7Vz505Xv1WrVik4OFg33XST2+vvvPNOt/3vvvtO//3vf3XXXXdJko4ePeraevTooby8PO3YseOMajbG/GWfK6+8UrNmzdKECRO0bt26Ss+SSNLf//531ahRo8L9j435mDvuuEMBAQHKzMys9HtXxooVKyTJdcnqmN69e6t27dr65JNP3NrbtWunxo0bu/Zr1qyp2NhY5eTknNU6ARsQaAALfffdd1q9erUSExNljNH+/fu1f/9+3X777ZLkdl/Fvn37FBYWVu4cJ7bt3btXkjRy5EjVqFHDbRsyZIgknfHjzcf+4Y2MjDxln/nz5ys5OVlvvPGG2rdvr/r162vgwIHKz8+v8PtERERUqq7w8HC3/YCAADVo0MB1mets2bdvnwICAnThhRe6tTscDoWHh5d7/wYNGpQ7h9Pp1KFDh85qnYANCDSAhf7973/LGKN3331X9erVc23H7tWYPXu2SktLJf35j+CxsHK8EwNCw4YNJUmjR4/W+vXrT7q1a9fO45oPHTqkjz/+WE2bNlWjRo1O2a9hw4aaOnWqdu3apZycHKWlpWnBggXlZjFO59hNwhV14s/i6NGj2rdvn1uAcDqd5e5pkXRGoadBgwY6evRouRuQjTHKz893fSYA/hqBBrBMaWmpZs+eraZNmyozM7Pc9uijjyovL0+LFy+WJHXq1ElFRUWu/WMyMjLc9lu0aKHmzZtr8+bNio+PP+kWHBzscc3Dhg3Tvn37NGrUqAq/rnHjxho2bJi6deumr776ytVe1bMSb775ptv+22+/raNHj6pz586utiZNmmjLli1u/VasWKGDBw+6tTmdTkmqUH3XX3+9JGnu3Llu7e+9956Ki4tdxwH8NdahASyzePFi/fTTT3r22Wfd/sE9Ji4uTtOnT9fMmTN18803Kzk5WS+88IL69++vCRMmqFmzZlq8eLGWLl0qSapW7f/+v+bVV19VQkKCbrzxRg0aNEgXXXSRfv31V33zzTf66quvyj1BdTJ79+7VunXrZIxRUVGRvv76a82ZM0ebN2/WI488ovvuu++Urz1w4IC6dOmifv36qWXLlgoODtb69eu1ZMkSJSUlufq1bt1aCxYs0IwZM3T55ZerWrVqio+Pr8RP0d2CBQsUEBCgbt26adu2bXryySfVtm1b3XHHHa4+AwYM0JNPPqmnnnpKnTp10vbt2zV9+nTVrVvX7VzHVmx+7bXXFBwcrJo1ayomJuakl4u6deumG2+8UaNGjVJhYaGuueYabdmyRePGjdOll16qAQMGeDwm4Lzj1VuSAVTarbfeagIDA01BQcEp+/Tt29cEBASY/Px8Y4wxu3fvNklJSaZOnTomODjY3Hbbbeajjz4ykswHH3zg9trNmzebO+64w4SGhpoaNWqY8PBw07VrV9fTVKcjybVVq1bNhISEmNatW5v777/ffP755+X6n/jk0eHDh82DDz5o2rRpY0JCQkxQUJBp0aKFGTdunCkuLna97tdffzW33367ueCCC4zD4TDHfpUdO9/kyZP/8r2M+b+nnDZu3Gh69uzp+vnceeedZu/evW6vLykpMY899piJiooyQUFBplOnTiYrK6vcU07GGDN16lQTExNjqlev7vaeJz7lZMyfTyqNGjXKREdHmxo1apiIiAjz0EMPmd9++82tX3R0tElMTCw3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9dZbtWPHDrc+/jDeGTNmqE2bNq5Fqtq3b6/Fixe7jvvDGE8lLS1NDodDI0aMcLX5y3hTU1PlcDjctvDwcNdxfxmnJP3444/q37+/GjRooFq1aqldu3bauHGj67i/jLVJkyblPlOHw6GhQ4dK8p9xStLRo0f1xBNPKCYmRkFBQbr44ov1z3/+U2VlZa4+VTJez75l6fySkZFhatSoYV5//XWzfft2M3z4cFO7dm2Tk5Pj7dLOyEcffWTGjh1r3nvvPSPJvP/++27HJ02aZIKDg817771ntm7davr06WMiIiJMYWGhdwo+AzfeeKNJT083X3/9tcnKyjKJiYmmcePG5uDBg64+/jDeDz/80CxatMjs2LHD7Nixw4wZM8bUqFHDfP3118YY/xjjyXz55ZemSZMmpk2bNmb48OGudn8Z77hx48wll1xi8vLyXFtBQYHruL+M89dffzXR0dFm0KBB5osvvjDZ2dnm448/Nt99952rj7+MtaCgwO3zXL58uZFkMjMzjTH+M05j/vz+xQYNGpj//d//NdnZ2eadd94xderUMVOnTnX1qYrxEmgq4MorrzQPPvigW1vLli3N448/7qWKqt6JgaasrMyEh4ebSZMmudoOHz5s6tata1555RUvVFi1CgoKjCSzatUqY4x/j7devXrmjTfe8NsxFhUVmebNm5vly5ebTp06uQKNP4133Lhxpm3btic95k/jHDVqlOnYseMpj/vTWE80fPhw07RpU1NWVuZ340xMTDSDBw92a0tKSjL9+/c3xlTd58olp79w5MgRbdy4Ud27d3dr7969u9auXeulqs6+7Oxs5efnu43b6XSqU6dOfjHuAwcOSJLq168vyT/HW1paqoyMDBUXF6t9+/Z+OUZJGjp0qBITE3XDDTe4tfvbeHfu3KnIyEjFxMSob9+++uGHHyT51zg//PBDxcfHq3fv3goNDdWll16q119/3XXcn8Z6vCNHjmju3LkaPHiwHA6H342zY8eO+uSTT/Ttt99KkjZv3qw1a9aoR48ekqruc7VipWBv+uWXX1RaWlru273DwsLKfQu4Pzk2tpONOycnxxslVRljjFJSUtSxY0fFxcVJ8q/xbt26Ve3bt9fhw4dVp04dvf/++2rVqpXrF4M/jPGYjIwMffXVV1q/fn25Y/70mV511VWaM2eOYmNjtXfvXk2YMEEdOnTQtm3b/GqcP/zwg2bMmKGUlBSNGTNGX375pf7xj3/I6XRq4MCBfjXW4y1cuFD79+/XoEGDJPnXn11JGjVqlA4cOKCWLVuqevXqKi0t1TPPPKM777xTUtWNl0BTQQ6Hw23fGFOuzR/547iHDRumLVu2aM2aNeWO+cN4W7RooaysLO3fv1/vvfeekpOTtWrVKtdxfxijJOXm5mr48OFatmyZatasecp+/jDehIQE13+3bt1a7du3V9OmTTV79mxdffXVkvxjnGVlZYqPj9fEiRMlSZdeeqm2bdumGTNmaODAga5+/jDW482cOVMJCQmKjIx0a/eXcc6fP19z587VvHnzdMkllygrK0sjRoxQZGSkkpOTXf3OdLxccvoLDRs2VPXq1cvNxhQUFJRLk/7k2BMU/jbuhx9+WB9++KEyMzPVqFEjV7s/jTcwMFDNmjVTfHy80tLS1LZtW7344ot+NUZJ2rhxowoKCnT55ZcrICBAAQEBWrVqlaZNm6aAgADXmPxlvMerXbu2WrdurZ07d/rV5xoREaFWrVq5tf3tb3/T7t27JfnX39NjcnJy9PHHH+vee+91tfnbOP/nf/5Hjz/+uPr27avWrVtrwIABeuSRR5SWliap6sZLoPkLgYGBuvzyy7V8+XK39uXLl6tDhw5eqursi4mJUXh4uNu4jxw5olWrVlk5bmOMhg0bpgULFmjFihWKiYlxO+5v4z2eMUYlJSV+N8brr79eW7duVVZWlmuLj4/XXXfdpaysLF188cV+Nd7jlZSU6JtvvlFERIRffa7XXHNNueUUvv32W0VHR0vyz7+n6enpCg0NVWJioqvN38b5+++/q1o197hRvXp112PbVTZez+9bPn8ce2x75syZZvv27WbEiBGmdu3aZteuXd4u7YwUFRWZTZs2mU2bNhlJZsqUKWbTpk2ux9EnTZpk6tataxYsWGC2bt1q7rzzTmsfG3zooYdM3bp1zcqVK90elfz9999dffxhvKNHjzarV6822dnZZsuWLWbMmDGmWrVqZtmyZcYY/xjj6Rz/lJMx/jPeRx991KxcudL88MMPZt26debmm282wcHBrt9B/jLOL7/80gQEBJhnnnnG7Ny507z55pumVq1aZu7cua4+/jJWY4wpLS01jRs3NqNGjSp3zJ/GmZycbC666CLXY9sLFiwwDRs2NI899pirT1WMl0BTQS+99JKJjo42gYGB5rLLLnM97muzzMxMI6nclpycbIz581G6cePGmfDwcON0Os11111ntm7d6t2iPXSycUoy6enprj7+MN7Bgwe7/pxeeOGF5vrrr3eFGWP8Y4ync2Kg8ZfxHluTo0aNGiYyMtIkJSWZbdu2uY77yziNMeY///mPiYuLM06n07Rs2dK89tprbsf9aaxLly41ksyOHTvKHfOncRYWFprhw4ebxo0bm5o1a5qLL77YjB071pSUlLj6VMV4HcYY4+k0EgAAgC/gHhoAAGA9Ag0AALAegQYAAFiPQAMAAKxHoAEAANYj0AAAAOsRaAAAgPUINAAAwHoEGgAAYD0CDQAAsB6BBoDPWbJkiTp27KgLLrhADRo00M0336zvv//edXzt2rVq166datasqfj4eC1cuFAOh0NZWVmuPtu3b1ePHj1Up04dhYWFacCAAfrll1+8MBoA5wKBBoDPKS4uVkpKitavX69PPvlE1apVU69evVRWVqaioiL17NlTrVu31ldffaWnn35ao0aNcnt9Xl6eOnXqpHbt2mnDhg1asmSJ9u7dqzvuuMNLIwJwtvHllAB83s8//6zQ0FBt3bpVa9as0RNPPKE9e/aoZs2akqQ33nhD9913nzZt2qR27drpqaee0hdffKGlS5e6zrFnzx5FRUVpx44dio2N9dZQAJwlzNAA8Dnff/+9+vXrp4svvlghISGKiYmRJO3evVs7duxQmzZtXGFGkq688kq312/cuFGZmZmqU6eOa2vZsqXr3AD8T4C3CwCAE/Xs2VNRUVF6/fXXFRkZqbKyMsXFxenIkSMyxsjhcLj1P3GiuaysTD179tSzzz5b7twRERFntXYA3kGgAeBT9u3bp2+++Uavvvqqrr32WknSmjVrXMdbtmypN998UyUlJXI6nZKkDRs2uJ3jsssu03vvvacmTZooIIBfc8D5gEtOAHxKvXr11KBBA7322mv67rvvtGLFCqWkpLiO9+vXT2VlZbr//vv1zTffaOnSpXr++eclyTVzM3ToUP3666+688479eWXX+qHH37QsmXLNHjwYJWWlnplXADOLgINAJ9SrVo1ZWRkaOPGjYqLi9MjjzyiyZMnu46HhIToP//5j7KystSuXTuNHTtWTz31lCS57quJjIzUZ599ptLSUt14442Ki4vT8OHDVbduXVWrxq89wB/xlBMA67355pu6++67deDAAQUFBXm7HABewMVlANaZM2eOLr74Yl100UXavHmzRo0apTvuuIMwA5zHCDQArJOfn6+nnnpK+fn5ioiIUO/evfXMM894uywAXsQlJwAAYD3ujgMAANYj0AAAAOsRaAAAgPUINAAAwHoEGgAAYD0CDQAAsB6BBgAAWI9AAwAArEegAQAA1vt/AtBMHm8GbCkAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "age_population_3=pd.read_csv(\"/Users/nhannguyen/Desktop/Ironhack/Week_3/Descriptive-Stats/data/ages_population3.csv\")\n", + "print(age_population_3)\n", + "#fre_dist:\n", + "\n", + "freq_dist_age3 = age_population_3['observation'].value_counts().sort_index()\n", + "print(freq_dist_age3)\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(freq_dist_age3.index, freq_dist_age3.values)\n", + "plt.xlabel('age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Age Distribution')" + ] + }, + { + "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": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "41.989\n", + "16.136631587788084\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_calc3= np.mean(age_population_3['observation'])\n", + "print(mean_calc3)\n", + "\n", + "#standard deviation\n", + "\n", + "std_calc3=np.std(age_population_3['observation'])\n", + "print(std_calc3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "distribution is less homogeneous, less predictable\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": 46, + "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", + "
observation
0.2530.0
0.5040.0
0.7553.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0.25 30.0\n", + "0.50 40.0\n", + "0.75 53.0" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "age_population_3.quantile([0.25,0.5,0.75])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Mean is closed to median. The distribution spreads from 0 to 80 ages but concentrate in the middle ( 50% population lies between 30 to 53 years old) and there are not signiciant outliers\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": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
0.0517.0
0.9570.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0.05 17.0\n", + "0.95 70.0" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "age_population_3.quantile([0.5,0.95])" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nnot significant outliers\\n'" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "not significant outliers\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Bonus challenge\n", + "Compare the information about the three neighbourhoods. Prepare a report about the three of them. Remember to find out which are their similarities and their differences backing your arguments in basic statistics." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/your-code/main.ipynb b/your-code/main.ipynb index 5759add..d1231be 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -1,522 +1,1217 @@ -{ - "cells": [ - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "# Understanding Descriptive Statistics\n", - "\n", - "Import the necessary libraries here:" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# Libraries" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 1\n", - "#### 1.- Define a function that simulates rolling a dice 10 times. Save the information in a dataframe.\n", - "**Hint**: you can use the *choices* function from module *random* to help you with the simulation." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Plot the results sorted by value." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Calculate the frequency distribution and plot it. What is the relation between this plot and the plot above? Describe it with words." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 2\n", - "Now, using the dice results obtained in *challenge 1*, your are going to define some functions that will help you calculate the mean of your data in two different ways, the median and the four quartiles. \n", - "\n", - "#### 1.- Define a function that computes the mean by summing all the observations and dividing by the total number of observations. You are not allowed to use any methods or functions that directly calculate the mean value. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- First, calculate the frequency distribution. Then, calculate the mean using the values of the frequency distribution you've just computed. You are not allowed to use any methods or functions that directly calculate the mean value. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Define a function to calculate the median. You are not allowed to use any methods or functions that directly calculate the median value. \n", - "**Hint**: you might need to define two computation cases depending on the number of observations used to calculate the median." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- Define a function to calculate the four quartiles. You can use the function you defined above to compute the median but you are not allowed to use any methods or functions that directly calculate the quartiles. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 3\n", - "Read the csv `roll_the_dice_hundred.csv` from the `data` folder.\n", - "#### 1.- Sort the values and plot them. What do you see?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Using the functions you defined in *challenge 2*, calculate the mean value of the hundred dice rolls." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Now, calculate the frequency distribution.\n" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- Plot the histogram. What do you see (shape, values...) ? How can you connect the mean value to the histogram? " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 5.- Read the `roll_the_dice_thousand.csv` from the `data` folder. Plot the frequency distribution as you did before. Has anything changed? Why do you think it changed?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 4\n", - "In the `data` folder of this repository you will find three different files with the prefix `ages_population`. These files contain information about a poll answered by a thousand people regarding their age. Each file corresponds to the poll answers in different neighbourhoods of Barcelona.\n", - "\n", - "#### 1.- Read the file `ages_population.csv`. Calculate the frequency distribution and plot it as we did during the lesson. Try to guess the range in which the mean and the standard deviation will be by looking at the plot. " - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Calculate the exact mean and standard deviation and compare them with your guesses. Do they fall inside the ranges you guessed?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Now read the file `ages_population2.csv` . Calculate the frequency distribution and plot it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- What do you see? Is there any difference with the frequency distribution in step 1?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 5.- Calculate the mean and standard deviation. Compare the results with the mean and standard deviation in step 2. What do you think?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Challenge 5\n", - "Now is the turn of `ages_population3.csv`.\n", - "\n", - "#### 1.- Read the file `ages_population3.csv`. Calculate the frequency distribution and plot it." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 2.- Calculate the mean and standard deviation. Compare the results with the plot in step 1. What is happening?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 3.- Calculate the four quartiles. Use the results to explain your reasoning for question in step 2. How much of a difference is there between the median and the mean?" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "#### 4.- Calculate other percentiles that might be useful to give more arguments to your reasoning." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - }, - { - "cell_type": "markdown", - "metadata": {}, - "source": [ - "## Bonus challenge\n", - "Compare the information about the three neighbourhoods. Prepare a report about the three of them. Remember to find out which are their similarities and their differences backing your arguments in basic statistics." - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "# your code here" - ] - }, - { - "cell_type": "code", - "execution_count": null, - "metadata": {}, - "outputs": [], - "source": [ - "\"\"\"\n", - "your comments here\n", - "\"\"\"" - ] - } - ], - "metadata": { - "kernelspec": { - "display_name": "ironhack-3.7", - "language": "python", - "name": "ironhack-3.7" - }, - "language_info": { - "codemirror_mode": { - "name": "ipython", - "version": 3 - }, - "file_extension": ".py", - "mimetype": "text/x-python", - "name": "python", - "nbconvert_exporter": "python", - "pygments_lexer": "ipython3", - "version": "3.7.3" - } - }, - "nbformat": 4, - "nbformat_minor": 2 -} +{ + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# Understanding Descriptive Statistics\n", + "\n", + "Import the necessary libraries here:" + ] + }, + { + "cell_type": "code", + "execution_count": 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": 2, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Rolls Results\n", + "0 1 1\n", + "1 2 5\n", + "2 3 3\n", + "3 4 2\n", + "4 5 3\n", + "5 6 6\n", + "6 7 1\n", + "7 8 2\n", + "8 9 2\n", + "9 10 5\n" + ] + } + ], + "source": [ + "# your code here\n", + "from random import choices\n", + "dice=[1,2,3,4,5,6]\n", + "def rolling_dice(number):\n", + " # reat empty list\n", + " results = []\n", + "\n", + " # Simulate rolling the die num_rolls times\n", + " for _ in range(1,number+1):\n", + " roll = choices(dice,k=1) # Simulate a roll between 1 and 6\n", + " results.append(roll)\n", + "\n", + " # transform list to dataframe\n", + " results_df = pd.DataFrame(results,index=range(1, number+1),columns=[\"Results\"])\n", + "\n", + " return results_df\n", + "\n", + "# Call the function to simulate rolling the dice 10 times\n", + "rolls_store = rolling_dice(10)\n", + "#transform index columns to normal columns\n", + "rolls_store = rolls_store.rename_axis('Rolls').reset_index()\n", + "# Display the DataFrame\n", + "print(rolls_store)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHFCAYAAADcytJ5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAsw0lEQVR4nO3deXgUVb7G8bdJIJtJAxkgKxBFZV8UGQVBIssVRMUQR1QUkUdFWQ2OkBkFLo5E0FHkIlxhvCByERwmIC6gDvsWjWwyKptECZi4m45RI+nU/aMvPTQJkI5J6iT9/TxPPUmdPl39665015uqU9UOy7IsAQAAGKie3QUAAACcDUEFAAAYi6ACAACMRVABAADGIqgAAABjEVQAAICxCCoAAMBYBBUAAGAsggoAADAWQQWoQosXL5bD4fBOwcHBio2N1dChQ3X48GHb6po2bZocDodtj19Rp16/zz77zNvWu3dv9e7d27aaKqu8uh0Oh6ZNm+ad37RpkxwOhzZt2lSjtQG1SbDdBQB10aJFi9S6dWv98ssv2r59u5544glt3LhRBw4cUKNGjewur1aZN2+e3SVUm8suu0w7d+5U27Zt7S4FMBZBBagG7du3V9euXSV5/rN2u92aOnWqVq9erREjRthcXe1iykb8p59+Unh4eJUuMyoqSldeeWWVLhOoazj0A9SAU6Hlyy+/9Lb98ssvmjhxojp37iyn06nGjRvrqquu0muvvVbm/g6HQ2PGjNHLL7+sNm3aKDw8XJ06ddIbb7xRpu+bb76pzp07KyQkRElJSXr66afLremXX35Renq6kpKS1KBBA8XHx2v06NH64YcffPq1bNlSgwYN0htvvKEuXbooLCxMbdq08T724sWL1aZNG0VERKhbt2764IMPKvSaZGVlqUePHgoNDVVcXJzS09N18uTJMv3KO4RSXFys6dOnq02bNgoNDVV0dLSSk5O1Y8cObx/LsjRv3jx17txZYWFhatSokVJTU3X06NHz1nbqUNnu3buVmpqqRo0a6aKLLvLrdauI8g793H333brgggt05MgRDRw4UBdccIESExM1ceJEFRcX+9z/+PHjSk1NVWRkpBo2bKg77rhD2dnZcjgcWrx4sd/1ACZijwpQA3JyciRJl1xyibetuLhY3333nR5++GHFx8fr119/1T//+U+lpKRo0aJFuuuuu3yW8eabbyo7O1vTp0/XBRdcoFmzZunmm2/WwYMHdeGFF0qS1q9fr5tuuklXXXWVli9fLrfbrVmzZvkEJMmzER88eLDWr1+v9PR09ezZUx9++KGmTp2qnTt3aufOnQoJCfH237dvn9LT0/XnP/9ZTqdT//mf/6mUlBSlp6dr/fr1mjFjhhwOhyZNmqRBgwYpJydHYWFhZ309Pv74Y/Xp00ctW7bU4sWLFR4ernnz5mnZsmXnfS1LSko0YMAAbd26VRMmTNC1116rkpISZWVl6dixY+revbsk6f7779fixYs1btw4zZw5U999952mT5+u7t27a9++fWrWrNl5HyslJUVDhw7VqFGjVFRU5PfrVlknT57UjTfeqJEjR2rixInasmWLHn/8cTmdTk2ZMkWSVFRUpOTkZH333XeaOXOmWrVqpXXr1unWW2/9zY8PGMUCUGUWLVpkSbKysrKskydPWoWFhda6deusmJgYq1evXtbJkyfPet+SkhLr5MmT1siRI60uXbr43CbJatasmeVyubxt+fn5Vr169ayMjAxv2+9//3srLi7O+vnnn71tLpfLaty4sXX6233dunWWJGvWrFk+j7NixQpLkrVgwQJvW4sWLaywsDDr+PHj3ra9e/dakqzY2FirqKjI27569WpLkrVmzZpzvk633nqrFRYWZuXn5/s8/9atW1uSrJycHG/7NddcY11zzTXe+SVLlliSrIULF551+Tt37rQkWX/961992nNzc62wsDDrkUceOWd9U6dOtSRZU6ZM8Wn353U7s27L8qzHqVOneuc3btxoSbI2btzobRs+fLglyXr11Vd97jtw4EDr0ksv9c4///zzliRr7dq1Pv3uv/9+S5K1aNGicz5HoLbg0A9QDa688krVr19fkZGRuu6669SoUSO99tprCg723Yn597//XT169NAFF1yg4OBg1a9fXy+++KI++eSTMstMTk5WZGSkd75Zs2Zq2rSpPv/8c0me/7Czs7OVkpKi0NBQb7/IyEjdcMMNPsvasGGDJM9hhtPdcsstioiI0Pr1633aO3furPj4eO98mzZtJHkOy5w+buNU+6mazmbjxo3q06ePz16NoKCgCu0NWLt2rUJDQ3XPPfectc8bb7whh8OhYcOGqaSkxDvFxMSoU6dOFT7LZsiQIT7z/r5uleVwOMqss44dO/q8rps3b/b+fZ3utttuq5IaAFMQVIBqsGTJEmVnZ2vDhg26//779cknn5TZgGRmZuoPf/iD4uPjtXTpUu3cuVPZ2dm655579Msvv5RZZnR0dJm2kJAQ/fzzz5Kk77//XqWlpYqJiSnT78y2b7/9VsHBwWrSpIlPu8PhUExMjL799luf9saNG/vMN2jQ4Jzt5dV/5uNXpM7yfP3114qLi1O9emf/+Pryyy9lWZaaNWum+vXr+0xZWVn65ptvzvs4khQbG1umbn9et8oKDw/3CZuSZ12f/rp+++235R6+qsghLaA2YYwKUA3atGnjHUCbnJwst9utv/3tb1q5cqVSU1MlSUuXLlVSUpJWrFjhc42TMwdMVlSjRo3kcDiUn59f5rYz26Kjo1VSUqKvv/7aZ6NrWZby8/N1xRVXVKqGioqOjq5QneVp0qSJtm3bptLS0rOGld/97ndyOBzaunVruWNGKjqO5Mxrz9j9up1Zy/vvv1+mvSKvIVCbsEcFqAGzZs1So0aNNGXKFJWWlkrybAQbNGjgszHMz88v96yfijh11k1mZqbPf96FhYV6/fXXffr26dNHkicsne4f//iHioqKvLdXl+TkZK1fv95nkK/b7daKFSvOe98BAwbol19+OedZLYMGDZJlWTpx4oS6du1aZurQoUOl6rb7dTvdNddco8LCQq1du9anffny5TVWA1AT2KMC1IBGjRopPT1djzzyiJYtW6Zhw4Zp0KBByszM1IMPPqjU1FTl5ubq8ccfV2xsbKWvYvv444/ruuuuU79+/TRx4kS53W7NnDlTERER+u6777z9+vXrp//4j//QpEmT5HK51KNHD+/ZK126dNGdd95ZVU+9XI8++qjWrFmja6+9VlOmTFF4eLief/55FRUVnfe+t912mxYtWqRRo0bp4MGDSk5OVmlpqd577z21adNGQ4cOVY8ePXTfffdpxIgR+uCDD9SrVy9FREQoLy9P27ZtU4cOHfTAAw/4Xbfdr9vphg8frmeffVbDhg3TX/7yF7Vq1Upr167V22+/LUnnPDQG1Cb8JQM1ZOzYsWrevLmmT58ut9utESNG6Mknn9TatWs1cOBAzZw5U5MnT9btt99e6cfo16+fVq9eLZfLpVtvvVVpaWkaMmRImYGnDodDq1evVlpamhYtWqSBAwfq6aef1p133qkNGzZUySm259K+fXv985//VFRUlIYP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9x4Vk7BHBQCA2qda96hMnz79nLdPmTLF30UCAACUy++gsmrVKp/5kydPKicnR8HBwbrooosIKgAAoMr4HVT27NlTps3lcunuu+/WzTffXCVFAQAASFX0pYRRUVGaPn26HnvssapYHAAAgKQq/PbkH374QQUFBVW1OAAAAP8P/cyZM8dn3rIs5eXl6eWXX9Z1111XZYUBAAD4HVSeffZZn/l69eqpSZMmGj58uF/fngwAAHA+fgeVnJyc6qgDAACgjCobowIAAFDVKrRHJSUlpcILzMzMrHQxAAAAp6tQUHE6ndVdBwAAQBkVCiqLFi2q7joAAADKYIwKAAAwlt9n/UjSypUr9eqrr+rYsWP69ddffW7bvXt3lRQGAADg9x6VOXPmaMSIEWratKn27Nmjbt26KTo6WkePHtWAAQOqo0YAABCg/A4q8+bN04IFCzR37lw1aNBAjzzyiN59912NGzeOS+gDAIAq5XdQOXbsmLp37y5JCgsLU2FhoSTpzjvv1CuvvFK11QEAgIDmd1CJiYnRt99+K0lq0aKFsrKyJHmuWGtZVtVWBwAAAprfQeXaa6/V66+/LkkaOXKkHnroIfXr10+33nqrbr755iovEAAABC6H5edukNLSUpWWlio42HPC0Kuvvqpt27apVatWGjVqlBo0aFAthZbH5XLJ6XSqoKBAUVFRNfa4AACg8vzZfvsdVExCUAEAoPbxZ/vt96GfpKQkPfbYYzpw4EClCwQAAKgIv4PK2LFjtW7dOrVt21aXX365Zs+erby8vOqoDQAABDi/g0paWpqys7N14MABDRo0SPPnz1fz5s3Vv39/LVmypDpqBAAAAapKxqhkZWXpgQce0Icffii3210VdVUIY1QAAKh9/Nl+V+q7fk55//33tWzZMq1YsUIFBQVKTU39LYsDAADw4XdQOXTokP73f/9Xy5Yt02effabk5GQ9+eSTSklJUWRkZHXUCAAAApTfQaV169bq2rWrRo8eraFDhyomJqY66gIAAPA/qBw4cECXXHJJddQCAADgw++zfggpAACgpvgdVAAAAGoKQQUAABiLoAIAAIxV6aDy66+/6uDBgyopKanKegAAALz8Dio//fSTRo4cqfDwcLVr107Hjh2TJI0bN05PPvlklRcIAAACl99BJT09Xfv27dOmTZsUGhrqbe/bt69WrFhRpcUBAIDA5vd1VFavXq0VK1boyiuvlMPh8La3bdtWn376aZUWBwAAApvfe1S+/vprNW3atEx7UVGRT3ABAAD4rfwOKldccYXefPNN7/ypcLJw4UJdddVVVVcZAAAIeH4f+snIyNB1112njz/+WCUlJXruuef00UcfaefOndq8eXN11AgAAAKU33tUunfvru3bt+unn37SRRddpHfeeUfNmjXTzp07dfnll1dHjQAAIEA5LMuy7C6islwul5xOpwoKChQVFWV3OQAAoAL82X77vUflrbfe0ttvv12m/e2339batWv9XRwAAMBZ+R1UJk+eLLfbXabdsixNnjy5SooCAACQKhFUDh8+rLZt25Zpb926tY4cOVIlRQEAAEiVCCpOp1NHjx4t037kyBFFRERUSVEAAABSJYLKjTfeqAkTJvhchfbIkSOaOHGibrzxxiotDgAABDa/g8pTTz2liIgItW7dWklJSUpKSlKbNm0UHR2tp59+ujpqBAAAAcrvC745nU7t2LFD7777rvbt26ewsDB17NhRvXr1qo76AABAAOM6KgAAoEb5s/2u0B6VOXPm6L777lNoaKjmzJlzzr7jxo2reKUAAADnUKE9KklJSfrggw8UHR2tpKSksy/M4Sj3jKDqwh4VAABqnyrfo5KTk1Pu7wAAANXJ77N+AAAAakqF9qikpaVVeIHPPPNMhfvOnz9f8+fP12effSZJateunaZMmaIBAwZUeBkIAG63tHWrlJcnxcZKPXtKQUF2VxW4WB8AalCFgsqePXt85nft2iW3261LL71UknTo0CEFBQXp8ssv9+vBExIS9OSTT6pVq1aSpJdeekk33XST9uzZo3bt2vm1LNRRmZnS+PHS8eP/bktIkJ57TkpJsa+uQMX6AFDD/D49+ZlnntGmTZv00ksvqVGjRpKk77//XiNGjFDPnj01ceLE31RQ48aN9dRTT2nkyJHn7ctg2jouM1NKTZXO/BN1ODw/V65k41iTWB8Aqog/22+/g0p8fLzeeeedMns8/vWvf6l///764osv/K9Yktvt1t///ncNHz5ce/bsKfeLD89EUKnD3G6pZUvf/9xP53B4/pPPyeGwQ01gfQCoQv5sv/0eTOtyufTll1+Waf/qq69UWFjo7+K0f/9+XXDBBQoJCdGoUaO0atWqs4aU4uJiuVwunwl11NatZ98oSp7/6nNzPf1Q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gPXjjz/qsssu07x58/SXv/xFnTt31uzZs+0uKyBNnjxZ27dv19atW+0uBZIGDRqkZs2a6cUXX/S2DRkyROHh4Xr55ZdtrCzwOBwOrVq1SoMHD5bk2ZsSFxenCRMmaNKkSZKk4uJiNWvWTDNnztT9999f7TWxRyUAFBQUSJIaN25scyWBbfTo0br++uvVt29fu0sJeGvWrFHXrl11yy23qGnTpurSpYsWLlxod1kB6+qrr9b69et16NAhSdK+ffu0bds2DRw40ObKkJOTo/z8fPXv39/bFhISomuuuUY7duyokRpq9ZcS4vwsy1JaWpquvvpqtW/f3u5yAtby5cu1e/duZWdn210KJB09elTz589XWlqa/vSnP+n999/XuHHjFBISorvuusvu8gLOpEmTVFBQoNatWysoKEhut1tPPPGEbrvtNrtLC3j5+fmSpGbNmvm0N2vWTJ9//nmN1EBQqePGjBmjDz/8UNu2bbO7lICVm5ur8ePH65133lFoaKjd5UBSaWmpunbtqhkzZkiSunTpoo8++kjz588nqNhgxYoVWrp0qZYtW6Z27dpp7969mjBhguLi4jR8+HC7y4M8h4ROZ1lWmbbqQlCpw8aOHas1a9Zoy5YtSkhIsLucgLVr1y599dVXuvzyy71tbrdbW7Zs0dy5c1VcXKygoCAbKww8sbGxatu2rU9bmzZt9I9//MOmigLbH//4R02ePFlDhw6VJHXo0EGff/65MjIyCCo2i4mJkeTZsxIbG+tt/+qrr8rsZakujFGpgyzL0pgxY5SZmakNGzYoKSnJ7pICWp8+fbR//37t3bvXO3Xt2lV33HGH9u7dS0ixQY8ePcqcsn/o0CG1aNHCpooC208//aR69Xw3R0FBQZyebICkpCTFxMTo3Xff9bb9+uuv2rx5s7p3714jNbBHpQ4aPXq0li1bptdee02RkZHeY4xOp1NhYWE2Vxd4IiMjy4wPioiIUHR0NOOGbPLQQw+pe/fumjFjhv7whz/o/fff14IFC7RgwQK7SwtIN9xwg5544gk1b95c7dq10549e/TMM8/onnvusbu0gPDjjz/qyJEj3vmcnBzt3btXjRs3VvPmzTVhwgTNmDFDF198sS6++GLNmDFD4eHhuv3222umQAt1jqRyp0WLFtldGv7fNddcY40fP97uMgLa66+/brVv394KCQmxWrdubS1YsMDukgKWy+Wyxo8fbzVv3twKDQ21LrzwQuvPf/6zVVxcbHdpAWHjxo3lbjOGDx9uWZZllZaWWlOnTrViYmKskJAQq1evXtb+/ftrrD6uowIAAIzFGBUAAGAsggoAADAWQQUAABiLoAIAAIxFUAEAAMYiqAAAAGMRVAAAgLEIKgCM1bt3b02YMME737JlS82ePdu2egDUPIIKAAAwFkEFgC1+/fVXu0sAUAsQVADUiN69e2vMmDFKS0vT7373O/Xr10+bN29Wt27dFBISotjYWE2ePFklJSUVXua0adPUvHlzhYSEKC4uTuPGjavGZwDADnx7MoAa89JLL+mBBx7Q9u3b9c0336h///66++67tWTJEh04cED33nuvQkNDNW3atPMua+XKlXr22We1fPlytWvXTvn5+dq3b1/1PwkANYqgAqDGtGrVSrNmzZIkLVmyRImJiZo7d64cDodat26tL774QpMmTdKUKVNUr965d/geO3ZMMTEx6tu3r+rXr6/mzZurW7duNfE0ANQgDv0AqDFdu3b1/v7JJ5/oqquuksPh8Lb16NFDP/74o44fP37eZd1yyy36+eefdeGFF+ree+/VqlWr/DpsBKB2IKgAqDERERHe3y3L8gkpp9oklWkvT2Jiog4ePKjnn39eYWFhevDBB9WrVy+dPHmyaosGYCuCCgBbtG3bVjt27PCGE0nasWOHIiMjFR8fX6FlhIWF6cYbb9ScOXO0adMm7dy5U/v376+ukgHYgKACwBYPPvigcnNzNXbsWB04cECvvfaapk6dqrS0tPOOT5GkxYsX68UXX9S//vUvHT16VC+//LLCwsLUokWLGqgeQE1hMC0AW8THx+utt97SH//4R3Xq1EmNGzfWyJEj9eijj1bo/g0bNtSTTz6ptLQ0ud1udejQQa+//rqio6OruXIANclhnb7fFQAAwCAc+gEAAMYiqAAAAGMRVAAAgLEIKgAAwFgEFQAAYCyCCgAAMBZBBQAAGIugAgAAjEVQAQAAxiKoAAAAYxFUAACAsQgqAADAWP8HWaRSYmEEvd0AAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "\n", + "plt.scatter(rolls_store[\"Rolls\"],rolls_store[\"Results\"],color=\"red\")\n", + "# Add labels \n", + "plt.xlabel('rolls')\n", + "plt.ylabel('dice value')\n", + "plt.title('Random dice rolling ')\n", + "\n", + "# Show the plot\n", + "plt.show()\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": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Frequency Distribution')" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA2l0lEQVR4nO3de1xVdb7/8fdOboKAgnJLVPIuXpOavGskKkbeOkdPFzW1xtHygjyc0c6M2nhCR/OYXTRLMXMsKzR1vKSpaE10EhVvmZdEUILwUqKYILB+f/Rw/9qCCFt0b5av5+Ox/ljf9V1rfdbaNL7nu75rb4thGIYAAABM4j5HFwAAAFCZCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDcAAMBUCDfAHbRs2TJZLJZSl7i4OEeXZyo33msPDw8FBQWpR48eio+PV05OTol9pk+fLovFUqHzXLlyRdOnT1dSUlKF9ivtXA0aNNDjjz9eoePcysqVKzV//vxSt1ksFk2fPr1Szwc4IxdHFwDcCxISEtSsWTObtpCQEAdVY27X7/W1a9eUk5Ojr776SrNnz9bcuXO1atUqPfbYY9a+o0aNUu/evSt0/CtXrmjGjBmSpO7du5d7P3vOZY+VK1fq0KFDmjBhQoltycnJqlu37h2vAXA0wg1wF7Rs2VIRERHl6nvt2jVZLBa5uPCfpz1uvNeDBg3SxIkT1blzZw0cOFDHjx9XYGCgJKlu3bp3/B/7K1euyNPT866c61YeeeQRh54fuFt4LAU4UFJSkiwWiz744ANNmjRJ999/v9zd3XXixAlJ0hdffKHIyEj5+PjI09NTnTp10rZt20ocZ8OGDWrbtq3c3d0VFhamuXPnlngMcurUKVksFi1btqzE/qU9rjh+/LieeuopBQQEyN3dXc2bN9dbb71Vav0ffvihXn75ZYWEhMjHx0ePPfaYjh49WuI8mzdvVmRkpHx9feXp6anmzZsrPj5ekvTBBx/IYrEoOTm5xH6vvPKKXF1d9eOPP97ynpamXr16eu2113Tp0iW988471vbSHhVt375d3bt3l7+/v6pXr6569epp0KBBunLlik6dOqU6depIkmbMmGF9BDZ8+HCb4+3du1dPPvmkatWqpYYNG970XNetWbNGrVu3loeHhx544AEtWLDAZvv1R26nTp2yab9+/68/Iuvevbs2bNig9PR0m0d015X2OR86dEj9+vVTrVq15OHhobZt2+r9998v9Tzl/ZwBRyPcAHdBUVGRCgsLbZbfmzJlijIyMrRo0SKtX79eAQEBWrFihaKiouTj46P3339fH3/8sfz8/NSrVy+bgLNt2zb169dP3t7e+uijjzRnzhx9/PHHSkhIsLve7777Tg899JAOHTqk1157Tf/617/Ut29fjRs3zvpI5vemTp2q9PR0vffee1q8eLGOHz+umJgYFRUVWfssWbJE0dHRKi4utl7nuHHjdObMGUnS4MGDFRQUVCJAFRYW6p133tGAAQNu61FedHS0qlWrpl27dt20z6lTp9S3b1+5ublp6dKl2rx5s2bNmiUvLy8VFBQoODhYmzdvliSNHDlSycnJSk5O1l//+leb4wwcOFCNGjXSJ598okWLFpVZV2pqqiZMmKCJEydqzZo16tixo8aPH6+5c+dW+BrffvttderUSUFBQdbaSguL1x09elQdO3bU4cOHtWDBAq1evVotWrTQ8OHD9Y9//KNE//J8zoBTMADcMQkJCYakUpdr164ZO3bsMCQZXbt2tdkvLy/P8PPzM2JiYmzai4qKjDZt2hgPP/ywte0Pf/iDERISYvz666/WttzcXMPPz8/4/X/iaWlphiQjISGhRJ2SjGnTplnXe/XqZdStW9e4ePGiTb8XX3zR8PDwMC5cuGAYhmGtPzo62qbfxx9/bEgykpOTDcMwjEuXLhk+Pj5G586djeLi4pver2nTphlubm7GTz/9ZG1btWqVIcnYuXPnTfczjP9/r3fv3n3TPoGBgUbz5s1tzvf7e/Tpp58akozU1NSbHuPs2bMl7teNx/vb3/52022/V79+fcNisZQ4X8+ePQ0fHx8jLy/P5trS0tJs+l2//zt27LC29e3b16hfv36ptd9Y95AhQwx3d3cjIyPDpl+fPn0MT09P45dffrE5z60+Z8BZMHID3AXLly/X7t27bZbfz6kZNGiQTf+vv/5aFy5c0LBhw2xGe4qLi9W7d2/t3r1beXl5ysvL0+7duzVw4EB5eHhY9/f29lZMTIxdtV69elXbtm3TgAED5OnpaXP+6OhoXb16Vd98843NPk888YTNeuvWrSVJ6enp1uvJzc3VmDFjynw76U9/+pMk6d1337W2vfnmm2rVqpW6du1q1/X8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zp0aO3asvvnmG23dulWFhYWKiopSXl7eTfdJS0tTdHS0unTpon379mnq1KkaN26cEhMT72LlAADAWbk48uSbN2+2WU9ISFBAQID27Nmjrl27lrrPokWLVK9ePc2fP1+S1Lx5c6WkpGju3LkaNGjQnS4ZAAA4Oaeac3Px4kVJkp+f3037JCcnKyoqyqatV69eSklJ0bVr10r0z8/PV25urs0CAADMy6EjN79nGIZiY2PVuXNntWzZ8qb9srOzFRgYaNMWGBiowsJCnTt3TsHBwTbb4uPjNWPGjDtSc2ka/GXDXTuXMzk1q6+jS7jn3Kt/axJ/b45wr/698bdWNTnNyM2LL76oAwcO6MMPP7xlX4vFYrNuGEap7ZI0ZcoUXbx40bqcPn26cgoGAABOySlGbl566SWtW7dOu3btUt26dcvsGxQUpOzsbJu2nJwcubi4yN/fv0R/d3d3ubu7V2q9AADAeTl05MYwDL344otavXq1tm/frrCwsFvu06FDB23dutWmbcuWLYqIiJCrq+udKhUAAFQRDg03Y8eO1YoVK7Ry5Up5e3srOztb2dnZ+vXXX619pkyZoqFDh1rXR48erfT0dMXGxurIkSNaunSplixZori4OEdcAgAAcDIODTcLFy7UxYsX1b17dwUHB1uXVatWWftkZWUpIyPDuh4WFqaNGzcqKSlJbdu21d///nctWLCA18ABAIAkB8+5uT4RuCzLli0r0datWzft3bv3DlQEAACqOqd5WwoAAKAyEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICpEG4AAICp2BVu0tLSKrsOAACASmFXuGnUqJF69OihFStW6OrVq5VdEwAAgN3sCjf79+9Xu3btNGnSJAUFBemPf/yjvv3228quDQAAoMLsCjctW7bUvHnzlJmZqYSEBGVnZ6tz584KDw/XvHnzdPbs2cquEwAAoFxua0Kxi4uLBgwYoI8//lizZ8/WDz/8oLi4ONWtW1dDhw5VVlZWZdUJAABQLrcVblJSUjRmzBgFBwdr3rx5iouL0w8//KDt27crMzNT/fr1q6w6AQAAysXFnp3mzZunhIQEHT16VNHR0Vq+fLmio6N1332/ZaWwsDC98847atasWaUWCwAAcCt2hZuFCxdqxIgReu655xQUFFRqn3r16mnJ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bjVic51D35aKjY3Ve++9p6VLl+rIkSOaOHGiMjIyNHr0aEm/jboMHTrU2n/06NFKT09XbGysjhw5oqVLl2rJkiWKi4tz1CUAAAAn49A5N4MHD9b58+f1yiuvKCsrSy1bttTGjRtVv359SVJWVpbNd96EhYVp48aNmjhxot566y2FhIRowYIFGjRokKMuAQAAOBmHTygeM2aMxowZU+q2ZcuWlWjr1q2b9u7de4erqnrc3d01bdq0Eo/gUDbum324bxXHPbMP980+9/p9sxjleacKAACginD4b0sBAABUJsINAAAwFcINAAAwFcINAAAwFcJNFbdr1y7FxMQoJCREFotFn332maNLcnrx8fF66KGH5O3trYCAAPXv319Hjx51dFlOb+HChWrdurX1S8E6dOigTZs2ObqsKic+Pl4Wi0UTJkxwdClObfr06bJYLDZLUFCQo8tyepmZmXrmmWfk7+8vT09PtW3bVnv27HF0WXcd4aaKy8vLU5s2bfTmm286upQqY+fOnRo7dqy++eYbbd26VYWFhYqKilJeXp6jS3NqdevW1axZs5SSkqKUlBQ9+uij6tevnw4fPuzo0qqM3bt3a/HixWrdurWjS6kSwsPDlZWVZV0OHjzo6JKc2s8//6xOnTrJ1dVVmzZt0nfffafXXnvN1N/KfzMO/54b3J4+ffqoT58+ji6jStm8ebPNekJCggICArRnzx517drVQVU5v5iYGJv1//mf/9HChQv1zTffKDw83EFVVR2XL1/W008/rXfffVczZ850dDlVgouLC6M1FTB79myFhoYqISHB2tagQQPHFeRAjNzgnnfx4kVJkp+fn4MrqTqKior00UcfKS8vTx06dHB0OVXC2LFj1bdvXz322GOOLqXKOH78uEJCQhQWFqYhQ4bo5MmTji7Jqa1bt04RERH6j//4DwUEBKhdu3Z69913HV2WQxBucE8zDEOxsbHq3LmzWrZs6ehynN7BgwdVo0YNubu7a/To0VqzZo1atGjh6LKc3kcffaS9e/cqPj7e0aVUGX/4wx+0fPlyff7553r33XeVnZ2tjh076vz5844uzWmdPHlSCxcuVOPGjfX5559r9OjRGjdunJYvX+7o0u46Hkvhnvbiiy/qwIED+uqrrxxdSpXQtGlTpaam6pdfflFiYqKGDRumnTt3EnDKcPr0aY0fP15btmyRh4eHo8upMn7/uL1Vq1bq0KGDGjZsqPfff1+xsbEOrMx5FRcXKyIiQq+++qokqV27djp8+LAWLlxo8yPU9wJGbnDPeumll7Ru3Trt2LFDdevWdXQ5VYKbm5saNWqkiIgIxcfHq02bNnr99dcdXZZT27Nnj3JyctS+fXu5uLjIxcVFO3fu1IIFC+Ti4qKioiJHl1gleHl5qVWrVjp+/LijS3FawcHBJf6PRvPmzW1+gPpewcgN7jmGYeill17SmjVrlJSUpLCwMEeXVGUZhqH8/HxHl+HUIiMjS7zl89xzz6lZs2b685//rGrVqjmosqolPz9fR44cUZcuXRxditPq1KlTia+1OHbsmOrXr++gihyHcFPFXb58WSdOnLCup6WlKTU1VX5+fqpXr54DK3NeY8eO1cqVK7V27Vp5e3srOztbkuTr66vq1as7uDrnNXXqVPXp00ehoaG6dOmSPvroIyUlJZV4+wy2vL29S8zn8vLykr+/P/O8yhAXF6eYmBjVq1dPOTk5mjlzpnJzczVs2DBHl+a0Jk6cqI4dO+rVV1/Vf/7nf+rbb7/V4sWLtXjxYkeXdvcZqNJ27NhhSCqxDBs2zNGlOa3S7pckIyEhwdGlObURI0YY9evXN9zc3Iw6deoYkZGRxpYtWxxdVpXUrVs3Y/z48Y4uw6kNHjzYCA4ONlxdXY2QkBBj4MCBxuHDhx1dltNbv3690bJlS8Pd3d1o1qyZsXjxYkeX5BAWwzAMB+UqAACASseEYgAAYCqEGwAAYCqEGwAAYCqEGwAAYCqEGwAAYCqEGwAAYCqEGwAAYCqEGwC3zWKx6LPPPitX3+nTp6tt27Z3tB5H6t69uyZMmODoMoB7GuEGQKmGDx8ui8Uii8UiV1dXBQYGqmfPnlq6dKmKi4tt+mZlZdn8inNZ4uLitG3btjtRslNq0KCB5s+f7+gygHsK4QbATfXu3VtZWVk6deqUNm3apB49emj8+PF6/PHHVVhYaO0XFBQkd3f3ch2zRo0a8vf3v1Ml31RBQcFdPycAxyDcALgpd3d3BQUF6f7779eDDz6oqVOnau3atdq0aZOWLVtm7XfjY6kzZ85oyJAh8vPzk5eXlyIiIvR///d/kko+lho+fLj69++vuXPnKjg4WP7+/ho7dqyuXbtm7ZOVlaW+ffuqevXqCgsL08qVK285InL9uPHx8QoJCVGTJk0kSZmZmRo8eLBq1aolf39/9evXT6dOnbLul5SUpIcfflheXl6qWbOmOnXqpPT0dJtj/t6ECRPUvXv3Umvo3r270tPTNXHiROsomCSlp6crJiZGtWrVkpeXl8LDw7Vx48abXguAiuFXwQFUyKOPPqo2bdpo9erVGjVqVIntly9fVrdu3XT//fdr3bp1CgoK0t69e0s8yvq9HTt2KDg4WDt27NCJEyc0ePBgtW3bVs8//7wkaejQoTp37pySkpLk6uqq2NhY5eTk3LLWbdu2ycfHR1u3bpVhGLpy5Yp69OihLl26aNeuXXJxcdHMmTPVu3dvHThwQPfdd5/69++v559/Xh9++KEKCgr07bffWkNJRa1evVpt2rTRCy+8YL0W6bdfpi8oKNCuXbvk5eWl7777TjVq1LDrHABKItwAqLBmzZrpwIEDpW5buXKlzp49q927d8vPz0+S1KhRozKPV6tWLb355puqVq2amjVrpr59+2rbtm16/vnn9f333+uLL77Q7t27FRERIUl677331Lhx41vW6eXlpffee09ubm6SpKVLl+q+++7Te++9Zw0sCQkJqlmzppKSkhQREaGLFy/q8ccfV8OGDSVJzZs3L99NKYWfn5+qVasmb29vBQUFWdszMjI0aNAgtWrVSpL0wAMP2H0OACXxWApAhRmGcdPRjNTUVLVr184abMojPDxc1apVs64HBwdbR2aOHj0qFxcXPfjgg9btjRo1Uq1atW553FatWlmDjSTt2bNHJ06ckLe3t2rUqKEaNWrIz89PV69e1Q8//CA/Pz8NHz5cvXr1UkxMjF5//XVlZWWV+zrKa9y4cZo5c6Y6deqkadOm3TQoArAP4QZAhR05ckRhYWGlbqtevXqFj+fq6mqzbrFYrI+xDMModZ+btf+el5eXzXpxcbHat2+v1NRUm+XYsWN66qmnJP02kpOcnKyOHTtq1apVatKkib755htJ0n333VfivL+fG1Reo0aN0smTJ/Xss8/q4MGDioiI0BtvvFHh4wAoHeEGQIVs375dBw8e1KBBg0rd3rp1a6WmpurChQuVcr5mzZqpsLBQ+/bts7adOHFCv/zyS4WP9eCDD+r48eMKCAhQo0aNbBZfX19rv3bt2mnKlCn6+uuv1bJlS61cuVKSVKdOnRIjOampqWWe083NTUVFRSXaQ0NDNXr0aK1evVqTJk3Su+++W+HrAVA6wg2Am8rPz1d2drYyMzO1d+9evfrqq+rXr58ef/xxDR06tNR9/uu//ktBQUHq37+//v3vf+vkyZNKTExUcnKyXTU0a9ZMjz32mF544QV9++232rdvn1544QVVr169whN9n376adWuXVv9+vXTl19+qbS0NO3cuVPjx4/XmTNnlJaWpilTpig5OVnp6enasmWLjh07Zp138+ijjyolJUXLly/X8ePHNW3aNB06dKjMczZo0EC7du1SZmamzp07J+m3N6w+//xzpaWlae/evdq+ffttze0BYItwA+CmNm/erODgYDVo0EC9e/fWjh07tGDBAq1du9Zmjszvubm5acuWLQoICFB0dLRatWqlWbNm3bR/eSxfvlyBgYHq2rWrBgwYoOeff17e3t7y8PCo0HE8PT21a9cu1atXTwMHDlTz5s01YsQI/frrr/Lx8ZGnp6e+//57DRo0SE2aNNELL7ygF198UX/84x8lSb169dJf//pXTZ48WQ899JAuXbp005B33SuvvKJTp06pYcOGqlOnjiSpqKhIY8eOVfPmzdW7d281bdpUb7/9tn03B0AJFqM8D64BwImcOXNGoaGh+uKLLxQZGenocgA4GcINAKe3fft2Xb58Wa1atVJWVpYmT56szMxMHTt2rMRkZADge24AOL1r165p6tSpOnnypLy9vdWxY0f985//JNgAKBUjNwAAwFSYUAwAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEyFcAMAAEzl/wEJXIIrvsOvIAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "\n", + "frequency_distribution = rolls_store['Results'].value_counts().sort_index()\n", + "\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(frequency_distribution.index, frequency_distribution.values)\n", + "plt.xlabel('Dicing results')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Frequency Distribution')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The plot above shows a number of observations (samples), the second plot is trying to draw a distribution pattern of the above observations\n", + "\"\"\"\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 2\n", + "Now, using the dice results obtained in *challenge 1*, your are going to define some functions that will help you calculate the mean of your data in two different ways, the median and the four quartiles. \n", + "\n", + "#### 1.- Define a function that computes the mean by summing all the observations and dividing by the total number of observations. You are not allowed to use any methods or functions that directly calculate the mean value. " + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.0" + ] + }, + "execution_count": 5, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "def mean_cal(values):\n", + " mean_value=np.sum(values)/len(values)\n", + " return mean_value\n", + "mean_cal(rolls_store[\"Results\"])\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- First, calculate the frequency distribution. Then, calculate the mean using the values of the frequency distribution you've just computed. You are not allowed to use any methods or functions that directly calculate the mean value. " + ] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 2\n", + "2 3\n", + "3 2\n", + "5 2\n", + "6 1\n", + "Name: Results, dtype: int64\n", + " Results avg\n", + "1 2 0.2\n", + "2 3 0.6\n", + "3 2 0.6\n", + "5 2 1.0\n", + "6 1 0.6\n" + ] + }, + { + "data": { + "text/plain": [ + "3.0" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "print(frequency_distribution)\n", + "# change to dataframe and rename columns, add one columns as average value\n", + "freq_distribution=pd.DataFrame(frequency_distribution)\n", + "freq_distribution[\"avg\"]=frequency_distribution.index*frequency_distribution.values/np.sum(frequency_distribution.values)\n", + "print(freq_distribution)\n", + "\n", + "def mean_from_freq(column):\n", + " mean_calc=np.sum(column)\n", + " return mean_calc\n", + "mean_from_freq(freq_distribution[\"avg\"])" + ] + }, + { + "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": 12, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Rolls Results\n", + "0 1 1\n", + "6 7 1\n", + "3 4 2\n", + "7 8 2\n", + "8 9 2\n", + "2 3 3\n", + "4 5 3\n", + "1 2 5\n", + "9 10 5\n", + "5 6 6\n" + ] + }, + { + "data": { + "text/plain": [ + "3.5" + ] + }, + "execution_count": 12, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "#sort data of dice rolling results:\n", + "rolls_store_sort=rolls_store.sort_values(\"Results\")\n", + "# if data length is odd then take the middle, if even, take mean of the two in the middle\n", + "print(rolls_store_sort)\n", + "def median_cut(column):\n", + " if len(column)%2==1 :\n", + " i=(len(column))+1/2\n", + " median_result= column[i]\n", + " else:\n", + " i=len(column)/2\n", + " median_result= (column[i]+column[i+1])/2\n", + " return median_result\n", + "median_cut(rolls_store_sort[\"Results\"]) \n" + ] + }, + { + "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": 20, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " 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" + ] + }, + { + "data": { + "image/png": "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2G/rlKpdu7Yk6eDBgxHbBwwYIEmVzueCCy6QVHKC8LGWL1+ur776qtITg6NRp04d9e3bVytXrtSZZ55Z7rqVhiYA5eMdFSAJrFmzJnzuw65du7RkyRJNnz5dwWBQc+fODb9rUp6cnByNHTtWjz76qA4ePKhrrrlG6enpWrt2rfbs2aOHH35Y9erV05QpUzR48GDt27dPV111lZo2bardu3fr888/1+7duysNBnfffbdmzpypgQMH6pFHHlGrVq00b948PfPMM7rjjjt02mmnSZKaN2+u/v37Kzc3VyeffLJatWql9957T3PmzCnTZ+nHWU899ZQGDBigYDCoM888U7169dL111+vxx57TN99950uvfRS1a5dWytXrlSdOnV011136fTTT9fvf/97TZkyRTVq1NCAAQPC3/rJzs7W3XffXcV75GeTJk1Sz5491atXL91xxx3KycnR/v37tXHjRr3xxhuunp8DJCW/z+YFELvSb/2U3lJSUkzTpk1N7969zRNPPGF27dpVZp/jv/VTaubMmeacc84xqamppl69eqZz584R37IxxpjFixebgQMHmoYNG5patWqZFi1amIEDB5rZs2efsNatW7ea3/3ud6ZRo0amVq1a5vTTTzd/+tOfTFFRUUS7goICc9VVV5mGDRua9PR0c91115lPP/20zLd+Dh8+bG699VbTpEkTEwgEjCSzefNmY0zJt5H++te/mo4dO5qUlBSTnp5uunfvbt54443w/kVFReapp54yp512mqlVq5Zp3Lixue6660x+fn5EPb179zYdOnQoM59WrVqZgQMHltkuyQwdOjRi2+bNm83NN99sWrRoYWrVqmWaNGlievToYR577LETrhtQ3QWMOcFXAgAAAHzCOSoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANZK6Au+FRcXa8eOHapfv74CgYDf5QAAAAeMMdq/f78yMzNVo0bl75kkdFDZsWNHhf+bBAAA2C0/P7/Sf4gqJXhQqV+/vqSSiTZo0MDnagAAgBOFhYXKzs4Ov45XJqGDSunHPQ0aNCCoAACQYJyctsHJtAAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgl9ZVpfFRVJS5ZIBQVSRobUq5cUDEbfxu8abRsr1nWVEm+uTvuWoh8v3mvk97HuRCLU6EQiziPWmpP5eTaec/OyxngwPtu+fbu59tprTcOGDU1aWpo566yzzKeffupo31AoZCSZUCjkcZXHycszJivLGOnnW1ZWyfZo2vhdo21jxbqujRqV3BJprk77jmVu8V4jv491JxKhRicScR6x1pzMz7PxnJuXNVZBNK/fvgaVffv2mVatWpkbb7zRfPzxx2bz5s3m3XffNRs3bnS0vy9BJS/PmEAg8s6TSrYFAiV/d9LG7xptG6sq61rezea5RtN3tHOL9xr5fawnS41OJOI8Yq05mZ9n4zk3L2usooQJKg888IDp2bNnzPvHPagcPVo2YR5/J2ZlGdOiReVtsrNL+vKrRrfGd2ssN9Y1UeYaS99Ox3OrHxvWxC2JUKMTiTiPWGtO5ufZeM7NyxpdWNuECSrt2rUzI0eONFdddZVp0qSJ6dSpk3nuuecqbH/o0CETCoXCt/z8fMcTdcXChdG9CFR2W7jQ3xrdGN+tsdxcV9vn6vb8jx3PrX5sWBO3JEKNTiTiPGKtOZmfZ+M5N69rrOLaRhNUfP3Wz6ZNmzRt2jSdeuqpevvtt3X77bdr+PDhmjlzZrntc3NzlZ6eHr5lZ2fHt+CCAjv7iqVfN8Z3ayyv1sLN/r1c16rUd+y+bvXj9j5e379ujO1njU4k4jxirTmZn2fjOTeva4zjseZrUCkuLtbZZ5+tJ554Qp07d9Ztt92mIUOGaNq0aeW2HzNmjEKhUPiWn58f34IzMuzsK5Z+3RjfrbG8Wgs3+/dyXatS37H7utWP2/t4ff+6MbafNTqRiPOIteZkfp6N59y8rjGex1qV3rupopYtW5pbbrklYtszzzxjMjMzHe3v2zkqFZ2seOzni5W1icdnp/EY362x3FjXRJlrLH07Hc+tfmxYE7ckQo1OJOI8Yq05mZ9n4zk3L2uM8zkqvr6jct5552ndunUR29avX69WrVr5VNEJBIPSpEklPwcCkX8r/X3SJGny5MrbTJzo3XfRndTo1vhujVXVdS2PrXONtu/yVDSeW/04Fc9jLVaJUKMTiTiPWGtO5ufZeM7NyxrjfaxVKRJV0SeffGJq1qxpHn/8cbNhwwbzj3/8w9SpU8fMmjXL0f5WXUclO/vE34E/vo3fNdo2VqzrWt41Qmyfq9O+Y5lbvNfI72PdiUSo0YlEnEesNSfz82w85+ZljVUQzet3wBhj4heLynrzzTc1ZswYbdiwQa1bt9aoUaM0ZMgQR/sWFhYqPT1doVBIDRo08LjS4yTzFRP9HIsr03JlWq8kQo1OJOI8EuHqrbFKhLlZeGXaaF6/fQ8qVeFrUAEAADGJ5vWbf0oIAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALBWTb8LqFaKiqQlS6SCAikjQ+rVSwoG49e3W21Q1vHr1qOHtHRp4q0j9z9OxO/nET+PUadj8zhyl/HR+PHjjaSIW7NmzRzvHwqFjCQTCoU8rNIleXnGZGUZI/18y8oq2R6Pvt1qg7LKW7dgMPHWkfsfJ+L384ifx6jTsXkcORLN67fvQaVDhw6moKAgfNu1a5fj/RMmqOTlGRMIRB64Usm2QKBqB7CTvt1qg7IqWrdEW0fuf5yI388jfh6jTsfmceRYNK/fAWOM8evdnAkTJui1117TqlWrYtq/sLBQ6enpCoVCatCggbvFuaWoSMrJkbZvL//vgYCUlSVt3hz9W4NO+m7RouTnE7UxRvr2W/drTGYnWv/j2bqOXh6jSA5On2u8eh7x8xh1OvbGjdIvfsHjyKFoXr99P5l2w4YNyszMVOvWrXX11Vdr06ZNFbY9fPiwCgsLI27WW7Kk8hcyY6T8/JJ2XvS9fbuzNhU9uVS1xmR2ovU/nq3r6OUxiuTg9LnGq+cRP49Rp2M/8wyPI4/4GlT+3//7f5o5c6befvttPf/889q5c6d69OihvXv3lts+NzdX6enp4Vt2dnacK45BQYG77aq6T1XEezzbxboetq2jl8cokoOb972Xz3VeHKNO+/zmG3f7Q5ivQWXAgAG68sordcYZZ6h///6aN2+eJOnFF18st/2YMWMUCoXCt/z8/HiWG5uMDHfbVXWfqoj3eLaLdT1sW0cvj1EkBzfvey+f67w4Rp32+YtfuNsfwnw9R6U8F154odq0aaNp06adsG1CnaPy7bclb/0dz43PbSvru/QclRO1MUbascP9GpPZidb/eLauo5fHKJKD0+car55H/DxGnY5deo4KjyNHEuoclWMdPnxYX331lTKSKXEGg9KkSSU/BwKRfyv9feLE2A5cJ31PmuSszeTJ3tSYzCpb/+PZvI5eHqNIDk6fa7x6HvHzGHU6dkoKjyOvePwNpErdc889ZtGiRWbTpk3mP//5j7n00ktN/fr1zZYtWxztnzBfTzam/O/WZ2d7d22B4/t2qw3KcnIdlURYR+5/nIjfzyN+HqNOx+Zx5EjCfD356quv1gcffKA9e/aoSZMmOvfcc/Xoo4+qffv2jvZPiI9+juX31Rr9vqJkMuPKtKgu/H4e4cq0SSGa12/rzlGJRsIFFQAAkLjnqAAAAByLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYK2afhcAB4qKpCVLpIICKSND6tVLCgbj13d5baToa3KrHy/n1qOHtHSpN/UkC7eOR7+Pa7fEelzHc/7lHddOaownN9cjnvd/PMX6fJ3oczdRmjFjhnnzzTfDv993330mPT3ddO/e3WzZsiXa7sKeeOIJI8mMGDHC8T6hUMhIMqFQKOZxrZeXZ0xWljHSz7esrJLt8ei7vDaNGpXcoqnJrX68nlsw6E09ycKt49Hv49otsR7X8Z7/8ce1l489t2qOtZ543v/xFOtzmqVzj+b1O+qgctppp5n33nvPGGPM0qVLTVpamnn22WfNZZddZn79619HX60x5pNPPjE5OTnmzDPPJKgcKy/PmEAg8qCTSrYFAlU7+Jz0XVGb8m6V1eRWP37MzY16koVbx6Pfx7VbYj2u/Zh/vB57btYcSz3xvP/jqSrPaZbO3dOgkpaWZrZu3WqMMeb+++83119/vTHGmDVr1pjGjRtH253Zv3+/OfXUU82CBQtM7969CSqljh4tm4yPP/iys0vaedF3VlblbZzWdKKxEmFuVaknWbh1PPp9XLt1P8Z6XJ/o2PNy/jYe627eZ/G8/+PJjec0C+cezet31CfT1qtXT3v37pUkvfPOO+rfv78kKTU1VQcPHoz6o6ehQ4dq4MCB4X4qc/jwYRUWFkbcktaSJdL27RX/3RgpP7+knRd9b99eeRunNZ1oLKf9OOXF3KpST7Jw63j0+7h2636M9bg+0bHn5fydiPex7uZ9Fs/7P57ceE5L1Ln//6I+mfbCCy/Urbfeqs6dO2v9+vUaOHCgJOnLL79UTk5OVH29/PLLWrFihZYvX+6ofW5urh5++OFoS05MBQXutqvqPrH2X5WxbJub1+tmM7eORxuOazfux3g+hrzcJx59uTGOk3bxvP/jKRHvV5dF/Y7K1KlT1b17d+3evVt5eXlq1KiRJOmzzz7TNddc47if/Px8jRgxQrNmzVJqaqqjfcaMGaNQKBS+5efnR1t+4sjIcLddVfeJtf+qjGXb3LxeN5u5dTzacFy7cT/G8zHk5T7x6MuNcZy0i+f9H0+JeL+6LdrPlbZu3WqKiorKbC8uLg6fu+LE3LlzjSQTDAbDN0kmEAiYYDBojjr4LK1anKNS0YlxbnyWXVnfpZ95RnNiXmXnqFS1Hz/nZuHnu3Hn1vHo93Ht9jkq0R7XJzr2vJy/jce6m/dZPO//eHLjOc3CuXt6Mm2NGjXMd999V2b7nj17TI0aNRz3U1hYaFavXh1x69q1q7nuuuvM6tWrHfWR1EHFmJ/P4j7+4HPz2wGV9V1Rm4oeCCf61k+8vmXj5twsPWPeF24dj34f126J9bj2Y/5OQ4qf3/pxYz3ief/HU1We0yydu6dBJRAIlBtUtmzZYurUqRNtdxH41k85yvtefHa2d9dbOL5vp9eJOFFNbvXj9dyOv96EW/UkC7eOR7+Pa7fEelzHe/5OrqPi57Hu5nrE8/6Pp1if0yydezSv3wFjjHHyEdGoUaMkSZMmTdKQIUNUp06d8N+Kior08ccfKxgM6qOPPor5Y6g+ffqoU6dOmjhxoqP2hYWFSk9PVygUUoMGDWIe13p+X8GTK9O6U0+y4Mq0Jx5L4sq0Va2ZK9OWlURXpo3m9dtxUOnbt68kafHixerevbtSUlLCf0tJSVFOTo7uvfdenXrqqVUoPTrVJqgAAJBEonn9dvz15IULF0qSbrrpJk2aNIlgAAAAPBf1dVSmT5/uRR0AAABlOAoqV1xxheMO58yZE3MxAAAAx3IUVNLT072uAwAAoAxHQYWPewAAgB+ivoQ+AABAvER9Mm3r1q0VCAQq/PumTZuqVBAAAECpqIPKyJEjI37/6aeftHLlSr311lu677773KoLAAAg+qAyYsSIcrdPnTpVn376aZULAgAAKOXaOSoDBgxQXl6eW90BAAC4F1ReffVVNWzY0K3uAAAAov/op3PnzhEn0xpjtHPnTu3evVvPPPOMq8UBAIDqLeqgMmjQoIjfa9SooSZNmqhPnz5q27atW3UBAAA4/+/JNuK/JwMAkHiief2O+hyVFStWaPXq1eHf//Wvf2nQoEEaO3asjhw5En21AAAAFYg6qNx2221av369pJKLu/32t79VnTp1NHv2bN1///2uFwgAAKqvqIPK+vXr1alTJ0nS7Nmz1bt3b7300kuaMWMGX08GAACuijqoGGNUXFwsSXr33Xd1ySWXSJKys7O1Z88ed6sDAADVWtRBpWvXrnrsscf097//XYsXL9bAgQMlSZs3b1azZs1cLxAAAFRfUQeViRMnasWKFRo2bJjGjRunNm3aSCq54FuPHj1cLxAAAFRfrn09+dChQwoGg6pVq5Yb3TnC15MBAEg8nn49WZK+//57/e1vf9OYMWO0b98+SdLatWu1a9euWLoDAAAoV9RXpv3iiy/Ur18/nXTSSdqyZYuGDBmihg0bau7cudq6datmzpzpRZ0AAKAaivodlVGjRummm27Shg0blJqaGt4+YMAAffDBB64WBwAAqreog8ry5ct12223ldneokUL7dy505WiAAAApBiCSmpqqgoLC8tsX7dunZo0aeJKUQAAAFIMQeVXv/qVHnnkEf3000+SpEAgoG3btmn06NG68sorXS8QAABUX1EHlT//+c/avXu3mjZtqoMHD6p3795q06aN6tevr8cff9yLGgEAQDUV9bd+GjRooA8//FDvv/++VqxYoeLiYp199tnq37+/F/UBAIBqLKqgcvToUaWmpmrVqlW64IILdMEFF3hVFwAAQHQf/dSsWVOtWrVSUVGRV/UAAACERX2OyoMPPhhxRVoAAACvRH2OyuTJk7Vx40ZlZmaqVatWqlu3bsTfV6xY4VpxAACgeos6qAwaNMiDMgAAAMpy7b8n+4H/ngwAQOLx/L8nAwAAxANBBQAAWIugAgAArEVQAQAA1oo5qBw5ckTr1q3T0aNH3awHAAAgLOqg8uOPP+qWW25RnTp11KFDB23btk2SNHz4cD355JOuFwgAAKqvqIPKmDFj9Pnnn2vRokVKTU0Nb+/fv79eeeUVV4sDAADVW9QXfHvttdf0yiuv6Nxzz1UgEAhvb9++vb755htXiwMAANVb1O+o7N69W02bNi2z/cCBAxHBBQAAoKqiDirnnHOO5s2bF/69NJw8//zz6t69u3uVAQCAai/qj35yc3P1y1/+UmvXrtXRo0c1adIkffnll1q2bJkWL17sRY0AAKCaivodlR49euijjz7Sjz/+qF/84hd655131KxZMy1btkxdunTxokYAAFBN8U8JAQBAXHn6Twnnz5+vt99+u8z2t99+W//+97+j7Q4AAKBCUQeV0aNHq6ioqMx2Y4xGjx7tSlEAAABSDEFlw4YNat++fZntbdu21caNG10pCgAAQIohqKSnp2vTpk1ltm/cuFF169Z1pSgAAAAphqBy+eWXa+TIkRFXod24caPuueceXX755a4WBwAAqreog8qf/vQn1a1bV23btlXr1q3VunVrtWvXTo0aNdKf//xnL2oEAADVVNQXfEtPT9fSpUu1YMECff7550pLS9OZZ56p888/34v6AABANcZ1VAAAQFxF8/rt6B2VyZMn6/e//71SU1M1efLkStsOHz7ccaHTpk3TtGnTtGXLFklShw4d9NBDD2nAgAGO+0A1UFQkLVkiFRRIGRlSr15SMOh3Ve5wa25erpGf6+/3fe/m+LH05WQfv9coUR2/bj16SEuXRq6jFL+19ft+9Hv8yhgHcnJyzJ49e8I/V3Rr3bq1k+7CXn/9dTNv3jyzbt06s27dOjN2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avpdAIDq48UXX9Qdd9yhjz76SHv27NFFF12kG2+8UTNnztTXX3+tIUOGKDU1VRMmTDhhX6+++qr++te/6uWXX1aHDh20c+dOff75595PAkBcEVQAxE2bNm30xz/+UZI0c+ZMZWdn63/+538UCATUtm1b7dixQw888IAeeugh1ahR+Ru+27ZtU/PmzdW/f3/VqlVLLVu2VLdu3eIxDQBxxEc/AOKma9eu4Z+/+uorde/eXYFAILztvPPO0w8//KDt27efsK/f/OY3OnjwoE455RQNGTJEc+fOjepjIwCJgaACIG7q1q0b/tkYExFSSrdJKrO9PNnZ2Vq3bp2mTp2qtLQ03XnnnTr//PP1008/uVs0AF8RVAD4on379lq6dGk4nEjS0qVLVb9+fbVo0cJRH2lpabr88ss1efJkLVq0SMuWLdPq1au9KhmADwgqAHxx5513Kj8/X3fddZe+/vpr/etf/9L48eM1atSoE56fIkkzZszQCy+8oDVr1mjTpk36+9//rrS0NLVq1SoO1QOIF06mBeCLFi1aaP78+brvvvt01llnqWHDhrrlllv04IMPOtr/pJNO0pNPPqlRo0apqKhIZ5xxht544w01atTI48oBxFPAHPu+KwAAgEX46AcAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAa/1/dCCgKvVerFQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "roll_dice_h=pd.read_csv(\"/Users/nhannguyen/Desktop/Ironhack/Week_3/Descriptive-Stats/data/roll_the_dice_hundred.csv\")\n", + "print(roll_dice_h.head())\n", + "roll_dice_sort=roll_dice_h.sort_values(\"value\")\n", + "\n", + "\n", + "\n", + "# Create scatter chart:\n", + "\n", + "plt.scatter(roll_dice_sort.index,roll_dice_sort[\"value\"],color=\"red\")\n", + "# Add labels \n", + "plt.xlabel('rolls')\n", + "plt.ylabel('dice results')\n", + "plt.title('Dice outcome')\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "there is a pattern of outcomes, homogeous distribution among possible outcome ( 1 to 6)\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": 21, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.74" + ] + }, + "execution_count": 21, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "mean_cal(roll_dice_sort[\"value\"])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 23, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "1 12\n", + "2 17\n", + "3 14\n", + "4 22\n", + "5 12\n", + "6 23\n", + "Name: value, dtype: int64\n" + ] + } + ], + "source": [ + "# your code here\n", + "freq_dist = roll_dice_sort['value'].value_counts().sort_index()\n", + "print(freq_dist)\n" + ] + }, + { + "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": 24, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Frequency Distribution')" + ] + }, + "execution_count": 24, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "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q3HjxlqwYIGqVaumLVu2SJIeeOCBHMf97b09BdWvXz8dOXJEzz//vPbu3auYmBi99957hd4PgNxRZgDc1rp167R371517do119fr1KmjXbt26fz580VyvOrVq+vGjRvauXOna9nhw4f1888/F3pfDRo00KFDhxQSEqIqVaq4TUFBQa716tevr5EjR+q7775TrVq1NHfuXElS+fLlc4zU7Nq167bH9PX1VVZWVo7lkZGReumll7Rw4UINHz5cM2fOLPT7AZA7ygwAl8zMTJ0+fVonT57Ujh07NGbMGHXs2FFPPfWUevbsmes2f/zjHxUWFqZOnTrp22+/1ZEjR/T3v/9dmzdv9ihD9erV1bp1aw0YMEDff/+9du7cqQEDBqhkyZKFvjH32WefVbly5dSxY0d9/fXXSk5O1saNGzVkyBCdOHFCycnJGjlypDZv3qyUlBStWrVKBw8edN0388QTT2jbtm2aM2eODh06pFGjRmnfvn23PWalSpW0adMmnTx5UmfPnpX06xNQK1euVHJysnbs2KF169bd0b05ANxRZgC4rFixQuHh4apUqZLatWun9evX691339XixYvd7nH5LV9fX61atUohISHq0KGDateurbFjx+a5fkHMmTNHoaGhat68uTp37qz+/fsrICBAJUqUKNR+/Pz8tGnTJlWsWFFdunRRjRo11KdPH/3yyy8KDAyUn5+f/vWvf6lr166qVq2aBgwYoMGDB+vFF1+UJD355JP6y1/+otdee02PPPKILl26lGepu+mtt97S0aNHVblyZZUvX16SlJWVpUGDBqlGjRpq166dHnroIb3//vuenRwAOTisglyIBgAbnThxQpGRkVqzZo1atWpldxwAXoYyA8DrrFu3TpcvX1bt2rWVmpqq1157TSdPntTBgwdz3DwMAHzPDACvc/36db3++us6cuSIAgIC1LhxY3366acUGQC5YmQGAAAYjRuAAQCA0SgzAADAaJQZAABgNMoMAAAwGmUGAAAYjTIDAACMRpkBAABGo8wAAACjUWYAAIDR/j9n0LxPl8mdFAAAAABJRU5ErkJggg==", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(freq_dist.index, freq_dist.values)\n", + "plt.xlabel('Dicing results')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Frequency Distribution')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "higher concentration for \"4\" and \"6\" outcomes\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": 28, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " Unnamed: 0 roll value\n", + "0 0 0 5\n", + "1 1 1 6\n", + "2 2 2 1\n", + "3 3 3 6\n", + "4 4 4 5\n", + ".. ... ... ...\n", + "995 995 995 1\n", + "996 996 996 4\n", + "997 997 997 4\n", + "998 998 998 3\n", + "999 999 999 6\n", + "\n", + "[1000 rows x 3 columns]\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Frequency Distribution')" + ] + }, + "execution_count": 28, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA420lEQVR4nO3de3RNd/7/8ddpLoekSUgit4rIuJSKe3pDK3Gr0FB0ytBB3dqhSsnqfLVrvmK+vkKVqfKtaktQlLbj1tG632qqvyLuZggiLk0adcsFEcn+/dHljCMJcoRzsvt8rLXXsj/7s/d+7310efWzP/sci2EYhgAAAEzqIWcXAAAAcD8RdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdgAAgKkRdoAHbO7cubJYLCUuCQkJzi7PVG6915UqVVJISIhiY2OVlJSkrKysYvskJibKYrGU6TyXL19WYmKiNm/eXKb9SjpXzZo19fzzz5fpOHeyaNEivf/++yVus1gsSkxMLNfzAa7G3dkFAL9VycnJqlevnl1bWFiYk6oxtxv3uqCgQFlZWdq2bZsmTZqk9957T0uWLFG7du1sfQcNGqSOHTuW6fiXL1/WuHHjJEkxMTF3vZ8j53LEokWLdODAAY0cObLYtu3bt6t69er3vQbAmQg7gJNERUUpOjr6rvoWFBTIYrHI3Z3/ZB1x673u0aOH3nzzTbVq1Urdu3dXamqqgoODJUnVq1e/7//4X758WV5eXg/kXHfy1FNPOfX8wIPAYyzAxWzevFkWi0WfffaZRo8erUceeURWq1VHjx6VJK1fv15t27aVr6+vvLy81LJlS23YsKHYcVatWqUmTZrIarUqMjJS7733XrHHJidOnJDFYtHcuXOL7V/S443U1FT17t1bQUFBslqtql+/vv7v//6vxPo///xzvfPOOwoLC5Ovr6/atWunw4cPFzvP6tWr1bZtW/n5+cnLy0v169dXUlKSJOmzzz6TxWLR9u3bi+3317/+VR4eHvrpp5/ueE9LUqNGDU2ZMkU5OTmaNWuWrb2kR0sbN25UTEyMAgICVLlyZdWoUUM9evTQ5cuXdeLECVWrVk2SNG7cONsjs/79+9sdLyUlRS+++KKqVq2qWrVqlXquG5YtW6ZGjRqpUqVK+t3vfqcPPvjAbvuNR3QnTpywa79x/288UouJidGqVauUnp5u90jvhpI+5wMHDqhr166qWrWqKlWqpCZNmmjevHklnuduP2fAmQg7gJMUFhbq+vXrdsvNxowZo5MnT+qjjz7S119/raCgIC1YsEAdOnSQr6+v5s2bpy+++EL+/v567rnn7ALPhg0b1LVrV/n4+Gjx4sWaPHmyvvjiCyUnJztc76FDh/T444/rwIEDmjJliv7xj3+oc+fOeuONN2yPcG729ttvKz09XZ9++qk+/vhjpaamKj4+XoWFhbY+s2fPVqdOnVRUVGS7zjfeeEOnT5+WJPXs2VMhISHFAtX169c1a9YsdevW7Z4e/XXq1Elubm7aunVrqX1OnDihzp07y9PTU3PmzNHq1as1ceJEeXt769q1awoNDdXq1aslSQMHDtT27du1fft2/eUvf7E7Tvfu3VW7dm19+eWX+uijj25b1549ezRy5Ei9+eabWrZsmVq0aKERI0bovffeK/M1fvjhh2rZsqVCQkJstZUUHm84fPiwWrRooYMHD+qDDz7Q0qVL9dhjj6l///569913i/W/m88ZcDoDwAOVnJxsSCpxKSgoMDZt2mRIMp599lm7/fLy8gx/f38jPj7err2wsNBo3Lix8cQTT9jannzySSMsLMy4cuWKrS07O9vw9/c3bv7PPi0tzZBkJCcnF6tTkjF27Fjb+nPPPWdUr17duHTpkl2/119/3ahUqZJx/vx5wzAMW/2dOnWy6/fFF18Ykozt27cbhmEYOTk5hq+vr9GqVSujqKio1Ps1duxYw9PT0/j5559tbUuWLDEkGVu2bCl1P8P4z73esWNHqX2Cg4ON+vXr253v5nv01VdfGZKMPXv2lHqMs2fPFrtftx7vv//7v0vddrOIiAjDYrEUO1/79u0NX19fIy8vz+7a0tLS7PrduP+bNm2ytXXu3NmIiIgosfZb6+7Vq5dhtVqNkydP2vWLi4szvLy8jIsXL9qd506fM+AKGNkBnGT+/PnasWOH3XLznJwePXrY9f/+++91/vx59evXz240qKioSB07dtSOHTuUl5envLw87dixQ927d1elSpVs+/v4+Cg+Pt6hWq9evaoNGzaoW7du8vLysjt/p06ddPXqVf3www92+3Tp0sVuvVGjRpKk9PR02/VkZ2dr6NCht3376U9/+pMk6ZNPPrG1zZgxQw0bNtSzzz7r0PXc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SNCxY8e0ceNGnTlzRl27di2vOgEAABzi7shOU6dOVXJysg4fPqxOnTpp/vz56tSpkx566NfsFBkZqVmzZqlevXrlWiwAAEBZORR2Zs6cqQEDBuiVV15RSEhIiX1q1Kih2bNn31NxAAAA98qhsJOamnrHPp6enurXr58jhwcAACg3Ds3ZSU5O1pdfflms/csvv9S8efPuuSgAAIDy4lDYmThxogIDA4u1BwUFacKECfdcFAAAQHlxKOykp6crMjKyWHtERIROnjx5z0UBAACUF4fCTlBQkPbt21esfe/evQoICLjr42zdulXx8fEKCwuTxWLR8uXL7bYbhqHExESFhYWpcuXKiomJ0cGDB+365Ofna/jw4QoMDJS3t7e6dOmi06dPO3JZAADAhBwKO7169dIbb7yhTZs2qbCwUIWFhdq4caNGjBihXr163fVx8vLy1LhxY82YMaPE7e+++66mTp2qGTNmaMeOHQoJCVH79u2Vk5Nj6zNy5EgtW7ZMixcv1rZt25Sbm6vnn39ehYWFjlwaAAAwGYfexho/frzS09PVtm1bubv/eoiioiL17du3THN24uLiFBcXV+I2wzD0/vvv65133lH37t0lSfPmzVNwcLAWLVqkV199VZcuXdLs2bP12WefqV27dpKkBQsWKDw8XOvXr9dzzz3nyOUBAAATcWhkx9PTU0uWLNG///1vLVy4UEuXLtWxY8c0Z84ceXp6lkthaWlpyszMVIcOHWxtVqtVrVu31vfffy9J2rVrlwoKCuz6hIWFKSoqytYHAAD8tjk0snND3bp1Vbdu3fKqxU5mZqYkKTg42K49ODhY6enptj6enp6qWrVqsT439i9Jfn6+8vPzbevZ2dnlVTYAAHAxDoWdwsJCzZ07Vxs2bFBWVpaKiorstm/cuLFcipMki8Vit24YRrG2W92pT1JSksaNG1cu9QEAANfm0GOsESNGaMSIESosLFRUVJQaN25st5SHGz9DcesITVZWlm20JyQkRNeuXdOFCxdK7VOSMWPG6NKlS7bl1KlT5VIzAABwPQ6N7CxevFhffPGFOnXqVN712ERGRiokJETr1q1T06ZNJUnXrl3Tli1bNGnSJElS8+bN5eHhoXXr1umll16SJGVkZOjAgQN69913Sz221WqV1Wq9b7UDAADX4VDY8fT0VO3ate/55Lm5uTp69KhtPS0t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7NIBAICLcOmwc/r0af3hD3/QL7/8omrVqumpp57SDz/8oIiICEnSW2+9pStXrmjo0KG6cOGCnnzySa1du1Y+Pj5OrhwAALgKlw47ixcvvu12i8WixMREJSYmPpiCAABAhVOh5uwAAACUFWEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYGmEHAACYmkuHnaSkJD3++OPy8fFRUFCQXnjhBR0+fNiuT//+/WWxWOyWp556ykkVAwAAV+PSYWfLli0aNmyYfvjhB61bt07Xr19Xhw4dlJeXZ9evY8eOysjIsC3ffPONkyoGAACuxt3ZBdzO6tWr7daTk5MVFBSkXbt26dlnn7W1W61WhYSEPOjyAABABeDSIzu3unTpkiTJ39/frn3z5s0KCgpS3bp1NXjwYGVlZd32OPn5+crOzrZbAACAOVWYsGMYhkaNGqVWrVopKirK1h4XF6eFCxdq48aNmjJlinbs2KE2bdooPz+/1GMlJSXJz8/PtoSHhz+ISwAAAE7g0o+xbvb6669r37592rZtm117z549bX+OiopSdHS0IiIitGrVKnXv3r3EY40ZM0ajRo2yrWdnZxN4AAAwqQoRdoYPH66VK1dq69atql69+m37hoaGKiIiQqmpqaX2sVqtslqt5V0mAABwQS4ddgzD0PDhw7Vs2TJt3rxZkZGRd9zn3LlzOnXqlEJDQx9AhQAAwNW59JydYcOGacGCBVq0aJF8fHyUmZmpzMxMXblyRZKUm5urhIQEbd++XSdOnNDmzZsVHx+vwMBAdevWzcnVAwAAV+DSIzszZ86UJMXExNi1Jycnq3///nJzc9P+/fs1f/58Xbx4UaGhoYqNjdWSJUvk4+PjhIoBAICrcemwYxjGbbdXrlxZa9aseUDVAACAisilH2MBAADcK8IOAAAwNcIOAAAwNcIOAAAwNcIO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6tXTvn37Sty2aNEinT17Vjt27JC/v78kqXbt2rc9XtWqVTVjxgy5ubmpXr166ty5szZs2KDBgwfr3//+t9avX68dO3YoOjpakvTpp5+qTp06d6zT29tbn376qTw9PSVJc+bM0UMPPaRPP/3UFmCSk5NVpUoVbd68WdHR0bp06ZKef/551apVS5JUv379u7spJfD395ebm5t8fHwUEhJiaz958qR69Oihhg0bSpJ+97vfOXwOAPZ4jAWgXBiGUepox549e9S0aVNb0LkbDRo0kJubm209NDTUNnJz+PBhubu7q1mzZrbttWvXVtWqVe943IYNG9qCjiTt2rVLR48elY+Pjx5++GE9/PDD8vf319WrV3Xs2DH5+/urf//+eu655xQfH69p06YpIyPjrq/jbr3xxhsaP368WrZsqbFjx5YaHAGUHWEHQLn417/+pcjIyBK3Va5cuczH8/DwsFu3WCy2x16GYZS4T2ntN/P29rZbLyoqUvPmzbVnzx675ciRI+rdu7ekX0d6tm/frhYtWmjJkiWqW7eufvjhB0nSQw89VOy8N88tuluDBg3S8ePH9cc//lH79+9XdHS0pk+fXubjACiOsAPgnm3cuFH79+9Xjx49StzeqFEj7dmzR+fPny+X89WrV0/Xr1/X7t27bW1Hjx7VxYsXy3ysZs2aKTU1VUFBQapdu7bd4ufnZ+vXtGlTjRkzRt9//72ioqK0aNEiSVK1atWKjfTs2bPntuf09PRUYWFhsfbw8HC99tprWrp0qUaPHq1PPvmkzNcDoDjCDoAyyc/PV2Zmps6cOaOUlBRNmDBBXbt21fPPP6++ffuWuM8f/vAHhYSE6IUXXtA///lPHT9+XH//+9+1fft2h2qoV6+e2rVrpyFDhujHH3/U7t27NWTIEFWuXLnME4f79OmjwMBAde3aVd99953S0tK0ZcsWjRgxQqdPn1ZaWprGjBmj7du3Kz09XWvXrtWRI0ds83batGmjnTt3av78+UpNTdXYsWN14MCB256zZs2a2rp1q86cOaNffvlF0q9vcK1Zs0ZpaWlKSUnRxo0b72luEID/IOwAKJPVq1crNDRUNWvWVMeOHbVp0yZ98MEHWrFihd0cm5t5enpq7dq1CgoKUqdOndSwYUNNnDix1P53Y/78+QoODtazzz6rbt26afDgwfLx8VGlSpXKdBwvLy9t3bpVNWrUUPfu3VW/fn0NGDBAV65cka+vr7y8vPTvf/9bPXr0UN26dTVkyBC9/vrrevXVVyVJzz33nP7yl7/orbfe0uOPP66cnJxSQ98Nf/3rX3XixAnVqlVL1apVkyQVFhZq2LBhql+/vjp27KhHH31UH374oWM3B4Adi3E3D7kBwMWdPn1a4eHhWr9+vdq2bevscgC4EMIOgApp48aNys3NVcOGDZWRkaG33npLZ86c0ZEjR4pNbgbw28b37ACokAoKCvT222/r+PHj8vHxUYsWLbRw4UKCDoBiGNkBAACmxgRlAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgaoQdAABgav8flgJalQL409oAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "roll_dice_th=pd.read_csv(\"/Users/nhannguyen/Desktop/Ironhack/Week_3/Descriptive-Stats/data/roll_the_dice_thousand.csv\")\n", + "print(roll_dice_th)\n", + "freq_dist_th = roll_dice_th['value'].value_counts().sort_index()\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(freq_dist_th.index, freq_dist_th.values)\n", + "plt.xlabel('Dicing results')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Frequency Distribution')" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "bigger sample size, more homogenous distribution in terms of outcomes \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": 35, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " observation\n", + "0 68.0\n", + "1 12.0\n", + "2 45.0\n", + "3 38.0\n", + "4 49.0\n", + ".. ...\n", + "995 27.0\n", + "996 47.0\n", + "997 53.0\n", + "998 33.0\n", + "999 31.0\n", + "\n", + "[1000 rows x 1 columns]\n", + "1.0 2\n", + "2.0 2\n", + "4.0 1\n", + "5.0 2\n", + "6.0 2\n", + " ..\n", + "69.0 1\n", + "70.0 1\n", + "71.0 1\n", + "73.0 1\n", + "82.0 1\n", + "Name: observation, Length: 72, dtype: int64\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Age Distribution')" + ] + }, + "execution_count": 35, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjMAAAHFCAYAAAAHcXhbAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwJklEQVR4nO3de1xVVf7/8fdR5IgK5iW5lBdUlCk0Tcrx0qCZOkpO6beLecOsydIavPTVzEqaMTBtyHxQpuV4eZjZzaz5miYlaY5ZeEFN+5oVohZImQreQGH9/ujH+XYEFY7oOQtfz8djPx6z115n78+SxPesvfc6DmOMEQAAgKWqebsAAACAi0GYAQAAViPMAAAAqxFmAACA1QgzAADAaoQZAABgNcIMAACwGmEGAABYjTADAACsRpgBLDdr1iw5HA5FRUV5uxQ5HA7XVr16ddWrV0833HCDRo4cqY0bN5bqv3fvXjkcDi1YsKBC11myZIlmzpxZoc+Uda2EhAQ5HA798ssvFTrX+ezatUsJCQnau3dvqWPDhw9Xs2bNKu1aAH5DmAEs969//UuStHPnTn355Zderka666679MUXX2j9+vVaunSphg0bpo0bN6pTp06Kj4936xsaGqovvvhCsbGxFbqGJ2HG02tV1K5du/Tss8+WGWaefvppvf/++5f0+sCVyM/bBQDw3KZNm7Rt2zbFxsZqxYoVmjdvnjp27OjVmoKDg/XHP/7Rtd+7d2+NGTNGDz30kGbNmqXIyEg98sgjkiSn0+nW91IoKirSmTNnLsu1LqRFixZevT5QVTEzA1hs3rx5kqRp06apc+fOWrp0qU6cOFGq34EDB3TXXXcpMDBQV111lQYPHqz09PQyb/Fs2rRJf/nLX1S/fn3VrFlT7du319tvv31RdVavXl0pKSlq2LChZsyY4Wov69bPzz//rIceekiNGzeW0+nU1VdfrS5duuiTTz6RJHXr1k0rVqxQVlaW222t359v+vTpmjp1qsLDw+V0OpWWlnbeW1r79+/XgAEDFBQUpLp162rIkCH6+eef3fo4HA4lJCSU+myzZs00fPhwSdKCBQt09913S5K6d+/uqq3kmmXdZjp16pQmTZqk8PBw+fv765prrtHo0aN15MiRUte5/fbbtWrVKt14440KCAhQZGSka2YOuJIRZgBLnTx5Um+++aZuuukmRUVFacSIEcrPz9c777zj1u/48ePq3r270tLS9Pzzz+vtt99WcHCw7r333lLnTEtLU5cuXXTkyBG9+uqr+uCDD9SuXTvde++9FX6u5WwBAQG67bbblJmZqQMHDpyz39ChQ7V8+XI988wzWr16tV5//XXddtttOnTokCTplVdeUZcuXRQSEqIvvvjCtf3erFmztGbNGr3wwgtauXKlIiMjz1tb//791bJlS7377rtKSEjQ8uXL1bt3b50+fbpCY4yNjVViYqIk6eWXX3bVdq5bW8YY3XnnnXrhhRc0dOhQrVixQuPGjdPChQt16623qqCgwK3/tm3bNH78eI0dO1YffPCB2rZtqwceeEDr1q2rUJ1AlWMAWGnRokVGknn11VeNMcbk5+ebOnXqmFtuucWt38svv2wkmZUrV7q1jxw50kgy8+fPd7VFRkaa9u3bm9OnT7v1vf32201oaKgpKio6b02SzOjRo895fOLEiUaS+fLLL40xxmRmZpaqoU6dOmbMmDHnvU5sbKxp2rRpqfaS87Vo0cIUFhaWeez315oyZYqRZMaOHevW94033jCSzOLFi93GNmXKlFLXbNq0qYmLi3Ptv/POO0aSSUtLK9U3Li7Ore5Vq1YZSWb69Olu/d566y0jycydO9ftOjVr1jRZWVmutpMnT5r69eubkSNHlroWcCVhZgaw1Lx58xQQEKCBAwdKkurUqaO7775bn3/+ufbs2ePqt3btWgUGBurPf/6z2+fvu+8+t/3vvvtO//u//6vBgwdLks6cOePa+vbtq+zsbO3evfuiajbGXLDPzTffrAULFmjq1KnauHFjhWdHJOkvf/mLatSoUe7+JWMucc8998jPz09paWkVvnZFrFmzRpJct6lK3H333apdu7Y+/fRTt/Z27dqpSZMmrv2aNWuqVatWysrKuqR1Ar6OMANY6LvvvtO6desUGxsrY4yOHDmiI0eO6K677pIkt+coDh06pODg4FLnOLvt4MGDkqTHH39cNWrUcNtGjRolSRf9CnPJP7phYWHn7PPWW28pLi5Or7/+ujp16qT69etr2LBhysnJKfd1QkNDK1RXSEiI276fn58aNGjgurV1qRw6dEh+fn66+uqr3dodDodCQkJKXb9BgwalzuF0OnXy5MlLWifg6wgzgIX+9a9/yRijd999V/Xq1XNtJc9mLFy4UEVFRZJ++wew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V69eahYmNze3VHq1WclbFraP87HHHtOHH36otLQ0XXvtta5228fn7++vli1bKjo6WklJSbrhhhv00ksvWT+uzZs3Kzc3Vx06dJCfn5/8/Py0du1azZo1S35+fq4x2Dq+36tdu7batGmjPXv2WP9zCw0N1XXXXefW9oc//EH79u2TZP/fN0nKysrSJ598ogcffNDVZvu4/vu//1tPPPGEBg4cqDZt2mjo0KEaO3askpKSJNk7PsJMOfj7+6tDhw5KTU11a09NTVXnzp29VFXlCw8PV0hIiNs4CwsLtXbtWivGaYzRo48+qmXLlmnNmjUKDw93O277+M5mjFFBQYH14+rRo4d27NihjIwM1xYdHa3BgwcrIyNDzZs3t3p8v1dQUKBvvvlGoaGh1v/cunTpUmrpg2+//VZNmzaVVDX+vs2fP1+NGjVSbGysq832cZ04cULVqrn/01+9enXXq9nWjs87zx3bp+TV7Hnz5pldu3aZMWPGmNq1a5u9e/d6u7QKyc/PN1u3bjVbt241kkxycrLZunWr6xXzadOmmbp165ply5aZHTt2mPvuu8/nX8kr8cgjj5i6deuazz77zO21yhMnTrj62Dq+SZMmmXXr1pnMzEyzfft28+STT5pq1aqZ1atXG2PsHde5/P5tJmPsHd/48ePNZ599Zn744QezceNGc/vtt5vAwEDX7w1bx2XMb6/R+/n5meeee87s2bPHvPHGG6ZWrVpm8eLFrj42j6+oqMg0adLETJw4sdQxm8cVFxdnrrnmGter2cuWLTMNGzY0EyZMcPWxcXyEmQp4+eWXTdOmTY2/v7+58cYbXa/82iQtLc1IKrXFxcUZY357LW/KlCkmJCTEOJ1O86c//cns2LHDu0WXU1njkmTmz5/v6mPr+EaMGOH6b+/qq682PXr0cAUZY+wd17mcHWZsHV/J+hw1atQwYWFhZsCAAWbnzp2u47aOq8S///1vExUVZZxOp4mMjDRz5851O27z+D7++GMjyezevbvUMZvHlZeXZ+Lj402TJk1MzZo1TfPmzc3kyZNNQUGBq4+N43MYY4xXpoQAAAAqAc/MAAAAqxFmAACA1QgzAADAaoQZAABgNcIMAACwGmEGAABYjTADAACsRpgBAABWI8wAAACrEWYAAIDVCDMAfM6qVavUtWtXXXXVVWrQoIFuv/12ff/9967jGzZsULt27VSzZk1FR0dr+fLlcjgcysjIcPXZtWuX+vbtqzp16ig4OFhDhw7VL7/84oXRALjUCDMAfM7x48c1btw4paen69NPP1W1atXUv39/FRcXKz8/X/369VObNm20ZcsW/eMf/9DEiRPdPp+dna2YmBi1a9dOmzZt0qpVq3Tw4EHdc889XhoRgEuJL5oE4PN+/vlnNWrUSDt27ND69ev11FNP6cCBA6pZs6Yk6fXXX9df//pXbd26Ve3atdMzzzyjL7/8Uh9//LHrHAcOHFDjxo21e/dutWrVyltDAXAJMDMDwOd8//33GjRokJo3b66goCCFh4dLkvbt26fdu3erbdu2riAjSTfffLPb5zdv3qy0tDTVqVPHtUVGRrrODaBq8fN2AQBwtn79+qlx48Z67bXXFBYWpuLiYkVFRamwsFDGGDkcDrf+Z08wFxcXq1+/fnr++edLnTs0NPSS1g7g8iPMAPAphw4d0jfffKM5c+bolltukSStX7/edTwyMlJvvPGGCgoK5HQ6JUmbNm1yO8eNN96o9957T82aNZOfH7/mgKqO20wAfEq9evXUoEEDzZ07V999953WrFmjcePGuY4PGjRIxcXFeuihh/TNN9/o448/1gsvvCBJrhmb0aNH69dff9V9992nr776Sj/88INWr16tESNGqKioyCvjAnDpEGYA+JRq1app6dKl2rx5s6KiojR27FjNmDHDdTwoKEj//ve/lZGRoXbt2mny5Ml65plnJMn1HE1YWJj+85//qKioSL1791ZUVJTi4+NVt25dVavGrz2gquFtJgDWe+ONN3T//ffr6NGjCggI8HY5AC4zbiYDsM6iRYvUvHlzXXPNNdq2bZsmTpyoe+65hyADXKEIMwCsk5OTo2eeeUY5OTkKDQ3V3Xffreeee87bZQHwEm4zAQAAq/EkHAAAsBphBgAAWI0wAwAArEaYAQAAViPMAAAAqxFmAACA1QgzAADAaoQZAABgNcIMAACw2v8DO9+x2Io/jysAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "age_population=pd.read_csv(\"/Users/nhannguyen/Desktop/Ironhack/Week_3/Descriptive-Stats/data/ages_population.csv\")\n", + "print(age_population)\n", + "#fre_dist:\n", + "\n", + "freq_dist_age = age_population['observation'].value_counts().sort_index()\n", + "print(freq_dist_age)\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(freq_dist_age.index, freq_dist_age.values)\n", + "plt.xlabel('age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Age Distribution')\n", + "\n", + "# mean should be around 30-40 since there is large concentration there and distribution is slightly killed on the lest ( younger poulation)" + ] + }, + { + "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": 38, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "36.56\n", + "12.81008977329979\n" + ] + } + ], + "source": [ + "# your code here\n", + "#mean :\n", + "\n", + "mean_calc= np.mean(age_population['observation'])\n", + "print(mean_calc)\n", + "\n", + "#standard deviation\n", + "\n", + "std_calc=np.std(age_population['observation'])\n", + "print(std_calc)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "high std compared to expected\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": 39, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " observation\n", + "0 25.0\n", + "1 31.0\n", + "2 29.0\n", + "3 31.0\n", + "4 29.0\n", + ".. ...\n", + "995 26.0\n", + "996 22.0\n", + "997 21.0\n", + "998 19.0\n", + "999 28.0\n", + "\n", + "[1000 rows x 1 columns]\n", + "19.0 3\n", + "20.0 13\n", + "21.0 17\n", + "22.0 35\n", + "23.0 41\n", + "24.0 78\n", + "25.0 98\n", + "26.0 120\n", + "27.0 125\n", + "28.0 139\n", + "29.0 115\n", + "30.0 90\n", + "31.0 61\n", + "32.0 31\n", + "33.0 22\n", + "34.0 7\n", + "35.0 3\n", + "36.0 2\n", + "Name: observation, dtype: int64\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Age Distribution')" + ] + }, + "execution_count": 39, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjsAAAHFCAYAAAAUpjivAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA26UlEQVR4nO3de3hU1b3/8c9AwhAgCRAkFwkQNUA1CAhKAS03CSI3oRoVBVRasYAlAuVyUIktDbc2ppKKUCnBIuIN0HMoSJAUioCGq4oeRBogSGIUMeGahGT9/vDHHIaQAGHCTFber+fZz+Osvfba3+W44eOaPbMdxhgjAAAAS9XwdgEAAACVibADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsANUAy+99JIcDodiYmK8XYocDodrq1mzpho0aKA2bdpo5MiR2rp1a6n+Bw4ckMPhUGpq6hWdZ+nSpUpOTr6iYy52roSEBDkcDn3//fdXNFZ5vvjiCyUkJOjAgQOl9j322GNq3ry5x84FgLADVAt///vfJUl79uzRxx9/7OVqpPvvv19btmzRpk2btGzZMg0bNkxbt25Vp06dNHbsWLe+4eHh2rJli/r27XtF56hI2Knoua7UF198oRdeeOGiYee5557TihUrKvX8QHXj5+0CAFSubdu2affu3erbt69WrVqlhQsXqmPHjl6tKTQ0VD//+c9dr3v37q34+Hg9+eSTeumll9SqVSv95je/kSQ5nU63vpWhuLhYZ8+evSbnupQbb7zRq+cHbMTKDmC5hQsXSpJmzpypzp07a9myZTp16lSpfocPH9b999+vwMBA1a9fX4888ogyMjIu+hHStm3bNGDAADVs2FC1a9dWu3bt9NZbb11VnTVr1lRKSooaNWqkOXPmuNov9tHSd999pyeffFKRkZFyOp267rrr1KVLF61bt06S1K1bN61atUoHDx50+9js/PFmz56t6dOnKyoqSk6nU+np6eV+ZJaVlaXBgwcrKChIwcHBevTRR/Xdd9+59XE4HEpISCh1bPPmzfXYY49JklJTU/XAAw9Ikrp37+6q7dw5L/Yx1pkzZzRlyhRFRUWpVq1auv766zV69Gj9+OOPpc7Tr18/rVmzRrfddpsCAgLUqlUr18oeUF0RdgCLnT59Wm+88YZuv/12xcTE6IknntDx48f19ttvu/U7efKkunfvrvT0dM2aNUtvvfWWQkND9eCDD5YaMz09XV26dNGPP/6oV155Re+9957atm2rBx988Irvq7lQQECA7r77bmVmZurw4cNl9hs6dKhWrlyp559/XmvXrtWrr76qu+++W0ePHpUkvfzyy+rSpYvCwsK0ZcsW13a+l156SevXr9ef/vQnrV69Wq1atSq3tkGDBummm27SO++8o4SEBK1cuVK9e/dWUVHRFc2xb9++SkxMlCT99a9/ddVW1kdnxhjdd999+tOf/qShQ4dq1apVGjdunBYvXqwePXqooKDArf/u3bs1fvx4PfPMM3rvvfd06623asSIEdq4ceMV1QlYxQCw1muvvWYkmVdeecUYY8zx48dNvXr1zF133eXW769//auRZFavXu3WPnLkSCPJLFq0yNXWqlUr065dO1NUVOTWt1+/fiY8PNwUFxeXW5MkM3r06DL3T5o0yUgyH3/8sTHGmMzMzFI11KtXz8THx5d7nr59+5pmzZqVaj833o033mgKCwsvuu/8c02bNs1IMs8884xb39dff91IMkuWLHGb27Rp00qds1mzZmb48OGu12+//baRZNLT00v1HT58uFvda9asMZLM7Nmz3fq9+eabRpJZsGCB23lq165tDh486Go7ffq0adiwoRk5cmSpcwHVBSs7gMUWLlyogIAAPfTQQ5KkevXq6YEHHtC///1v7du3z9Vvw4YNCgwM1D333ON2/MMPP+z2+uuvv9b//u//6pFHHpEknT171rXde++9ys7O1t69e6+qZmPMJfvccccdSk1N1fTp07V169YrXl2RpAEDBsjf3/+y+5+b8zlxcXHy8/NTenr6FZ/7Sqxfv16SXB+DnfPAAw+obt26+vDDD93a27Ztq6ZNm7pe165dWy1atNDBgwcrtU7AlxF2AEt9/fXX2rhxo/r27StjjH788Uf9+OOPuv/++yXJ7T6Oo0ePKjQ0tNQYF7Z9++23kqQJEybI39/fbRs1apQkXfVXtM/9pRwREVFmnzfffFPDhw/Xq6++qk6dOqlhw4YaNmyYcnJyLvs84eHhV1RXWFiY22s/Pz+FhIS4PjqrLEePHpWfn5+uu+46t3aHw6GwsLBS5w8JCSk1htPp1OnTpyu1TsCXEXYAS/3973+XMUbvvPOOGjRo4NrO3RuyePFiFRcXS/rpL8hzQeZ8F4aHRo0aSZKmTJmijIyMi25t27atcM2nT5/WunXrdOONN6pJkyZl9mvUqJGSk5N14MABHTx4UDNmzNDy5ctLrX6U59wNy5frwn8XZ8+e1dGjR93ChdPpLHUPjaSrCkQhISE6e/ZsqZuhjTHKyclxvScAykbYASxUXFysxYsX68Ybb1R6enqpbfz48crOztbq1aslSV27dtXx48ddr89ZtmyZ2+uWLVsqOjpau3fvVocOHS66BQYGVrjmMWPG6OjRo5o0adJlH9e0aVONGTNGvXr10o4dO1ztnl7NeP31191ev/XWWzp79qy6devmamvevLk+/fRTt37r16/XiRMn3NqcTqckXVZ9PXv2lCQtWbLErf3dd9/VyZMnXfsBlI3f2QEstHr1ah05ckSzZs1y+8v4nJiYGKWkpGjhwoXq16+fhg8frhdffFGPPvqopk+frptuukmrV6/WBx98IEmqUeP//r9o/vz56tOnj3r37q3HHntM119/vX744Qd9+eWX2rFjR6lvel3Mt99+q61bt8oYo+PHj+vzzz/Xa6+9pt27d+uZZ57Rr3/96zKPzcvLU/fu3TVkyBC1atVKgYGBysjI0Jo1azR48GBXv9atW2v58uWaN2+e2rdvrxo1aqhDhw5X8G/R3fLly+Xn56devXppz549eu6559SmTRvFxcW5+gwdOlTPPfecnn/+eXXt2lVffPGFUlJSFBwc7DbWuV+yXrBggQIDA1W7dm1FRUVd9COoXr16qXfv3po0aZLy8/PVpUsXffrpp5o2bZratWunoUOHVnhOQLXh1dujAVSK++67z9SqVcvk5uaW2eehhx4yfn5+JicnxxhjzKFDh8zgwYNNvXr1TGBgoPnlL39p/vnPfxpJ5r333nM7dvfu3SYuLs40btzY+Pv7m7CwMNOjRw/Xt77KI8m11ahRwwQFBZnWrVubJ5980mzZsqVU/wu/IXXmzBnz1FNPmVtvvdUEBQWZgIAA07JlSzNt2jRz8uRJ13E//PCDuf/++039+vWNw+Ew5/64OzfenDlzLnkuY/7v21jbt283/fv3d/37efjhh823337rdnxBQYGZOHGiiYyMNAEBAaZr165m165dpb6NZYwxycnJJioqytSsWdPtnBd+G8uYn75RNWnSJNOsWTPj7+9vwsPDzW9+8xtz7Ngxt37NmjUzffv2LTWvrl27mq5du5ZqB6oLhzGX8dUHANVSYmKinn32WR06dKjce2gAwJfxMRYASVJKSookqVWrVioqKtL69ev10ksv6dFHHyXoAKjSCDsAJEl16tTRiy++qAMHDqigoEBNmzbVpEmT9Oyzz3q7NAC4KnyMBQAArMZXzwEAgNUIOwAAwGqEHQAAYDVuUJZUUlKiI0eOKDAw8Ip/Qh4AAHiH+f8/TBoREeH246cXIuxIOnLkiCIjI71dBgAAqICsrKxyfyKDsCO5nuWTlZWloKAgL1cDAAAuR35+viIjIy/5TD7Cjv7v6cdBQUGEHQAAqphL3YLCDcoAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNW8GnY2btyo/v37KyIiQg6HQytXriyz78iRI+VwOJScnOzWXlBQoKefflqNGjVS3bp1NWDAAB0+fLhyCwcAAFWGV8POyZMn1aZNG6WkpJTbb+XKlfr4448VERFRal98fLxWrFihZcuWadOmTTpx4oT69eun4uLiyiobAABUIV59XESfPn3Up0+fcvt88803GjNmjD744AP17dvXbV9eXp4WLlyof/zjH7r77rslSUuWLFFkZKTWrVun3r17V1rtAACgavDpe3ZKSko0dOhQ/e53v9Mtt9xSav/27dtVVFSk2NhYV1tERIRiYmK0efPmMsctKChQfn6+2wYAAOzk02Fn1qxZ8vPz029/+9uL7s/JyVGtWrXUoEEDt/bQ0FDl5OSUOe6MGTMUHBzs2iIjIz1aNwAA8B0+G3a2b9+uv/zlL0pNTb3k00wvZIwp95gpU6YoLy/PtWVlZV1tuQAAwEf5bNj597//rdzcXDVt2lR+fn7y8/PTwYMHNX78eDVv3lySFBYWpsLCQh07dszt2NzcXIWGhpY5ttPpVFBQkNsGAADs5NUblMszdOhQ103H5/Tu3VtDhw7V448/Lklq3769/P39lZaWpri4OElSdna2Pv/8c82ePfua1wzAtzWfvMrjYx6Y2ffSnQB4lVfDzokTJ/T111+7XmdmZmrXrl1q2LChmjZtqpCQELf+/v7+CgsLU8uWLSVJwcHBGjFihMaPH6+QkBA1bNhQEyZMUOvWrUsFJQAAUD15Nexs27ZN3bt3d70eN26cJGn48OFKTU29rDFefPFF+fn5KS4uTqdPn1bPnj2VmpqqmjVrVkbJAACginEYY4y3i/C2/Px8BQcHKy8vj/t3AIvxMRZgl8v9+9tnb1AGAADwBMIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqhB0AAGA1wg4AALAaYQcAAFiNsAMAAKxG2AEAAFYj7AAAAKsRdgAAgNUIOwAAwGqEHQAAYDXCDgAAsBphBwAAWI2wAwAArEbYAQAAViPsAAAAqxF2AACA1Qg7AADAaoQdAABgNcIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDV/LxdAABIUvPJqzw63oGZfT06HoCqi5UdAABgNcIOAACwGmEHAABYjbADAACsRtgBAABWI+wAAACrEXYAAIDVCDsAAMBqXg07GzduVP/+/RURESGHw6GVK1e69hUVFWnSpElq3bq16tatq4iICA0bNkxHjhxxG6OgoEBPP/20GjVqpLp162rAgAE6fPjwNZ4JAADwVV4NOydPnlSbNm2UkpJSat+pU6e0Y8cOPffcc9qxY4eWL1+ur776SgMGDHDrFx8frxUrVmjZsmXatGmTTpw4oX79+qm4uPhaTQMAAPgwrz4uok+fPurTp89F9wUHBystLc2tbe7cubrjjjt06NAhNW3aVHl5eVq4cKH+8Y9/6O6775YkLVmyRJGRkVq3bp169+5d6XMAAAC+rUrds5OXlyeHw6H69etLkrZv366ioiLFxsa6+kRERCgmJkabN28uc5yCggLl5+e7bQAAwE5V5kGgZ86c0eTJkzVkyBAFBQVJknJyclSrVi01aNDArW9oaKhycnLKHGvGjBl64YUXKrVewCY8pBNAVVYlVnaKior00EMPqaSkRC+//PIl+xtj5HA4ytw/ZcoU5eXlubasrCxPlgsAAHyIz4edoqIixcXFKTMzU2lpaa5VHUkKCwtTYWGhjh075nZMbm6uQkNDyxzT6XQqKCjIbQMAAHby6bBzLujs27dP69atU0hIiNv+9u3by9/f3+1G5uzsbH3++efq3LnztS4XAAD4IK/es3PixAl9/fXXrteZmZnatWuXGjZsqIiICN1///3asWOH/ud//kfFxcWu+3AaNmyoWrVqKTg4WCNGjND48eMVEhKihg0basKECWrdurXr21kAAKB682rY2bZtm7p37+56PW7cOEnS8OHD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//IupkaNGrr99tt98v/0LjX384WHh6tZs2blzqMqvfeXM/d///vf2rt3r958880rHt+X3/datWrppptukiR16NBBGRkZ+stf/qJJkyZJsvuaL2vu8+fPl2T39X6puZ/PtuvdU/gYqwoyxmjMmDFavny51q9fr6ioKLf9UVFRCgsLU1pamqutsLBQGzZsUOfOncsct1OnTm7HSNLatWvLPcYbLjV/6f/+4Nu3b5/WrVunkJCQCp1n165dbn95eNvlzP1CR48eVVZWVrnzqArv/ZXMfeHChWrfvr3atGlTofP42vteFmOMCgoKrL/mL+bc3CV7r/eynD/3C9lyvXuct5aUUHG/+c1vTHBwsPnXv/5lsrOzXdupU6dcfWbOnGmCg4PN8uXLzWeffWYefvhhEx4ebvLz8119hg4daiZPnux6/dFHH5maNWuamTNnmi+//NLMnDnT+Pn5ma1bt17T+V3KpeZfVFRkBgwYYJo0aWJ27drl1qegoMA1zoXzT0hIMGvWrDH79+83O3fuNI8//rjx8/MzH3/88TWfY1kuNffjx4+b8ePHm82bN5vMzEyTnp5uOnXqZK6//voq/95fzn/3xhiTl5dn6tSpY+bNm3fRcari+26MMVOmTDEbN240mZmZ5tNPPzX/9V//ZWrUqGHWrl1rjLH7mi9v7jZf78aUP3ebr3dPI+xUQZIuui1atMjVp6SkxEybNs2EhYUZp9NpfvGLX5jPPvvMbZyuXbua4cOHu7W9/fbbpmXLlsbf39+0atWq3M99veVS88/MzCyzT3p6umucC+cfHx9vmjZtamrVqmWuu+46ExsbazZv3nxtJ3cJl5r7qVOnTGxsrLnuuuuMv7+/adq0qRk+fLg5dOiQ2zhV8b2/nP/ujTFm/vz5JiAgwPz4448XHacqvu/GGPPEE0+YZs2auers2bOnK+gYY/c1X97cbb7ejSl/7jZf757mMMaYyl07AgAA8B7u2QEAAFYj7AAAAKsRdgAAgNUIOwAAwGqEHQAAYDXCDgAAsBphBwAAWI2wAwAArEbYAQAAViPsAAAAqxF2AFRJa9as0Z133qn69esrJCRE/fr10/79+137N2/erLZt26p27drq0KGDVq5cKYfDoV27drn6fPHFF7r33ntVr149hYaGaujQofr++++9MBsAlYmwA6BKOnnypMaNG6eMjAx9+OGHqlGjhgYNGqSSkhIdP35c/fv3V+vWrbVjxw794Q9/0KRJk9yOz87OVteuXdW2bVtt27ZNa9as0bfffqu4uDgvzQhAZeFBoACs8N1336lx48b67LPPtGnTJj377LM6fPiwateuLUl69dVX9etf/1o7d+5U27Zt9fzzz+vjjz/WBx984Brj8OHDioyM1N69e9WiRQtvTQWAh7GyA6BK2r9/v4YMGaIbbrhBQUFBioqKkiQdOnRIe/fu1a233uoKOpJ0xx13uB2/fft2paenq169eq6tVatWrrEB2MPP2wUAQEX0799fkZGR+tvf/qaIiAiVlJQoJiZGhYWFMsbI4XC49b9wEbukpET9+/fXrFmzSo0dHh5eqbUDuLYIOwCqnKNHj+rLL7/U/Pnzddddd0mSNm3a5NrfqlUrvf766yooKJDT6ZQkbdu2zW2M2267Te+++66aN28uPz/+KARsxsdYAKqcBg0aKCQkRAsWLNDXX3+t9evXa9y4ca79Q4YMUUlJiZ588kl9+eWX+uCDD/SnP/1JklwrPqNHj9YPP/yghx9+WJ988on+85//aO3atXriiSdUXFzslXkBqByEHQBVTo0aNbRs2TJt375dMTExeuaZZzRnzhzX/qCgIP33f/+3du3apbZt22rq1Kl6/vnnJcl1H09ERIQ++ugjFRcXq3fv3oqJidHYsWMVHBysGjX4oxGwCd/GAlAtvP7663r88ceVl5engIAAb5cD4Brig2oAVnrttdd0ww036Prrr9fu3bs1adIkxcXFEXSAaoiwA8BKOTk5ev7555WTk6Pw8HA98MAD+uMf/+jtsgB4AR9jAQAAq3EXHgAAsBphBwAAWI2wAwAArEbYAQAAViPsAAAAqxF2AACA1Qg7AADAaoQdAABgNcIOAACw2v8D+tch6Gd0MlQAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "age_population_2=pd.read_csv(\"/Users/nhannguyen/Desktop/Ironhack/Week_3/Descriptive-Stats/data/ages_population2.csv\")\n", + "print(age_population_2)\n", + "#fre_dist:\n", + "\n", + "freq_dist_age2 = age_population_2['observation'].value_counts().sort_index()\n", + "print(freq_dist_age2)\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(freq_dist_age2.index, freq_dist_age2.values)\n", + "plt.xlabel('age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Age Distribution')" + ] + }, + { + "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", + "there are concentration in young ages, there are less diversity in group\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": 40, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "27.155\n", + "2.9683286543103704\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_calc2= np.mean(age_population_2['observation'])\n", + "print(mean_calc2)\n", + "\n", + "#standard deviation\n", + "\n", + "std_calc2=np.std(age_population_2['observation'])\n", + "print(std_calc2)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "lower std as expected\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 5\n", + "Now is the turn of `ages_population3.csv`.\n", + "\n", + "#### 1.- Read the file `ages_population3.csv`. Calculate the frequency distribution and plot it." + ] + }, + { + "cell_type": "code", + "execution_count": 41, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + " observation\n", + "0 21.0\n", + "1 21.0\n", + "2 24.0\n", + "3 31.0\n", + "4 54.0\n", + ".. ...\n", + "995 16.0\n", + "996 55.0\n", + "997 30.0\n", + "998 35.0\n", + "999 43.0\n", + "\n", + "[1000 rows x 1 columns]\n", + "1.0 1\n", + "2.0 2\n", + "4.0 2\n", + "5.0 1\n", + "7.0 1\n", + " ..\n", + "73.0 6\n", + "74.0 6\n", + "75.0 2\n", + "76.0 1\n", + "77.0 2\n", + "Name: observation, Length: 75, dtype: int64\n" + ] + }, + { + "data": { + "text/plain": [ + "Text(0.5, 1.0, 'Age Distribution')" + ] + }, + "execution_count": 41, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjQAAAHFCAYAAADlrWMiAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMSwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/bCgiHAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA000lEQVR4nO3df3zN9f//8fthdgyb/Gi/MrMw3pof1fpByo+iZnmXlUiY9Bu9afkkVOadTOktuSj98h4u0vRD6v2RX2VIUsgQvaWamdqsFJvFZHt+/+jrfBxD2zHOeR636+Xyulx6PV/P8zqP5w5z7/l6vZ7HYYwxAgAAsFg1bxcAAABwpgg0AADAegQaAABgPQINAACwHoEGAABYj0ADAACsR6ABAADWI9AAAADrEWgAAID1CDSA5aZNmyaHw6G4uDhvlyKHw+Haqlevrnr16qlt27Z64IEHtG7dunL9d+3aJYfDoVmzZlXqfebNm6epU6dW6jUne6/U1FQ5HA798ssvlTrX6Wzfvl2pqanatWtXuWODBg1SkyZNquy9APwfAg1guX//+9+SpG3btumLL77wcjXS7bffrs8//1xr1qxRRkaGBg4cqHXr1ql9+/YaPny4W9+IiAh9/vnnSkxMrNR7eBJoPH2vytq+fbvGjx9/0kDz5JNP6v333z+r7w+crwK8XQAAz23YsEGbN29WYmKiFi1apJkzZ+qqq67yak1hYWG6+uqrXfs33nijRowYofvvv1/Tpk1Ty5Yt9dBDD0mSnE6nW9+zobS0VEePHj0n7/VXmjZt6tX3B/wZMzSAxWbOnClJmjRpkjp06KCMjAz9/vvv5frt2bNHt99+u4KDg3XBBRforrvu0vr16096uWfDhg36+9//rvr166tmzZq69NJL9fbbb59RndWrV9f06dPVsGFDTZ482dV+sstAP//8s+6//35FRUXJ6XTqwgsv1DXXXKOPP/5YktS5c2ctWrRIOTk5bpe4jj/fc889pwkTJigmJkZOp1OZmZmnvbyVm5urpKQkhYSEqG7duurfv79+/vlntz4Oh0OpqanlXtukSRMNGjRIkjRr1iz17t1bktSlSxdXbcfe82SXnA4fPqzRo0crJiZGgYGBuuiiizR06FDt37+/3PvcfPPNWrJkiS677DIFBQWpZcuWrhk64HxHoAEsdejQIb311lu64oorFBcXp8GDB6uoqEjvvPOOW7/i4mJ16dJFmZmZevbZZ/X2228rLCxMffr0KXfOzMxMXXPNNdq/f79eeeUVffDBB2rXrp369OlT6ftcThQUFKQbbrhB2dnZ2rNnzyn7DRgwQAsXLtRTTz2lZcuW6Y033tANN9ygffv2SZJefvllXXPNNQoPD9fnn3/u2o43bdo0rVixQs8//7wWL16sli1bnra2Xr16qVmzZnr33XeVmpqqhQsX6sYbb9Qff/xRqTEmJiZq4sSJkqSXXnrJVdupLnMZY3Trrbfq+eef14ABA7Ro0SKlpKRo9uzZ6tq1q0pKStz6b968WY8++qgeeeQRffDBB2rTpo3uuecerV69ulJ1An7JALDSnDlzjCTzyiuvGGOMKSoqMnXq1DHXXnutW7+XXnrJSDKLFy92a3/ggQeMJJOenu5qa9mypbn00kvNH3/84db35ptvNhEREaa0tPS0NUkyQ4cOPeXxUaNGGUnmiy++MMYYk52dXa6GOnXqmBEjRpz2fRITE010dHS59mPna9q0qTly5MhJjx3/XuPGjTOSzCOPPOLW98033zSSzNy5c93GNm7cuHLvGR0dbZKTk13777zzjpFkMjMzy/VNTk52q3vJkiVGknnuuefc+s2fP99IMq+99prb+9SsWdPk5OS42g4dOmTq169vHnjggXLvBZxvmKEBLDVz5kwFBQWpb9++kqQ6deqod+/e+vTTT7Vz505Xv1WrVik4OFg33XST2+vvvPNOt/3vvvtO//3vf3XXXXdJko4ePeraevTooby8PO3YseOMajbG/GWfK6+8UrNmzdKECRO0bt26Ss+SSNLf//531ahRo8L9j435mDvuuEMBAQHKzMys9HtXxooVKyTJdcnqmN69e6t27dr65JNP3NrbtWunxo0bu/Zr1qyp2NhY5eTknNU6ARsQaAALfffdd1q9erUSExNljNH+/fu1f/9+3X777ZLkdl/Fvn37FBYWVu4cJ7bt3btXkjRy5EjVqFHDbRsyZIgknfHjzcf+4Y2MjDxln/nz5ys5OVlvvPGG2rdvr/r162vgwIHKz8+v8PtERERUqq7w8HC3/YCAADVo0MB1mets2bdvnwICAnThhRe6tTscDoWHh5d7/wYNGpQ7h9Pp1KFDh85qnYANCDSAhf7973/LGKN3331X9erVc23H7tWYPXu2SktLJf35j+CxsHK8EwNCw4YNJUmjR4/W+vXrT7q1a9fO45oPHTqkjz/+WE2bNlWjRo1O2a9hw4aaOnWqdu3apZycHKWlpWnBggXlZjFO59hNwhV14s/i6NGj2rdvn1uAcDqd5e5pkXRGoadBgwY6evRouRuQjTHKz893fSYA/hqBBrBMaWmpZs+eraZNmyozM7Pc9uijjyovL0+LFy+WJHXq1ElFRUWu/WMyMjLc9lu0aKHmzZtr8+bNio+PP+kWHBzscc3Dhg3Tvn37NGrUqAq/rnHjxho2bJi6deumr776ytVe1bMSb775ptv+22+/raNHj6pz586utiZNmmjLli1u/VasWKGDBw+6tTmdTkmqUH3XX3+9JGnu3Llu7e+9956Ki4tdxwH8NdahASyzePFi/fTTT3r22Wfd/sE9Ji4uTtOnT9fMmTN18803Kzk5WS+88IL69++vCRMmqFmzZlq8eLGWLl0qSapW7f/+v+bVV19VQkKCbrzxRg0aNEgXXXSRfv31V33zzTf66quvyj1BdTJ79+7VunXrZIxRUVGRvv76a82ZM0ebN2/WI488ovvuu++Urz1w4IC6dOmifv36qWXLlgoODtb69eu1ZMkSJSUlufq1bt1aCxYs0IwZM3T55ZerWrVqio+Pr8RP0d2CBQsUEBCgbt26adu2bXryySfVtm1b3XHHHa4+AwYM0JNPPqmnnnpKnTp10vbt2zV9+nTVrVvX7VzHVmx+7bXXFBwcrJo1ayomJuakl4u6deumG2+8UaNGjVJhYaGuueYabdmyRePGjdOll16qAQMGeDwm4Lzj1VuSAVTarbfeagIDA01BQcEp+/Tt29cEBASY/Px8Y4wxu3fvNklJSaZOnTomODjY3Hbbbeajjz4ykswHH3zg9trNmzebO+64w4SGhpoaNWqY8PBw07VrV9fTVKcjybVVq1bNhISEmNatW5v777/ffP755+X6n/jk0eHDh82DDz5o2rRpY0JCQkxQUJBp0aKFGTdunCkuLna97tdffzW33367ueCCC4zD4TDHfpUdO9/kyZP/8r2M+b+nnDZu3Gh69uzp+vnceeedZu/evW6vLykpMY899piJiooyQUFBplOnTiYrK6vcU07GGDN16lQTExNjqlev7vaeJz7lZMyfTyqNGjXKREdHmxo1apiIiAjz0EMPmd9++82tX3R0tElMTCw3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9dZbtWPHDrc+/jDeGTNmqE2bNq5Fqtq3b6/Fixe7jvvDGE8lLS1NDodDI0aMcLX5y3hTU1PlcDjctvDwcNdxfxmnJP3444/q37+/GjRooFq1aqldu3bauHGj67i/jLVJkyblPlOHw6GhQ4dK8p9xStLRo0f1xBNPKCYmRkFBQbr44ov1z3/+U2VlZa4+VTJez75l6fySkZFhatSoYV5//XWzfft2M3z4cFO7dm2Tk5Pj7dLOyEcffWTGjh1r3nvvPSPJvP/++27HJ02aZIKDg817771ntm7davr06WMiIiJMYWGhdwo+AzfeeKNJT083X3/9tcnKyjKJiYmmcePG5uDBg64+/jDeDz/80CxatMjs2LHD7Nixw4wZM8bUqFHDfP3118YY/xjjyXz55ZemSZMmpk2bNmb48OGudn8Z77hx48wll1xi8vLyXFtBQYHruL+M89dffzXR0dFm0KBB5osvvjDZ2dnm448/Nt99952rj7+MtaCgwO3zXL58uZFkMjMzjTH+M05j/vz+xQYNGpj//d//NdnZ2eadd94xderUMVOnTnX1qYrxEmgq4MorrzQPPvigW1vLli3N448/7qWKqt6JgaasrMyEh4ebSZMmudoOHz5s6tata1555RUvVFi1CgoKjCSzatUqY4x/j7devXrmjTfe8NsxFhUVmebNm5vly5ebTp06uQKNP4133Lhxpm3btic95k/jHDVqlOnYseMpj/vTWE80fPhw07RpU1NWVuZ340xMTDSDBw92a0tKSjL9+/c3xlTd58olp79w5MgRbdy4Ud27d3dr7969u9auXeulqs6+7Oxs5efnu43b6XSqU6dOfjHuAwcOSJLq168vyT/HW1paqoyMDBUXF6t9+/Z+OUZJGjp0qBITE3XDDTe4tfvbeHfu3KnIyEjFxMSob9+++uGHHyT51zg//PBDxcfHq3fv3goNDdWll16q119/3XXcn8Z6vCNHjmju3LkaPHiwHA6H342zY8eO+uSTT/Ttt99KkjZv3qw1a9aoR48ekqruc7VipWBv+uWXX1RaWlru273DwsLKfQu4Pzk2tpONOycnxxslVRljjFJSUtSxY0fFxcVJ8q/xbt26Ve3bt9fhw4dVp04dvf/++2rVqpXrF4M/jPGYjIwMffXVV1q/fn25Y/70mV511VWaM2eOYmNjtXfvXk2YMEEdOnTQtm3b/GqcP/zwg2bMmKGUlBSNGTNGX375pf7xj3/I6XRq4MCBfjXW4y1cuFD79+/XoEGDJPnXn11JGjVqlA4cOKCWLVuqevXqKi0t1TPPPKM777xTUtWNl0BTQQ6Hw23fGFOuzR/547iHDRumLVu2aM2aNeWO+cN4W7RooaysLO3fv1/vvfeekpOTtWrVKtdxfxijJOXm5mr48OFatmyZatasecp+/jDehIQE13+3bt1a7du3V9OmTTV79mxdffXVkvxjnGVlZYqPj9fEiRMlSZdeeqm2bdumGTNmaODAga5+/jDW482cOVMJCQmKjIx0a/eXcc6fP19z587VvHnzdMkllygrK0sjRoxQZGSkkpOTXf3OdLxccvoLDRs2VPXq1cvNxhQUFJRLk/7k2BMU/jbuhx9+WB9++KEyMzPVqFEjV7s/jTcwMFDNmjVTfHy80tLS1LZtW7344ot+NUZJ2rhxowoKCnT55ZcrICBAAQEBWrVqlaZNm6aAgADXmPxlvMerXbu2WrdurZ07d/rV5xoREaFWrVq5tf3tb3/T7t27JfnX39NjcnJy9PHHH+vee+91tfnbOP/nf/5Hjz/+uPr27avWrVtrwIABeuSRR5SWliap6sZLoPkLgYGBuvzyy7V8+XK39uXLl6tDhw5eqursi4mJUXh4uNu4jxw5olWrVlk5bmOMhg0bpgULFmjFihWKiYlxO+5v4z2eMUYlJSV+N8brr79eW7duVVZWlmuLj4/XXXfdpaysLF188cV+Nd7jlZSU6JtvvlFERIRffa7XXHNNueUUvv32W0VHR0vyz7+n6enpCg0NVWJioqvN38b5+++/q1o197hRvXp112PbVTZez+9bPn8ce2x75syZZvv27WbEiBGmdu3aZteuXd4u7YwUFRWZTZs2mU2bNhlJZsqUKWbTpk2ux9EnTZpk6tataxYsWGC2bt1q7rzzTmsfG3zooYdM3bp1zcqVK90elfz9999dffxhvKNHjzarV6822dnZZsuWLWbMmDGmWrVqZtmyZcYY/xjj6Rz/lJMx/jPeRx991KxcudL88MMPZt26debmm282wcHBrt9B/jLOL7/80gQEBJhnnnnG7Ny507z55pumVq1aZu7cua4+/jJWY4wpLS01jRs3NqNGjSp3zJ/GmZycbC666CLXY9sLFiwwDRs2NI899pirT1WMl0BTQS+99JKJjo42gYGB5rLLLnM97muzzMxMI6nclpycbIz581G6cePGmfDwcON0Os11111ntm7d6t2iPXSycUoy6enprj7+MN7Bgwe7/pxeeOGF5vrrr3eFGWP8Y4ync2Kg8ZfxHluTo0aNGiYyMtIkJSWZbdu2uY77yziNMeY///mPiYuLM06n07Rs2dK89tprbsf9aaxLly41ksyOHTvKHfOncRYWFprhw4ebxo0bm5o1a5qLL77YjB071pSUlLj6VMV4HcYY4+k0EgAAgC/gHhoAAGA9Ag0AALAegQYAAFiPQAMAAKxHoAEAANYj0AAAAOsRaAAAgPUINAAAwHoEGgAAYD0CDQAAsB6BBoDPWbJkiTp27KgLLrhADRo00M0336zvv//edXzt2rVq166datasqfj4eC1cuFAOh0NZWVmuPtu3b1ePHj1Up04dhYWFacCAAfrll1+8MBoA5wKBBoDPKS4uVkpKitavX69PPvlE1apVU69evVRWVqaioiL17NlTrVu31ldffaWnn35ao0aNcnt9Xl6eOnXqpHbt2mnDhg1asmSJ9u7dqzvuuMNLIwJwtvHllAB83s8//6zQ0FBt3bpVa9as0RNPPKE9e/aoZs2akqQ33nhD9913nzZt2qR27drpqaee0hdffKGlS5e6zrFnzx5FRUVpx44dio2N9dZQAJwlzNAA8Dnff/+9+vXrp4svvlghISGKiYmRJO3evVs7duxQmzZtXGFGkq688kq312/cuFGZmZmqU6eOa2vZsqXr3AD8T4C3CwCAE/Xs2VNRUVF6/fXXFRkZqbKyMsXFxenIkSMyxsjhcLj1P3GiuaysTD179tSzzz5b7twRERFntXYA3kGgAeBT9u3bp2+++Uavvvqqrr32WknSmjVrXMdbtmypN998UyUlJXI6nZKkDRs2uJ3jsssu03vvvacmTZooIIBfc8D5gEtOAHxKvXr11KBBA7322mv67rvvtGLFCqWkpLiO9+vXT2VlZbr//vv1zTffaOnSpXr++eclyTVzM3ToUP3666+688479eWXX+qHH37QsmXLNHjwYJWWlnplXADOLgINAJ9SrVo1ZWRkaOPGjYqLi9MjjzyiyZMnu46HhIToP//5j7KystSuXTuNHTtWTz31lCS57quJjIzUZ599ptLSUt14442Ki4vT8OHDVbduXVWrxq89wB/xlBMA67355pu6++67deDAAQUFBXm7HABewMVlANaZM2eOLr74Yl100UXavHmzRo0apTvuuIMwA5zHCDQArJOfn6+nnnpK+fn5ioiIUO/evfXMM894uywAXsQlJwAAYD3ujgMAANYj0AAAAOsRaAAAgPUINAAAwHoEGgAAYD0CDQAAsB6BBgAAWI9AAwAArEegAQAA1vt/AtBMHm8GbCkAAAAASUVORK5CYII=", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "age_population_3=pd.read_csv(\"/Users/nhannguyen/Desktop/Ironhack/Week_3/Descriptive-Stats/data/ages_population3.csv\")\n", + "print(age_population_3)\n", + "#fre_dist:\n", + "\n", + "freq_dist_age3 = age_population_3['observation'].value_counts().sort_index()\n", + "print(freq_dist_age3)\n", + "# Create a bar plot for the frequency distribution\n", + "plt.bar(freq_dist_age3.index, freq_dist_age3.values)\n", + "plt.xlabel('age')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Age Distribution')" + ] + }, + { + "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": 42, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "41.989\n", + "16.136631587788084\n" + ] + } + ], + "source": [ + "# your code here\n", + "mean_calc3= np.mean(age_population_3['observation'])\n", + "print(mean_calc3)\n", + "\n", + "#standard deviation\n", + "\n", + "std_calc3=np.std(age_population_3['observation'])\n", + "print(std_calc3)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "distribution is less homogeneous, less predictable\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": 46, + "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", + "
observation
0.2530.0
0.5040.0
0.7553.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0.25 30.0\n", + "0.50 40.0\n", + "0.75 53.0" + ] + }, + "execution_count": 46, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "age_population_3.quantile([0.25,0.5,0.75])" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "Mean is closed to median. The distribution spreads from 0 to 80 ages but concentrate in the middle ( 50% population lies between 30 to 53 years old) and there are not signiciant outliers\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": 48, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
0.0517.0
0.9570.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0.05 17.0\n", + "0.95 70.0" + ] + }, + "execution_count": 48, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "age_population_3.quantile([0.5,0.95])" + ] + }, + { + "cell_type": "code", + "execution_count": 49, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nnot significant outliers\\n'" + ] + }, + "execution_count": 49, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "not significant outliers\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Bonus challenge\n", + "Compare the information about the three neighbourhoods. Prepare a report about the three of them. Remember to find out which are their similarities and their differences backing your arguments in basic statistics." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.11.4" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}