From 43de0460b03c85c1f8533ae1d800ec39b2d10018 Mon Sep 17 00:00:00 2001 From: AlvarSPG Date: Thu, 2 Nov 2023 01:15:17 +0100 Subject: [PATCH] [Descriptive-Stats]AlvaroSanPedro --- .DS_Store | Bin 0 -> 8196 bytes .../.ipynb_checkpoints/main-checkpoint.ipynb | 1349 ++++++++++++ your-code/main.ipynb | 1871 ++++++++++++----- 3 files changed, 2698 insertions(+), 522 deletions(-) create mode 100644 .DS_Store create mode 100644 your-code/.ipynb_checkpoints/main-checkpoint.ipynb diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000000000000000000000000000000000000..a8855b292612611c0adfddc07a33665e7a3295c7 GIT binary patch literal 8196 zcmeHMTWl0n7(U;$z|25linMfAp-VRifg;X9Dz6jcVqeiKRpAkU zkRJiULT!yV2$K|Sb(Fq0N=yd;N zXwHxk7}s$G;t1Rr0iHgU%wz@&m@)nQo*Q#)KS-x9L#n8pGk2amPo6Iy?m6a_dIBRT z_-#i15SMyA&&ieBM(&_(m9pBBcFzqA+qLqcgKb)5GTd*wrdMk73a;sgzCA)AE3%T+ zYR1RYjmh*xV{*KyrG=WCH*J`hP~@7_`mNpBVbt}rTJ?zGj1(Lr zuv#658~X!+bu!?sA>Ydf?V({-(+a-TZIPW_v^vO|To>~@b&UnK=lTb&yib_Qq{XzA za|>#gHQc*4y3}*4ylg=7g3){vHut7?g5_^ul$j-7i**SKReaJp%U$M*V z3j2{e z%^SC7rg$WXSLWJu28Xo0j_e_A!(E=iH_kOZaksi`woK|HzFQ|{PFiiAuuiHCGVxuT zBgB>JDw&wB%@yLBM59c(rAeWvu1_>6ltEgB5Z5F&D6$42Y*x1@luKHr5Vxy46rSE1 z3*|&xqC=*9(EbHc-)8Tz3+yBI1rhZJ_7nSs{XyiEu@H4wP6XxjT#5Uz9!+RQ3%26{ zWY9`f-G}|?!U1&S5K;9AvM}%%j>CbA5>66b$1y=\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
RoundResult
013
125
231
342
452
562
676
781
893
9105
\n", + "" + ], + "text/plain": [ + " Round Result\n", + "0 1 3\n", + "1 2 5\n", + "2 3 1\n", + "3 4 2\n", + "4 5 2\n", + "5 6 2\n", + "6 7 6\n", + "7 8 1\n", + "8 9 3\n", + "9 10 5" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "def simulate_dice_rolls(num_rolls):\n", + " \n", + " # Return a list of 10 numbers that simulates rolling a six-sided die 10 times.\n", + " result = random.choices(range(1,7), k=10)\n", + " \n", + " df = pd.DataFrame({'Round': range(1,num_rolls + 1), 'Result': result})\n", + " \n", + " return df\n", + " \n", + " \n", + "result = simulate_dice_rolls(10) \n", + "\n", + "result\n", + "\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHFCAYAAADcytJ5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwd0lEQVR4nO3deVhV1f7H8c8R8OAAKCYCgqJpSppDFytnSS01zSHzOiWm9WRqOTQ4dH9X7TFp0K6WqZmpZQ51u6ZmV2wStcEcCrM0tZsaGmZZgiNXYP3+4Mf5dQQVCNwLeb+eZz941l5n7+8+h8P+uPfa+7iMMUYAAAAWKuN0AQAAABdDUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAfKwePFiuVwuz+Tr66uwsDD17dtX+/fvd7o8SZLL5dLkyZM9j3fv3q3Jkyfr4MGDRbYOY4xWrFih1q1bKyQkRP7+/oqIiNDtt9+uBQsWFNl6JOnMmTOaPHmyEhMTi3S5kpSYmCiXy3XZZU+ePFkul0u//vprkdcgSefPn1e1atV0yy23XLRPVlaWatSooUaNGuV7ufndPqAkIqgAl7Bo0SJ9/vnn+vDDDzVy5EitWbNGrVq10u+//+50abns3r1bU6ZMKdKgMmHCBPXr10/R0dFasGCB1q1bp6lTp6patWpavXp1ka1Hyg4qU6ZMuap3tn5+frrnnnv0xRdfaPfu3Xn2+fDDD5WcnKyhQ4de4eoAO/k6XQBgs4YNGyomJkaS1K5dO2VmZmrSpElatWqV7r33XoerK15nz57VzJkzNWjQIM2fP99r3uDBg5WVlVUk6zHG6Ny5c0WyrJJg6NChmjFjhhYuXKjp06fnmr9w4UKVLVtWAwcOdKA6wD4cUQEKICe0/Pzzz17t27dv15133qng4GD5+/uradOmeuutt7z6nDlzRo8++qhq1aolf39/BQcHKyYmRsuXL/f0adeundq1a5drvYMHD1ZUVNRF61q8eLHuvvtuSVJsbKznlNXixYslSV999ZW6du2qkJAQud1uhYeH64477tDhw4cvuszTp08rPT1dYWFhec4vU8b7z8dvv/2m4cOHq3r16ipbtqxq166tJ554Qunp6V79XC6XRo4cqXnz5ik6Olput1uvvfaaqlatKkmaMmWKp/7Bgwd7nrd//37179/fsw3R0dF66aWXctX13XffqVOnTipfvryuueYaDRs2TCdPnrzoduYlOTlZvXr1UmBgoIKCgjRw4ED98ssvnvlDhw5VcHCwzpw5k+u5t956qxo0aHDRZUdHR6t58+ZasmSJMjIyvOadOHFCq1evVvfu3VWlShVt375dffv2VVRUlMqVK6eoqCj169dPhw4duuw2FOR36b///a+mTp2q+vXry+12q2rVqrr33nu9thlwCkdUgAI4cOCAJOm6667ztG3YsEGdOnXSzTffrHnz5ikoKEgrVqzQX//6V505c8azsx07dqyWLFmiqVOnqmnTpjp9+rS++eYbHT9+/E/Xdccdd2jatGmaOHGiXnrpJd14442SpGuvvVanT59Wx44dVatWLb300kuqVq2ajh49qg0bNlxyB37NNdeoTp06mjNnjkJCQtSlSxfVq1dPLpcrV99z584pNjZW//nPfzRlyhQ1atRImzdvVnx8vJKSkvTee+959V+1apU2b96sv//97woNDVVwcLASEhLUqVMnDR06VPfdd58kecLL7t271aJFC9WoUUMzZsxQaGio1q9fr4cffli//vqrJk2aJCk7QLZt21Z+fn6aM2eOqlWrpqVLl2rkyJEFej179uypPn36aNiwYfr222/1P//zP9q9e7e++OIL+fn5adSoUVq4cKGWLVvmqTWnzg0bNuQZoP4oZxvfe+89de/e3dO+bNkynTt3znPa5+DBg6pXr5769u2r4OBgpaSkaO7cuWrWrJl2796ta665pkDblZesrCx1795dmzdv1uOPP64WLVro0KFDmjRpktq1a6ft27erXLlyf3o9QKEZALksWrTISDJbtmwx58+fNydPnjQJCQkmNDTUtGnTxpw/f97Tt379+qZp06ZebcYY07VrVxMWFmYyMzONMcY0bNjQ9OjR45Lrbdu2rWnbtm2u9ri4OFOzZk2vNklm0qRJnsf//Oc/jSSzYcMGr37bt283ksyqVasuv+EX2Lp1q6lRo4aRZCSZgIAA07VrV/P666+brKwsT7958+YZSeatt97yev4zzzxjJJn333/fq+6goCDz22+/efX95Zdfcm1Tjttvv91ERESY1NRUr/aRI0caf39/z7LGjRtnXC6XSUpK8urXsWPHPF+bC02aNMlIMmPGjPFqX7p0qZFk3njjDU9b27ZtTZMmTbz6PfjggyYwMNCcPHnykus5efKkqVixornzzju92v/yl7+YyMhIz+/MhTIyMsypU6dMhQoVzKxZszztGzZsyLV9+f1dWr58uZFk/vWvf3n127Ztm5Fk5syZc8ltAYobp36AS7jlllvk5+engIAAderUSZUrV9bq1avl65t9MPL777/Xd999pwEDBkiSMjIyPFOXLl2UkpKivXv3SpJuuukmrVu3TuPHj1diYqLOnj17RbahTp06qly5ssaNG6d58+ZddBBnXpo1a6bvv/9eCQkJmjhxopo3b66PPvpIgwYN0p133iljjCTp448/VoUKFdS7d2+v5+ccTfroo4+82m+99VZVrlw5XzWcO3dOH330kXr27Kny5cvneo3PnTunLVu2SMo+utWgQQM1btzYaxn9+/fP9zZL8ryfOfr06SNfX19t2LDB0zZq1CglJSXp008/lSSlpaVpyZIliouLU8WKFS+5/IoVK6pPnz7697//7TmN+M0332jHjh0aPHiw57TaqVOnNG7cONWpU0e+vr7y9fVVxYoVdfr0ae3Zs6dA23Qxa9euVaVKldStWzev17ZJkyYKDQ29qgc3o2QgqACX8Prrr2vbtm36+OOP9cADD2jPnj3q16+fZ37OTubRRx+Vn5+f1zR8+HBJ8lzq+sILL2jcuHFatWqVYmNjFRwcrB49ehT75c5BQUHauHGjmjRpookTJ6pBgwYKDw/XpEmTdP78+cs+38/PT7fffrueeuoprV+/XsnJyWrXrp3Wrl2rdevWSZKOHz+u0NDQXKeFQkJC5Ovrm+v01sXGveTl+PHjysjI0IsvvpjrNe7SpYuk/3+Nc+q4UF5tl3Jhf19fX1WpUsVrO7p3766oqCjPaZ7Fixfr9OnTGjFiRL7WMXToUGVkZGjJkiWSsgfRulwur0Ha/fv31+zZs3Xfffdp/fr12rp1q7Zt26aqVasWWdD9+eefdeLECZUtWzbX63v06NFiu1QbyC/GqACXEB0d7RlAGxsbq8zMTC1YsEBvv/22evfu7RkjMGHCBPXq1SvPZdSrV0+SVKFCBU2ZMkVTpkzRzz//7Dm60q1bN3333XeSJH9/f6WmpuZaxp/dWdxwww1asWKFjDH6+uuvtXjxYj355JMqV66cxo8fX6BlValSRaNHj1ZiYqK++eYbdenSRVWqVNEXX3whY4xXWDl27JgyMjJyjaXIa5zLxVSuXFk+Pj665557LhoCatWq5ant6NGjuebn1XYpR48eVfXq1T2PMzIydPz4cVWpUsXTVqZMGY0YMUITJ07UjBkzNGfOHLVv397zfl9OixYtFB0drUWLFmnUqFF64403dOutt3q2JTU1VWvXrtWkSZO83qP09HT99ttvl11+fn+XrrnmGlWpUkUJCQl5LicgICBf2wMUF46oAAXw7LPPqnLlyvr73/+urKws1atXT3Xr1tXOnTsVExOT55TXH/pq1app8ODB6tevn/bu3eu5eiQqKkr79u3zulLm+PHj+uyzzy5bm9vtlqRL/k/b5XKpcePG+sc//qFKlSrpyy+/vGjf8+fPX3Sgb85ph/DwcElS+/btderUKa1atcqr3+uvv+6ZX9j6y5cvr9jYWH311Vdq1KhRnq9xToCIjY3Vt99+q507d3otY9myZZdd/x8tXbrU6/Fbb72ljIyMXFfR3HfffSpbtqwGDBigvXv3FnjQ7pAhQ7R792797W9/0y+//KIhQ4Z45rlcLhljPK9LjgULFigzM/Oyy87v71LXrl11/PhxZWZm5vna5jd4AcWFIypAAVSuXFkTJkzQ448/rmXLlmngwIF6+eWX1blzZ91+++0aPHiwqlevrt9++0179uzRl19+qX/+85+SpJtvvlldu3ZVo0aNVLlyZe3Zs0dLlixR8+bNVb58eUnSPffco5dfflkDBw7U/fffr+PHj+vZZ59VYGDgZWtr2LChJGn+/PkKCAiQv7+/atWqpc8//1xz5sxRjx49VLt2bRljtHLlSp04cUIdO3a86PJSU1MVFRWlu+++Wx06dFBkZKROnTqlxMREzZo1S9HR0Z6jSIMGDdJLL72kuLg4HTx4UDfccIM++eQTTZs2TV26dFGHDh0uW39AQIBq1qyp1atXq3379goODtY111yjqKgozZo1S61atVLr1q314IMPKioqSidPntT333+vd999Vx9//LEkafTo0Vq4cKHuuOMOz43pli5d6jlilV8rV66Ur6+vOnbs6Lnqp3HjxurTp49Xv0qVKmnQoEGaO3euatasqW7duhVoPYMGDdLEiRP13HPPqVKlSl5H5QIDA9WmTRs999xzntdh48aNevXVV1WpUqXLLju/v0t9+/bV0qVL1aVLF40aNUo33XST/Pz8dPjwYW3YsEHdu3dXz549C7RdQJFydCgvYKmcq362bduWa97Zs2dNjRo1TN26dU1GRoYxxpidO3eaPn36mJCQEOPn52dCQ0PNrbfeaubNm+d53vjx401MTIypXLmycbvdpnbt2mbMmDHm119/9Vr+a6+9ZqKjo42/v7+5/vrrzZtvvpmvq36MMWbmzJmmVq1axsfHx0gyixYtMt99953p16+fufbaa025cuVMUFCQuemmm8zixYsv+Rqkp6eb6dOnm86dO5saNWoYt9tt/P39TXR0tHn88cfN8ePHvfofP37cDBs2zISFhRlfX19Ts2ZNM2HCBHPu3LlcdY8YMSLPdX744YemadOmxu12G0kmLi7OM+/AgQNmyJAhpnr16sbPz89UrVrVtGjRwkydOtVrGbt37zYdO3Y0/v7+Jjg42AwdOtSsXr26QFf97Nixw3Tr1s1UrFjRBAQEmH79+pmff/45z+ckJiYaSebpp5++5LIvpmfPnkaSGT58eK55hw8fNnfddZepXLmyCQgIMJ06dTLffPONqVmzptdrk9dVP8bk/3fp/PnzZvr06aZx48bG39/fVKxY0dSvX9888MADZv/+/YXaLqCouIz5v2H7AIACe+SRRzR37lwlJyd7jWEBUDQ49QMAhbBlyxbt27dPc+bM0QMPPEBIAYoJR1QAoBBcLpfKly+vLl26aNGiRZe9dwqAwuGICgAUAv/HA64MLk8GAADWIqgAAABrEVQAAIC1SvQYlaysLP30008KCAgo0C25AQCAc4wxOnnypMLDwz1fwnkxJTqo/PTTT4qMjHS6DAAAUAjJycmKiIi4ZJ8SHVRyvkMlOTk5X7cYBwAAzktLS1NkZGS+vvSyRAeVnNM9gYGBBBUAAEqY/AzbYDAtAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALBWib4zLQCUepmZ0ubNUkqKFBYmtW4t+fg4XRVQZBw/onLkyBENHDhQVapUUfny5dWkSRPt2LHD6bIAwH4rV0pRUVJsrNS/f/bPqKjsduAq4egRld9//10tW7ZUbGys1q1bp5CQEP3nP/9RpUqVnCwLAOy3cqXUu7dkjHf7kSPZ7W+/LfXq5UxtQBFyGXPhb/mVM378eH366afavHlzoZ6flpamoKAgpaam8qWEAEqPzMzsIyeHD+c93+WSIiKkAwc4DQQrFWT/7eipnzVr1igmJkZ33323QkJC1LRpU73yyisX7Z+enq60tDSvCQBKnc2bLx5SpOyjLMnJ2f2AEs7RoPLDDz9o7ty5qlu3rtavX69hw4bp4Ycf1uuvv55n//j4eAUFBXmmyMjIK1wxAFggJaVo+wEWc/TUT9myZRUTE6PPPvvM0/bwww9r27Zt+vzzz3P1T09PV3p6uudxWlqaIiMjOfUDoHRJTMweOHs5GzZI7doVdzVAgZWYUz9hYWG6/vrrvdqio6P1448/5tnf7XYrMDDQawKAUqd16+wxKC5X3vNdLikyMrsfUMI5GlRatmypvXv3erXt27dPNWvWdKgiACgBfHykWbOy/31hWMl5PHMmA2lxVXA0qIwZM0ZbtmzRtGnT9P3332vZsmWaP3++RowY4WRZAGC/Xr2yL0GuXt27PSKCS5NxVXF0jIokrV27VhMmTND+/ftVq1YtjR07Vvfff3++nsvlyQBKPe5MixKoIPtvx4PKn0FQAQCg5Ckxg2kBAAAuhaACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtX6cLQDHKzJQ2b5ZSUqSwMKl1a8nHx+mqAAAlgSX7EEePqEyePFkul8trCg0NdbKkq8fKlVJUlBQbK/Xvn/0zKiq7HQCAS7FoH+L4qZ8GDRooJSXFM+3atcvpkkq+lSul3r2lw4e9248cyW4nrAAALsayfYjjQcXX11ehoaGeqWrVqk6XVLJlZkqjRknG5J6X0zZ6dHY/AAD+yMJ9iONBZf/+/QoPD1etWrXUt29f/fDDDxftm56errS0NK8JF9i8OXcK/iNjpOTk7H4AAPyRhfsQR4PKzTffrNdff13r16/XK6+8oqNHj6pFixY6fvx4nv3j4+MVFBTkmSIjI69wxSVASkrR9gMAlB4W7kMcDSqdO3fWXXfdpRtuuEEdOnTQe++9J0l67bXX8uw/YcIEpaameqbk5OQrWW7JEBZWtP0AAKWHhfsQqy5PrlChgm644Qbt378/z/lut1tut/sKV1XCtG4tRURkD3rK6xyjy5U9v3XrK18bAMBuFu5DHB+j8kfp6enas2ePwvjffuH5+EizZmX/2+XynpfzeOZM7qcCAMjNwn2Io0Hl0Ucf1caNG3XgwAF98cUX6t27t9LS0hQXF+dkWSVfr17S229L1at7t0dEZLf36uVMXQAA+1m2D3H01M/hw4fVr18//frrr6patapuueUWbdmyRTVr1nSyrKtDr15S9+5W3FUQAFDCWLQPcRmT10mokiEtLU1BQUFKTU1VYGCg0+UAAIB8KMj+26oxKgAAAH9EUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWMuaoBIfHy+Xy6XRo0c7XQoAALCEFUFl27Ztmj9/vho1auR0KQAAwCKOB5VTp05pwIABeuWVV1S5cmWnywEAABZxPKiMGDFCd9xxhzp06HDZvunp6UpLS/OaAADA1cvXyZWvWLFCX375pbZt25av/vHx8ZoyZUoxVwUAAGzh2BGV5ORkjRo1Sm+88Yb8/f3z9ZwJEyYoNTXVMyUnJxdzlQAAwEkuY4xxYsWrVq1Sz5495ePj42nLzMyUy+VSmTJllJ6e7jUvL2lpaQoKClJqaqoCAwOLu2QAAFAECrL/duzUT/v27bVr1y6vtnvvvVf169fXuHHjLhtSAADA1c+xoBIQEKCGDRt6tVWoUEFVqlTJ1Q4AAEonx6/6AQAAuBhHr/q5UGJiotMlAAAAi3BEBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYq1BB5cknn9SZM2dytZ89e1ZPPvnkny4KAABAklzGGFPQJ/n4+CglJUUhISFe7cePH1dISIgyMzOLrMBLKcjXRAMAADsUZP9dqCMqxhi5XK5c7Tt37lRwcHBhFgkAAJBLgb6UsHLlynK5XHK5XLruuuu8wkpmZqZOnTqlYcOGFXmRAACgdCpQUJk5c6aMMRoyZIimTJmioKAgz7yyZcsqKipKzZs3L/IiAQBA6VSgoBIXFydJqlWrllq0aCE/P79iKQoAAEAqQFBJS0vz/Ltp06Y6e/aszp49m2dfBrYCAICikO+gUqlSpTwH0P5RziDbK3XVDwAAuLrlO6hs2LChOOsAAADIJd9BpW3btsVZBwAAQC4FGkybY9OmTZec36ZNm0IVAwAA8EeFCirt2rXL1XbhPVUAAAD+rELdmfb333/3mo4dO6aEhAQ1a9ZM77//flHXCAAASqlCHVH5443ecnTs2FFut1tjxozRjh07/nRhAAAAhTqicjFVq1bV3r17i3KRAACgFCvUEZWvv/7a67ExRikpKXr66afVuHHjIikMAACgUEGlSZMmcrlcMsZ4td9yyy1auHBhkRQGAABQqKBy4MABr8dlypRR1apV5e/vXyRFAQAASIUMKjVr1szVduLECYIKAAAoUoUaTPvMM8/ozTff9Dzu06ePgoODVb16de3cubPIigMAAKVboYLKyy+/rMjISEnSBx98oA8++EAJCQnq3LmzHnvssSItEAAAlF6FOvWTkpLiCSpr165Vnz59dNtttykqKko333xzkRYIAABKr0IdUalcubKSk5MlSQkJCerQoYOk7MuUuX0+AAAoKoU6otKrVy/1799fdevW1fHjx9W5c2dJUlJSkurUqVOkBQIAgNKrUEHlH//4h6KiopScnKxnn31WFStWlJR9Smj48OFFWiAAACi9XObCu7aVIGlpaQoKClJqaqoCAwOdLgcAAORDQfbfhf6unyVLlqhVq1YKDw/XoUOHJEkzZ87U6tWrC7tIAAAAL4UKKnPnztXYsWPVuXNnnThxwjOAtlKlSpo5c2ZR1gcAAEqxQgWVF198Ua+88oqeeOIJ+fj4eNpjYmK0a9euIisOAACUboUKKgcOHFDTpk1ztbvdbp0+ffpPFwUAACAVMqjUqlVLSUlJudrXrVun6OjoP1sTAACApEJenvzYY49pxIgROnfunIwx2rp1q5YvX65p06bp1VdfLeoaAQBAKVWooHLvvfcqIyNDjz/+uM6cOaP+/furevXqevHFF9W6deuirhEAAJRShb48+f7779ehQ4d07NgxHT16VFu3btVXX33FnWkBAECRKVBQOXHihAYMGKCqVasqPDxcL7zwgoKDg/XSSy+pTp062rJlixYuXFhctQIAgFKmQKd+Jk6cqE2bNikuLk4JCQkaM2aMEhISdO7cOf373/9W27Zti6tOAABQChUoqLz33ntatGiROnTooOHDh6tOnTq67rrruMkbAAAoFgU69fPTTz/p+uuvlyTVrl1b/v7+uu+++4qlMAAAgAIFlaysLPn5+Xke+/j4qEKFCkVeFAAAgFTAUz/GGA0ePFhut1uSdO7cOQ0bNixXWFm5cmXRVQgAAEqtAgWVuLg4r8cDBw4s0mIAAAD+qEBBZdGiRcVVBwAAQC6FvuEbAABAcSOoAAAAaxFUAACAtQgqAADAWgQVAABgLUeDyty5c9WoUSMFBgYqMDBQzZs317p165wsKVtmppSYKC1fnv0zM9PpigAAJQX7kCLlaFCJiIjQ008/re3bt2v79u269dZb1b17d3377bfOFbVypRQVJcXGSv37Z/+MispuBwDgUtiHFDmXMcY4XcQfBQcH67nnntPQoUMv2zctLU1BQUFKTU1VYGDgn1/5ypVS797ShS+Jy5X98+23pV69/vx6AABXH/Yh+VaQ/bc1Y1QyMzO1YsUKnT59Ws2bN3eiAGnUqNy/YNL/t40ezSE8AEBu7EOKjeNBZdeuXapYsaLcbreGDRumd955x/MNzRdKT09XWlqa11RkNm+WDh+++HxjpOTk7H4AAPwR+5Bi43hQqVevnpKSkrRlyxY9+OCDiouL0+7du/PsGx8fr6CgIM8UGRlZdIWkpBRtPwBA6cE+pNg4HlTKli2rOnXqKCYmRvHx8WrcuLFmzZqVZ98JEyYoNTXVMyUnJxddIWFhRdsPAFB6sA8pNgX6UsIrwRij9PT0POe53W653e7iWXHr1lJEhHTkSN7nGF2u7PmtWxfP+gEAJRf7kGLj6BGViRMnavPmzTp48KB27dqlJ554QomJiRowYMCVL8bHR8o5kpMzQjtHzuOZM7P7AQDwR+xDio2jQeXnn3/WPffco3r16ql9+/b64osvlJCQoI4dOzpTUK9e2ZePVa/u3R4RwWVlAIBLYx9SLKy7j0pBFPl9VHJkZmaPzE5JyT6f2Lo1KRgAkD/sQy6rIPtv68aoWMHHR2rXzukqAAAlEfuQIuX4VT8AAAAXQ1ABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALCWo0ElPj5ezZo1U0BAgEJCQtSjRw/t3bvXyZKA4pOZKSUmSsuXZ//MzHS6osJhOwBcQY4GlY0bN2rEiBHasmWLPvjgA2VkZOi2227T6dOnnSwLKHorV0pRUVJsrNS/f/bPqKjs9pKE7QBwhbmMMcbpInL88ssvCgkJ0caNG9WmTZvL9k9LS1NQUJBSU1MVGBh4BSoECmHlSql3b+nCj5rLlf3z7belXr2ufF0FxXYAKCIF2X9bNUYlNTVVkhQcHOxwJUARycyURo3KvVOU/r9t9Gj7TzuwHQAcYk1QMcZo7NixatWqlRo2bJhnn/T0dKWlpXlNgNU2b5YOH774fGOk5OTsfjZjOwA4xJqgMnLkSH399ddavnz5RfvEx8crKCjIM0VGRl7BCoFCSEkp2n5OYTsAOMSKoPLQQw9pzZo12rBhgyIiIi7ab8KECUpNTfVMycnJV7BKoBDCwoq2n1PYDgAOcXQwrTFGDz30kN555x0lJiaqbt26BXo+g2lhvczM7KtJjhzJe1yEyyVFREgHDkg+Ple8vHxjOwAUoRIzmHbEiBF64403tGzZMgUEBOjo0aM6evSozp4962RZQNHx8ZFmzcr+d85VJTlyHs+caf9Oke0A4BBHg8rcuXOVmpqqdu3aKSwszDO9+eabTpYFFK1evbIvea1e3bs9IqJkXQrLdgBwgFX3USkoTv2gRMnMzL6aJCUlewxE69Yl83/ubAeAP6kg+2+CCgAAuKJKzBgVAACASyGoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYi6ACAACsRVABAADWIqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwFkEFAABYy9fpAoDLysyUNm+WUlKksDCpdWvJx8fpqgAUJT7nuAhHj6hs2rRJ3bp1U3h4uFwul1atWuVkObDRypVSVJQUGyv175/9Myoqux3A1YHPOS7B0aBy+vRpNW7cWLNnz3ayDNhq5Uqpd2/p8GHv9iNHstv5IwaUfHzOcRkuY4xxughJcrlceuedd9SjR498PyctLU1BQUFKTU1VYGBg8RWHKy8zM/t/VBf+8crhckkREdKBAxweBkoqPuelVkH23yVqMG16errS0tK8JlylNm+++B8vSTJGSk7O7gegZOJzjnwoUUElPj5eQUFBnikyMtLpklBcUlKKth8A+/A5Rz6UqKAyYcIEpaameqbk5GSnS0JxCQsr2n4A7MPnHPlQoi5PdrvdcrvdTpeBK6F16+xz00eOZB/+vVDOuevWra98bQCKBp9z5EOJOqKCUsTHR5o1K/vfLpf3vJzHM2cywA4oyficIx8cDSqnTp1SUlKSkpKSJEkHDhxQUlKSfvzxRyfLgi169ZLefluqXt27PSIiu71XL2fqAlB0+JzjMhy9PDkxMVGxsbG52uPi4rR48eLLPp/Lk0sJ7lgJXP34nJcqBdl/W3MflcIgqAAAUPJctfdRAQAApQtBBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUAACAtQgqAADAWgQVAABgLYIKAACwVon69uQL5dxUNy0tzeFKAABAfuXst/Nzc/wSHVROnjwpSYqMjHS4EgAAUFAnT55UUFDQJfuU6O/6ycrK0k8//aSAgAC5LvyKcEjKTq2RkZFKTk7m+5AswPthF94Pu/B+2Ke43hNjjE6ePKnw8HCVKXPpUSgl+ohKmTJlFBER4XQZJUJgYCAffIvwftiF98MuvB/2KY735HJHUnIwmBYAAFiLoAIAAKxFULnKud1uTZo0SW632+lSIN4P2/B+2IX3wz42vCclejAtAAC4unFEBQAAWIugAgAArEVQAQAA1iKoAAAAaxFUrkLx8fFq1qyZAgICFBISoh49emjv3r1Ol4X/Ex8fL5fLpdGjRztdSql25MgRDRw4UFWqVFH58uXVpEkT7dixw+mySqWMjAz97W9/U61atVSuXDnVrl1bTz75pLKyspwurVTYtGmTunXrpvDwcLlcLq1atcprvjFGkydPVnh4uMqVK6d27drp22+/vWL1EVSuQhs3btSIESO0ZcsWffDBB8rIyNBtt92m06dPO11aqbdt2zbNnz9fjRo1crqUUu33339Xy5Yt5efnp3Xr1mn37t2aMWOGKlWq5HRppdIzzzyjefPmafbs2dqzZ4+effZZPffcc3rxxRedLq1UOH36tBo3bqzZs2fnOf/ZZ5/V888/r9mzZ2vbtm0KDQ1Vx44dPd+3V9y4PLkU+OWXXxQSEqKNGzeqTZs2TpdTap06dUo33nij5syZo6lTp6pJkyaaOXOm02WVSuPHj9enn36qzZs3O10KJHXt2lXVqlXTq6++6mm76667VL58eS1ZssTBykofl8uld955Rz169JCUfTQlPDxco0eP1rhx4yRJ6enpqlatmp555hk98MADxV4TR1RKgdTUVElScHCww5WUbiNGjNAdd9yhDh06OF1KqbdmzRrFxMTo7rvvVkhIiJo2bapXXnnF6bJKrVatWumjjz7Svn37JEk7d+7UJ598oi5dujhcGQ4cOKCjR4/qtttu87S53W61bdtWn3322RWpoUR/KSEuzxijsWPHqlWrVmrYsKHT5ZRaK1as0Jdffqlt27Y5XQok/fDDD5o7d67Gjh2riRMnauvWrXr44Yfldrs1aNAgp8srdcaNG6fU1FTVr19fPj4+yszM1FNPPaV+/fo5XVqpd/ToUUlStWrVvNqrVaumQ4cOXZEaCCpXuZEjR+rrr7/WJ5984nQppVZycrJGjRql999/X/7+/k6XA0lZWVmKiYnRtGnTJElNmzbVt99+q7lz5xJUHPDmm2/qjTfe0LJly9SgQQMlJSVp9OjRCg8PV1xcnNPlQdmnhP7IGJOrrbgQVK5iDz30kNasWaNNmzYpIiLC6XJKrR07dujYsWP6y1/+4mnLzMzUpk2bNHv2bKWnp8vHx8fBCkufsLAwXX/99V5t0dHR+te//uVQRaXbY489pvHjx6tv376SpBtuuEGHDh1SfHw8QcVhoaGhkrKPrISFhXnajx07lusoS3FhjMpVyBijkSNHauXKlfr4449Vq1Ytp0sq1dq3b69du3YpKSnJM8XExGjAgAFKSkoipDigZcuWuS7Z37dvn2rWrOlQRaXbmTNnVKaM9+7Ix8eHy5MtUKtWLYWGhuqDDz7wtP33v//Vxo0b1aJFiytSA0dUrkIjRozQsmXLtHr1agUEBHjOMQYFBalcuXIOV1f6BAQE5BofVKFCBVWpUoVxQw4ZM2aMWrRooWnTpqlPnz7aunWr5s+fr/nz5ztdWqnUrVs3PfXUU6pRo4YaNGigr776Ss8//7yGDBnidGmlwqlTp/T99997Hh84cEBJSUkKDg5WjRo1NHr0aE2bNk1169ZV3bp1NW3aNJUvX179+/e/MgUaXHUk5TktWrTI6dLwf9q2bWtGjRrldBml2rvvvmsaNmxo3G63qV+/vpk/f77TJZVaaWlpZtSoUaZGjRrG39/f1K5d2zzxxBMmPT3d6dJKhQ0bNuS5z4iLizPGGJOVlWUmTZpkQkNDjdvtNm3atDG7du26YvVxHxUAAGAtxqgAAABrEVQAAIC1CCoAAMBaBBUAAGAtggoAALAWQQUAAFiLoAIAAKxFUAFQKgwePFg9evRwugwABURQAVBkBg8eLJfLJZfLJV9fX9WoUUMPPvigfv/9d6dLA1BCEVQAFKlOnTopJSVFBw8e1IIFC/Tuu+9q+PDhTpcFoIQiqAAoUm63W6GhoYqIiNBtt92mv/71r3r//fclSVlZWXryyScVEREht9utJk2aKCEhwfPcxMREuVwunThxwtOWlJQkl8ulgwcPSpIWL16sSpUqaf369YqOjlbFihU94ShHZmamxo4dq0qVKqlKlSp6/PHHxbeFACUTQQVAsfnhhx+UkJAgPz8/SdKsWbM0Y8YMTZ8+XV9//bVuv/123Xnnndq/f3+BlnvmzBlNnz5dS5Ys0aZNm/Tjjz/q0Ucf9cyfMWOGFi5cqFdffVWffPKJfvvtN73zzjtFum0ArgyCCoAitXbtWlWsWFHlypXTtddeq927d2vcuHGSpOnTp2vcuHHq27ev6tWrp2eeeUZNmjTRzJkzC7SO8+fPa968eYqJidGNN96okSNH6qOPPvLMnzlzpiZMmKC77rpL0dHRmjdvnoKCgopyMwFcIb5OFwDg6hIbG6u5c+fqzJkzWrBggfbt26eHHnpIaWlp+umnn9SyZUuv/i1bttTOnTsLtI7y5cvr2muv9TwOCwvTsWPHJEmpqalKSUlR8+bNPfN9fX0VExPD6R+gBOKICoAiVaFCBdWpU0eNGjXSCy+8oPT0dE2ZMsUz3+VyefU3xnjaypQp42nLcf78+VzryDmV9MdlEkKAqxNBBUCxmjRpkqZPn65Tp04pPDxcn3zyidf8zz77TNHR0ZKkqlWrSpLXwNikpKQCrS8oKEhhYWHasmWLpy0jI0M7duwo5BYAcBKnfgAUq3bt2qlBgwaaNm2aHnvsMU2aNEnXXnutmjRpokWLFikpKUlLly6VJNWpU0eRkZGaPHmypk6dqv3792vGjBkFXueoUaP09NNPq27duoqOjtbzzz/vdSURgJKDoAKg2I0dO1b33nuv9u3bp7S0ND3yyCM6duyYrr/+eq1Zs0Z169aVlH1KZ/ny5XrwwQfVuHFjNWvWTFOnTtXdd99doPU98sgjSklJ0eDBg1WmTBkNGTJEPXv2VGpqanFsHoBi5DKc2AUAAJZijAoAALAWQQUAAFiLoAIAAKxFUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAQAA1vpfJn0+AbyOSwMAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# sort the values to understand what we are going to plot\n", + "# Create the bar chart\n", + "plt.plot(result['Round'], result['Result'], \"ro\")\n", + "\n", + "# Add labels and title\n", + "plt.xlabel('Round')\n", + "plt.ylabel('Result')\n", + "plt.title('Results Sorted by Value')\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Calculate the frequency distribution and plot it. What is the relation between this plot and the plot above? Describe it with words." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1 2\n", + "2 3\n", + "3 2\n", + "5 2\n", + "6 1\n", + "Name: Result, dtype: int64" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "frequency = result['Result'].value_counts().sort_index()\n", + "\n", + "frequency" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAzR0lEQVR4nO3de1gV9b7H8c9S7sglL9wSgdLMS5pJ7TCvkaiYmdXZtruIeXmOaWqip72xzlbSE1rpNrPEK2Se7ljp0UwrwdrqkyhamZmVCinkNVBK5DLnDx/X0wpEWQKzGN+v55k/5je/mfnOgPrxN79Zy2YYhiEAAACLaGR2AQAAALWJcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAPUsfT0dNlstiqXKVOmmF3eVWH69Omy2WwObZGRkRo+fHiNjrNlyxZNnz5dv/76a432+/O5MjMzZbPZ9N5779XoONX57bffNH36dGVmZlbaduF38ODBg7V2PsCVuZldAHC1SEtL04033ujQFhYWZlI1eP/99+Xv71+jfbZs2aLk5GQNHz5cgYGBdXqumvrtt9+UnJwsSerdu7fDtoEDB2rr1q0KDQ2t0xoAV0G4AepJx44dFR0dfVl9S0tLZbPZ5ObGH9G60qVLlzo/x++//y5vb+96OVd1WrRooRYtWphaA1CfeCwFmOzCI4rXX39dkydP1rXXXitPT0/98MMPkqRPPvlEsbGx8vf3l4+Pj+644w59+umnlY6zdu1a3XzzzfL09FRUVJRefPHFSo9jDh48KJvNpvT09Er722w2TZ8+3aFt//79euihhxQUFCRPT0+1a9dOr7zySpX1v/nmm3r66acVFhYmf39/3XXXXdq3b1+l86xfv16xsbEKCAiQj4+P2rVrp5SUFEnS66+/LpvNpq1bt1ba79lnn5W7u7uOHDlS7f2s6j5U5c+PiioqKjRz5ky1bdtW3t7eCgwMVKdOnfTSSy9JOv9o67/+678kSVFRUfZHixceA0VGRuruu+/WqlWr1KVLF3l5edlHUi72COzs2bNKTExUSEiIvL291atXL+Xk5Dj06d27d6WRGEkaPny4IiMjJZ3/uV4IL8nJyfbaLpzzYo+lli9frs6dO8vLy0tNmzbVkCFDtHfv3krnadKkiX744QfFx8erSZMmCg8P1+TJk1VSUlLlvQXMxn8LgXpSXl6usrIyh7Y/jswkJSUpJiZGqampatSokYKCgrRy5UoNGzZMgwcP1muvvSZ3d3ctWrRI/fr108cff6zY2FhJ0qeffqrBgwcrJiZGb731lsrLy/X888/rl19+cbreb7/9Vt26dVOrVq00Z84chYSE6OOPP9aECRN0/PhxTZs2zaH/1KlTdccdd2jp0qUqKirS3//+dw0aNEh79+5V48aNJUnLli3T6NGj1atXL6WmpiooKEjff/+9vvnmG0nS0KFD9dRTT+mVV15RTEyM/dhlZWVatGiRhgwZUu2jvCu5D88//7ymT5+uZ555Rj179lRpaam+++47+/yaUaNG6eTJk3r55Ze1atUq+yOe9u3b24+xc+dO7d27V88884yioqLk6+tb7TmnTp2qW265RUuXLlVhYaGmT5+u3r17KycnR9ddd90la74gNDRU69evV//+/TVy5EiNGjVKkqodrUlJSdHUqVP1t7/9TSkpKTpx4oSmT5+umJgYbd++XW3atLH3LS0t1T333KORI0dq8uTJ2rx5s2bMmKGAgAD985//vOw6gXpjAKhTaWlphqQql9LSUmPTpk2GJKNnz54O+xUXFxtNmzY1Bg0a5NBeXl5udO7c2bjtttvsbX/5y1+MsLAw4/fff7e3FRUVGU2bNjX++Mf8wIEDhiQjLS2tUp2SjGnTptnX+/XrZ7Rs2dIoLCx06PfEE08YXl5exsmTJw3DMOz1x8fHO/R75513DEnG1q1bDcMwjNOnTxv+/v5G9+7djYqKiover2nTphkeHh7GL7/8Ym97++23DUlGVlbWRferyX0wDMOIiIgwEhIS7Ot33323cfPNN1d7/BdeeMGQZBw4cKDStoiICKNx48bGvn37qtz2x3NduGe33HKLw704ePCg4e7ubowaNcre1qtXL6NXr16VjpmQkGBERETY148dO1bpZ3jBhd/BC3WfOnXK8Pb2rvQzy83NNTw9PY2HHnrI4TySjHfeecehb3x8vNG2bdtK5wJcAY+lgHqyYsUKbd++3WH548jN/fff79B/y5YtOnnypBISElRWVmZfKioq1L9/f23fvl3FxcUqLi7W9u3bdd9998nLy8u+v5+fnwYNGuRUrWfPntWnn36qIUOGyMfHx+H88fHxOnv2rLZt2+awzz333OOw3qlTJ0nSoUOH7NdTVFSksWPHVnpz6Y8ef/xxSdKSJUvsbQsWLNBNN92knj17XnS/K70Pt912m3bv3q2xY8fq448/VlFR0SX3+bNOnTrphhtuuOz+Dz30kMO9iIiIULdu3bRp06Yan7smtm7dqt9//73So7Lw8HDdeeedlR572my2SvewU6dO9p8t4Gp4LAXUk3bt2lU7ofjPb7JceJTywAMPXHSfkydPymazqaKiQiEhIZW2V9V2OU6cOKGysjK9/PLLevnll6vsc/z4cYf1Zs2aOax7enpKOj+pVpKOHTsmSWrZsmW15w4ODtbQoUO1aNEi/eMf/9CePXv0+eefa9GiRdXud+rUqSu6D0lJSfL19dXKlSuVmpqqxo0bq2fPnpo9e/ZlTwSv6dtIF6t19+7dNTpOTZ04cUJS1fWGhYVp48aNDm0+Pj4OgVE6//M9e/Zs3RUJXAHCDeAi/jya0bx5c0nSyy+/rNtvv73KfYKDg+1vVhUUFFTa/ue2C/9A/Xki6IV/7C645ppr1LhxYz366KMaN25cleeOioqq5moquzD/4+eff75k34kTJ+r111/Xhx9+qPXr1yswMFAPP/xwtftcc801l30fquLm5qbExEQlJibq119/1SeffKKpU6eqX79+ysvLk4+PzyWPUd2IVFUuVusfg6KXl5cKCwsr9ftzuKyJC8fPz8+vtO3IkSP23z2goeKxFOCi7rjjDgUGBurbb79VdHR0lYuHh4d8fX112223adWqVQ7/kz59+rTWrFnjcMzg4GB5eXnpq6++cmj/8MMPHdZ9fHzUp08f5eTkqFOnTlWe+88jNZfSrVs3BQQEKDU1VYZhVNu3a9eu6tatm2bPnq3//d//1fDhwy85Obcm9+FSAgMD9cADD2jcuHE6efKk/S2jP49GXak333zT4V4cOnRIW7ZscXg7KjIyUt9//71DID1x4oS2bNnicKya1BYTEyNvb2+tXLnSof3nn3/WZ599Zp+oDjRUjNwALqpJkyZ6+eWXlZCQoJMnT+qBBx5QUFCQjh07pt27d+vYsWNauHChJGnGjBnq37+/+vbtq8mTJ6u8vFyzZ8+Wr6+vTp48aT+mzWbTI488ouXLl+v6669X586d9eWXX+qNN96odP6XXnpJ3bt3V48ePfT4448rMjJSp0+f1g8//KA1a9bos88+q/H1zJkzR6NGjdJdd92l0aNHKzg4WD/88IN2796tBQsWOPSfOHGihg4dKpvNprFjx17WOS73PlRl0KBB9s8iatGihQ4dOqR58+YpIiLC/ubQTTfdZL83CQkJcnd3V9u2beXn51eje3HB0aNHNWTIEI0ePVqFhYWaNm2avLy8lJSUZO/z6KOPatGiRXrkkUc0evRonThxQs8//3ylDwX08/NTRESEPvzwQ8XGxqpp06Zq3ry5/XXxPwoMDNR///d/a+rUqRo2bJj+9re/6cSJE0pOTpaXl1elN+GABsfsGc2A1V14U2X79u1Vbr/w5sy7775b5fasrCxj4MCBRtOmTQ13d3fj2muvNQYOHFip/+rVq41OnToZHh4eRqtWrYxZs2YZ06ZNq/SWUGFhoTFq1CgjODjY8PX1NQYNGmQcPHiwyjdtDhw4YIwYMcK49tprDXd3d6NFixZGt27djJkzZ16y/ou9mbVu3TqjV69ehq+vr+Hj42O0b9/emD17dqXrLikpMTw9PY3+/ftXeV8u5nLvw5/fYJozZ47RrVs3o3nz5vZ9R44caRw8eNBhv6SkJCMsLMxo1KiRIcnYtGmT/XgDBw6ssqaLvS31+uuvGxMmTDBatGhheHp6Gj169DCys7Mr7f/aa68Z7dq1M7y8vIz27dsbb7/9dqW3pQzDMD755BOjS5cuhqenpyHJfs4/vy11wdKlS+33KiAgwBg8eLCxZ88ehz4JCQmGr69vpZqquqeAq7AZxiXGhwE0WNOnT1dycvIlHwO5ojVr1uiee+7R2rVrFR8fb3Y5ABoQHksBcCnffvutDh06pMmTJ+vmm2/WgAEDzC4JQAPDhGIALmXs2LG65557dM011+jNN9+s8RtIAMBjKQAAYCmM3AAAAEsh3AAAAEsh3AAAAEu56t6Wqqio0JEjR+Tn58dERQAAGgjDMHT69GmFhYWpUaPqx2auunBz5MgRhYeHm10GAABwQl5e3iW/gPeqCzcXPiY9Ly+v0seXAwAA11RUVKTw8PDL+rqTqy7cXHgU5e/vT7gBAKCBuZwpJUwoBgAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlkK4AQAAlmJquFm4cKE6depk/yqEmJgYffTRR9Xuk5WVpa5du8rLy0vXXXedUlNT66laAADQEJgablq2bKlZs2YpOztb2dnZuvPOOzV48GDt2bOnyv4HDhxQfHy8evTooZycHE2dOlUTJkxQRkZGPVcOAABclc0wDMPsIv6oadOmeuGFFzRy5MhK2/7+979r9erV2rt3r71tzJgx2r17t7Zu3XpZxy8qKlJAQIAKCwv54kwAABqImvz77TJzbsrLy/XWW2+puLhYMTExVfbZunWr4uLiHNr69eun7OxslZaW1keZAADAxbmZXcDXX3+tmJgYnT17Vk2aNNH777+v9u3bV9m3oKBAwcHBDm3BwcEqKyvT8ePHFRoaWmmfkpISlZSU2NeLiopq9wIAAIBLMT3ctG3bVrt27dKvv/6qjIwMJSQkKCsr66IBx2azOaxfeKr25/YLUlJSlJycXLtFo9ZF/mOt2SWY4uCsgWaXAACWY/pjKQ8PD7Vu3VrR0dFKSUlR586d9dJLL1XZNyQkRAUFBQ5tR48elZubm5o1a1blPklJSSosLLQveXl5tX4NAADAdZg+cvNnhmE4PEb6o5iYGK1Zs8ahbcOGDYqOjpa7u3uV+3h6esrT07PW6wQAAK7J1JGbqVOn6vPPP9fBgwf19ddf6+mnn1ZmZqYefvhhSedHXYYNG2bvP2bMGB06dEiJiYnau3evli9frmXLlmnKlClmXQIAAHAxpo7c/PLLL3r00UeVn5+vgIAAderUSevXr1ffvn0lSfn5+crNzbX3j4qK0rp16zRp0iS98sorCgsL0/z583X//febdQkAAMDFuNzn3NQ1PufGNTGhGABQnQb5OTcAAAC1gXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAsxdRwk5KSoltvvVV+fn4KCgrSvffeq3379lW7T2Zmpmw2W6Xl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AHamhpvevXvbJwRXJT09vVJbr169tHPnzjqsCgAANGQNas4NAADApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApZgebl599VVFRUXJy8tLXbt21eeff37RvpmZmbLZbJWW7777rh4rBgAArszUcPP222/rySef1NNPP62cnBz16NFDAwYMUG5ubrX77du3T/n5+falTZs29VQxAABwdaaGm7lz52rkyJEaNWqU2rVrp3nz5ik8PFwLFy6sdr+goCCFhITYl8aNG9dTxQAAwNWZFm7OnTunHTt2KC4uzqE9Li5OW7ZsqXbfLl26KDQ0VLGxsdq0aVO1fUtKSlRUVOSwAAAA6zIt3Bw/flzl5eUKDg52aA8ODlZBQUGV+4SGhmrx4sXKyMjQqlWr1LZtW8XGxmrz5s0XPU9KSooCAgLsS3h4eK1eBwAAcC1uZhdgs9kc1g3DqNR2Qdu2bdW2bVv7ekxMjPLy8vTiiy+qZ8+eVe6TlJSkxMRE+3pRUREBBwAACzNt5KZ58+Zq3LhxpVGao0ePVhrNqc7tt9+u/fv3X3S7p6en/P39HRYAAGBdpoUbDw8Pde3aVRs3bnRo37hxo7p163bZx8nJyVFoaGhtlwcAABooUx9LJSYm6tFHH1V0dLRiYmK0ePFi5ebmasyYMZLOP1I6fPiwVqxYIUmaN2+eIiMj1aFDB507d04rV65URkaGMjIyzLwMAADgQkwNN0OHDtWJEyf07LPPKj8/Xx07dtS6desUEREhScrPz3f4zJtz585pypQpOnz4sLy9vdWhQwetXbtW8fHxZl0CAABwMaZPKB47dqzGjh1b5bb09HSH9aeeekpPPfVUPVQFAAAaKtO/fgEAAKA2EW4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClmB5uXn31VUVFRcnLy0tdu3bV559/Xm3/rKwsde3aVV5eXrruuuuUmppaT5UCAICGwNRw8/bbb+vJJ5/U008/rZycHPXo0UMDBgxQbm5ulf0PHDig+Ph49ejRQzk5OZo6daomTJigjIyMeq4cAAC4KlPDzdy5czVy5EiNGjVK7dq107x58xQeHq6FCxdW2T81NVWtWrXSvHnz1K5dO40aNUojRozQiy++WM+VAwAAV2VauDl37px27NihuLg4h/a4uDht2bKlyn22bt1aqX+/fv2UnZ2t0tLSOqsVAAA0HG5mnfj48eMqLy9XcHCwQ3twcLAKCgqq3KegoKDK/mVlZTp+/LhCQ0Mr7VNSUqKSkhL7emFhoSSpqKjoSi+hShUlv9XJcV3dld5P7lvNXa33TKq7P7+4uKv1942/25xTF39GLxzTMIxL9jUt3Fxgs9kc1g3DqNR2qf5VtV+QkpKi5OTkSu3h4eE1LRXVCJhndgUNE/fNOdw31Bd+15xTl/ft9OnTCggIqLaPaeGmefPmaty4caVRmqNHj1YanbkgJCSkyv5ubm5q1qxZlfskJSUpMTHRvl5RUaGTJ0+qWbNm1YaohqaoqEjh4eHKy8uTv7+/2eU0GNw353Dfao575hzum3OseN8Mw9Dp06cVFhZ2yb6mhRsPDw917dpVGzdu1JAhQ+ztGzdu1ODBg6vcJyYmRmvWrHFo27Bhg6Kjo+Xu7l7lPp6envL09HRoCwwMvLLiXZi/v79lfpHrE/fNOdy3muOeOYf75hyr3bdLjdhcYOrbUomJiVq6dKmWL1+uvXv3atKkScrNzdWYMWMknR91GTZsmL3/mDFjdOjQISUmJmrv3r1avny5li1bpilTpph1CQAAwMWYOudm6NChOnHihJ599lnl5+erY8eOWrdunSIiIiRJ+fn5Dp95ExUVpXXr1mnSpEl65ZVXFBYWpvnz5+v+++836xIAAICLMX1C8dixYzV27Ngqt6Wnp1dq69Wrl3bu3FnHVTU8np6emjZtWqVHcKge98053Lea4545h/vmnKv9vtmMy3mnCgAAoIEw/bulAAAAahPhBgAAWArhBgAAWArhBgAAWArhpoHbvHmzBg0apLCwMNlsNn3wwQdml+TyUlJSdOutt8rPz09BQUG69957tW/fPrPLcnkLFy5Up06d7B8KFhMTo48++sjsshqclJQU2Ww2Pfnkk2aX4tKmT58um83msISEhJhdlss7fPiwHnnkETVr1kw+Pj66+eabtWPHDrPLqneEmwauuLhYnTt31oIFC8wupcHIysrSuHHjtG3bNm3cuFFlZWWKi4tTcXGx2aW5tJYtW2rWrFnKzs5Wdna27rzzTg0ePFh79uwxu7QGY/v27Vq8eLE6depkdikNQocOHZSfn29fvv76a7NLcmmnTp3SHXfcIXd3d3300Uf69ttvNWfOHEt/Kv/FmP45N7gyAwYM0IABA8wuo0FZv369w3paWpqCgoK0Y8cO9ezZ06SqXN+gQYMc1v/nf/5HCxcu1LZt29ShQweTqmo4zpw5o4cfflhLlizRzJkzzS6nQXBzc2O0pgZmz56t8PBwpaWl2dsiIyPNK8hEjNzgqldYWChJatq0qcmVNBzl5eV66623VFxcrJiYGLPLaRDGjRungQMH6q677jK7lAZj//79CgsLU1RUlB588EH99NNPZpfk0lavXq3o6Gj9x3/8h4KCgtSlSxctWbLE7LJMQbjBVc0wDCUmJqp79+7q2LGj2eW4vK+//lpNmjSRp6enxowZo/fff1/t27c3uyyX99Zbb2nnzp1KSUkxu5QG4y9/+YtWrFihjz/+WEuWLFFBQYG6deumEydOmF2ay/rpp5+0cOFCtWnTRh9//LHGjBmjCRMmaMWKFWaXVu94LIWr2hNPPKGvvvpKX3zxhdmlNAht27bVrl279OuvvyojI0MJCQnKysoi4FQjLy9PEydO1IYNG+Tl5WV2OQ3GHx+333TTTYqJidH111+v1157TYmJiSZW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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(frequency.index, frequency.values)\n", + "\n", + "# Add labels and title\n", + "plt.xlabel('Result')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Frequency distribution')\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nFirst plot: displays all rolls and their results.\\nSecond plot: displays frequency of the results\\n\\n'" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "First plot: displays all rolls and their results.\n", + "Second plot: displays frequency of the results\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": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.0" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "def mean_1(array):\n", + " return sum(array)/len(array)\n", + "\n", + "mean_1(result['Result'])" + ] + }, + { + "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": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.0" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "frequency = result['Result'].value_counts().reset_index()\n", + "frequency.columns = ['Result', 'Frequency']\n", + "\n", + "def weighted_mean(column1, column2):\n", + " return (column1 * column2).sum() / column2.sum()\n", + "\n", + "mean_with_freq = weighted_mean(frequency['Result'], frequency['Frequency'])\n", + "\n", + "mean_with_freq" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Define a function to calculate the median. You are not allowed to use any methods or functions that directly calculate the median value. \n", + "**Hint**: you might need to define two computation cases depending on the number of observations used to calculate the median." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2.5" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "result_series = result[\"Result\"].astype(int).sort_values(ascending=True)\n", + "\n", + "def median(values):\n", + " \n", + " if len(values) % 2 == 0:\n", + " return sum(values[int(len(values)/2)-1:int(len(values)/2)+1])/2\n", + " \n", + " else:\n", + " return values[int(len(values)/2)]\n", + "\n", + "median(result_series)\n", + " \n", + "# val is assumed to be a list or array of values.\n", + " # len(val) calculates the number of elements in the val list.\n", + " # int(len(val)/2) calculates the index of the middle element in the list. The int() function is used to ensure that the result is an integer, as list indices must be integers.\n", + " # val[int(len(val)/2)-1:int(len(val)/2)+1] slices the list to extract the two middle elements (or element if the list has an odd number of elements). The [x:y] slice notation extracts elements starting from index x up to, but not including, index y. In this case, it extracts the two middle elements or the middle element and the one before it.\n", + " # sum(val[int(len(val)/2)-1:int(len(val)/2)+1]) calculates the sum of the extracted values. This is needed to compute the median, especially when there are two middle values to average.\n", + " # Finally, /2 divides the sum by 2 to compute the median. This division by 2 is performed when there are two middle values, averaging them to get the median.\n", + " # So, in summary, the code calculates the median of a list of values by finding the middle one or averaging the two middle values when the list has an even number of elements." + ] + }, + { + "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": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Q1: 2\n", + "Q2 (Median): 2.5\n", + "Q3: 5\n", + "Q4 (Max): 6\n" + ] + } + ], + "source": [ + "array = list(result.sort_values(by=\"Result\", ascending=True)['Result'])\n", + "\n", + "def quartiles(values):\n", + " n = len(values)\n", + "\n", + " if n % 2 == 0:\n", + " middle_index = n // 2\n", + " lower_half = values[:middle_index]\n", + " upper_half = values[middle_index:]\n", + " q1 = median(lower_half)\n", + " q3 = median(upper_half)\n", + " else:\n", + " middle_index = n // 2\n", + " lower_half = values[:middle_index]\n", + " upper_half = values[middle_index + 1:]\n", + " q1 = median(lower_half)\n", + " q3 = median(upper_half)\n", + "\n", + " q2 = median(values)\n", + " q4 = max(values)\n", + "\n", + " return q1, q2, q3, q4\n", + "\n", + "def median(values):\n", + " n = len(values)\n", + " if n % 2 == 0:\n", + " middle1 = values[n // 2 - 1]\n", + " middle2 = values[n // 2]\n", + " return (middle1 + middle2) / 2\n", + " else:\n", + " return values[n // 2]\n", + "\n", + "q1, q2, q3, q4 = quartiles(array)\n", + "print(\"Q1:\", q1)\n", + "print(\"Q2 (Median):\", q2)\n", + "print(\"Q3:\", q3)\n", + "print(\"Q4 (Max):\", q4)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "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": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0rollvalue
0001
1112
2226
3331
4446
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 roll value\n", + "0 0 0 1\n", + "1 1 1 2\n", + "2 2 2 6\n", + "3 3 3 1\n", + "4 4 4 6" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Specify the full or relative path to the CSV file\n", + "file_path = '/Users/alvarog/Desktop/DA.RMT.OCT23/Week03/Descriptive-Stats/data/roll_the_dice_hundred.csv'\n", + "\n", + "# Read the CSV file into a DataFrame\n", + "dice_hundred_df = pd.read_csv(file_path)\n", + "\n", + "dice_hundred_df.head()\n", + "\n", + "dice_hundred_df.head()" + ] + }, + { + "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": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.74" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "mean_hundred = mean_1(dice_hundred_df['value'])\n", + "\n", + "mean_hundred\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
roll
value
112
217
314
422
512
623
\n", + "
" + ], + "text/plain": [ + " roll\n", + "value \n", + "1 12\n", + "2 17\n", + "3 14\n", + "4 22\n", + "5 12\n", + "6 23" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "frequency_df = dice_hundred_df.groupby('value').agg({'roll':'count'})\n", + "\n", + "frequency_df" + ] + }, + { + "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": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Pj1eeumlQfv39fVFX19f/3pPT09ERPT29hZ6tIiIONz3/4blfYG09meH44z//af/rmFohuN77JH3zLLsI/cteHy8/fbb8f7770dNTc2A7TU1NdHd3T1o//b29njkkUcGbW9oaCj0aMAJ5DNH/nBwX8TCLxVzFCg7VQuH7733798fVVVVH7pPwePjiFwuN2A9y7JB2yIi5s2bF62trf3rhw8fjn/9619x1llnHXX/E1Fvb280NDREV1dXjBo1qtjjlDTn6tg5V8fOuTp2ztWxO9nOVZZlsX///qivr//IfQseH2effXaMGDFi0FWOPXv2DLoaEhGRz+cjn88P2PbJT36y0GOVhVGjRp0U/4IWgnN17JyrY+dcHTvn6tidTOfqo654HFHwG05PPfXUuPTSS2P9+vUDtq9fvz6mTJlS6MMBAGVmWD52aW1tja997WsxceLEmDx5cixevDjefPPNuPvuu4fjcABAGRmW+Ljtttti79698cMf/jB2794d48aNi6effjoaGxuH43BlL5/Pxw9+8INBHz8xmHN17JyrY+dcHTvn6tg5Vx8slx3Lz8QAABSIZ7sAAEmJDwAgKfEBACQlPgCApMRHEW3cuDFmzJgR9fX1kcvl4sknnyz2SCWpvb09LrvssqisrIzq6uq4+eab49VXXy32WCWro6MjLr744v5fbDR58uR45plnij1WyWtvb49cLhdz584t9iglqa2tLXK53ICltra22GOVrH/+85/x1a9+Nc4666w4/fTT43Of+1xs3bq12GOVDPFRRAcPHowJEybEokWLij1KSevs7IyWlpbYtGlTrF+/Pg4dOhTTp0+PgwcPFnu0kjRmzJj48Y9/HFu2bIktW7bEtddeGzfddFPs2LGj2KOVrM2bN8fixYvj4osvLvYoJe2iiy6K3bt39y/bt28v9kglad++fXHFFVfEKaecEs8880z89a9/jccff/yk/e3dRzNsz3bhozU3N0dzc3Oxxyh5zz777ID1pUuXRnV1dWzdujWuvvrqIk1VumbMmDFg/Uc/+lF0dHTEpk2b4qKLLirSVKXrwIED8ZWvfCWWLFkSjz76aLHHKWkVFRWudhyDn/zkJ9HQ0BBLly7t33beeecVb6AS5MoHZaenpyciIkaPHl3kSUrf+++/HytXroyDBw/G5MmTiz1OSWppaYnPf/7zcf311xd7lJK3c+fOqK+vj6amprj99tvj9ddfL/ZIJWn16tUxceLE+OIXvxjV1dVxySWXxJIlS4o9VkkRH5SVLMuitbU1rrzyyhg3blyxxylZ27dvjzPPPDPy+Xzcfffd8cQTT8RnP/vZYo9VclauXBl//vOfo729vdijlLxJkybF8uXLY+3atbFkyZLo7u6OKVOmxN69e4s9Wsl5/fXXo6OjI8aOHRtr166Nu+++O77zne/E8uXLiz1ayfCxC2Xl3nvvjZdffjlefPHFYo9S0j7zmc/Etm3b4p133onf/OY3MWvWrOjs7BQg/6arqyvuu+++WLduXZx22mnFHqfk/ftHxOPHj4/JkyfHpz71qVi2bFm0trYWcbLSc/jw4Zg4cWLMnz8/IiIuueSS2LFjR3R0dMTXv/71Ik9XGlz5oGzMmTMnVq9eHc8//3yMGTOm2OOUtFNPPTU+/elPx8SJE6O9vT0mTJgQP/3pT4s9VknZunVr7NmzJy699NKoqKiIioqK6OzsjJ/97GdRUVER77//frFHLGlnnHFGjB8/Pnbu3FnsUUpOXV3doNC/8MIL48033yzSRKXHlQ9KXpZlMWfOnHjiiSdiw4YN0dTUVOyRyk6WZdHX11fsMUrKddddN+inNb7xjW/EBRdcEN/73vdixIgRRZqsPPT19cUrr7wSV111VbFHKTlXXHHFoF8H8Le//c3DVf+N+CiiAwcOxGuvvda/vmvXrti2bVuMHj06zj333CJOVlpaWlpixYoV8dRTT0VlZWV0d3dHRERVVVWMHDmyyNOVnoceeiiam5ujoaEh9u/fHytXrowNGzYM+qmhk11lZeWg+4bOOOOMOOuss9xPdBT3339/zJgxI84999zYs2dPPProo9Hb2xuzZs0q9mgl57vf/W5MmTIl5s+fH1/60pfiT3/6UyxevDgWL15c7NFKR0bRPP/881lEDFpmzZpV7NFKytHOUURkS5cuLfZoJemb3/xm1tjYmJ166qnZOeeck1133XXZunXrij1WWbjmmmuy++67r9hjlKTbbrstq6ury0455ZSsvr4+mzlzZrZjx45ij1Wyfve732Xjxo3L8vl8dsEFF2SLFy8u9kglJZdlWVak7gEATkJuOAUAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASf1/LdB2gPopjN8AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "plt.hist(dice_hundred_df['value'], bins=6, range= (0.5, 6.5))\n", + "plt.vlines(dice_hundred_df['value'].mean(), ymin=0, ymax=25, lw=2, color= \"r\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The mean shows as the red line (3.74). The distribution of hundred dice rolls is slightly skewed to the right\n", + "\n", + "\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 5.- Read the `roll_the_dice_thousand.csv` from the `data` folder. Plot the frequency distribution as you did before. Has anything changed? Why do you think it changed?" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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nfx+v8rKysLbLrroovgNZBBXUNAlNTY2SpJSU1PjPIltp06d0tq1a9XS0qKRI0fGexyzZs2apYkTJ2r8+PHxHsW86upq+Xw+ZWVlaerUqfroo4/iPZJJGzduVE5Ojm677Talp6dryJAhWrp0abzHMoVAQZfjOI4KCwt11VVXKTs7O97jmLR//35997vfldvt1j333KP169frhz/8YbzHMmnt2rXau3evSktL4z2KecOHD9fKlSu1efNmLV26VPX19Ro1apSOHj0a79HM+eijj7R48WINGDBAmzdv1j333KNf/epXWrlyZbxHM4OPeNDl3HfffXrnnXe0Y8eOeI9i1g9+8APt27dPx48f15/+9CcVFBSosrKSSPmK2tpa3X///dqyZYu6d+8e73HM+/LH0YMGDdLIkSN18cUXa8WKFSosLIzjZPacPn1aOTk5mj9/viRpyJAhOnjwoBYvXqw777wzztPZwBUUdCmzZ8/Wxo0btW3bNvXr1y/e45iVlJSk73//+8rJyVFpaakGDx6sZ555Jt5jmVNVVaWGhgYNGzZMiYmJSkxMVGVlpf7whz8oMTFRp06diveIpvXq1UuDBg1SdXV1vEcxx+v1tvkPgssuu0xHjhyJ00T2cAUFXYLjOJo9e7bWr1+viooKZWVlxXukTsVxHIVCoXiPYc64cePa/BbKz3/+c1166aV68MEHlZCQEKfJOodQKKT33ntPV199dbxHMWf06NFt/imEDz74gC/M/RICxbjm5mYdOnQovF5TU6N9+/YpNTVV/fv3j+NktsyaNUtr1qzRyy+/rOTkZNXX10uSUlJS1KNHjzhPZ8vDDz+sQCAgv9+vpqYmrV27VhUVFW1+EwpScnJym/uYevXqpT59+nB/UzuKioqUn5+v/v37q6GhQY8//riCwaAKCgriPZo5v/71rzVq1CjNnz9fkydP1l//+lctWbJES5Ysifdodjgwbdu2bY6kNktBQUG8RzOlvfdIklNWVhbv0cy56667nMzMTCcpKcnp27evM27cOGfLli3xHqvTGDNmjHP//ffHewyTpkyZ4ni9Xqdbt26Oz+dzJk2a5Bw8eDDeY5n15z//2cnOznbcbrdz6aWXOkuWLIn3SKa4HMdx4tRGAAAA7eImWQAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAw538Btr762p1t7HsAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mean is 3.447\n" + ] + } + ], + "source": [ + "# your code here\n", + "file_path_2 = '/Users/alvarog/Desktop/DA.RMT.OCT23/Week03/Descriptive-Stats/data/roll_the_dice_thousand.csv'\n", + "dice_thousand_df = pd.read_csv(file_path_2)\n", + "\n", + "frequency_th_df = dice_thousand_df.groupby('value').agg({'roll':'count'})\n", + "\n", + "plt.hist(dice_thousand_df['value'], bins=6, range= (0.5, 6.5))\n", + "plt.vlines(dice_thousand_df['value'].mean(), ymin=0, ymax=175, lw=2, color= \"r\")\n", + "\n", + "plt.show()\n", + "\n", + "print('mean is ', dice_thousand_df['value'].mean())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The bigger the roll count, the more evenly distributed it becomes.\n", + "\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": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[]], dtype=object)" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGxCAYAAABIjE2TAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA07ElEQVR4nO3df3QU5b3H8c8m2SwJJkCIyWZLiFHxejUpKlQQrIRiQiNikaqV+APEH7SiVy5SFLleFqvAoaeKBaHV0oBihPYUqIotBIUARatEqQRbjDX8UBNzQEiA4LIkz/3Dw16XBEjCJnl2eb/OmRPmmWdmnu9ms/thdmbHYYwxAgAAsEhURw8AAADgRAQUAABgHQIKAACwDgEFAABYh4ACAACsQ0ABAADWIaAAAADrEFAAAIB1CCgAAMA6BBTgLLZo0SI5HA5t2bKlo4fSZoqKijRnzpwmlzkcDnm93nYdD4DmienoAQBAWyoqKlJZWZkmTJjQaNnbb7+tHj16tP+gAJwWAQWAFerq6hQfH9+u++zfv3+77g9A8/ERDxDBNm3apCFDhighIUHx8fEaMGCAVq1a1ajf/v37dddddykpKUmdO3fW8OHD9emnnwb1+eCDD3T99dcrJSVFLpdLHo9Hw4YN02effRboY4zR/PnzddlllykuLk7dunXTTTfd1GhbOTk5ysrK0oYNGzRgwADFx8dr7NixGjFihDIyMtTQ0NBojP369dMVV1wRmH/uued0zTXXKCUlRZ07d1Z2drZmz54tv98ftJ9Vq1Zp165dcjgcgem4pj7iKSsr049+9CN169ZNnTp10mWXXabFixcH9Vm/fr0cDodeeeUVTZ06VR6PR4mJibr22mu1Y8eOU/xGADQXAQWIUCUlJfrBD36gmpoaLVy4UK+88ooSEhI0fPhwLVu2LKjv3XffraioqMD5Gu+++65ycnJ04MABSdLhw4eVm5urL7/8Us8995yKi4s1Z84c9ezZUwcPHgxsZ9y4cZowYYKuvfZarVy5UvPnz9f27ds1YMAAffnll0H7rKys1O23366CggK98cYbuv/++zV27Fjt3r1bb731VlDff/3rX3r33Xd11113Bdr+/e9/q6CgQC+99JJef/113X333frlL3+pcePGBfrMnz9fAwcOlNvt1ttvvx2YTmbHjh0aMGCAtm/frl//+tdavny5LrnkEo0ZM0azZ89u1P+xxx7Trl279Lvf/U7PP/+8ysvLNXz4cNXX15/+FwTg1AyAiNS/f3+TkpJiDh48GGg7duyYycrKMj169DANDQ2msLDQSDI33nhj0Lp/+9vfjCTz5JNPGmOM2bJli5FkVq5cedL9vf3220aS+dWvfhXUvmfPHhMXF2cmT54caBs0aJCRZN58882gvn6/36SmppqCgoKg9smTJ5vY2Fizd+/eJvddX19v/H6/efHFF010dLT56quvAsuGDRtmMjIymlxPkpk2bVpg/tZbbzUul8vs3r07qF9+fr6Jj483Bw4cMMYYs27dOiPJXHfddUH9/vCHPxhJ5u23325yfwCajyMoQAQ6fPiw/v73v+umm27SOeecE2iPjo7WHXfcoc8++yzoo4jbbrstaP0BAwYoIyND69atkyRdeOGF6tatmx555BH95je/0UcffdRon6+//rocDoduv/12HTt2LDC53W717t1b69evD+rfrVs3/eAHPwhqi4mJ0e23367ly5erpqZGklRfX6+XXnpJP/rRj9S9e/dA3w8++EA33HCDunfvrujoaDmdTt15552qr6/Xxx9/3KrH7a233tKQIUOUnp4e1D5mzBjV1dU1Ovpyww03BM1/97vflSTt2rWrVfsH8P8IKEAE2r9/v4wxSktLa7TM4/FIkvbt2xdoc7vdjfq53e5Any5duqikpESXXXaZHnvsMV166aXyeDyaNm1a4JyPL7/8UsYYpaamyul0Bk3vvPOO9u7dG7T9psYmSWPHjtXXX3+tpUuXSpJWr16tysrKoI93du/ere9///v6/PPP9eyzz2rjxo1677339Nxzz0mSjhw50uzH6tv27dvX7MdMUlBgkiSXy3VG+wfw/7iKB4hA3bp1U1RUlCorKxst++KLLyRJycnJKi8vlyRVVVU16ldVVaULL7wwMJ+dna2lS5fKGKMPP/xQixYt0hNPPKG4uDg9+uijSk5OlsPh0MaNGwNv1N92Ytu3T1b9tksuuURXXnmlCgsLNW7cOBUWFsrj8SgvLy/QZ+XKlTp8+LCWL1+ujIyMQPvWrVtP8aicXvfu3U/7mAFoHxxBASJQ586d1a9fPy1fvjzof/MNDQ1asmSJevTooYsuuijQ/vLLLwetv3nzZu3atUs5OTmNtu1wONS7d28988wz6tq1q95//31J0vXXXy9j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XFFGv+jboMe3RMnX4GjjUbW/tq6vzDs05NtsiXB8bjZXJNcmUV97qK2tVXJycrMCSpt8xOP3+3XLLbeooqJCb7311mkHccUVV8jpdKq8vLzJgOJyueRyuRq1O53OM36QQ7ENm1GfPXz1LXsz9jU4WrxOOGmr+mx5PoTTc7OlIrk2ifraet/NFfKAcjyclJeXa926derevftp19m+fbv8fr/S0tJCPRwAABCGWhxQDh06pE8++SQwX1FRoa1btyopKUkej0c33XST3n//fb3++uuqr69XVVWVJCkpKUmxsbH697//rZdfflnXXXedkpOT9dFHH+nhhx/W5ZdfroEDB4auMgAAELZaHFC2bNmiwYMHB+YnTpwoSRo9erS8Xq9effVVSdJll10WtN66deuUk5Oj2NhYvfnmm3r22Wd16NAhpaena9iwYZo2bZqio6PPoBQAABApWhxQcnJydKrzak93zm16erpKSkpaulsAAHAW4V48AADAOgQUAABgHQIKAACwDgEFAABYh4ACAACsQ0ABAADWIaAAAADrEFAAAIB1CCgAAMA6BBQAAGAdAgoAALAOAQUAAFiHgAIAAKxDQAEAANYhoAAAAOsQUAAAgHUIKAAAwDoEFAAAYB0CCgAAsA4BBQAAWIeAAgAArENAAQAA1iGgAAAA6xBQAACAdQgoAADAOjEdPQAACKXzHl3VIfvdOWtYh+wXiFQcQQEAANYhoAAAAOsQUAAAgHUIKAAAwDoEFAAAYB0CCgAAsA4BBQAAWIeAAgAArNPiL2rbsGGDfvnLX6q0tFSVlZVasWKFRowYEVhujNH06dP1/PPPa//+/erXr5+ee+45XXrppYE+Pp9PkyZN0iuvvKIjR45oyJAhmj9/vnr06BGSooBT6agv8gIANF+Lj6AcPnxYvXv31rx585pcPnv2bD399NOaN2+e3nvvPbndbuXm5urgwYOBPhMmTNCKFSu0dOlSbdq0SYcOHdL111+v+vr61lcCAAAiRouPoOTn5ys/P7/JZcYYzZkzR1OnTtXIkSMlSYsXL1ZqaqqKioo0btw41dTUaOHChXrppZd07bXXSpKWLFmi9PR0rV27VkOHDj2DcgAAQCQI6b14KioqVFVVpby8vECby+XSoEGDtHnzZo0bN06lpaXy+/1BfTwej7KysrR58+YmA4rP55PP5wvM19bWSpL8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7Jj+53/+R5mZmYqLi9P555+vJ554Qg0NDYE+YVPjGd31L0wtXbrUOJ1O88ILL5iPPvrIPPTQQ6Zz585m165dHT20FnvjjTfM1KlTzZ/+9CcjyaxYsSJo+axZs0xCQoL505/+ZLZt22Z+8pOfmLS0NFNbW9sxA26BoUOHmsLCQlNWVma2bt1qhg0bZnr27GkOHToU6BPO9b366qtm1apVZseOHWbHjh3mscceM06n05SVlRljwru2b3v33XfNeeedZ7773e+ahx56KNAezvVNmzbNXHrppaaysjIwVVdXB5aHc21fffWVycjIMGPGjDF///vfTUVFhVm7dq355JNPAn3Cub7q6uqg31txcbGRZNatW2eMCe/ajDHmySefNN27dzevv/66qaioMH/84x/NOeecY+bMmRPoEy41npUB5corrzQ//elPg9ouvvhi8+ijj3bQiELjxIDS0NBg3G63mTVrVqDt66+/Nl26dDG/+c1vOmCEZ6a6utpIMiUlJcaYyKvPGGO6detmfve730VMbQcPHjS9evUyxcXFZtCgQYGAEu71TZs2zfTu3bvJZeFe2yOPPGKuvvrqky4P9/pO9NBDD5kLLrjANDQ0RERtw4YNM2PHjg1qGzlypLn99tuNMeH1+zvrPuI5evSoSktLlZeXF9Sel5enzZs3d9Co2kZFRYWqqqqCanW5XBo0aFBY1lpTUyNJSkpKkhRZ9dXX12vp0qU6fPiwrrrqqoipbfz48Ro2bJiuvfbaoPZIqK+8vFwej0eZmZm69dZb9emnn0oK/9peffVV9e3bVzfffLNSUlJ0+eWX64UXXggsD/f6vu3o0aNasmSJxo4dK4fDERG1XX311XrzzTf18ccfS5L+8Y9/aNOmTbruuuskhdfvr8O+6r6j7N27V/X19Y3umpyamtro7srh7ng9TdW6a9eujhhSqxljNHHiRF199dXKysqSFBn1bdu2TVdddZW+/vprnXPOOVqxYoUuueSSwAtFONe2dOlSvf/++3rvvfcaLQv3312/fv304osv6qKLLtKXX36pJ598UgMGDND27dvDvrZPP/1UCxYs0MSJE/XYY4/p3Xff1X/913/J5XLpzjvvDPv6vm3lypU6cOCAxowZIyn8n5eS9Mgjj6impkYXX3yxoqOjVV9fr6eeekqjRo2SFF41nnUB5TiHwxE0b4xp1BYpIqHWBx54QB9++KE2bdrUaFk41/cf//Ef2rp1qw4cOKA//elPGj16tEpKSgLLw7W2PXv26KGHHtKaNWvUqVOnk/YL1/ry8/MD/87OztZVV12lCy64QIsXL1b//v0lhW9tDQ0N6tu3r2bMmCFJuvzyy7V9+3YtWLBAd955Z6BfuNb3bQsXLlR+fr48Hk9QezjXtmzZMi1ZskRFRUW69NJLtXXrVk2YMEEej0ejR48O9AuHGs+6j3iSk5MVHR3d6GhJdXV1o0QZ7o5fVRDutT744IN69dVXtW7dOvXo0SPQHgn1xcbG6sILL1Tfvn01c+ZM9e7dW88++2zY11ZaWqrq6mr16dNHMTExiomJUUlJiX79618rJiYmUEO41neizp07Kzs7W+Xl5WH/u0tLS9Mll1wS1Paf//mf2r17t6TI+LuTpF27dmnt2rW65557Am2RUNvPf/5zPfroo7r11luVnZ2tO+64Q//93/+tmTNnSgqvGs+6gBIbG6s+ffqouLg4qL24uFgDBgzooFG1jczMTLnd7qBajx49qpKSkrCo1RijBx54QMuXL9dbb72lzMzMoOXhXl9TjDHy+XxhX9uQIUO0bds2bd26NTD17dtXt912m7Zu3arzzz8/rOs7kc/n0z//+U+lpaWF/e9u4MCBjS7n//jjjwN3mg/3+o4rLCxUSkqKhg0bFmiLhNrq6uoUFRX81h4dHR24zDisauyYc3M71vHLjBcuXGg++ugjM2HCBNO5c2ezc+fOjh5aix08eNB88MEH5oMPPjCSzNNPP20++OCDwCXTs2bNMl26dDHLly8327ZtM6NGjbLycrKm/OxnPzNdunQx69evD7ossK6uLtAnnOubMmWK2bBhg6moqDAffviheeyxx0xUVJRZs2aNMSa8a2vKt6/iMSa863v44YfN+vXrzaeffmreeecdc/3115uEhITAa0g41/buu++amJgY89RTT5ny8nLz8ssvm/j4eLNkyZJAn3Cuzxhj6uvrTc+ePc0jjzzSaFm41zZ69Gjzne98J3CZ8fLly01ycrKZPHlyoE+41HhWBhRjjHnuuedMRkaGiY2NNVdccUXg0tVws27dOiOp0TR69GhjzDeXlE2bNs243W7jcrnMNddcY7Zt29axg26mpuqSZAoLCwN9wrm+sWPHBp6D5557rhkyZEggnBgT3rU15cSAEs71Hf/eCKfTaTwejxk5cqTZvn17YHk412aMMa+99prJysoyLpfLXHzxxeb5558PWh7u9a1evdpIMjt27Gi0LNxrq62tNQ899JDp2bOn6dSpkzn//PPN1KlTjc/nC/QJlxodxhjTIYduAAAATuKsOwcFAADYj4ACAACsQ0ABAADWIaAAAADrEFAAAIB1CCgAAMA6BBQAAGAdAgoAALAOAQUAAFiHgAIAAKxDQAEAANb5Pxr9tJZRXl7dAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages1 = pd.read_csv('../data/ages_population.csv')\n", + "ages1.hist(bins=15)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
068.0
112.0
245.0
338.0
449.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 68.0\n", + "1 12.0\n", + "2 45.0\n", + "3 38.0\n", + "4 49.0" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "'''I think the mean will be between 30-40 and the standard deviation around 20'''\n", + "\n", + "ages1.head()" + ] + }, + { + "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": 69, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "36.56\n", + "12.816499625976762\n" + ] + } + ], + "source": [ + "# your code here\n", + "\n", + "print(ages1.observation.mean())\n", + "print(ages1.observation.std())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "the mean is within the expected range; the std is way smaller\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": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[]], dtype=object)" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGxCAYAAABIjE2TAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAtTUlEQVR4nO3df3RU5Z3H8c/kB0MSk0CIySQSUqrYribFLigYWglCglR+SV0sWRUQW1qEc3KQpfw4LmOrwNJTpYtC7ZYGBSNsj2BVUIiL/DKowMoRWGWpG/khiTkiJEBwGJJn/5iTkSG/SEgyTybv1zlzcJ773Oc+95vL5eO9M7kOY4wRAACARcKCPQEAAIArEVAAAIB1CCgAAMA6BBQAAGAdAgoAALAOAQUAAFiHgAIAAKxDQAEAANYhoAAAAOsQUIBObNWqVXI4HNq7d2+wp9JmCgsLtXTp0nqXORwOud3udp0PgKsTEewJAEBbKiws1MGDB5Wfn19n2e7du9WzZ8/2nxSAJhFQAFihqqpK0dHR7brNgQMHtuv2AFw9bvEAIWzXrl0aOnSoYmNjFR0draysLG3cuLFOv9OnT2vy5MlKSEhQTEyMRo0apf/7v/8L6PPRRx9p5MiRSkpKktPpVGpqqu69916dOHHC38cYo+XLl+u2225TVFSUunfvrvvvv7/OWNnZ2crIyNCOHTuUlZWl6OhoPfLIIxo7dqzS09NVU1NTZ44DBgzQP/7jP/rfP//887rrrruUlJSkmJgYZWZmasmSJfJ6vQHb2bhxo44ePSqHw+F/1arvFs/Bgwc1ZswYde/eXV27dtVtt92mF198MaDPtm3b5HA49Morr2j+/PlKTU1VXFychg0bpsOHDzfyEwFwtQgoQIjavn277r77blVUVGjlypV65ZVXFBsbq1GjRmndunUBfadMmaKwsDD/5zU+/PBDZWdn68yZM5Kk8+fPKycnR19++aWef/55FRUVaenSperVq5fOnj3rH2fq1KnKz8/XsGHD9Nprr2n58uU6dOiQsrKy9OWXXwZss7S0VA8++KDy8vK0adMmTZs2TY888oiOHTumrVu3BvT99NNP9eGHH2ry5Mn+ts8++0x5eXlavXq13nzzTU2ZMkW/+93vNHXqVH+f5cuXa9CgQXK5XNq9e7f/1ZDDhw8rKytLhw4d0r//+79r/fr1uuWWWzRp0iQtWbKkTv958+bp6NGj+vOf/6w//elPOnLkiEaNGqXq6uqmf0AAGmcAhKSBAweapKQkc/bsWX/bpUuXTEZGhunZs6epqakxBQUFRpK57777AtZ97733jCTz1FNPGWOM2bt3r5FkXnvttQa3t3v3biPJ/P73vw9oP378uImKijKzZ8/2tw0ePNhIMv/1X/8V0Nfr9Zrk5GSTl5cX0D579mzTpUsX89VXX9W77erqauP1es1LL71kwsPDzddff+1fdu+995r09PR615NkFixY4H//s5/9zDidTnPs2LGAfiNGjDDR0dHmzJkzxhhj3n33XSPJ/OQnPwno95//+Z9Gktm9e3e92wNw9biCAoSg8+fP64MPPtD999+v6667zt8eHh6uhx56SCdOnAi4FfHP//zPAetnZWUpPT1d7777riTppptuUvfu3fXrX/9af/zjH/U///M/dbb55ptvyuFw6MEHH9SlS5f8L5fLpb59+2rbtm0B/bt376677747oC0iIkIPPvig1q9fr4qKCklSdXW1Vq9erTFjxqhHjx7+vh999JFGjx6tHj16KDw8XJGRkXr44YdVXV2t//3f/21R3bZu3aqhQ4cqLS0toH3SpEmqqqqqc/Vl9OjRAe9/8IMfSJKOHj3aou0D+BYBBQhBp0+fljFGKSkpdZalpqZKkk6dOuVvc7lcdfq5XC5/n/j4eG3fvl233Xab5s2bp1tvvVWpqalasGCB/zMfX375pYwxSk5OVmRkZMDr/fff11dffRUwfn1zk6RHHnlE33zzjdauXStJ2rx5s0pLSwNu7xw7dkw//vGP9cUXX+gPf/iDdu7cqT179uj555+XJF24cOGqa3W5U6dOXXXNJAUEJklyOp3XtH0A3+JbPEAI6t69u8LCwlRaWlpn2cmTJyVJiYmJOnLkiCSprKysTr+ysjLddNNN/veZmZlau3atjDH6+OOPtWrVKv3mN79RVFSU5syZo8TERDkcDu3cudP/D/Xlrmy7/MOql7vlllt0xx13qKCgQFOnTlVBQYFSU1OVm5vr7/Paa6/p/PnzWr9+vdLT0/3t+/fvb6QqTevRo0eTNQPQPriCAoSgmJgYDRgwQOvXrw/4v/mamhqtWbNGPXv21M033+xvf/nllwPWLy4u1tGjR5WdnV1nbIfDob59++rZZ59Vt27d9N///d+SpJEjR8oY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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages2 = pd.read_csv('../data/ages_population2.csv')\n", + "ages2.hist(bins=15)\n" + ] + }, + { + "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", + "Much younger population and narrowed between 18-36 years aprox, while the previous was 0-80+ \n", + "\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": 85, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "27.155\n", + "2.969813932689186\n" + ] + } + ], + "source": [ + "# your code here\n", + "print(ages2.observation.mean())\n", + "print(ages2.observation.std())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "While the first population makes sense for a common/general neighboorhood (people of all ages), the second population is so narrowed that seems a it is a poll taken in a place where just young people live. students \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": 86, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[]], dtype=object)" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAGxCAYAAABBZ+3pAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwJUlEQVR4nO3df3RU5Z3H8c/kB0MSk/BrSRgJEBRXJREsCBqsRCHxIKAuR61EBERXWtQljYr8qGWwEpSexbQgWKwLKEbcHoFF0YVYMECj8kOogC1gjQGRmKPGBAgOY/LsHz2ZdUhQkkzIk5v365w5eJ/73Oc+39z58fHO3BmXMcYIAADAYmEtPQEAAIAfQ2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAHasOXLl8vlcmnnzp0tPZVmk5+fr7y8vHrXuVwueb3e8zofAI0T0dITAIDmlJ+fr3379ik7O7vOunfffVfdu3c//5MC0GAEFgBWqKqqUnR09Hnd59VXX31e9weg8XhLCHCwbdu2adiwYYqNjVV0dLTS0tK0fv36Ov3Ky8t1zz33qFOnToqJidHo0aP1ySefBPXZvXu3Ro0apa5du8rtdsvj8WjkyJH67LPPAn2MMVq8eLH69++vqKgodezYUbfddludsdLT05WSkqItW7YoLS1N0dHRmjRpkm699Vb17NlTNTU1deY4ePBg/eQnPwksP/vss7ruuuvUtWtXxcTEKDU1VfPnz5ff7w/az/r161VSUiKXyxW41arvLaF9+/bplltuUceOHdW+fXv1799fK1asCOrzzjvvyOVy6ZVXXtGsWbPk8XgUFxen4cOH68CBAz9wRAA0FoEFcKjCwkLdcMMNqqio0AsvvKBXXnlFsbGxGj16tF599dWgvvfee6/CwsICn/fYvn270tPT9c0330iSTp48qYyMDH3xxRd69tlnVVBQoLy8PPXo0UPHjx8PjDN58mRlZ2dr+PDhWrt2rRYvXqz9+/crLS1NX3zxRdA+jx07pnHjxikrK0tvvvmmpkyZokmTJunw4cPatGlTUN+///3v2r59u+65555A2z/+8Q9lZWXppZde0htvvKF7771Xv/3tbzV58uRAn8WLF2vIkCFKTEzUu+++G7idzYEDB5SWlqb9+/fr97//vVavXq3LL79cEydO1Pz58+v0nzlzpkpKSvTHP/5RS5cu1aFDhzR69GhVV1f/+AEC0DAGgCNdffXVpmvXrub48eOBtu+++86kpKSY7t27m5qaGrNs2TIjyfzbv/1b0LZ/+ctfjCTz5JNPGmOM2blzp5Fk1q5de9b9vfvuu0aS+c///M+g9iNHjpioqCgzbdq0QNvQoUONJPPnP/85qK/f7zcJCQkmKysrqH3atGmmXbt25ssvv6x339XV1cbv95sXX3zRhIeHm6+//jqwbuTIkaZnz571bifJzJ49O7B85513GrfbbQ4fPhzUb8SIESY6Otp88803xhhjNm/ebCSZm266Kajff//3fxtJ5t133613fwAajzMsgAOdPHlS77//vm677TZdcMEFgfbw8HDdfffd+uyzz4LeurjrrruCtk9LS1PPnj21efNmSdLFF1+sjh076rHHHtNzzz2njz76qM4+33jjDblcLo0bN07fffdd4JaYmKh+/frpnXfeCerfsWNH3XDDDUFtERERGjdunFavXq2KigpJUnV1tV566SXdcsst6ty5c6Dv7t27dfPNN6tz584KDw9XZGSkxo8fr+rqah08eLBRf7dNmzZp2LBhSkpKCmqfOHGiqqqq6pydufnmm4OWr7jiCklSSUlJo/YP4OwILIADlZeXyxijbt261Vnn8XgkSV999VWgLTExsU6/xMTEQJ/4+HgVFhaqf//+mjlzpvr27SuPx6PZs2cHPjPyxRdfyBijhIQERUZGBt3ee+89ffnll0Hj1zc3SZo0aZK+/fZbrVq1SpK0YcMGHTt2LOjtoMOHD+unP/2pjh49qt/97nfaunWrduzYoWeffVaSdOrUqXP+W33fV199dc5/M0lBAUqS3G53k/YP4Oy4SghwoI4dOyosLEzHjh2rs+7zzz+XJHXp0kWHDh2SJJWWltbpV1paqosvvjiwnJqaqlWrVskYow8//FDLly/XE088oaioKE2fPl1dunSRy+XS1q1bAy/c33dm2/c//Pp9l19+uQYNGqRly5Zp8uTJWrZsmTwejzIzMwN91q5dq5MnT2r16tXq2bNnoH3Pnj0/8Ff5cZ07d/7RvxmAlsEZFsCBYmJiNHjwYK1evTro//Zramq0cuVKde/eXZdcckmg/eWXXw7avqioSCUlJUpPT68ztsvlUr9+/fTMM8+oQ4cO+uCDDyRJo0aNkjFGR48e1cCBA+vcUlNTz3n+99xzj95//31t27ZNr7/+uiZMmKDw8PCgOUjBIcgYo+eff77OWG63+5zPeAwbNkybNm0KBJRaL774oqKjo7kMGmhBnGEBHGrevHnKyMjQ9ddfr0ceeUTt2rXT4sWLtW/fPr3yyitBZzh27typ++67T7fffruOHDmiWbNm6cILL9SUKVMk/fPzKYsXL9att96q3r17yxij1atX65tvvlFGRoYkaciQIbr//vt1zz33aOfOnbruuusUExOjY8eOadu2bUpNTdUvfvGLc5r72LFjlZOTo7Fjx8rn82nixIlB6zMyMtSuXTuNHTtW06ZN07fffqslS5aovLy8zlipqalavXq1lixZogEDBigsLEwDBw6sd7+zZ8/WG2+8oeuvv16//vWv1alTJ7388stav3695s+fr/j4+HOaP4Bm0JKf+AXQvLZu3WpuuOEGExMTY6KioszVV19tXn/99cD62quENm7caO6++27ToUMHExUVZW666SZz6NChQL+///3vZuzYseaiiy4yUVFRJj4+3gwaNMgsX768zj7/67/+ywwePDiwz4suusiMHz/e7Ny5M9Bn6NChpm/fvj8496ysLCPJDBkypN71r7/+uunXr59p3769ufDCC82jjz5q3nrrLSPJbN68OdDv66+/Nrfddpvp0KGDcblc5vtPezrjKiFjjNm7d68ZPXq0iY+PN+3atTP9+vUzy5YtC+pTe5XQn/70p6D24uJiI6lOfwBN5zLGmBbMSwAAAD+Kz7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFivVX5xXE1NjT7//HPFxsae9eu9AQCAXYwxOn78uDwej8LCGnbOpFUGls8//7zOr6kCAIDW4ciRI+revXuDtmmVgSU2NlbSPwuOi4tr1Bh+v18bN25UZmamIiMjQzk967SlWqW2VS+1OldbqpdanevMeisrK5WUlBR4HW+IVhlYat8GiouLa1JgiY6OVlxcnOPvNG2pVqlt1UutztWW6qVW5zpbvY35OAcfugUAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9QgsAADAegQWAABgPQILAACwXkRLTwBA8+o1fX1LTyEk3OFG8wdJKd4N8lWf/afpP31q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u7ZUL7U6V1uql1rt9NVXXzV5jDNfa48fPy5JMsY0fDDTAo4ePWokmb/85S9B7XPnzjWXXHJJnf6zZ882krhx48aNGzduDrgdOXKkwdmhRc6w1HK5gtOlMaZOmyTNmDFDOTk5geWamhp9/fXX6ty5c739z0VlZaWSkpJ05MgRxcXFNWqM1qIt1Sq1rXqp1bnaUr3U6lxn1muM0fHjx+XxeBo8VosEli5duig8PFylpaVB7WVlZUpISKjT3+12y+12B7V16NAhJHOJi4trE3caqW3VKrWteqnVudpSvdTqXN+vNz4+vlFjtMiHbtu1a6cBAwaooKAgqL2goEBpaWktMSUAAGCxFntLKCcnR3fffbcGDhyoa665RkuXLtXhw4f185//vKWmBAAALNVigeVnP/uZvvrqKz3xxBM6duyYUlJS9Oabb6pnz57nZf9ut1uzZ8+u81aTE7WlWqW2VS+1OldbqpdanSuU9bqMacy1RQAAAOcPvyUEAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6bTKwLF68WMnJyWrfvr0GDBigrVu3tvSUQmLLli0aPXq0PB6PXC6X1q5dG7TeGCOv1yuPx6OoqCilp6dr//79LTPZJpo3b56uuuoqxcbGqmvXrrr11lt14MCBoD5OqXfJkiW64oorAt8Uec011+itt94KrHdKnfWZN2+eXC6XsrOzA21Oqtfr9crlcgXdEhMTA+udVKskHT16VOPGjVPnzp0VHR2t/v37a9euXYH1Tqq3V69edY6ty+XSAw88IMlZtX733Xf61a9+peTkZEVFRal379564oknVFNTE+gTknob/OtDrdyqVatMZGSkef75581HH31kpk6damJiYkxJSUlLT63J3nzzTTNr1izz2muvGUlmzZo1QeufeuopExsba1577TWzd+9e87Of/cx069bNVFZWtsyEm+DGG280y5YtM/v27TN79uwxI0eOND169DAnTpwI9HFKvevWrTPr1683Bw4cMAcOHDAzZ840kZGRZt++fcYY59R5pu3bt5tevXqZK664wkydOjXQ7qR6Z8+ebfr27WuOHTsWuJWVlQXWO6nWr7/+2vTs2dNMnDjRvP/++6a4uNi8/fbb5uOPPw70cVK9ZWVlQce1oKDASDKbN282xjir1ieffNJ07tzZvPHGG6a4uNj86U9/MhdccIHJy8sL9AlFvW0usAwaNMj8/Oc/D2q79NJLzfTp01toRs3jzMBSU1NjEhMTzVNPPRVo+/bbb018fLx57rnnWmCGoVVWVmYkmcLCQmOM8+vt2LGj+eMf/+jYOo8fP2769OljCgoKzNChQwOBxWn1zp492/Tr16/edU6r9bHHHjPXXnvtWdc7rd4zTZ061Vx00UWmpqbGcbWOHDnSTJo0KahtzJgxZty4ccaY0B3bNvWW0OnTp7Vr1y5lZmYGtWdmZqqoqKiFZnV+FBcXq7S0NKh2t9utoUOHOqL2iooKSVKnTp0kObfe6upqrVq1SidPntQ111zj2DofeOABjRw5UsOHDw9qd2K9hw4dksfjUXJysu6880598sknkpxX67p16zRw4EDdfvvt6tq1q6688ko9//zzgfVOq/f7Tp8+rZUrV2rSpElyuVyOq/Xaa6/Vn//8Zx08eFCS9Ne//lXbtm3TTTfdJCl0x7bFvpq/JXz55Zeqrq6u84vQCQkJdX452mlq66uv9pKSkpaYUsgYY5STk6Nrr71WKSkpkpxX7969e3XNNdfo22+/1QUXXKA1a9bo8ssvDzzYnVKnJK1atUoffPCBduzYUWed047r4MGD9eKLL+qSSy7RF198oSeffFJpaWnav3+/42r95JNPtGTJEuXk5GjmzJnavn27/uM//kNut1vjx493XL3ft3btWn3zzTeaOHGiJOfdjx977DFVVFTo0ksvVXh4uKqrqzV37lyNHTtWUujqbVOBpZbL5QpaNsbUaXMqJ9b+4IMP6sMPP9S2bdvqrHNKvf/6r/+qPXv26JtvvtFrr72mCRMmqLCwMLDeKXUeOXJEU6dO1caNG9W+ffuz9nNKvSNGjAj8d2pqqq655hpddNFFWrFiha6++mpJzqm1pqZGAwcOVG5uriTpyiuv1P79+7VkyRKNHz8+0M8p9X7fCy+8oBEjRsjj8QS1O6XWV199VStXrlR+fr769u2rPXv2KDs7Wx6PRxMmTAj0a2q9beotoS5duig8PLzO2ZSysrI6yc9paq88cFrtDz30kNatW6fNmzere/fugXan1duuXTtdfPHFGjhwoObNm6d+/frpd7/7nePq3LVrl8rKyjRgwABFREQoIiJChYWF+v3vf6+IiIhATU6p90wxMTFKTU3VoUOHHHdsu3Xrpssvvzyo7bLLLtPhw4clOe8xW6ukpERvv/227rvvvkCb02p99NFHNX36dN15551KTU3V3XffrV/+8peaN2+epNDV26YCS7t27TRgwAAVFBQEtRcUFCgtLa2FZnV+JCcnKzExMaj206dPq7CwsFXWbozRgw8+qNWrV2vTpk1KTk4OWu+0es9kjJHP53NcncOGDdPevXu1Z8+ewG3gwIG66667tGfPHvXu3dtR9Z7J5/Ppb3/7m7p16+a4YztkyJA6Xz1w8OBB9ezZU5JzH7PLli1T165dNXLkyECb02qtqqpSWFhwnAgPDw9c1hyyehv/ueDWqfay5hdeeMF89NFHJjs728TExJhPP/20pafWZMePHze7d+82u3fvNpLMggULzO7duwOXbD/11FMmPj7erF692uzdu9eMHTu21V5G94tf/MLEx8ebd955J+jSwaqqqkAfp9Q7Y8YMs2XLFlNcXGw+/PBDM3PmTBMWFmY2btxojHFOnWfz/auEjHFWvQ8//LB55513zCeffGLee+89M2rUKBMbGxt4PnJSrdu3bzcRERFm7ty55tChQ+bll1820dHRZuXKlYE+TqrXGGOqq6tNjx49zGOPPVZnnZNqnTBhgrnwwgsDlzWvXr3adOnSxUybNi3QJxT1trnAYowxzz77rOnZs6dp166d+clPfhK4FLa127x5s5FU5zZhwgRjzD8vLZs9e7ZJTEw0brfbXHfddWbv3r0tO+lGqq9OSWbZsmWBPk6pd9KkSYH767/8y7+YYcOGBcKKMc6p82zODCxOqrf2uygiIyONx+MxY8aMMfv37w+sd1Ktxhjz+uuvm5SUFON2u82ll15qli5dGrTeafVu2LDBSDIHDhyos85JtVZWVpqpU6eaHj16mPbt25vevXubWbNmGZ/PF+gTinpdxhjT2NNAAAAA50Ob+gwLAABonQgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGC9/wM0K2YwHQdzVAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages3 = pd.read_csv('../data/ages_population3.csv')\n", + "ages3.hist(bins=15)" + ] + }, + { + "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": 87, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "41.989\n", + "16.144705959865934\n" + ] + } + ], + "source": [ + "# your code here\n", + "print(ages3.observation.mean())\n", + "print(ages3.observation.std())" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"\\nThere is like a 'second' bump in the distribution centered at 60,\\nmaking the average get a little higher and increases the STDEV\"" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "There is like a 'second' bump in the distribution centered at 60,\n", + "making the average get a little higher and increases the STDEV\"\"\"" + ] + }, + { + "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": 92, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "30.0\n", + "40.0\n", + "53.0\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
count1000.000000
mean41.989000
std16.144706
min1.000000
25%30.000000
50%40.000000
75%53.000000
max77.000000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.000000\n", + "mean 41.989000\n", + "std 16.144706\n", + "min 1.000000\n", + "25% 30.000000\n", + "50% 40.000000\n", + "75% 53.000000\n", + "max 77.000000" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "print(ages3.observation.quantile(.25))\n", + "print(ages3.observation.quantile(.5))\n", + "print(ages3.observation.quantile(.75))\n", + "\n", + "ages3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- Calculate other percentiles that might be useful to give more arguments to your reasoning." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Bonus challenge\n", + "Compare the information about the three neighbourhoods. Prepare a report about the three of them. Remember to find out which are their similarities and their differences backing your arguments in basic statistics." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/your-code/main.ipynb b/your-code/main.ipynb index 5759add..6d80240 100644 --- a/your-code/main.ipynb +++ b/your-code/main.ipynb @@ -1,522 +1,1349 @@ -{ - "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", + "\n", + "import pandas as pd\n", + "import numpy as np\n", + "import random\n", + "import matplotlib.pyplot as plt\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Challenge 1\n", + "#### 1.- Define a function that simulates rolling a dice 10 times. Save the information in a dataframe.\n", + "**Hint**: you can use the *choices* function from module *random* to help you with the simulation." + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
RoundResult
013
125
231
342
452
562
676
781
893
9105
\n", + "
" + ], + "text/plain": [ + " Round Result\n", + "0 1 3\n", + "1 2 5\n", + "2 3 1\n", + "3 4 2\n", + "4 5 2\n", + "5 6 2\n", + "6 7 6\n", + "7 8 1\n", + "8 9 3\n", + "9 10 5" + ] + }, + "execution_count": 2, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "def simulate_dice_rolls(num_rolls):\n", + " \n", + " # Return a list of 10 numbers that simulates rolling a six-sided die 10 times.\n", + " result = random.choices(range(1,7), k=10)\n", + " \n", + " df = pd.DataFrame({'Round': range(1,num_rolls + 1), 'Result': result})\n", + " \n", + " return df\n", + " \n", + " \n", + "result = simulate_dice_rolls(10) \n", + "\n", + "result\n", + "\n", + " \n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 2.- Plot the results sorted by value." + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAioAAAHFCAYAAADcytJ5AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwd0lEQVR4nO3deVhV1f7H8c8R8OAAKCYCgqJpSppDFytnSS01zSHzOiWm9WRqOTQ4dH9X7TFp0K6WqZmpZQ51u6ZmV2wStcEcCrM0tZsaGmZZgiNXYP3+4Mf5dQQVCNwLeb+eZz941l5n7+8+h8P+uPfa+7iMMUYAAAAWKuN0AQAAABdDUAEAANYiqAAAAGsRVAAAgLUIKgAAwFoEFQAAYC2CCgAAsBZBBQAAWIugAgAArEVQAfKwePFiuVwuz+Tr66uwsDD17dtX+/fvd7o8SZLL5dLkyZM9j3fv3q3Jkyfr4MGDRbYOY4xWrFih1q1bKyQkRP7+/oqIiNDtt9+uBQsWFNl6JOnMmTOaPHmyEhMTi3S5kpSYmCiXy3XZZU+ePFkul0u//vprkdcgSefPn1e1atV0yy23XLRPVlaWatSooUaNGuV7ufndPqAkIqgAl7Bo0SJ9/vnn+vDDDzVy5EitWbNGrVq10u+//+50abns3r1bU6ZMKdKgMmHCBPXr10/R0dFasGCB1q1bp6lTp6patWpavXp1ka1Hyg4qU6ZMuap3tn5+frrnnnv0xRdfaPfu3Xn2+fDDD5WcnKyhQ4de4eoAO/k6XQBgs4YNGyomJkaS1K5dO2VmZmrSpElatWqV7r33XoerK15nz57VzJkzNWjQIM2fP99r3uDBg5WVlVUk6zHG6Ny5c0WyrJJg6NChmjFjhhYuXKjp06fnmr9w4UKVLVtWAwcOdKA6wD4cUQEKICe0/Pzzz17t27dv15133qng4GD5+/uradOmeuutt7z6nDlzRo8++qhq1aolf39/BQcHKyYmRsuXL/f0adeundq1a5drvYMHD1ZUVNRF61q8eLHuvvtuSVJsbKznlNXixYslSV999ZW6du2qkJAQud1uhYeH64477tDhw4cvuszTp08rPT1dYWFhec4vU8b7z8dvv/2m4cOHq3r16ipbtqxq166tJ554Qunp6V79XC6XRo4cqXnz5ik6Olput1uvvfaaqlatKkmaMmWKp/7Bgwd7nrd//37179/fsw3R0dF66aWXctX13XffqVOnTipfvryuueYaDRs2TCdPnrzoduYlOTlZvXr1UmBgoIKCgjRw4ED98ssvnvlDhw5VcHCwzpw5k+u5t956qxo0aHDRZUdHR6t58+ZasmSJMjIyvOadOHFCq1evVvfu3VWlShVt375dffv2VVRUlMqVK6eoqCj169dPhw4duuw2FOR36b///a+mTp2q+vXry+12q2rVqrr33nu9thlwCkdUgAI4cOCAJOm6667ztG3YsEGdOnXSzTffrHnz5ikoKEgrVqzQX//6V505c8azsx07dqyWLFmiqVOnqmnTpjp9+rS++eYbHT9+/E/Xdccdd2jatGmaOHGiXnrpJd14442SpGuvvVanT59Wx44dVatWLb300kuqVq2ajh49qg0bNlxyB37NNdeoTp06mjNnjkJCQtSlSxfVq1dPLpcrV99z584pNjZW//nPfzRlyhQ1atRImzdvVnx8vJKSkvTee+959V+1apU2b96sv//97woNDVVwcLASEhLUqVMnDR06VPfdd58kecLL7t271aJFC9WoUUMzZsxQaGio1q9fr4cffli//vqrJk2aJCk7QLZt21Z+fn6aM2eOqlWrpqVLl2rkyJEFej179uypPn36aNiwYfr222/1P//zP9q9e7e++OIL+fn5adSoUVq4cKGWLVvmqTWnzg0bNuQZoP4oZxvfe+89de/e3dO+bNkynTt3znPa5+DBg6pXr5769u2r4OBgpaSkaO7cuWrWrJl2796ta665pkDblZesrCx1795dmzdv1uOPP64WLVro0KFDmjRpktq1a6ft27erXLlyf3o9QKEZALksWrTISDJbtmwx58+fNydPnjQJCQkmNDTUtGnTxpw/f97Tt379+qZp06ZebcYY07VrVxMWFmYyMzONMcY0bNjQ9OjR45Lrbdu2rWnbtm2u9ri4OFOzZk2vNklm0qRJnsf//Oc/jSSzYcMGr37bt283ksyqVasuv+EX2Lp1q6lRo4aRZCSZgIAA07VrV/P666+brKwsT7958+YZSeatt97yev4zzzxjJJn333/fq+6goCDz22+/efX95Zdfcm1Tjttvv91ERESY1NRUr/aRI0caf39/z7LGjRtnXC6XSUpK8urXsWPHPF+bC02aNMlIMmPGjPFqX7p0qZFk3njjDU9b27ZtTZMmTbz6PfjggyYwMNCcPHnykus5efKkqVixornzzju92v/yl7+YyMhIz+/MhTIyMsypU6dMhQoVzKxZszztGzZsyLV9+f1dWr58uZFk/vWvf3n127Ztm5Fk5syZc8ltAYobp36AS7jlllvk5+engIAAderUSZUrV9bq1avl65t9MPL777/Xd999pwEDBkiSMjIyPFOXLl2UkpKivXv3SpJuuukmrVu3TuPHj1diYqLOnj17RbahTp06qly5ssaNG6d58+ZddBBnXpo1a6bvv/9eCQkJmjhxopo3b66PPvpIgwYN0p133iljjCTp448/VoUKFdS7d2+v5+ccTfroo4+82m+99VZVrlw5XzWcO3dOH330kXr27Kny5cvneo3PnTunLVu2SMo+utWgQQM1btzYaxn9+/fP9zZL8ryfOfr06SNfX19t2LDB0zZq1CglJSXp008/lSSlpaVpyZIliouLU8WKFS+5/IoVK6pPnz7697//7TmN+M0332jHjh0aPHiw57TaqVOnNG7cONWpU0e+vr7y9fVVxYoVdfr0ae3Zs6dA23Qxa9euVaVKldStWzev17ZJkyYKDQ29qgc3o2QgqACX8Prrr2vbtm36+OOP9cADD2jPnj3q16+fZ37OTubRRx+Vn5+f1zR8+HBJ8lzq+sILL2jcuHFatWqVYmNjFRwcrB49ehT75c5BQUHauHGjmjRpookTJ6pBgwYKDw/XpEmTdP78+cs+38/PT7fffrueeuoprV+/XsnJyWrXrp3Wrl2rdevWSZKOHz+u0NDQXKeFQkJC5Ovrm+v01sXGveTl+PHjysjI0IsvvpjrNe7SpYuk/3+Nc+q4UF5tl3Jhf19fX1WpUsVrO7p3766oqCjPaZ7Fixfr9OnTGjFiRL7WMXToUGVkZGjJkiWSsgfRulwur0Ha/fv31+zZs3Xfffdp/fr12rp1q7Zt26aqVasWWdD9+eefdeLECZUtWzbX63v06NFiu1QbyC/GqACXEB0d7RlAGxsbq8zMTC1YsEBvv/22evfu7RkjMGHCBPXq1SvPZdSrV0+SVKFCBU2ZMkVTpkzRzz//7Dm60q1bN3333XeSJH9/f6WmpuZaxp/dWdxwww1asWKFjDH6+uuvtXjxYj355JMqV66cxo8fX6BlValSRaNHj1ZiYqK++eYbdenSRVWqVNEXX3whY4xXWDl27JgyMjJyjaXIa5zLxVSuXFk+Pj665557LhoCatWq5ant6NGjuebn1XYpR48eVfXq1T2PMzIydPz4cVWpUsXTVqZMGY0YMUITJ07UjBkzNGfOHLVv397zfl9OixYtFB0drUWLFmnUqFF64403dOutt3q2JTU1VWvXrtWkSZO83qP09HT99ttvl11+fn+XrrnmGlWpUkUJCQl5LicgICBf2wMUF46oAAXw7LPPqnLlyvr73/+urKws1atXT3Xr1tXOnTsVExOT55TXH/pq1app8ODB6tevn/bu3eu5eiQqKkr79u3zulLm+PHj+uyzzy5bm9vtlqRL/k/b5XKpcePG+sc//qFKlSrpyy+/vGjf8+fPX3Sgb85ph/DwcElS+/btderUKa1atcqr3+uvv+6ZX9j6y5cvr9jYWH311Vdq1KhRnq9xToCIjY3Vt99+q507d3otY9myZZdd/x8tXbrU6/Fbb72ljIyMXFfR3HfffSpbtqwGDBigvXv3FnjQ7pAhQ7R792797W9/0y+//KIhQ4Z45rlcLhljPK9LjgULFigzM/Oyy87v71LXrl11/PhxZWZm5vna5jd4AcWFIypAAVSuXFkTJkzQ448/rmXLlmngwIF6+eWX1blzZ91+++0aPHiwqlevrt9++0179uzRl19+qX/+85+SpJtvvlldu3ZVo0aNVLlyZe3Zs0dLlixR8+bNVb58eUnSPffco5dfflkDBw7U/fffr+PHj+vZZ59VYGDgZWtr2LChJGn+/PkKCAiQv7+/atWqpc8//1xz5sxRjx49VLt2bRljtHLlSp04cUIdO3a86PJSU1MVFRWlu+++Wx06dFBkZKROnTqlxMREzZo1S9HR0Z6jSIMGDdJLL72kuLg4HTx4UDfccIM++eQTTZs2TV26dFGHDh0uW39AQIBq1qyp1atXq3379goODtY111yjqKgozZo1S61atVLr1q314IMPKioqSidPntT333+vd999Vx9//LEkafTo0Vq4cKHuuOMOz43pli5d6jlilV8rV66Ur6+vOnbs6Lnqp3HjxurTp49Xv0qVKmnQoEGaO3euatasqW7duhVoPYMGDdLEiRP13HPPqVKlSl5H5QIDA9WmTRs999xzntdh48aNevXVV1WpUqXLLju/v0t9+/bV0qVL1aVLF40aNUo33XST/Pz8dPjwYW3YsEHdu3dXz549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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# sort the values to understand what we are going to plot\n", + "# Create the bar chart\n", + "plt.plot(result['Round'], result['Result'], \"ro\")\n", + "\n", + "# Add labels and title\n", + "plt.xlabel('Round')\n", + "plt.ylabel('Result')\n", + "plt.title('Results Sorted by Value')\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Calculate the frequency distribution and plot it. What is the relation between this plot and the plot above? Describe it with words." + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "1 2\n", + "2 3\n", + "3 2\n", + "5 2\n", + "6 1\n", + "Name: Result, dtype: int64" + ] + }, + "execution_count": 4, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "frequency = result['Result'].value_counts().sort_index()\n", + "\n", + "frequency" + ] + }, + { + "cell_type": "code", + "execution_count": 5, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAzR0lEQVR4nO3de1gV9b7H8c9S7sglL9wSgdLMS5pJ7TCvkaiYmdXZtruIeXmOaWqip72xzlbSE1rpNrPEK2Se7ljp0UwrwdrqkyhamZmVCinkNVBK5DLnDx/X0wpEWQKzGN+v55k/5je/mfnOgPrxN79Zy2YYhiEAAACLaGR2AQAAALWJcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAMAACyFcAPUsfT0dNlstiqXKVOmmF3eVWH69Omy2WwObZGRkRo+fHiNjrNlyxZNnz5dv/76a432+/O5MjMzZbPZ9N5779XoONX57bffNH36dGVmZlbaduF38ODBg7V2PsCVuZldAHC1SEtL04033ujQFhYWZlI1eP/99+Xv71+jfbZs2aLk5GQNHz5cgYGBdXqumvrtt9+UnJwsSerdu7fDtoEDB2rr1q0KDQ2t0xoAV0G4AepJx44dFR0dfVl9S0tLZbPZ5ObGH9G60qVLlzo/x++//y5vb+96OVd1WrRooRYtWphaA1CfeCwFmOzCI4rXX39dkydP1rXXXitPT0/98MMPkqRPPvlEsbGx8vf3l4+Pj+644w59+umnlY6zdu1a3XzzzfL09FRUVJRefPHFSo9jDh48KJvNpvT09Er722w2TZ8+3aFt//79euihhxQUFCRPT0+1a9dOr7zySpX1v/nmm3r66acVFhYmf39/3XXXXdq3b1+l86xfv16xsbEKCAiQj4+P2rVrp5SUFEnS66+/LpvNpq1bt1ba79lnn5W7u7uOHDlS7f2s6j5U5c+PiioqKjRz5ky1bdtW3t7eCgwMVKdOnfTSSy9JOv9o67/+678kSVFRUfZHixceA0VGRuruu+/WqlWr1KVLF3l5edlHUi72COzs2bNKTExUSEiIvL291atXL+Xk5Dj06d27d6WRGEkaPny4IiMjJZ3/uV4IL8nJyfbaLpzzYo+lli9frs6dO8vLy0tNmzbVkCFDtHfv3krnadKkiX744QfFx8erSZMmCg8P1+TJk1VSUlLlvQXMxn8LgXpSXl6usrIyh7Y/jswkJSUpJiZGqampatSokYKCgrRy5UoNGzZMgwcP1muvvSZ3d3ctWrRI/fr108cff6zY2FhJ0qeffqrBgwcrJiZGb731lsrLy/X888/rl19+cbreb7/9Vt26dVOrVq00Z84chYSE6OOPP9aECRN0/PhxTZs2zaH/1KlTdccdd2jp0qUqKirS3//+dw0aNEh79+5V48aNJUnLli3T6NGj1atXL6WmpiooKEjff/+9vvnmG0nS0KFD9dRTT+mVV15RTEyM/dhlZWVatGiRhgwZUu2jvCu5D88//7ymT5+uZ555Rj179lRpaam+++47+/yaUaNG6eTJk3r55Ze1atUq+yOe9u3b24+xc+dO7d27V88884yioqLk6+tb7TmnTp2qW265RUuXLlVhYaGmT5+u3r17KycnR9ddd90la74gNDRU69evV//+/TVy5EiNGjVKkqodrUlJSdHUqVP1t7/9TSkpKTpx4oSmT5+umJgYbd++XW3atLH3LS0t1T333KORI0dq8uTJ2rx5s2bMmKGAgAD985//vOw6gXpjAKhTaWlphqQql9LSUmPTpk2GJKNnz54O+xUXFxtNmzY1Bg0a5NBeXl5udO7c2bjtttvsbX/5y1+MsLAw4/fff7e3FRUVGU2bNjX++Mf8wIEDhiQjLS2tUp2SjGnTptnX+/XrZ7Rs2dIoLCx06PfEE08YXl5exsmTJw3DMOz1x8fHO/R75513DEnG1q1bDcMwjNOnTxv+/v5G9+7djYqKiover2nTphkeHh7GL7/8Ym97++23DUlGVlbWRferyX0wDMOIiIgwEhIS7Ot33323cfPNN1d7/BdeeMGQZBw4cKDStoiICKNx48bGvn37qtz2x3NduGe33HKLw704ePCg4e7ubowaNcre1qtXL6NXr16VjpmQkGBERETY148dO1bpZ3jBhd/BC3WfOnXK8Pb2rvQzy83NNTw9PY2HHnrI4TySjHfeecehb3x8vNG2bdtK5wJcAY+lgHqyYsUKbd++3WH548jN/fff79B/y5YtOnnypBISElRWVmZfKioq1L9/f23fvl3FxcUqLi7W9u3bdd9998nLy8u+v5+fnwYNGuRUrWfPntWnn36qIUOGyMfHx+H88fHxOnv2rLZt2+awzz333OOw3qlTJ0nS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2dnZuvPOOzV48GDt2bOnyv4HDhxQfHy8evTooZycHE2dOlUTJkxQRkZGPVcOAABclc0wDMPsIv6oadOmeuGFFzRy5MhK2/7+979r9erV2rt3r71tzJgx2r17t7Zu3XpZxy8qKlJAQIAKCwv54kwAABqImvz77TJzbsrLy/XWW2+puLhYMTExVfbZunWr4uLiHNr69eun7OxslZaW1keZAADAxbmZXcDXX3+tmJgYnT17Vk2aNNH777+v9u3bV9m3oKBAwcHBDm3BwcEqKyvT8ePHFRoaWmmfkpISlZSU2NeLiopq9wIAAIBLMT3ctG3bVrt27dKvv/6qjIwMJSQkKCsr66IBx2azOaxfeKr25/YLUlJSlJycXLtFo9ZF/mOt2SWY4uCsgWaXAACWY/pjKQ8PD7Vu3VrR0dFKSUlR586d9dJLL1XZNyQkRAUFBQ5tR48elZubm5o1a1blPklJSSosLLQveXl5tX4NAADAdZg+cvNnhmE4PEb6o5iYGK1Zs8ahbcOGDYqOjpa7u3uV+3h6esrT07PW6wQAAK7J1JGbqVOn6vPPP9fBgwf19ddf6+mnn1ZmZqYefvhhSedHXYYNG2bvP2bMGB06dEiJiYnau3evli9frmXLlmnKlClmXQIAAHAxpo7c/PLLL3r00UeVn5+vgIAAderUSevXr1ffvn0lSfn5+crNzbX3j4qK0rp16zRp0iS98sorCgsL0/z583X//febdQkAAMDFuNzn3NQ1PufGNTGhGABQnQb5OTcAAAC1gXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAsxdRwk5KSoltvvVV+fn4KCgrSvffeq3379lW7T2Zmpmw2W6Xl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AHamhpvevXvbJwRXJT09vVJbr169tHPnzjqsCgAANGQNas4NAADApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApRBuAACApZgebl599VVFRUXJy8tLXbt21eeff37RvpmZmbLZbJWW7777rh4rBgAArszUcPP222/rySef1NNPP62cnBz16NFDAwYMUG5ubrX77du3T/n5+falTZs29VQxAABwdaaGm7lz52rkyJEaNWqU2rVrp3nz5ik8PFwLFy6sdr+goCCFhITYl8aNG9dTxQAAwNWZFm7OnTunHTt2KC4uzqE9Li5OW7ZsqXbfLl26KDQ0VLGxsdq0aVO1fUtKSlRUVOSwAAAA6zIt3Bw/flzl5eUKDg52aA8ODlZBQUGV+4SGhmrx4sXKyMjQqlWr1LZtW8XGxmrz5s0XPU9KSooCAgLsS3h4eK1eBwAAcC1uZhdgs9kc1g3DqNR2Qdu2bdW2bVv7ekxMjPLy8vTiiy+qZ8+eVe6TlJSkxMRE+3pRUREBBwAACzNt5KZ58+Zq3LhxpVGao0ePVhrNqc7tt9+u/fv3X3S7p6en/P39HRYAAGBdpoUbDw8Pde3aVRs3bnRo37hxo7p163bZx8nJyVFoaGhtlwcAABooUx9LJSYm6tFHH1V0dLRiYmK0ePFi5ebmasyYMZLOP1I6fPiwVqxYIUmaN2+eIiMj1aFDB507d04rV65URkaGMjIyzLwMAADgQkwNN0OHDtWJEyf07LPPKj8/Xx07dtS6desUEREhScrPz3f4zJtz585pypQpOnz4sLy9vdWhQwetXbtW8fHxZl0CAABwMaZPKB47dqzGjh1b5bb09HSH9aeeekpPPfVUPVQFAAAaKtO/fgEAAKA2EW4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClEG4AAIClmB5uXn31VUVFRcnLy0tdu3bV559/Xm3/rKwsde3aVV5eXrruuuuUmppaT5UCAICGwNRw8/bbb+vJJ5/U008/rZycHPXo0UMDBgxQbm5ulf0PHDig+Ph49ejRQzk5OZo6daomTJigjIyMeq4cAAC4KlPDzdy5czVy5EiNGjVK7dq107x58xQeHq6FCxdW2T81NVWtWrXSvHnz1K5dO40aNUojRozQiy++WM+VAwAAV2VauDl37px27NihuLg4h/a4uDht2bKlyn22bt1aqX+/fv2UnZ2t0tLSOqsVAAA0HG5mnfj48eMqLy9XcHCwQ3twcLAKCgqq3KegoKDK/mVlZTp+/LhCQ0Mr7VNSUqKSkhL7emFhoSSpqKjoSi+hShUlv9XJcV3dld5P7lvNXa33TKq7P7+4uKv1942/25xTF39GLxzTMIxL9jUt3Fxgs9kc1g3DqNR2qf5VtV+QkpKi5OTkSu3h4eE1LRXVCJhndgUNE/fNOdw31Bd+15xTl/ft9OnTCggIqLaPaeGmefPmaty4caVRmqNHj1YanbkgJCSkyv5ubm5q1qxZlfskJSUpMTHRvl5RUaGTJ0+qWbNm1YaohqaoqEjh4eHKy8uTv7+/2eU0GNw353Dfao575hzum3OseN8Mw9Dp06cVFhZ2yb6mhRsPDw917dpVGzdu1JAhQ+ztGzdu1ODBg6vcJyYmRmvWrHFo27Bhg6Kjo+Xu7l7lPp6envL09HRoCwwMvLLiXZi/v79lfpHrE/fNOdy3muOeOYf75hyr3bdLjdhcYOrbUomJiVq6dKmWL1+uvXv3atKkScrNzdWYMWMknR91GTZsmL3/mDFjdOjQISUmJmrv3r1avny5li1bpilTpph1CQAAwMWYOudm6NChOnHihJ599lnl5+erY8eOWrdunSIiIiRJ+fn5Dp95ExUVpXXr1mnSpEl65ZVXFBYWpvnz5+v+++836xIAAICLMX1C8dixYzV27Ngqt6Wnp1dq69Wrl3bu3FnHVTU8np6emjZtWqVHcKge98053Lea4545h/vmnKv9vtmMy3mnCgAAoIEw/bulAAAAahPhBgAAWArhBgAAWArhBgAAWArhpoHbvHmzBg0apLCwMNlsNn3wwQdml+TyUlJSdOutt8rPz09BQUG69957tW/fPrPLcnkLFy5Up06d7B8KFhMTo48++sjsshqclJQU2Ww2Pfnkk2aX4tKmT58um83msISEhJhdlss7fPiwHnnkETVr1kw+Pj66+eabtWPHDrPLqneEmwauuLhYnTt31oIFC8wupcHIysrSuHHjtG3bNm3cuFFlZWWKi4tTcXGx2aW5tJYtW2rWrFnKzs5Wdna27rzzTg0ePFh79uwxu7QGY/v27Vq8eLE6depkdikNQocOHZSfn29fvv76a7NLcmmnTp3SHXfcIXd3d3300Uf69ttvNWfOHEt/Kv/FmP45N7gyAwYM0IABA8wuo0FZv369w3paWpqCgoK0Y8cO9ezZ06SqXN+gQYMc1v/nf/5HCxcu1LZt29ShQweTqmo4zpw5o4cfflhLlizRzJkzzS6nQXBzc2O0pgZmz56t8PBwpaWl2dsiIyPNK8hEjNzgqldYWChJatq0qcmVNBzl5eV66623VFxcrJiYGLPLaRDGjRungQMH6q677jK7lAZj//79CgsLU1RUlB588EH99NNPZpfk0lavXq3o6Gj9x3/8h4KCgtSlSxctWbLE7LJMQbjBVc0wDCUmJqp79+7q2LGj2eW4vK+//lpNmjSRp6enxowZo/fff1/t27c3uyyX99Zbb2nnzp1KSUkxu5QG4y9/+YtWrFihjz/+WEuWLFFBQYG6deumEydOmF2ay/rpp5+0cOFCtWnTRh9//LHGjBmjCRMmaMWKFWaXVu94LIWr2hNPPKGvvvpKX3zxhdmlNAht27bVrl279OuvvyojI0MJCQnKysoi4FQjLy9PEydO1IYNG+Tl5WV2OQ3GHx+333TTTYqJidH111+v1157TYmJiSZW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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "plt.bar(frequency.index, frequency.values)\n", + "\n", + "# Add labels and title\n", + "plt.xlabel('Result')\n", + "plt.ylabel('Frequency')\n", + "plt.title('Frequency distribution')\n", + "\n", + "# Show the plot\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "code", + "execution_count": 6, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'\\nFirst plot: displays all rolls and their results.\\nSecond plot: displays frequency of the results\\n\\n'" + ] + }, + "execution_count": 6, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "First plot: displays all rolls and their results.\n", + "Second plot: displays frequency of the results\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": 7, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.0" + ] + }, + "execution_count": 7, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "def mean_1(array):\n", + " return sum(array)/len(array)\n", + "\n", + "mean_1(result['Result'])" + ] + }, + { + "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": 8, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.0" + ] + }, + "execution_count": 8, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "frequency = result['Result'].value_counts().reset_index()\n", + "frequency.columns = ['Result', 'Frequency']\n", + "\n", + "def weighted_mean(column1, column2):\n", + " return (column1 * column2).sum() / column2.sum()\n", + "\n", + "mean_with_freq = weighted_mean(frequency['Result'], frequency['Frequency'])\n", + "\n", + "mean_with_freq" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Define a function to calculate the median. You are not allowed to use any methods or functions that directly calculate the median value. \n", + "**Hint**: you might need to define two computation cases depending on the number of observations used to calculate the median." + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "2.5" + ] + }, + "execution_count": 9, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "\n", + "result_series = result[\"Result\"].astype(int).sort_values(ascending=True)\n", + "\n", + "def median(values):\n", + " \n", + " if len(values) % 2 == 0:\n", + " return sum(values[int(len(values)/2)-1:int(len(values)/2)+1])/2\n", + " \n", + " else:\n", + " return values[int(len(values)/2)]\n", + "\n", + "median(result_series)\n", + " \n", + "# val is assumed to be a list or array of values.\n", + " # len(val) calculates the number of elements in the val list.\n", + " # int(len(val)/2) calculates the index of the middle element in the list. The int() function is used to ensure that the result is an integer, as list indices must be integers.\n", + " # val[int(len(val)/2)-1:int(len(val)/2)+1] slices the list to extract the two middle elements (or element if the list has an odd number of elements). The [x:y] slice notation extracts elements starting from index x up to, but not including, index y. In this case, it extracts the two middle elements or the middle element and the one before it.\n", + " # sum(val[int(len(val)/2)-1:int(len(val)/2)+1]) calculates the sum of the extracted values. This is needed to compute the median, especially when there are two middle values to average.\n", + " # Finally, /2 divides the sum by 2 to compute the median. This division by 2 is performed when there are two middle values, averaging them to get the median.\n", + " # So, in summary, the code calculates the median of a list of values by finding the middle one or averaging the two middle values when the list has an even number of elements." + ] + }, + { + "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": 25, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Q1: 2\n", + "Q2 (Median): 2.5\n", + "Q3: 5\n", + "Q4 (Max): 6\n" + ] + } + ], + "source": [ + "array = list(result.sort_values(by=\"Result\", ascending=True)['Result'])\n", + "\n", + "def quartiles(values):\n", + " n = len(values)\n", + "\n", + " if n % 2 == 0:\n", + " middle_index = n // 2\n", + " lower_half = values[:middle_index]\n", + " upper_half = values[middle_index:]\n", + " q1 = median(lower_half)\n", + " q3 = median(upper_half)\n", + " else:\n", + " middle_index = n // 2\n", + " lower_half = values[:middle_index]\n", + " upper_half = values[middle_index + 1:]\n", + " q1 = median(lower_half)\n", + " q3 = median(upper_half)\n", + "\n", + " q2 = median(values)\n", + " q4 = max(values)\n", + "\n", + " return q1, q2, q3, q4\n", + "\n", + "def median(values):\n", + " n = len(values)\n", + " if n % 2 == 0:\n", + " middle1 = values[n // 2 - 1]\n", + " middle2 = values[n // 2]\n", + " return (middle1 + middle2) / 2\n", + " else:\n", + " return values[n // 2]\n", + "\n", + "q1, q2, q3, q4 = quartiles(array)\n", + "print(\"Q1:\", q1)\n", + "print(\"Q2 (Median):\", q2)\n", + "print(\"Q3:\", q3)\n", + "print(\"Q4 (Max):\", q4)\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "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": 34, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
Unnamed: 0rollvalue
0001
1112
2226
3331
4446
\n", + "
" + ], + "text/plain": [ + " Unnamed: 0 roll value\n", + "0 0 0 1\n", + "1 1 1 2\n", + "2 2 2 6\n", + "3 3 3 1\n", + "4 4 4 6" + ] + }, + "execution_count": 34, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# Specify the full or relative path to the CSV file\n", + "file_path = '/Users/alvarog/Desktop/DA.RMT.OCT23/Week03/Descriptive-Stats/data/roll_the_dice_hundred.csv'\n", + "\n", + "# Read the CSV file into a DataFrame\n", + "dice_hundred_df = pd.read_csv(file_path)\n", + "\n", + "dice_hundred_df.head()\n", + "\n", + "dice_hundred_df.head()" + ] + }, + { + "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": 43, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "3.74" + ] + }, + "execution_count": 43, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "mean_hundred = mean_1(dice_hundred_df['value'])\n", + "\n", + "mean_hundred\n" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 3.- Now, calculate the frequency distribution.\n" + ] + }, + { + "cell_type": "code", + "execution_count": 47, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
roll
value
112
217
314
422
512
623
\n", + "
" + ], + "text/plain": [ + " roll\n", + "value \n", + "1 12\n", + "2 17\n", + "3 14\n", + "4 22\n", + "5 12\n", + "6 23" + ] + }, + "execution_count": 47, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "frequency_df = dice_hundred_df.groupby('value').agg({'roll':'count'})\n", + "\n", + "frequency_df" + ] + }, + { + "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": 55, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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Pj1eeumlQfv39fVFX19f/3pPT09ERPT29hZ6tIiIONz3/4blfYG09meH44z//af/rmFohuN77JH3zLLsI/cteHy8/fbb8f7770dNTc2A7TU1NdHd3T1o//b29njkkUcGbW9oaCj0aMAJ5DNH/nBwX8TCLxVzFCg7VQuH7733798fVVVVH7pPwePjiFwuN2A9y7JB2yIi5s2bF62trf3rhw8fjn/9619x1llnHXX/E1Fvb280NDREV1dXjBo1qtjjlDTn6tg5V8fOuTp2ztWxO9nOVZZlsX///qivr//IfQseH2effXaMGDFi0FWOPXv2DLoaEhGRz+cjn88P2PbJT36y0GOVhVGjRp0U/4IWgnN17JyrY+dcHTvn6tidTOfqo654HFHwG05PPfXUuPTSS2P9+vUDtq9fvz6mTJlS6MMBAGVmWD52aW1tja997WsxceLEmDx5cixevDjefPPNuPvuu4fjcABAGRmW+Ljtttti79698cMf/jB2794d48aNi6effjoaGxuH43BlL5/Pxw9+8INBHz8xmHN17JyrY+dcHTvn6tg5Vx8slx3Lz8QAABSIZ7sAAEmJDwAgKfEBACQlPgCApMRHEW3cuDFmzJgR9fX1kcvl4sknnyz2SCWpvb09LrvssqisrIzq6uq4+eab49VXXy32WCWro6MjLr744v5fbDR58uR45plnij1WyWtvb49cLhdz584t9iglqa2tLXK53ICltra22GOVrH/+85/x1a9+Nc4666w4/fTT43Of+1xs3bq12GOVDPFRRAcPHowJEybEokWLij1KSevs7IyWlpbYtGlTrF+/Pg4dOhTTp0+PgwcPFnu0kjRmzJj48Y9/HFu2bIktW7bEtddeGzfddFPs2LGj2KOVrM2bN8fixYvj4osvLvYoJe2iiy6K3bt39y/bt28v9kglad++fXHFFVfEKaecEs8880z89a9/jccff/yk/e3dRzNsz3bhozU3N0dzc3Oxxyh5zz777ID1pUuXRnV1dWzdujWuvvrqIk1VumbMmDFg/Uc/+lF0dHTEpk2b4qKLLirSVKXrwIED8ZWvfCWWLFkSjz76aLHHKWkVFRWudhyDn/zkJ9HQ0BBLly7t33beeecVb6AS5MoHZaenpyciIkaPHl3kSUrf+++/HytXroyDBw/G5MmTiz1OSWppaYnPf/7zcf311xd7lJK3c+fOqK+vj6amprj99tvj9ddfL/ZIJWn16tUxceLE+OIXvxjV1dVxySWXxJIlS4o9VkkRH5SVLMuitbU1rrzyyhg3blyxxylZ27dvjzPPPDPy+Xzcfffd8cQTT8RnP/vZYo9VclauXBl//vOfo729vdijlLxJkybF8uXLY+3atbFkyZLo7u6OKVOmxN69e4s9Wsl5/fXXo6OjI8aOHRtr166Nu+++O77zne/E8uXLiz1ayfCxC2Xl3nvvjZdffjlefPHFYo9S0j7zmc/Etm3b4p133onf/OY3MWvWrOjs7BQg/6arqyvuu+++WLduXZx22mnFHqfk/ftHxOPHj4/JkyfHpz71qVi2bFm0trYWcbLSc/jw4Zg4cWLMnz8/IiIuueSS2LFjR3R0dMTXv/71Ik9XGlz5oGzMmTMnVq9eHc8//3yMGTOm2OOUtFNPPTU+/elPx8SJE6O9vT0mTJgQP/3pT4s9VknZunVr7NmzJy699NKoqKiIioqK6OzsjJ/97GdRUVER77//frFHLGlnnHFGjB8/Pnbu3FnsUUpOXV3doNC/8MIL48033yzSRKXHlQ9KXpZlMWfOnHjiiSdiw4YN0dTUVOyRyk6WZdHX11fsMUrKddddN+inNb7xjW/EBRdcEN/73vdixIgRRZqsPPT19cUrr7wSV111VbFHKTlXXHHFoF8H8Le//c3DVf+N+CiiAwcOxGuvvda/vmvXrti2bVuMHj06zj333CJOVlpaWlpixYoV8dRTT0VlZWV0d3dHRERVVVWMHDmyyNOVnoceeiiam5ujoaEh9u/fHytXrowNGzYM+qmhk11lZeWg+4bOOOOMOOuss9xPdBT3339/zJgxI84999zYs2dPPProo9Hb2xuzZs0q9mgl57vf/W5MmTIl5s+fH1/60pfiT3/6UyxevDgWL15c7NFKR0bRPP/881lEDFpmzZpV7NFKytHOUURkS5cuLfZoJemb3/xm1tjYmJ166qnZOeeck1133XXZunXrij1WWbjmmmuy++67r9hjlKTbbrstq6ury0455ZSsvr4+mzlzZrZjx45ij1Wyfve732Xjxo3L8vl8dsEFF2SLFy8u9kglJZdlWVak7gEATkJuOAUAkhIfAEBS4gMASEp8AABJiQ8AICnxAQAkJT4AgKTEBwCQlPgAAJISHwBAUuIDAEhKfAAASf1/LdB2gPopjN8AAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "plt.hist(dice_hundred_df['value'], bins=6, range= (0.5, 6.5))\n", + "plt.vlines(dice_hundred_df['value'].mean(), ymin=0, ymax=25, lw=2, color= \"r\")\n", + "\n", + "plt.show()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The mean shows as the red line (3.74). The distribution of hundred dice rolls is slightly skewed to the right\n", + "\n", + "\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 5.- Read the `roll_the_dice_thousand.csv` from the `data` folder. Plot the frequency distribution as you did before. Has anything changed? Why do you think it changed?" + ] + }, + { + "cell_type": "code", + "execution_count": 65, + "metadata": {}, + "outputs": [ + { + "data": { + "image/png": "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nfx+v8rKysLbLrroovgNZBBXUNAlNTY2SpJSU1PjPIltp06d0tq1a9XS0qKRI0fGexyzZs2apYkTJ2r8+PHxHsW86upq+Xw+ZWVlaerUqfroo4/iPZJJGzduVE5Ojm677Talp6dryJAhWrp0abzHMoVAQZfjOI4KCwt11VVXKTs7O97jmLR//35997vfldvt1j333KP169frhz/8YbzHMmnt2rXau3evSktL4z2KecOHD9fKlSu1efNmLV26VPX19Ro1apSOHj0a79HM+eijj7R48WINGDBAmzdv1j333KNf/epXWrlyZbxHM4OPeNDl3HfffXrnnXe0Y8eOeI9i1g9+8APt27dPx48f15/+9CcVFBSosrKSSPmK2tpa3X///dqyZYu6d+8e73HM+/LH0YMGDdLIkSN18cUXa8WKFSosLIzjZPacPn1aOTk5mj9/viRpyJAhOnjwoBYvXqw777wzztPZwBUUdCmzZ8/Wxo0btW3bNvXr1y/e45iVlJSk73//+8rJyVFpaakGDx6sZ555Jt5jmVNVVaWGhgYNGzZMiYmJSkxMVGVlpf7whz8oMTFRp06diveIpvXq1UuDBg1SdXV1vEcxx+v1tvkPgssuu0xHjhyJ00T2cAUFXYLjOJo9e7bWr1+viooKZWVlxXukTsVxHIVCoXiPYc64cePa/BbKz3/+c1166aV68MEHlZCQEKfJOodQKKT33ntPV199dbxHMWf06NFt/imEDz74gC/M/RICxbjm5mYdOnQovF5TU6N9+/YpNTVV/fv3j+NktsyaNUtr1qzRyy+/rOTkZNXX10uSUlJS1KNHjzhPZ8vDDz+sQCAgv9+vpqYmrV27VhUVFW1+EwpScnJym/uYevXqpT59+nB/UzuKioqUn5+v/v37q6GhQY8//riCwaAKCgriPZo5v/71rzVq1CjNnz9fkydP1l//+lctWbJES5Ysifdodjgwbdu2bY6kNktBQUG8RzOlvfdIklNWVhbv0cy56667nMzMTCcpKcnp27evM27cOGfLli3xHqvTGDNmjHP//ffHewyTpkyZ4ni9Xqdbt26Oz+dzJk2a5Bw8eDDeY5n15z//2cnOznbcbrdz6aWXOkuWLIn3SKa4HMdx4tRGAAAA7eImWQAAYA6BAgAAzCFQAACAOQQKAAAwh0ABAADmECgAAMAcAgUAAJhDoAAAAHMIFAAAYA6BAgAAzCFQAACAOQQKAAAw538Btr762p1t7HsAAAAASUVORK5CYII=\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + }, + { + "name": "stdout", + "output_type": "stream", + "text": [ + "mean is 3.447\n" + ] + } + ], + "source": [ + "# your code here\n", + "file_path_2 = '/Users/alvarog/Desktop/DA.RMT.OCT23/Week03/Descriptive-Stats/data/roll_the_dice_thousand.csv'\n", + "dice_thousand_df = pd.read_csv(file_path_2)\n", + "\n", + "frequency_th_df = dice_thousand_df.groupby('value').agg({'roll':'count'})\n", + "\n", + "plt.hist(dice_thousand_df['value'], bins=6, range= (0.5, 6.5))\n", + "plt.vlines(dice_thousand_df['value'].mean(), ymin=0, ymax=175, lw=2, color= \"r\")\n", + "\n", + "plt.show()\n", + "\n", + "print('mean is ', dice_thousand_df['value'].mean())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "The bigger the roll count, the more evenly distributed it becomes.\n", + "\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": 83, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[]], dtype=object)" + ] + }, + "execution_count": 83, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGxCAYAAABIjE2TAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA07ElEQVR4nO3df3QU5b3H8c8m2SwJJkCIyWZLiFHxejUpKlQQrIRiQiNikaqV+APEH7SiVy5SFLleFqvAoaeKBaHV0oBihPYUqIotBIUARatEqQRbjDX8UBNzQEiA4LIkz/3Dw16XBEjCJnl2eb/OmRPmmWdmnu9ms/thdmbHYYwxAgAAsEhURw8AAADgRAQUAABgHQIKAACwDgEFAABYh4ACAACsQ0ABAADWIaAAAADrEFAAAIB1CCgAAMA6BBTgLLZo0SI5HA5t2bKlo4fSZoqKijRnzpwmlzkcDnm93nYdD4DmienoAQBAWyoqKlJZWZkmTJjQaNnbb7+tHj16tP+gAJwWAQWAFerq6hQfH9+u++zfv3+77g9A8/ERDxDBNm3apCFDhighIUHx8fEaMGCAVq1a1ajf/v37dddddykpKUmdO3fW8OHD9emnnwb1+eCDD3T99dcrJSVFLpdLHo9Hw4YN02effRboY4zR/PnzddlllykuLk7dunXTTTfd1GhbOTk5ysrK0oYNGzRgwADFx8dr7NixGjFihDIyMtTQ0NBojP369dMVV1wRmH/uued0zTXXKCUlRZ07d1Z2drZmz54tv98ftJ9Vq1Zp165dcjgcgem4pj7iKSsr049+9CN169ZNnTp10mWXXabFixcH9Vm/fr0cDodeeeUVTZ06VR6PR4mJibr22mu1Y8eOU/xGADQXAQWIUCUlJfrBD36gmpoaLVy4UK+88ooSEhI0fPhwLVu2LKjv3XffraioqMD5Gu+++65ycnJ04MABSdLhw4eVm5urL7/8Us8995yKi4s1Z84c9ezZUwcPHgxsZ9y4cZowYYKuvfZarVy5UvPnz9f27ds1YMAAffnll0H7rKys1O23366CggK98cYbuv/++zV27Fjt3r1bb731VlDff/3rX3r33Xd11113Bdr+/e9/q6CgQC+99JJef/113X333frlL3+pcePGBfrMnz9fAwcOlNvt1ttvvx2YTmbHjh0aMGCAtm/frl//+tdavny5LrnkEo0ZM0azZ89u1P+xxx7Trl279Lvf/U7PP/+8ysvLNXz4cNXX15/+FwTg1AyAiNS/f3+TkpJiDh48GGg7duyYycrKMj169DANDQ2msLDQSDI33nhj0Lp/+9vfjCTz5JNPGmOM2bJli5FkVq5cedL9vf3220aS+dWvfhXUvmfPHhMXF2cmT54caBs0aJCRZN58882gvn6/36SmppqCgoKg9smTJ5vY2Fizd+/eJvddX19v/H6/efHFF010dLT56quvAsuGDRtmMjIymlxPkpk2bVpg/tZbbzUul8vs3r07qF9+fr6Jj483Bw4cMMYYs27dOiPJXHfddUH9/vCHPxhJ5u23325yfwCajyMoQAQ6fPiw/v73v+umm27SOeecE2iPjo7WHXfcoc8++yzoo4jbbrstaP0BAwYoIyND69atkyRdeOGF6tatmx555BH95je/0UcffdRon6+//rocDoduv/12HTt2LDC53W717t1b69evD+rfrVs3/eAHPwhqi4mJ0e23367ly5erpqZGklRfX6+XXnpJP/rRj9S9e/dA3w8++EA33HCDunfvrujoaDmdTt15552qr6/Xxx9/3KrH7a233tKQIUOUnp4e1D5mzBjV1dU1Ovpyww03BM1/97vflSTt2rWrVfsH8P8IKEAE2r9/v4wxSktLa7TM4/FIkvbt2xdoc7vdjfq53e5Any5duqikpESXXXaZHnvsMV166aXyeDyaNm1a4JyPL7/8UsYYpaamyul0Bk3vvPOO9u7dG7T9psYmSWPHjtXXX3+tpUuXSpJWr16tysrKoI93du/ere9///v6/PPP9eyzz2rjxo1677339Nxzz0mSjhw50uzH6tv27dvX7MdMUlBgkiSXy3VG+wfw/7iKB4hA3bp1U1RUlCorKxst++KLLyRJycnJKi8vlyRVVVU16ldVVaULL7wwMJ+dna2lS5fKGKMPP/xQixYt0hNPPKG4uDg9+uijSk5OlsPh0MaNGwNv1N92Ytu3T1b9tksuuURXXnmlCgsLNW7cOBUWFsrj8SgvLy/QZ+XKlTp8+LCWL1+ujIyMQPvWrVtP8aicXvfu3U/7mAFoHxxBASJQ586d1a9fPy1fvjzof/MNDQ1asmSJevTooYsuuijQ/vLLLwetv3nzZu3atUs5OTmNtu1wONS7d28988wz6tq1q95//31J0vXXXy9j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XFFGv+jboMe3RMnX4GjjUbW/tq6vzDs05NtsiXB8bjZXJNcmUV97qK2tVXJycrMCSpt8xOP3+3XLLbeooqJCb7311mkHccUVV8jpdKq8vLzJgOJyueRyuRq1O53OM36QQ7ENm1GfPXz1LXsz9jU4WrxOOGmr+mx5PoTTc7OlIrk2ifraet/NFfKAcjyclJeXa926derevftp19m+fbv8fr/S0tJCPRwAABCGWhxQDh06pE8++SQwX1FRoa1btyopKUkej0c33XST3n//fb3++uuqr69XVVWVJCkpKUmxsbH697//rZdfflnXXXedkpOT9dFHH+nhhx/W5ZdfroEDB4auMgAAELZaHFC2bNmiwYMHB+YnTpwoSRo9erS8Xq9effVVSdJll10WtN66deuUk5Oj2NhYvfnmm3r22Wd16NAhpaena9iwYZo2bZqio6PPoBQAABApWhxQcnJydKrzak93zm16erpKSkpaulsAAHAW4V48AADAOgQUAABgHQIKAACwDgEFAABYh4ACAACsQ0ABAADWIaAAAADrEFAAAIB1CCgAAMA6BBQAAGAdAgoAALAOAQUAAFiHgAIAAKxDQAEAANYhoAAAAOsQUAAAgHUIKAAAwDoEFAAAYB0CCgAAsA4BBQAAWIeAAgAArENAAQAA1iGgAAAA6xBQAACAdQgoAADAOjEdPQAACKXzHl3VIfvdOWtYh+wXiFQcQQEAANYhoAAAAOsQUAAAgHUIKAAAwDoEFAAAYB0CCgAAsA4BBQAAWIeAAgAArNPiL2rbsGGDfvnLX6q0tFSVlZVasWKFRowYEVhujNH06dP1/PPPa//+/erXr5+ee+45XXrppYE+Pp9PkyZN0iuvvKIjR45oyJAhmj9/vnr06BGSooBT6agv8gIANF+Lj6AcPnxYvXv31rx585pcPnv2bD399NOaN2+e3nvvPbndbuXm5urgwYOBPhMmTNCKFSu0dOlSbdq0SYcOHdL111+v+vr61lcCAAAiRouPoOTn5ys/P7/JZcYYzZkzR1OnTtXIkSMlSYsXL1ZqaqqKioo0btw41dTUaOHChXrppZd07bXXSpKWLFmi9PR0rV27VkOHDj2DcgAAQCQI6b14KioqVFVVpby8vECby+XSoEGDtHnzZo0bN06lpaXy+/1BfTwej7KysrR58+YmA4rP55PP5wvM19bWSpL8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7Jj+53/+R5mZmYqLi9P555+vJ554Qg0NDYE+YVPjGd31L0wtXbrUOJ1O88ILL5iPPvrIPPTQQ6Zz585m165dHT20FnvjjTfM1KlTzZ/+9CcjyaxYsSJo+axZs0xCQoL505/+ZLZt22Z+8pOfmLS0NFNbW9sxA26BoUOHmsLCQlNWVma2bt1qhg0bZnr27GkOHToU6BPO9b366qtm1apVZseOHWbHjh3mscceM06n05SVlRljwru2b3v33XfNeeedZ7773e+ahx56KNAezvVNmzbNXHrppaaysjIwVVdXB5aHc21fffWVycjIMGPGjDF///vfTUVFhVm7dq355JNPAn3Cub7q6uqg31txcbGRZNatW2eMCe/ajDHmySefNN27dzevv/66qaioMH/84x/NOeecY+bMmRPoEy41npUB5corrzQ//elPg9ouvvhi8+ijj3bQiELjxIDS0NBg3G63mTVrVqDt66+/Nl26dDG/+c1vOmCEZ6a6utpIMiUlJcaYyKvPGGO6detmfve730VMbQcPHjS9evUyxcXFZtCgQYGAEu71TZs2zfTu3bvJZeFe2yOPPGKuvvrqky4P9/pO9NBDD5kLLrjANDQ0RERtw4YNM2PHjg1qGzlypLn99tuNMeH1+zvrPuI5evSoSktLlZeXF9Sel5enzZs3d9Co2kZFRYWqqqqCanW5XBo0aFBY1lpTUyNJSkpKkhRZ9dXX12vp0qU6fPiwrrrqqoipbfz48Ro2bJiuvfbaoPZIqK+8vFwej0eZmZm69dZb9emnn0oK/9peffVV9e3bVzfffLNSUlJ0+eWX64UXXggsD/f6vu3o0aNasmSJxo4dK4fDERG1XX311XrzzTf18ccfS5L+8Y9/aNOmTbruuuskhdfvr8O+6r6j7N27V/X19Y3umpyamtro7srh7ng9TdW6a9eujhhSqxljNHHiRF199dXKysqSFBn1bdu2TVdddZW+/vprnXPOOVqxYoUuueSSwAtFONe2dOlSvf/++3rvvfcaLQv3312/fv304osv6qKLLtKXX36pJ598UgMGDND27dvDvrZPP/1UCxYs0MSJE/XYY4/p3Xff1X/913/J5XLpzjvvDPv6vm3lypU6cOCAxowZIyn8n5eS9Mgjj6impkYXX3yxoqOjVV9fr6eeekqjRo2SFF41nnUB5TiHwxE0b4xp1BYpIqHWBx54QB9++KE2bdrUaFk41/cf//Ef2rp1qw4cOKA//elPGj16tEpKSgLLw7W2PXv26KGHHtKaNWvUqVOnk/YL1/ry8/MD/87OztZVV12lCy64QIsXL1b//v0lhW9tDQ0N6tu3r2bMmCFJuvzyy7V9+3YtWLBAd955Z6BfuNb3bQsXLlR+fr48Hk9QezjXtmzZMi1ZskRFRUW69NJLtXXrVk2YMEEej0ejR48O9AuHGs+6j3iSk5MVHR3d6GhJdXV1o0QZ7o5fVRDutT744IN69dVXtW7dOvXo0SPQHgn1xcbG6sILL1Tfvn01c+ZM9e7dW88++2zY11ZaWqrq6mr16dNHMTExiomJUUlJiX79618rJiYmUEO41neizp07Kzs7W+Xl5WH/u0tLS9Mll1wS1Paf//mf2r17t6TI+LuTpF27dmnt2rW65557Am2RUNvPf/5zPfroo7r11luVnZ2tO+64Q//93/+tmTNnSgqvGs+6gBIbG6s+ffqouLg4qL24uFgDBgzooFG1jczMTLnd7qBajx49qpKSkrCo1RijBx54QMuXL9dbb72lzMzMoOXhXl9TjDHy+XxhX9uQIUO0bds2bd26NTD17dtXt912m7Zu3arzzz8/rOs7kc/n0z//+U+lpaWF/e9u4MCBjS7n//jjjwN3mg/3+o4rLCxUSkqKhg0bFmiLhNrq6uoUFRX81h4dHR24zDisauyYc3M71vHLjBcuXGg++ugjM2HCBNO5c2ezc+fOjh5aix08eNB88MEH5oMPPjCSzNNPP20++OCDwCXTs2bNMl26dDHLly8327ZtM6NGjbLycrKm/OxnPzNdunQx69evD7ossK6uLtAnnOubMmWK2bBhg6moqDAffviheeyxx0xUVJRZs2aNMSa8a2vKt6/iMSa863v44YfN+vXrzaeffmreeecdc/3115uEhITAa0g41/buu++amJgY89RTT5ny8nLz8ssvm/j4eLNkyZJAn3Cuzxhj6uvrTc+ePc0jjzzSaFm41zZ69Gjzne98J3CZ8fLly01ycrKZPHlyoE+41HhWBhRjjHnuuedMRkaGiY2NNVdccUXg0tVws27dOiOp0TR69GhjzDeXlE2bNs243W7jcrnMNddcY7Zt29axg26mpuqSZAoLCwN9wrm+sWPHBp6D5557rhkyZEggnBgT3rU15cSAEs71Hf/eCKfTaTwejxk5cqTZvn17YHk412aMMa+99prJysoyLpfLXHzxxeb5558PWh7u9a1evdpIMjt27Gi0LNxrq62tNQ899JDp2bOn6dSpkzn//PPN1KlTjc/nC/QJlxodxhjTIYduAAAATuKsOwcFAADYj4ACAACsQ0ABAADWIaAAAADrEFAAAIB1CCgAAMA6BBQAAGAdAgoAALAOAQUAAFiHgAIAAKxDQAEAANb5Pxr9tJZRXl7dAAAAAElFTkSuQmCC\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages1 = pd.read_csv('../data/ages_population.csv')\n", + "ages1.hist(bins=15)" + ] + }, + { + "cell_type": "code", + "execution_count": 67, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
068.0
112.0
245.0
338.0
449.0
\n", + "
" + ], + "text/plain": [ + " observation\n", + "0 68.0\n", + "1 12.0\n", + "2 45.0\n", + "3 38.0\n", + "4 49.0" + ] + }, + "execution_count": 67, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "'''I think the mean will be between 30-40 and the standard deviation around 20'''\n", + "\n", + "ages1.head()" + ] + }, + { + "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": 69, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "36.56\n", + "12.816499625976762\n" + ] + } + ], + "source": [ + "# your code here\n", + "\n", + "print(ages1.observation.mean())\n", + "print(ages1.observation.std())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "the mean is within the expected range; the std is way smaller\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": 82, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[]], dtype=object)" + ] + }, + "execution_count": 82, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAigAAAGxCAYAAABIjE2TAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAtTUlEQVR4nO3df3RU5Z3H8c/kB0MSk0CIySQSUqrYribFLigYWglCglR+SV0sWRUQW1qEc3KQpfw4LmOrwNJTpYtC7ZYGBSNsj2BVUIiL/DKowMoRWGWpG/khiTkiJEBwGJJn/5iTkSG/SEgyTybv1zlzcJ773Oc+95vL5eO9M7kOY4wRAACARcKCPQEAAIArEVAAAIB1CCgAAMA6BBQAAGAdAgoAALAOAQUAAFiHgAIAAKxDQAEAANYhoAAAAOsQUIBObNWqVXI4HNq7d2+wp9JmCgsLtXTp0nqXORwOud3udp0PgKsTEewJAEBbKiws1MGDB5Wfn19n2e7du9WzZ8/2nxSAJhFQAFihqqpK0dHR7brNgQMHtuv2AFw9bvEAIWzXrl0aOnSoYmNjFR0draysLG3cuLFOv9OnT2vy5MlKSEhQTEyMRo0apf/7v/8L6PPRRx9p5MiRSkpKktPpVGpqqu69916dOHHC38cYo+XLl+u2225TVFSUunfvrvvvv7/OWNnZ2crIyNCOHTuUlZWl6OhoPfLIIxo7dqzS09NVU1NTZ44DBgzQP/7jP/rfP//887rrrruUlJSkmJgYZWZmasmSJfJ6vQHb2bhxo44ePSqHw+F/1arvFs/Bgwc1ZswYde/eXV27dtVtt92mF198MaDPtm3b5HA49Morr2j+/PlKTU1VXFychg0bpsOHDzfyEwFwtQgoQIjavn277r77blVUVGjlypV65ZVXFBsbq1GjRmndunUBfadMmaKwsDD/5zU+/PBDZWdn68yZM5Kk8+fPKycnR19++aWef/55FRUVaenSperVq5fOnj3rH2fq1KnKz8/XsGHD9Nprr2n58uU6dOiQsrKy9OWXXwZss7S0VA8++KDy8vK0adMmTZs2TY888oiOHTumrVu3BvT99NNP9eGHH2ry5Mn+ts8++0x5eXlavXq13nzzTU2ZMkW/+93vNHXqVH+f5cuXa9CgQXK5XNq9e7f/1ZDDhw8rKytLhw4d0r//+79r/fr1uuWWWzRp0iQtWbKkTv958+bp6NGj+vOf/6w//elPOnLkiEaNGqXq6uqmf0AAGmcAhKSBAweapKQkc/bsWX/bpUuXTEZGhunZs6epqakxBQUFRpK57777AtZ97733jCTz1FNPGWOM2bt3r5FkXnvttQa3t3v3biPJ/P73vw9oP378uImKijKzZ8/2tw0ePNhIMv/1X/8V0Nfr9Zrk5GSTl5cX0D579mzTpUsX89VXX9W77erqauP1es1LL71kwsPDzddff+1fdu+995r09PR615NkFixY4H//s5/9zDidTnPs2LGAfiNGjDDR0dHmzJkzxhhj3n33XSPJ/OQnPwno95//+Z9Gktm9e3e92wNw9biCAoSg8+fP64MPPtD999+v6667zt8eHh6uhx56SCdOnAi4FfHP//zPAetnZWUpPT1d7777riTppptuUvfu3fXrX/9af/zjH/U///M/dbb55ptvyuFw6MEHH9SlS5f8L5fLpb59+2rbtm0B/bt376677747oC0iIkIPPvig1q9fr4qKCklSdXW1Vq9erTFjxqhHjx7+vh999JFGjx6tHj16KDw8XJGRkXr44YdVXV2t//3f/21R3bZu3aqhQ4cqLS0toH3SpEmqqqqqc/Vl9OjRAe9/8IMfSJKOHj3aou0D+BYBBQhBp0+fljFGKSkpdZalpqZKkk6dOuVvc7lcdfq5XC5/n/j4eG3fvl233Xab5s2bp1tvvVWpqalasGCB/zMfX375pYwxSk5OVmRkZMDr/fff11dffRUwfn1zk6RHHnlE33zzjdauXStJ2rx5s0pLSwNu7xw7dkw//vGP9cUXX+gPf/iDdu7cqT179uj555+XJF24cOGqa3W5U6dOXXXNJAUEJklyOp3XtH0A3+JbPEAI6t69u8LCwlRaWlpn2cmTJyVJiYmJOnLkiCSprKysTr+ysjLddNNN/veZmZlau3atjDH6+OOPtWrVKv3mN79RVFSU5syZo8TERDkcDu3cudP/D/Xlrmy7/MOql7vlllt0xx13qKCgQFOnTlVBQYFSU1OVm5vr7/Paa6/p/PnzWr9+vdLT0/3t+/fvb6QqTevRo0eTNQPQPriCAoSgmJgYDRgwQOvXrw/4v/mamhqtWbNGPXv21M033+xvf/nllwPWLy4u1tGjR5WdnV1nbIfDob59++rZZ59Vt27d9N///d+SpJEjR8oY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\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages2 = pd.read_csv('../data/ages_population2.csv')\n", + "ages2.hist(bins=15)\n" + ] + }, + { + "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", + "Much younger population and narrowed between 18-36 years aprox, while the previous was 0-80+ \n", + "\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": 85, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "27.155\n", + "2.969813932689186\n" + ] + } + ], + "source": [ + "# your code here\n", + "print(ages2.observation.mean())\n", + "print(ages2.observation.std())" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "While the first population makes sense for a common/general neighboorhood (people of all ages), the second population is so narrowed that seems a it is a poll taken in a place where just young people live. students \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": 86, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "array([[]], dtype=object)" + ] + }, + "execution_count": 86, + "metadata": {}, + "output_type": "execute_result" + }, + { + "data": { + "image/png": "iVBORw0KGgoAAAANSUhEUgAAAiwAAAGxCAYAAABBZ+3pAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjcuMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy88F64QAAAACXBIWXMAAA9hAAAPYQGoP6dpAAAwJUlEQVR4nO3df3RU5Z3H8c/kB0MSk/BrSRgJEBRXJREsCBqsRCHxIKAuR61EBERXWtQljYr8qGWwEpSexbQgWKwLKEbcHoFF0YVYMECj8kOogC1gjQGRmKPGBAgOY/LsHz2ZdUhQkkzIk5v365w5eJ/73Oc+39z58fHO3BmXMcYIAADAYmEtPQEAAIAfQ2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAHasOXLl8vlcmnnzp0tPZVmk5+fr7y8vHrXuVwueb3e8zofAI0T0dITAIDmlJ+fr3379ik7O7vOunfffVfdu3c//5MC0GAEFgBWqKqqUnR09Hnd59VXX31e9weg8XhLCHCwbdu2adiwYYqNjVV0dLTS0tK0fv36Ov3Ky8t1zz33qFOnToqJidHo0aP1ySefBPXZvXu3Ro0apa5du8rtdsvj8WjkyJH67LPPAn2MMVq8eLH69++vqKgodezYUbfddludsdLT05WSkqItW7YoLS1N0dHRmjRpkm699Vb17NlTNTU1deY4ePBg/eQnPwksP/vss7ruuuvUtWtXxcTEKDU1VfPnz5ff7w/az/r161VSUiKXyxW41arvLaF9+/bplltuUceOHdW+fXv1799fK1asCOrzzjvvyOVy6ZVXXtGsWbPk8XgUFxen4cOH68CBAz9wRAA0FoEFcKjCwkLdcMMNqqio0AsvvKBXXnlFsbGxGj16tF599dWgvvfee6/CwsICn/fYvn270tPT9c0330iSTp48qYyMDH3xxRd69tlnVVBQoLy8PPXo0UPHjx8PjDN58mRlZ2dr+PDhWrt2rRYvXqz9+/crLS1NX3zxRdA+jx07pnHjxikrK0tvvvmmpkyZokmTJunw4cPatGlTUN+///3v2r59u+65555A2z/+8Q9lZWXppZde0htvvKF7771Xv/3tbzV58uRAn8WLF2vIkCFKTEzUu+++G7idzYEDB5SWlqb9+/fr97//vVavXq3LL79cEydO1Pz58+v0nzlzpkpKSvTHP/5RS5cu1aFDhzR69GhVV1f/+AEC0DAGgCNdffXVpmvXrub48eOBtu+++86kpKSY7t27m5qaGrNs2TIjyfzbv/1b0LZ/+ctfjCTz5JNPGmOM2blzp5Fk1q5de9b9vfvuu0aS+c///M+g9iNHjpioqCgzbdq0QNvQoUONJPPnP/85qK/f7zcJCQkmKysrqH3atGmmXbt25ssvv6x339XV1cbv95sXX3zRhIeHm6+//jqwbuTIkaZnz571bifJzJ49O7B85513GrfbbQ4fPhzUb8SIESY6Otp88803xhhjNm/ebCSZm266Kajff//3fxtJ5t133613fwAajzMsgAOdPHlS77//vm677TZdcMEFgfbw8HDdfffd+uyzz4LeurjrrruCtk9LS1PPnj21efNmSdLFF1+sjh076rHHHtNzzz2njz76qM4+33jjDblcLo0bN07fffdd4JaYmKh+/frpnXfeCerfsWNH3XDDDUFtERERGjdunFavXq2KigpJUnV1tV566SXdcsst6ty5c6Dv7t27dfPNN6tz584KDw9XZGSkxo8fr+rqah08eLBRf7dNmzZp2LBhSkpKCmqfOHGiqqqq6pydufnmm4OWr7jiCklSSUlJo/YP4OwILIADlZeXyxijbt261Vnn8XgkSV999VWgLTExsU6/xMTEQJ/4+HgVFhaqf//+mjlzpvr27SuPx6PZs2cHPjPyxRdfyBijhIQERUZGBt3ee+89ffnll0Hj1zc3SZo0aZK+/fZbrVq1SpK0YcMGHTt2LOjtoMOHD+unP/2pjh49qt/97nfaunWrduzYoWeffVaSdOrUqXP+W33fV199dc5/M0lBAUqS3G53k/YP4Oy4SghwoI4dOyosLEzHjh2rs+7zzz+XJHXp0kWHDh2SJJWWltbpV1paqosvvjiwnJqaqlWrVskYow8//FDLly/XE088oaioKE2fPl1dunSRy+XS1q1bAy/c33dm2/c//Pp9l19+uQYNGqRly5Zp8uTJWrZsmTwejzIzMwN91q5dq5MnT2r16tXq2bNnoH3Pnj0/8Ff5cZ07d/7RvxmAlsEZFsCBYmJiNHjwYK1evTro//Zramq0cuVKde/eXZdcckmg/eWXXw7avqioSCUlJUpPT68ztsvlUr9+/fTMM8+oQ4cO+uCDDyRJo0aNkjFGR48e1cCBA+vcUlNTz3n+99xzj95//31t27ZNr7/+uiZMmKDw8PCgOUjBIcgYo+eff77OWG63+5zPeAwbNkybNm0KBJRaL774oqKjo7kMGmhBnGEBHGrevHnKyMjQ9ddfr0ceeUTt2rXT4sWLtW/fPr3yyitBZzh27typ++67T7fffruOHDmiWbNm6cILL9SUKVMk/fPzKYsXL9att96q3r17yxij1atX65tvvlFGRoYkaciQIbr//vt1zz33aOfOnbruuusUExOjY8eOadu2bUpNTdUvfvGLc5r72LFjlZOTo7Fjx8rn82nixIlB6zMyMtSuXTuNHTtW06ZN07fffqslS5aovLy8zlipqalavXq1lixZogEDBigsLEwDBw6sd7+zZ8/WG2+8oeuvv16//vWv1alTJ7388stav3695s+fr/j4+HOaP4Bm0JKf+AXQvLZu3WpuuOEGExMTY6KioszVV19tXn/99cD62quENm7caO6++27ToUMHExUVZW666SZz6NChQL+///3vZuzYseaiiy4yUVFRJj4+3gwaNMgsX768zj7/67/+ywwePDiwz4suusiMHz/e7Ny5M9Bn6NChpm/fvj8496ysLCPJDBkypN71r7/+uunXr59p3769ufDCC82jjz5q3nrrLSPJbN68OdDv66+/Nrfddpvp0KGDcblc5vtPezrjKiFjjNm7d68ZPXq0iY+PN+3atTP9+vUzy5YtC+pTe5XQn/70p6D24uJiI6lOfwBN5zLGmBbMSwAAAD+Kz7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFivVX5xXE1NjT7//HPFxsae9eu9AQCAXYwxOn78uDwej8LCGnbOpFUGls8//7zOr6kCAIDW4ciRI+revXuDtmmVgSU2NlbSPwuOi4tr1Bh+v18bN25UZmamIiMjQzk967SlWqW2VS+1OldbqpdanevMeisrK5WUlBR4HW+IVhlYat8GiouLa1JgiY6OVlxcnOPvNG2pVqlt1UutztWW6qVW5zpbvY35OAcfugUAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9QgsAADAegQWAABgPQILAACwXkRLTwBA8+o1fX1LTyEk3OFG8wdJKd4N8lWf/afpP31q5HmcFYDzhTMsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAEAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9QgsAADAeg0OLFu2bNHo0aPl8Xjkcrm0du3awDq/36/HHntMqampiomJkcfj0fjx4/X5558HjeHz+fTQQw+pS5cuiomJ0c0336zPPvusycUAAABnanBgOXnypPr166dFixbVWVdVVaUPPvhAjz/+uD744AOtXr1aBw8e1M033xzULzs7W2vWrNGqVau0bds2nThxQqNGjVJ1dXXjKwEAAI4V0dANRowYoREjRtS7Lj4+XgUFBUFtCxcu1KBBg3T48GH16NFDFRUVeuGFF/TSSy9p+PDhkqSVK1cqKSlJb7/9tm688cZGlAEAAJyswYGloSoqKuRyudShQwdJ0q5du+T3+5WZmRno4/F4lJKSoqKionoDi8/nk8/nCyxXVlZK+udbUH6/v1Hzqt2usdu3Jm2pVqlt1XsutbrDzfmaTrNyh5mgf8/GKced+7EztaVapbr1NqVulzGm0c9mLpdLa9as0a233lrv+m+//VbXXnutLr30Uq1cuVKSlJ+fr3vuuScogEhSZmamkpOT9Yc//KHOOF6vV3PmzKnTnp+fr+jo6MZOHwAAnEdVVVXKyspSRUWF4uLiGrRts51h8fv9uvPOO1VTU6PFixf/aH9jjFwuV73rZsyYoZycnMByZWWlkpKSlJmZ2eCCvz+/goICZWRkKDIyslFjtBZtqVapbdV7LrWmeDec51k1D3eY0W8G1ujxnWHy1dT/XCFJ+7zOeFuZ+7EztaVapbr11r5D0hjNElj8fr/uuOMOFRcXa9OmTUGhIjExUadPn1Z5ebk6duwYaC8rK1NaWlq947ndbrnd7jrtkZGRTT7goRijtWhLtUptq94fqtVXffYX99bIV+P6wZqcdsy5HztTW6pV+v96m1JzyL+HpTasHDp0SG+//bY6d+4ctH7AgAGKjIwM+nDusWPHtG/fvrMGFgAA0LY1+AzLiRMn9PHHHweWi4uLtWfPHnXq1Ekej0e33XabPvjgA73xxhuqrq5WaWmpJKlTp05q166d4uPjde+99+rhhx9W586d1alTJz3yyCNKTU0NXDUEAADwfQ0OLDt37tT1118fWK79bMmECRPk9Xq1bt06SVL//v2Dttu8ebPS09MlSc8884wiIiJ0xx136NSpUxo2bJiWL1+u8PDwRpYBAACcrMGBJT09XT90YdG5XHTUvn17LVy4UAsXLmzo7gEAQBvEbwkBAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAEAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9QgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGC9iJaeANBW9Jq+PuRjusON5g+SUrwb5Kt2hXx8ALAFZ1gAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAEAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArNfgwLJlyxaNHj1aHo9HLpdLa9euDVpvjJHX65XH41FUVJTS09O1f//+oD4+n08PPfSQunTpopiYGN1888367LPPmlQIAABwrgYHlpMnT6pfv35atGhRvevnz5+vBQsWaNGiRdqxY4cSExOVkZGh48ePB/pkZ2drzZo1WrVqlbZt26YTJ05o1KhRqq6ubnwlAADAsSIausGIESM0YsSIetcZY5SXl6dZs2ZpzJgxkqQVK1YoISFB+fn5mjx5sioqKvTCCy/opZde0vDhwyVJK1euVFJSkt5++23deOONTSgHAAA4UYMDyw8pLi5WaWmpMjMzA21ut1tDhw5VUVGRJk+erF27dsnv9wf18Xg8SklJUVFRUb2BxefzyefzBZYrKyslSX6/X36/v1Fzrd2usdu3Jm2pVsneet3hJvRjhpmgf53sXGu17bg3lq334+ZArc51Zr1NqTukgaW0tFSSlJCQENSekJCgkpKSQJ927dqpY8eOdfrUbn+mefPmac6cOXXaN27cqOjo6CbNuaCgoEnbtyZtqVbJvnrnD2q+sX8zsKb5BrfMj9X65ptvnqeZnB+23Y+bE7U6V229VVVVjR4jpIGllsvlClo2xtRpO9MP9ZkxY4ZycnICy5WVlUpKSlJmZqbi4uIaNUe/36+CggJlZGQoMjKyUWO0Fm2pVsneelO8G0I+pjvM6DcDa/T4zjD5an74MdbanWut+7zOeFvZ1vtxc6BW5zqz3tp3SBojpIElMTFR0j/PonTr1i3QXlZWFjjrkpiYqNOnT6u8vDzoLEtZWZnS0tLqHdftdsvtdtdpj4yMbPIBD8UYrUVbqlWyr15fdfMFCl+Nq1nHt8mP1drn8Y3ncTb/79OnRjbLuLbdj5sTtTpXbb1NqTmk38OSnJysxMTEoFNdp0+fVmFhYSCMDBgwQJGRkUF9jh07pn379p01sAAAgLatwWdYTpw4oY8//jiwXFxcrD179qhTp07q0aOHsrOzlZubqz59+qhPnz7Kzc1VdHS0srKyJEnx8fG699579fDDD6tz587q1KmTHnnkEaWmpgauGgIAAPi+BgeWnTt36vrrrw8s1362ZMKECVq+fLmmTZumU6dOacqUKSovL9fgwYO1ceNGxcbGBrZ55plnFBERoTvuuEOnTp3SsGHDtHz5coWHh4egJAAA4DQNDizp6eky5uyXFbpcLnm9Xnm93rP2ad++vRYuXKiFCxc2dPcAAKAN4reEAACA9QgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGC9Bv+WEACgrl7T14d0PHe40fxBUop3g3zVrrP2+/SpkSHdL2ArzrAAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAEAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9SJaegIAALQGvaavb/IY7nCj+YOkFO8G+apd57TNp0+NbPJ+nYAzLAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9QgsAADAegQWAABgPQILAACwXsgDy3fffadf/epXSk5OVlRUlHr37q0nnnhCNTU1gT7GGHm9Xnk8HkVFRSk9PV379+8P9VQAAIBDhDywPP3003ruuee0aNEi/e1vf9P8+fP129/+VgsXLgz0mT9/vhYsWKBFixZpx44dSkxMVEZGho4fPx7q6QAAAAcIeWB59913dcstt2jkyJHq1auXbrvtNmVmZmrnzp2S/nl2JS8vT7NmzdKYMWOUkpKiFStWqKqqSvn5+aGeDgAAcICIUA947bXX6rnnntPBgwd1ySWX6K9//au2bdumvLw8SVJxcbFKS0uVmZkZ2Mbtdmvo0KEqKirS5MmT64zp8/nk8/kCy5WVlZIkv98vv9/fqHnWbtfY7VuTtlSrZG+97nAT+jHDTNC/TtaWapXOvV7b7ueNYetj9kyheAw35n5s+9/lh5x5bJtSi8sYE9JHvzFGM2fO1NNPP63w8HBVV1dr7ty5mjFjhiSpqKhIQ4YM0dGjR+XxeALb3X///SopKdGGDRvqjOn1ejVnzpw67fn5+YqOjg7l9AEAQDOpqqpSVlaWKioqFBcX16BtQ36G5dVXX9XKlSuVn5+vvn37as+ePcrOzpbH49GECRMC/VwuV9B2xpg6bbVmzJihnJycwHJlZaWSkpKUmZnZ4IJr+f1+FRQUKCMjQ5GRkY0ao7VoS7VK9tab4q0bxpvKHWb0m4E1enxnmHw19T9+nKIt1Sqde737vDeex1k1D1sfs2cKxWO4Mffj1nyMzzy2te+QNEbIA8ujjz6q6dOn684775QkpaamqqSkRPPmzdOECROUmJgoSSotLVW3bt0C25WVlSkhIaHeMd1ut9xud532yMjIJt+5QzFGa9GWapXsq9dX3Xwvsr4aV7OOb5O2VKv04/XadB9vKtses2cK5f2uIfdjm/8m56r22DallpB/6LaqqkphYcHDhoeHBy5rTk5OVmJiogoKCgLrT58+rcLCQqWlpYV6OgAAwAFCfoZl9OjRmjt3rnr06KG+fftq9+7dWrBggSZNmiTpn28FZWdnKzc3V3369FGfPn2Um5ur6OhoZWVlhXo6AADAAUIeWBYuXKjHH39cU6ZMUVlZmTwejyZPnqxf//rXgT7Tpk3TqVOnNGXKFJWXl2vw4MHauHGjYmNjQz0dAADgACEPLLGxscrLywtcxlwfl8slr9crr9cb6t0DAAAH4reEAACA9QgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALBeyH/8ELBdr+nrW3oKAIAG4gwLAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAEAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9QgsAADAegQWAABgPQILAACwHoEFAABYL6KlJwAAaLxe09e32L4/fWpki+0bbQ9nWAAAgPUILAAAwHoEFgAAYL1mCSxHjx7VuHHj1LlzZ0VHR6t///7atWtXYL0xRl6vVx6PR1FRUUpPT9f+/fubYyoAAMABQv6h2/Lycg0ZMkTXX3+93nrrLXXt2lX/+Mc/1KFDh0Cf+fPna8GCBVq+fLkuueQSPfnkk8rIyNCBAwcUGxsb6ikBABykJT9ojJYT8sDy9NNPKykpScuWLQu09erVK/Dfxhjl5eVp1qxZGjNmjCRpxYoVSkhIUH5+viZPnhzqKQEAgFYu5IFl3bp1uvHGG3X77bersLBQF154oaZMmaJ///d/lyQVFxertLRUmZmZgW3cbreGDh2qoqKiegOLz+eTz+cLLFdWVkqS/H6//H5/o+ZZu11jt29N2lKt0o/X6w4353M6zcodZoL+dbK2VKvUOuoN1XNKQ5+jWvNjuDHHtTU/d595bJtSi8sYE9Ij3759e0lSTk6Obr/9dm3fvl3Z2dn6wx/+oPHjx6uoqEhDhgzR0aNH5fF4Atvdf//9Kikp0YYNG+qM6fV6NWfOnDrt+fn5io6ODuX0AQBAM6mqqlJWVpYqKioUFxfXoG1DfoalpqZGAwcOVG5uriTpyiuv1P79+7VkyRKNHz8+0M/lcgVtZ4yp01ZrxowZysnJCSxXVlYqKSlJmZmZDS64lt/vV0FBgTIyMhQZGdmoMVqLtlSr9OP1pnjrhuLWyh1m9JuBNXp8Z5h8NfU/fpyiLdUqtY5693lvDMk4DX2Oas2P4cYc11D9nVvCmce29h2Sxgh5YOnWrZsuv/zyoLbLLrtMr732miQpMTFRklRaWqpu3boF+pSVlSkhIaHeMd1ut9xud532yMjIJr8Ah2KM1qIt1SqdvV5ftZ1P/k3hq3E5sq76tKVaJbvrDfXzybk+R9n692iIhhxXJzxv1x7bptQS8suahwwZogMHDgS1HTx4UD179pQkJScnKzExUQUFBYH1p0+fVmFhodLS0kI9HQAA4AAhP8Pyy1/+UmlpacrNzdUdd9yh7du3a+nSpVq6dKmkf74VlJ2drdzcXPXp00d9+vRRbm6uoqOjlZWVFerpAAAABwh5YLnqqqu0Zs0azZgxQ0888YSSk5OVl5enu+66K9Bn2rRpOnXqlKZMmaLy8nINHjxYGzdu5DtYAABAvZrl15pHjRqlUaNGnXW9y+WS1+uV1+ttjt0DAACH4beEAACA9QgsAADAegQWAABgPQILAACwXrN86BY4F831i6vucKP5g/75bZhO+IIpAABnWAAAQCtAYAEAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9QgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAEAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9QgsAADAegQWAABgvWYPLPPmzZPL5VJ2dnagzRgjr9crj8ejqKgopaena//+/c09FQAA0Eo1a2DZsWOHli5dqiuuuCKoff78+VqwYIEWLVqkHTt2KDExURkZGTp+/HhzTgcAALRSzRZYTpw4obvuukvPP/+8OnbsGGg3xigvL0+zZs3SmDFjlJKSohUrVqiqqkr5+fnNNR0AANCKRTTXwA888IBGjhyp4cOH68knnwy0FxcXq7S0VJmZmYE2t9utoUOHqqioSJMnT64zls/nk8/nCyxXVlZKkvx+v/x+f6PmV7tdY7dvTWyt1R1ummfcMBP0r5NRq3O1hnpD9ZzS0Oeo5nruOB8ac1xte+5uiDOPbVNqcRljQn7kV61apblz52rHjh1q37690tPT1b9/f+Xl5amoqEhDhgzR0aNH5fF4Atvcf//9Kikp0YYNG+qM5/V6NWfOnDrt+fn5io6ODvX0AQBAM6iqqlJWVpYqKioUFxfXoG1DfoblyJEjmjp1qjZu3Kj27duftZ/L5QpaNsbUaas1Y8YM5eTkBJYrKyuVlJSkzMzMBhdcy+/3q6CgQBkZGYqMjGzUGK2FrbWmeOuG01Bwhxn9ZmCNHt8ZJl9N/fcpp6BW52oN9e7z3hiScRr6HNVczx3nQ2OOa6j+zi3hzGNb+w5JY4Q8sOzatUtlZWUaMGBAoK26ulpbtmzRokWLdODAAUlSaWmpunXrFuhTVlamhISEesd0u91yu9112iMjI5v8AhyKMVoL22r1VTfvk7CvxtXs+7AFtTqXzfWG+vnkXJ+jbP17NERDjqtNz9uNVXtsm1JLyD90O2zYMO3du1d79uwJ3AYOHKi77rpLe/bsUe/evZWYmKiCgoLANqdPn1ZhYaHS0tJCPR0AAOAAIT/DEhsbq5SUlKC2mJgYde7cOdCenZ2t3Nxc9enTR3369FFubq6io6OVlZUV6ukAAAAHaLarhH7ItGnTdOrUKU2ZMkXl5eUaPHiwNm7cqNjY2JaYDgAAsNx5CSzvvPNO0LLL5ZLX65XX6z0fuwcAAK0cvyUEAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKzXIl/NDwBo/XpNXx+ScdzhRvMHSSneDY74JWY0D86wAAAA6xFYAACA9QgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKwX0dITQMvrNX19S08BAIAfxBkWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1+B4WAAAs1lLflfXpUyNbZL9nwxkWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGC9kAeWefPm6aqrrlJsbKy6du2qW2+9VQcOHAjqY4yR1+uVx+NRVFSU0tPTtX///lBPBQAAOETIA0thYaEeeOABvffeeyooKNB3332nzMxMnTx5MtBn/vz5WrBggRYtWqQdO3YoMTFRGRkZOn78eKinAwAAHCDkvyX0v//7v0HLy5YtU9euXbVr1y5dd911MsYoLy9Ps2bN0pgxYyRJK1asUEJCgvLz8zV58uRQTwkAALRyzf7jhxUVFZKkTp06SZKKi4tVWlqqzMzMQB+3262hQ4eqqKio3sDi8/nk8/kCy5WVlZIkv98vv9/fqHnVbtfY7VuTH6vVHW7O53SanTvMBP3rZNTqXG2pXmq1UyheH898/WnKmC5jTLP91YwxuuWWW1ReXq6tW7dKkoqKijRkyBAdPXpUHo8n0Pf+++9XSUmJNmzYUGccr9erOXPm1GnPz89XdHR0c00fAACEUFVVlbKyslRRUaG4uLgGbdusZ1gefPBBffjhh9q2bVuddS6XK2jZGFOnrdaMGTOUk5MTWK6srFRSUpIyMzMbXHAtv9+vgoICZWRkKDIyslFjtBY/VmuKt25IbM3cYUa/GVijx3eGyVdT/33KKajVudpSvdRqp33eG5s8xpmvP7XvkDRGswWWhx56SOvWrdOWLVvUvXv3QHtiYqIkqbS0VN26dQu0l5WVKSEhod6x3G633G53nfbIyMgmh41QjNFanK1WX7XdD5rG8tW4HFvbmajVudpSvdRql1C+Nta+/jRlzJBfJWSM0YMPPqjVq1dr06ZNSk5ODlqfnJysxMREFRQUBNpOnz6twsJCpaWlhXo6AADAAUJ+huWBBx5Qfn6+/ud//kexsbEqLS2VJMXHxysqKkoul0vZ2dnKzc1Vnz591KdPH+Xm5io6OlpZWVmhng4AAHCAkAeWJUuWSJLS09OD2pctW6aJEydKkqZNm6ZTp05pypQpKi8v1+DBg7Vx40bFxsaGejoAAMABQh5YzuWiI5fLJa/XK6/XG+rdAwAAB+K3hAAAgPUILAAAwHoEFgAAYD0CCwAAsB6BBQAAWI/AAgAArEdgAQAA1iOwAAAA6xFYAACA9QgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAEAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYL2Ilp4A/l+v6eubZVx3uNH8QVKKd4N81a5m2QcAAM2JMywAAMB6BBYAAGA93hKqR3O9NQMAABqHMywAAMB6BBYAAGA9AgsAALAegQUAAFiPwAIAAKxHYAEAANYjsAAAAOsRWAAAgPUILAAAwHoEFgAAYD0CCwAAsF6LBpbFixcrOTlZ7du314ABA7R169aWnA4AALBUiwWWV199VdnZ2Zo1a5Z2796tn/70pxoxYoQOHz7cUlMCAACWarHAsmDBAt1777267777dNlllykvL09JSUlasmRJS00JAABYKqIldnr69Gnt2rVL06dPD2rPzMxUUVFRnf4+n08+ny+wXFFRIUn6+uuv5ff7GzUHv9+vqqoqffXVV4qMjAxaF/HdyUaNaauIGqOqqhpF+MNUXeNq6ek0u7ZUL7U6V1uql1rt9NVXXzV5jDNfa48fPy5JMsY0fDDTAo4ePWokmb/85S9B7XPnzjWXXHJJnf6zZ882krhx48aNGzduDrgdOXKkwdmhRc6w1HK5gtOlMaZOmyTNmDFDOTk5geWamhp9/fXX6ty5c739z0VlZaWSkpJ05MgRxcXFNWqM1qIt1Sq1rXqp1bnaUr3U6lxn1muM0fHjx+XxeBo8VosEli5duig8PFylpaVB7WVlZUpISKjT3+12y+12B7V16NAhJHOJi4trE3caqW3VKrWteqnVudpSvdTqXN+vNz4+vlFjtMiHbtu1a6cBAwaooKAgqL2goEBpaWktMSUAAGCxFntLKCcnR3fffbcGDhyoa665RkuXLtXhw4f185//vKWmBAAALNVigeVnP/uZvvrqKz3xxBM6duyYUlJS9Oabb6pnz57nZf9ut1uzZ8+u81aTE7WlWqW2VS+1OldbqpdanSuU9bqMacy1RQAAAOcPvyUEAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6bTKwLF68WMnJyWrfvr0GDBigrVu3tvSUQmLLli0aPXq0PB6PXC6X1q5dG7TeGCOv1yuPx6OoqCilp6dr//79LTPZJpo3b56uuuoqxcbGqmvXrrr11lt14MCBoD5OqXfJkiW64oorAt8Uec011+itt94KrHdKnfWZN2+eXC6XsrOzA21Oqtfr9crlcgXdEhMTA+udVKskHT16VOPGjVPnzp0VHR2t/v37a9euXYH1Tqq3V69edY6ty+XSAw88IMlZtX733Xf61a9+peTkZEVFRal379564oknVFNTE+gTknob/OtDrdyqVatMZGSkef75581HH31kpk6damJiYkxJSUlLT63J3nzzTTNr1izz2muvGUlmzZo1QeufeuopExsba1577TWzd+9e87Of/cx069bNVFZWtsyEm+DGG280y5YtM/v27TN79uwxI0eOND169DAnTpwI9HFKvevWrTPr1683Bw4cMAcOHDAzZ840kZGRZt++fcYY59R5pu3bt5tevXqZK664wkydOjXQ7qR6Z8+ebfr27WuOHTsWuJWVlQXWO6nWr7/+2vTs2dNMnDjRvP/++6a4uNi8/fbb5uOPPw70cVK9ZWVlQce1oKDASDKbN282xjir1ieffNJ07tzZvPHGG6a4uNj86U9/MhdccIHJy8sL9AlFvW0usAwaNMj8/Oc/D2q79NJLzfTp01toRs3jzMBSU1NjEhMTzVNPPRVo+/bbb018fLx57rnnWmCGoVVWVmYkmcLCQmOM8+vt2LGj+eMf/+jYOo8fP2769OljCgoKzNChQwOBxWn1zp492/Tr16/edU6r9bHHHjPXXnvtWdc7rd4zTZ061Vx00UWmpqbGcbWOHDnSTJo0KahtzJgxZty4ccaY0B3bNvWW0OnTp7Vr1y5lZmYGtWdmZqqoqKiFZnV+FBcXq7S0NKh2t9utoUOHOqL2iooKSVKnTp0kObfe6upqrVq1SidPntQ111zj2DofeOABjRw5UsOHDw9qd2K9hw4dksfjUXJysu6880598sknkpxX67p16zRw4EDdfvvt6tq1q6688ko9//zzgfVOq/f7Tp8+rZUrV2rSpElyuVyOq/Xaa6/Vn//8Zx08eFCS9Ne//lXbtm3TTTfdJCl0x7bFvpq/JXz55Zeqrq6u84vQCQkJdX452mlq66uv9pKSkpaYUsgYY5STk6Nrr71WKSkpkpxX7969e3XNNdfo22+/1QUXXKA1a9bo8ssvDzzYnVKnJK1atUoffPCBduzYUWed047r4MGD9eKLL+qSSy7RF198oSeffFJpaWnav3+/42r95JNPtGTJEuXk5GjmzJnavn27/uM//kNut1vjx493XL3ft3btWn3zzTeaOHGiJOfdjx977DFVVFTo0ksvVXh4uKqrqzV37lyNHTtWUujqbVOBpZbL5QpaNsbUaXMqJ9b+4IMP6sMPP9S2bdvqrHNKvf/6r/+qPXv26JtvvtFrr72mCRMmqLCwMLDeKXUeOXJEU6dO1caNG9W+ffuz9nNKvSNGjAj8d2pqqq655hpddNFFWrFiha6++mpJzqm1pqZGAwcOVG5uriTpyiuv1P79+7VkyRKNHz8+0M8p9X7fCy+8oBEjRsjj8QS1O6XWV199VStXrlR+fr769u2rPXv2KDs7Wx6PRxMmTAj0a2q9beotoS5duig8PLzO2ZSysrI6yc9paq88cFrtDz30kNatW6fNmzere/fugXan1duuXTtdfPHFGjhwoObNm6d+/frpd7/7nePq3LVrl8rKyjRgwABFREQoIiJChYWF+v3vf6+IiIhATU6p90wxMTFKTU3VoUOHHHdsu3Xrpssvvzyo7bLLLtPhw4clOe8xW6ukpERvv/227rvvvkCb02p99NFHNX36dN15551KTU3V3XffrV/+8peaN2+epNDV26YCS7t27TRgwAAVFBQEtRcUFCgtLa2FZnV+JCcnKzExMaj206dPq7CwsFXWbozRgw8+qNWrV2vTpk1KTk4OWu+0es9kjJHP53NcncOGDdPevXu1Z8+ewG3gwIG66667tGfPHvXu3dtR9Z7J5/Ppb3/7m7p16+a4YztkyJA6Xz1w8OBB9ezZU5JzH7PLli1T165dNXLkyECb02qtqqpSWFhwnAgPDw9c1hyyehv/ueDWqfay5hdeeMF89NFHJjs728TExJhPP/20pafWZMePHze7d+82u3fvNpLMggULzO7duwOXbD/11FMmPj7erF692uzdu9eMHTu21V5G94tf/MLEx8ebd955J+jSwaqqqkAfp9Q7Y8YMs2XLFlNcXGw+/PBDM3PmTBMWFmY2btxojHFOnWfz/auEjHFWvQ8//LB55513zCeffGLee+89M2rUKBMbGxt4PnJSrdu3bzcRERFm7ty55tChQ+bll1820dHRZuXKlYE+TqrXGGOqq6tNjx49zGOPPVZnnZNqnTBhgrnwwgsDlzWvXr3adOnSxUybNi3QJxT1trnAYowxzz77rOnZs6dp166d+clPfhK4FLa127x5s5FU5zZhwgRjzD8vLZs9e7ZJTEw0brfbXHfddWbv3r0tO+lGqq9OSWbZsmWBPk6pd9KkSYH767/8y7+YYcOGBcKKMc6p82zODCxOqrf2uygiIyONx+MxY8aMMfv37w+sd1Ktxhjz+uuvm5SUFON2u82ll15qli5dGrTeafVu2LDBSDIHDhyos85JtVZWVpqpU6eaHj16mPbt25vevXubWbNmGZ/PF+gTinpdxhjT2NNAAAAA50Ob+gwLAABonQgsAADAegQWAABgPQILAACwHoEFAABYj8ACAACsR2ABAADWI7AAAADrEVgAAID1CCwAAMB6BBYAAGC9/wM0K2YwHQdzVAAAAABJRU5ErkJggg==\n", + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "# your code here\n", + "ages3 = pd.read_csv('../data/ages_population3.csv')\n", + "ages3.hist(bins=15)" + ] + }, + { + "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": 87, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "41.989\n", + "16.144705959865934\n" + ] + } + ], + "source": [ + "# your code here\n", + "print(ages3.observation.mean())\n", + "print(ages3.observation.std())" + ] + }, + { + "cell_type": "code", + "execution_count": 90, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "\"\\nThere is like a 'second' bump in the distribution centered at 60,\\nmaking the average get a little higher and increases the STDEV\"" + ] + }, + "execution_count": 90, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "\"\"\"\n", + "There is like a 'second' bump in the distribution centered at 60,\n", + "making the average get a little higher and increases the STDEV\"\"\"" + ] + }, + { + "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": 92, + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "30.0\n", + "40.0\n", + "53.0\n" + ] + }, + { + "data": { + "text/html": [ + "
\n", + "\n", + "\n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + " \n", + "
observation
count1000.000000
mean41.989000
std16.144706
min1.000000
25%30.000000
50%40.000000
75%53.000000
max77.000000
\n", + "
" + ], + "text/plain": [ + " observation\n", + "count 1000.000000\n", + "mean 41.989000\n", + "std 16.144706\n", + "min 1.000000\n", + "25% 30.000000\n", + "50% 40.000000\n", + "75% 53.000000\n", + "max 77.000000" + ] + }, + "execution_count": 92, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "# your code here\n", + "print(ages3.observation.quantile(.25))\n", + "print(ages3.observation.quantile(.5))\n", + "print(ages3.observation.quantile(.75))\n", + "\n", + "ages3.describe()" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "#### 4.- Calculate other percentiles that might be useful to give more arguments to your reasoning." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Bonus challenge\n", + "Compare the information about the three neighbourhoods. Prepare a report about the three of them. Remember to find out which are their similarities and their differences backing your arguments in basic statistics." + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# your code here" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\"\"\"\n", + "your comments here\n", + "\"\"\"" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.10.9" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +}