"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ " \n",
+ "\n",
+ "# Sort the dataframe by 'Dice Rolls' and reset index\n",
+ "sorted_df = df.sort_values(by='Dice Result').reset_index(drop=True)\n",
+ "# change index to start at 1\n",
+ "sorted_df.index = sorted_df.index + 1\n",
+ "\n",
+ "# Plotting the sorted results\n",
+ "plt.scatter(sorted_df.index, sorted_df['Dice Result'], color='red') # Create a scatter plot, I first chose bar plot but with scatter it is easier to see the dice result for each roll\n",
+ "plt.xlabel('Dice Rolls') # Label for x-axis\n",
+ "plt.ylabel('Dice Roll Outcome') # Label for y-axis\n",
+ "plt.title('Dice Rolls Sorted by Outcome') # Title of the plot\n",
+ "plt.xticks(range(1, 11)) # Set x-ticks to show original roll numbers\n",
+ "plt.grid(True) # add a grid for readability\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": 78,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+J0lEQVR4nO3de3zP9f//8fubHTGHjZ3CTJjzOTVyauWwkqTSQSaHPkJkfPQlhepjySEdHQpLPkk1wsc5hgplziGpMIctZ2Mytj1/f3TZ+9fbZuxtvLeX2/Vyef/xer6er9fr8X7ujbvn6/na22aMMQIAALCIIq4uAAAAID8RbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQblBgxcbGymaz5fgaMmSIq8u7LYwaNUo2m82hrVKlSurevXuezrN+/XqNGjVKZ86cydNxV15rzZo1stls+vrrr/N0ntxcuHBBo0aN0po1a7Lty/oMHjhwIN+udzOMGDFCFStWlJubm0qXLp3n47t3765KlSo5tNlsNo0aNSpf6ruVrqw76zOT088X1uXm6gKAa5k5c6aqV6/u0BYcHOyiajB//nyVLFkyT8esX79eo0ePVvfu3fP0j68z18qrCxcuaPTo0ZKkVq1aOex78MEHtWHDBgUFBd3UGm7EggUL9J///EevvPKK2rdvL09Pz3w574YNG1S+fPl8ORdwqxFuUODVrl1bjRs3vq6+ly9fls1mk5sbH+2bpUGDBjf9Gn/99Ze8vb1vybVyU65cOZUrV86lNVzLzz//LEkaMGCA/P398+2899xzT76d60ZcuHBBxYoVc3UZKGS4LYVCK2u6+bPPPtPgwYN1xx13yNPTU7/99psk6dtvv1VERIRKliypYsWKqVmzZlq1alW28yxevFj169eXp6enQkNDNX78+Gy3Yw4cOCCbzabY2Nhsx+c0fb9v3z49/fTT8vf3l6enp2rUqKEPP/wwx/rnzJmjV155RcHBwSpZsqTuv/9+7d27N9t1li1bpoiICJUqVUrFihVTjRo1FBMTI0n67LPPZLPZtGHDhmzHvf7663J3d9fRo0dzHc+cxiEnV94qyszM1JtvvqmwsDB5e3urdOnSqlu3rt59911Jf9/a+ve//y1JCg0Ntd9azLpNUKlSJT300EOaN2+eGjRoIC8vL/tMytVugV28eFHR0dEKDAyUt7e3WrZsqa1btzr0adWqVbaZGMnxFsyBAwfs4WX06NH22rKuebXbUjNmzFC9evXk5eUlX19fderUSXv27Ml2nRIlSui3335TZGSkSpQooQoVKmjw4MFKS0vLcWz/KTMzU2+//baqV68uT09P+fv7q1u3bjp8+LC9T6VKlTRixAhJUkBAwHXdSoqNjVVYWJj9czlr1qwc++V0riNHjuj5559XhQoV5OHhoeDgYD322GP6888/7X1SUlI0ZMgQhYaGysPDQ3fccYdeeuklpaamXvM9t2rVSrVr19a6devUtGlTFStWTD169JAkJSYmqmvXrg5/piZMmKDMzMxrnvdKf/zxh5588kkFBwfL09NTAQEBioiI0LZt2/J8LhRM/PcWBV5GRobS09Md2v45MzNs2DCFh4drypQpKlKkiPz9/TV79mx169ZNHTt21Keffip3d3dNnTpVbdu21fLlyxURESFJWrVqlTp27Kjw8HB98cUXysjI0Ntvv+3wl3Ve7d69W02bNlXFihU1YcIEBQYGavny5RowYIBOnDihkSNHOvQfPny4mjVrpk8++UQpKSl6+eWX1aFDB+3Zs0dFixaVJE2fPl29e/dWy5YtNWXKFPn7++vXX3+1/6+9S5cuGjp0qD788EOFh4fbz52enq6pU6eqU6dOud7Ku5FxePvttzVq1CiNGDFCLVq00OXLl/XLL7/Y19f06tVLp06d0vvvv6958+bZb/HUrFnTfo4tW7Zoz549GjFihEJDQ1W8ePFcrzl8+HA1bNhQn3zyic6ePatRo0apVatW2rp1qypXrnzNmrMEBQVp2bJlateunXr27KlevXpJUq6zNTExMRo+fLieeuopxcTE6OTJkxo1apTCw8O1adMmVa1a1d738uXLevjhh9WzZ08NHjxY69at0xtvvKFSpUrptddey7W2F154QdOmTVP//v310EMP6cCBA3r11Ve1Zs0abdmyRWXLltX8+fP14Ycfavr06Vq2bJlKlSqV662k2NhYPffcc+rYsaMmTJhgH7u0tDQVKZL7/3WPHDmiu+66S5cvX9bw4cNVt25dnTx5UsuXL9fp06cVEBCgCxcuqGXLljp8+LC9z65du/Taa69p586d+vbbb7Ot4bpSUlKSunbtqqFDh2rMmDEqUqSIjh8/rqZNm+rSpUt64403VKlSJf3vf//TkCFD9Pvvv+ujjz7K9ZxXioyMtH/GK1asqBMnTmj9+vV5XhOGAswABdTMmTONpBxfly9fNvHx8UaSadGihcNxqampxtfX13To0MGhPSMjw9SrV880adLE3nb33Xeb4OBg89dff9nbUlJSjK+vr/nnH4/9+/cbSWbmzJnZ6pRkRo4cad9u27atKV++vDl79qxDv/79+xsvLy9z6tQpY4yx1x8ZGenQ78svvzSSzIYNG4wxxpw7d86ULFnS3HvvvSYzM/Oq4zVy5Ejj4eFh/vzzT3vb3LlzjSSzdu3aqx6Xl3EwxpiQkBATFRVl337ooYdM/fr1cz3/uHHjjCSzf//+bPtCQkJM0aJFzd69e3Pc989rZY1Zw4YNHcbiwIEDxt3d3fTq1cve1rJlS9OyZcts54yKijIhISH27ePHj2f7GWbJ+gxm1X369Gnj7e2d7WeWmJhoPD09zdNPP+1wHUnmyy+/dOgbGRlpwsLCsl3rn/bs2WMkmb59+zq0//jjj0aSGT58uL1t5MiRRpI5fvx4rufMyMgwwcHBVx27f46JMdk/1z169DDu7u5m9+7dV71GTEyMKVKkiNm0aZND+9dff20kmSVLluRaY8uWLY0ks2rVKof2//u//zOSzI8//ujQ/sILLxibzebw2bmy7qzPTHx8vDHGmBMnThhJZtKkSbnWgsKN21Io8GbNmqVNmzY5vP45c9O5c2eH/uvXr9epU6cUFRWl9PR0+yszM1Pt2rXTpk2blJqaqtTUVG3atEmPPvqovLy87Mf7+PioQ4cOTtV68eJFrVq1Sp06dVKxYsUcrh8ZGamLFy9q48aNDsc8/PDDDtt169aVJB08eND+flJSUtS3b99c/9f7wgsvSJI+/vhje9sHH3ygOnXqqEWLFlc97kbHoUmTJtq+fbv69u2r5cuXKyUl5ZrHXKlu3bqqVq3adfd/+umnHcYiJCRETZs2VXx8fJ6vnRcbNmzQX3/9le1WWYUKFXTfffdlu+1ps9myjWHdunXtP9uryXofV16nSZMmqlGjRo63V69l7969Onr06FXH7lqWLl2q1q1bq0aNGlft87///U+1a9dW/fr1HT77bdu2ve4nlsqUKaP77rvPoW316tWqWbOmmjRp4tDevXt3GWO0evXqa543i6+vr+68806NGzdOEydO1NatW526tYWCjXCDAq9GjRpq3Lixw+ufrnySJetWymOPPSZ3d3eH19ixY2WM0alTp3T69GllZmYqMDAw2zVzarseJ0+eVHp6ut5///1s146MjJQknThxwuEYPz8/h+2sp13++usvSdLx48cl6ZpPrgQEBKhLly6aOnWqMjIytGPHDn333Xfq379/rsfd6DgMGzZM48eP18aNG9W+fXv5+fkpIiJCCQkJ1zw2S16fRrparSdPnszTefIq6/w51RscHJzt+sWKFXMIjNLfP9+LFy/m63WuR9Yxzv6cjx8/fs3P4J9//qkdO3Zk++z7+PjIGJPts5+TnN7zyZMnrzoWWfuvl81m06pVq9S2bVu9/fbbatiwocqVK6cBAwbo3Llz130eFGysuUGhd+VsRtmyZSVJ77///lWf+AgICLA/WZWcnJxt/5VtWf9AXbkQ9Mq/VMuUKaOiRYvq2WefVb9+/XK8dmhoaC7vJrus9R//XEh6NQMHDtRnn32mBQsWaNmyZSpdurSeeeaZXI8pU6bMdY9DTtzc3BQdHa3o6GidOXNG3377rYYPH662bdvq0KFD1/Wky7XWYVxPXcnJyQ5B0cvLS2fPns3W73r+gb2arPMnJSVl23f06FH7Z+9G/fM6VwYKZ6+TdU5nf87lypW75mewbNmy8vb21owZM666/1py+iz4+flddcyv97z/FBISounTp0uSfv31V3355ZcaNWqULl26pClTpuTpXCiYmLmB5TRr1kylS5fW7t27s834ZL08PDxUvHhxNWnSRPPmzXP4n/S5c+e0aNEih3MGBATIy8tLO3bscGhfsGCBw3axYsXUunVrbd26VXXr1s3x2lfO1FxL06ZNVapUKU2ZMkXGmFz7NmrUSE2bNtXYsWP13//+V927d7/m4ty8jMO1lC5dWo899pj69eunU6dO2Z8yunI26kbNmTPHYSwOHjyo9evXOzwdValSJf36668OgfTkyZNav369w7nyUlt4eLi8vb01e/Zsh/bDhw9r9erV9oXqNyrrtsyV19m0aZP27Nnj1HXCwsIUFBR01bG7lvbt2ys+Pj7HJ/myPPTQQ/r999/l5+eX42f/yl8UeL0iIiK0e/dubdmyxaF91qxZstlsat26tVPnlaRq1appxIgRqlOnTrbzo/Bi5gaWU6JECb3//vuKiorSqVOn9Nhjj8nf31/Hjx/X9u3b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TZqkSpUqqVatWrp06ZJmz56tuLg4xcXFuex9AACAgsOl4Wby5MmSpFatWjm0z5w5U927d5ckJSUlKTEx0b7v0qVLGjJkiI4cOSJvb2/VqlVLixcvVmRk5K0qGwAAFGAuvy11LbGxsQ7bQ4cO1dChQ29SRQAAoLArEAuKAQAA8gvhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWIpLw01MTIzuuusu+fj4yN/fX4888oj27t17zePWrl2rRo0aycvLS5UrV9aUKVNuQbUAAKAwcGm4Wbt2rfr166eNGzdq5cqVSk9PV5s2bZSamnrVY/bv36/IyEg1b95cW7du1fDhwzVgwADFxcXdwsoBAEBB5ebKiy9btsxhe+bMmfL399fmzZvVokWLHI+ZMmWKKlasqEmTJkmSatSooYSEBI0fP16dO3e+2SUDAIACrkCtuTl79qwkydfX96p9NmzYoDZt2ji0tW3bVgkJCbp8+XK2/mlpaUpJSXF4AQAA63LpzM0/GWMUHR2te++9V7Vr175qv+TkZAUEBDi0BQQEKD09XSdOnFBQUJDDvpiYGI0ePfqm1JyT0bZbd62CZKQZ6eoSAACQVIBmbvr3768dO3Zozpw51+xrs9kcto0xObZL0rBhw3T27Fn769ChQ/lTMAAAKJAKxMzNiy++qIULF2rdunUqX758rn0DAwOVnJzs0Hbs2DG5ubnJz88vW39PT095enrma70AAKDgcunMjTFG/fv317x587R69WqFhoZe85jw8HCtXLnSoW3FihVq3Lix3N3db1apAACgkHBpuOnXr59mz56tzz//XD4+PkpOTlZycrL++usve59hw4apW7du9u0+ffro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AABgKYQbAABgKYQbAABgKYQbAABgKS4NN+vWrVOHDh0UHBwsm82mb7755prHrF27Vo0aNZKXl5cqV66sKVOm3PxCAQBAoeHScJOamqp69erpgw8+uK7++/fvV2RkpJo3b66tW7dq+PDhGjBggOLi4m5ypQAAoLBwc+XF27dvr/bt2193/ylTpqhixYqaNGmSJKlGjRpKSEjQ+PHj1blz55tUJQAAKEwK1ZqbDRs2qE2bNg5tbdu2VUJCgi5fvpzjMWlpaUpJSXF4AQAA63LpzE1eJScnKyAgwKEtICBA6enpOnHihIKCgrIdExMTo9GjR9+qEuGk0bbb82c00ox0+tjbdcykGxs3ANZXqGZuJMlmszlsG2NybM8ybNgwnT171v46dOjQTa8RAAC4TqGauQkMDFRycrJD27Fjx+Tm5iY/P78cj/H09JSnp+etKA8AABQAhWrmJjw8XCtXrnRoW7FihRo3bix3d3cXVQUAAAoSl4ab8+fPa9u2bdq2bZukvx/13rZtmxITEyX9fUupW7du9v59+vTRwYMHFR0drT179mjGjBmaPn26hgwZ4oryAQBAAeTS21IJCQlq3bq1fTs6OlqSFBUVpdjYWCUlJdmDjiSFhoZqyZIlGjRokD788EMFBwfrvffe4zFwAABg59Jw06pVK/uC4JzExsZma2vZsqW2bNlyE6sCAACFWaFacwMAAHAthBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGApLg83H330kUJDQ+Xl5aVGjRrpu+++u2rfNWvWyGazZXv98ssvt7BiAABQkLk03MydO1cvvfSSXnnlFW3dulXNmzdX+/btlZiYmOtxe/fuVVJSkv1VtWrVW1QxAAAo6FwabiZOnKiePXuqV69eqlGjhiZNmqQKFSpo8uTJuR7n7++vwMBA+6to0aK3qGIAAFDQuSzcXLp0SZs3b1abNm0c2tu0aaP169fnemyDBg0UFBSkiIgIxcfH59o3LS1NKSkpDi8AAGBdLgs3J06cUEZGhgICAhzaAwIClJycnOMxQUFBmjZtmuLi4jRv3jyFhYUpIiJC69atu+p1YmJiVKpUKfurQoUK+fo+AABAweLm6gJsNpvDtjEmW1uWsLAwhYWF2bfDw8N16NAhjR8/Xi1atMjxmGHDhik6Otq+nZKSQsABAMDCXDZzU7ZsWRUtWjTbLM2xY8eyzebk5p577tG+ffuuut/T01MlS5Z0eAEAAOtyWbjx8PBQo0aNtHLlSof2lStXqmnTptd9nq1btyooKCi/ywMAAIWUS29LRUdH69lnn1Xjxo0VHh6uadOmKTExUX369JH09y2lI0eOaNasWZKkSZMmqVKlSqpVq5YuXbqk2bNnKy4uTnFxca58GwAAoABxabjp0qWLTp48qddff11JSUmqXbu2lixZopCQEElSUlKSw++8uXTpkoYMGaIjR47I29tbtWrV0uLFixUZGemqtwAAAAoYly8o7tu3r/r27ZvjvtjYWIftoUOHaujQobegKgAAUFi5/OsXAAAA8hPhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWIrLw81HH32k0NBQeXl5qVGjRvruu+9y7b927Vo1atRIXl5eqly5sqZMmXKLKgUAAIWBS8PN3Llz9dJLL+mVV17R1q1b1bx5c7Vv316JiYk59t+/f78iIyPVvHlzbd26VcOHD9eAAQMUFxd3iysHAAAFlUvDzcSJE9WzZ0/16tVLNWrU0KRJk1ShQgVNnjw5x/5TpkxRxYoVNWnSJNWoUUO9evVSjx49NH78+FtcOQAAKKhcFm4uXbqkzZs3q02bNg7tbdq00fr163M8ZsOGDdn6t23bVgkJCbp8+fJNqxUAABQebq668IkTJ5SRkaGAgACH9oCAACUnJ+d4THJyco7909PTdeLECQUFBWU7Ji0tTWlpafbts2fPSpJSUlJu9C3k6KIu3pTzFnQ3Op6MW97drmMm3bw/v7i62/Xzxt9tzrkZf0azzmmMuWZfl4WbLDabzWHbGJOt7Vr9c2rPEhMTo9GjR2drr1ChQl5LRS7eKvWWq0solBg35zBuuFX4rDnnZo7buXPnVKpUqVz7uCzclC1bVkWLFs02S3Ps2LFsszNZAgMDc+zv5uYmPz+/HI8ZNmyYoqOj7duZmZk6deqU/Pz8cg1RhU1KSooqVKigQ4cOqWTJkq4up9Bg3JzDuOUdY+Ycxs05Vhw3Y4zOnTun4ODga/Z1Wbjx8PBQo0aNtHLlSnXq1MnevnLlSnXs2DHHY8LDw7Vo0SKHthUrVqhx48Zyd3fP8RhPT095eno6tJUuXfrGii/ASpYsaZkP8q3EuDmHccs7xsw5jJtzrDZu15qxyeLSp6Wio6P1ySefaMaMGdqzZ48GDRqkxMRE9enTR9Lfsy7dunWz9+/Tp48OHjyo6Oho7dmzRzNmzND06dM1ZMgQV70FAABQwLh0zU2XLl108uRJvf7660pKSlLt2rW1ZMkShYSESJKSkpIcfudNaGiolixZokGDBunDDz9UcHCw3nvvPXXu3NlVbwEAABQwLl9Q3LdvX/Xt2zfHfbGxsdnaWrZsqS1bttzkqgofT09PjRw5MtstOOSOcXMO45Z3jJlzGDfn3O7jZjPX80wVAABAIeHy75YCAADIT4QbAABgKYQbAABgKYQbAABgKYSbQm7dunXq0KGDgoODZbPZ9M0337i6pAIvJiZGd911l3x8fOTv769HHnlEe/fudXVZBd7kyZNVt25d+y8FCw8P19KlS11dVqETExMjm82ml156ydWlFGijRo2SzWZzeAUGBrq6rALvyJEj6tq1q/z8/FSsWDHVr19fmzdvdnVZtxzhppBLTU1VvXr19MEHH7i6lEJj7dq16tevnzZu3KiVK1cqPT1dbdq0UWpqqqtLK9DKly+vt956SwkJCUpISNB9992njh07ateuXa4urdDYtGmTpk2bprp167q6lEKhVq1aSkpKsr927tzp6pIKtNOnT6tZs2Zyd3fX0qVLtXv3bk2YMMHSv5X/alz+e25wY9q3b6/27du7uoxCZdmyZQ7bM2fOlL+/vzZv3qwWLVq4qKqCr0OHDg7b//nPfzR58mRt3LhRtWrVclFVhcf58+f1zDPP6OOPP9abb77p6nIKBTc3N2Zr8mDs2LGqUKGCZs6caW+rVKmS6wpyIWZucNs7e/asJMnX19fFlRQeGRkZ+uKLL5Samqrw8HBXl1Mo9OvXTw8++KDuv/9+V5dSaOzbt0/BwcEKDQ3Vk08+qT/++MPVJRVoCxcuVOPGjfX444/L399fDRo00Mcff+zqslyCcIPbmjFG0dHRuvfee1W7dm1Xl1Pg7dy5UyVKlJCnp6f69Omj+fPnq2bNmq4uq8D74osvtGXLFsXExLi6lELj7rvv1qxZs7R8+XJ9/PHHSk5OVtOmTXXy5ElXl1Zg/fHHH5o8ebKqVq2q5cuXq0+fPhowYIBmzZrl6tJuOW5L4bbWv39/7dixQ99//72rSykUwsLCtG3bNp05c0ZxcXGKiorS2rVrCTi5OHTokAYOHKgVK1bIy8vL1eUUGv+83V6nTh2Fh4frzjvv1Keffqro6GgXVlZwZWZmqnHjxhozZowkqUGDBtq1a5cmT57s8CXUtwNmbnDbevHFF7Vw4ULFx8erfPnyri6nUPDw8FCVKlXUuHFjxcTEqF69enr33XddXVaBtnnzZh07dkyNGjWSm5ub3NzctHbtWr333ntyc3NTRkaGq0ssFIoXL646depo3759ri6lwAoKCsr2H40aNWo4fAH17YKZG9x2jDF68cUXNX/+fK1Zs0ahoaGuLqnQMsYoLS3N1WUUaBEREdme8nnuuedUvXp1vfzyyypatKiLKitc0tLStGfPHjVv3tzVpRRYzZo1y/ZrLX799VeFhIS4qCLXIdwUcufPn9dvv/1m396/f7+2bdsmX19fVaxY0YWVFVz9+vXT559/rgULFsjHx0fJycmSpFKlSsnb29vF1RVcw4cPV/v27VWhQgWdO3dOX3zxhdasWZPt6TM48vHxybaeq3jx4vLz82OdVy6GDBmiDh06qGLFijp27JjefPNNpaSkKCoqytWlFViDBg1S06ZNNWbMGD3xxBP66aefNG3aNE2bNs3Vpd16BoVafHy8kZTtFRUV5erSCqycxkuSmTlzpqtLK9B69OhhQkJCjIeHhylXrpyJiIgwK1ascHVZhVLLli3NwIEDXV1GgdalSxcTFBRk3N3dTXBwsHn00UfNrl27XF1Wgbdo0SJTu3Zt4+npaapXr26mTZvm6pJcwmaMMS7KVQAAAPmOBcUAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDcAAMBSCDfAbc5ms+mbb75xdRnX9M86Dxw4IJvNpm3btrm0JgAFE+EGsKDu3bvLZrPJZrPJ3d1dAQEBeuCBBzRjxgxlZmY69E1KSnL4Bub8NmrUKHstRYoUUXBwsJ555hkdOnTopl0zy65du/TEE0+oXLly8vT0VNWqVfXqq6/qwoULeTrPmjVrZLPZdObMmZtTKIB8RbgBLKpdu3ZKSkrSgQMHtHTpUrVu3VoDBw7UQw89pPT0dHu/wMBAeXp63tRaatWqpaSkJB0+fFhz587Vzp079cQTT9zUa27cuFF33323Ll26pMWLF+vXX3/VmDFj9Omnn+qBBx7QpUuXbur1AbgO4QawKE9PTwUGBuqOO+5Qw4YNNXz4cC1YsEBLly5VbGysvd+Vt6UOHz6sJ598Ur6+vipevLgaN26sH3/80b5/0aJFatSokby8vFS5cmWNHj3aISzlxM3NTYGBgQoODlbz5s3Vu3dvbdy4USkpKfY+kydP1p133ikPDw+FhYXps88+c/q9G2PUs2dP1ahRQ/PmzVOTJk0UEhKixx9/XIsWLdKGDRv0zjvvSMr5FteZM2dks9m0Zs0aHThwQK1bt5YklSlTRjabTd27d5ckZWZmauzYsapSpYo8PT1VsWJF/ec//7GfZ+fOnbrvvvvk7e0tPz8/Pf/88zp//rx9f/fu3fXII49ozJgxCggIUOnSpe3j+e9//1u+vr4qX768ZsyY4fD+jhw5oi5duqhMmTLy8/NTx44ddeDAAafHC7Aawg1wG7nvvvtUr149zZs3L8f958+fV8uWLXX06FEtXLhQ27dv19ChQ+23spYvX66uXbtqwIAB2r17t6ZOnarY2FiHf9CvJTk5WfPmzVPRokVVtGhRSdL8+fM1cOBADR48WD///LP+9a9/6bnnnlN8fLxT73Pbtm3avXu3oqOjVaSI419z9erV0/333685c+Zc17kqVKiguLg4SdLevXuVlJSkd999V5I0bNgwjR07Vq+++qp2796tzz//XAEBAZKkCxcuqF27dipTpow2bdqkr776St9++6369+/vcP7Vq1fr6NGjWrdunSZOnKhRo0bpoYceUpkyZfTjjz+qT58+6tOnj/023oULF9S6dWuVKFFC69at0/fff68SJUqoXbt2zEYBWVz8xZ0AboKoqCjTsWPHHPd16dLF1KhRw74tycyfP98YY8zUqVONj4+POXnyZI7HNm/e3IwZM8ah7bPPPjNBQUFXrWXkyJGmSJEipnjx4sbb29v+LewDBgyw92natKnp3bu3w3GPP/64iYyMzLHO/fv3G0lm69atOV7ziy++yHX/gAEDjLe391XPdfr0aSPJxMfHG2OMiY+PN5LM6dOn7X1SUlKMp6en+fjjj3O8xrRp00yZMmXM+fPn7W2LFy82RYoUMcnJycaYv39OISEhJiMjw94nLCzMNG/e3L6dnp5uihcvbubMmWOMMWb69OkmLCzMZGZm2vukpaUZb29vs3z58hxrAW43bi5LVQBcwhgjm82W475t27apQYMG8vX1zXH/5s2btWnTJoeZmoyMDF28eFEXLlxQsWLFcjwuLCxMCxcuVFpamhYsWKCvvvrK4Rx79uzR888/73BMs2bN7DMk+S23Mbhee/bsUVpamiIiIq66v169eipevLi9rVmzZsrMzNTevXvtMzy1atVymF0KCAhQ7dq17dtFixaVn5+fjh07Junvn8Fvv/0mHx8fh+tdvHhRv//++w29J8AqCDfAbWbPnj0KDQ3NcZ+3t3eux2ZmZmr06NF69NFHs+3z8vK66nEeHh6qUqWKpL//Md+3b59eeOEFh3U1V4aNGwkg1apVkyTt3r1b9evXz7b/l19+UdWqVSXJHiyMMfb9ly9fvuY1rjVWudX/z3Z3d/ds+3Jqy7o1mJmZqUaNGum///1vtvOWK1fumnUDtwPW3AC3kdWrV2vnzp3q3Llzjvvr1q2rbdu26dSpUznub9iwofbu3asqVapke125tiU3r776qubMmaMtW7ZIkmrUqKHvv//eoc/69etVo0aN6z7nP9WvX1/Vq1fXO++8k+3R9+3bt+vbb7/VU089Jen/B4KkpCR7nyt/f46Hh4ekv2epslStWlXe3t5atWpVjjXUrFlT27ZtU2pqqr3thx9+UJEiRezhyxkNGzbUvn375O/vn+1nUKpUKafPC1gJ4QawqLS0NCUnJ+vIkSPasmWLxowZo44dO+qhhx5St27dcjzmqaeeUmBgoB555BH98MMP+uOPPxQXF6cNGzZIkl577TXNmjVLo0aN0q5du7Rnzx7NnTtXI0aMyFNtlStXVseOHfXaa69Jkv79738rNjZWU6ZM0b59+zRx4kTNmzdPQ4YMceq922w2ffLJJ9q9e7c6d+6sn376SYmJifrqq6/UoUMHhYeH66WXXpL09wzMPffco7feeku7d+/WunXrsr2fkJAQ2Ww2/e9//9Px48d1/vx5eXl56eWXX9bQoUM1a9Ys/f7779q4caOmT58uSXrmmWfk5eWlqKgo/fzzz4qPj9eLL76oZ5991n5LyhnPPPOMypYtq44dO+q7777T/v37tXbtWg0cOFCHDx92+ryApbh0xQ+AmyIqKsq+cNfNzc2UK1fO3H///WbGjBkOi1eNcVyoa4wxBw4cMJ07dzYlS5Y0xYoVM40bNzY//vijff+yZctM06ZNjbe3tylZsqRp0qSJmTZt2lVrGTlypKlXr1629h9++MFIMhs3bjTGGPPRRx+ZypUrG3d3d1OtWjUza9asq9Z5rQXFWXbs2GE6d+5s/Pz8jLu7u7nzzjvNiBEjTGpqqkO/3bt3m3vuucd4e3ub+vXrmxUrVjgsKDbGmNdff90EBgYam81moqKijDHGZGRkmDfffNOEhIQYd3d3U7FiRYcF1zt27DCtW7c2Xl5extfX1/Tu3ducO3fOvj+nhd8tW7Y0AwcOdGgLCQkx77zzjn07KSnJdOvWzZQtW9Z4enqaypUrm969e5uzZ8/mOh7A7cJmzD9uNAMAABRy3JYCAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACW8v8AuT0Z4JG/5HUAAAAASUVORK5CYII=",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "# Calculating the frequency distribution of the dice rolls\n",
+ "frequency = df['Dice Result'].value_counts().sort_index()\n",
+ "frequency\n",
+ "# plotting the frequency results: \n",
+ "\n",
+ "plt.bar(frequency.index, frequency,color='purple') # create a bar plot using frequency data\n",
+ "plt.xlabel('Dice Roll Outcome') # setting x label as the roll results (numbers in the dice)\n",
+ "plt.ylabel('Frequency') # setting y label as the fequency of each number\n",
+ "plt.title('Frequency distribution of dice rolls') # setting a title for the plot\n",
+ "plt.xticks(range(1, 7)) # Set x-ticks to show all possible dice roll outcomes\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "While the plot of sorted values gives a detailed view of each roll's outcome in a specific order, \n",
+ "the frequency plot provides an overview of the overall outcomes, summarizing the entire set of rolls.\n",
+ "The sorted values plot displays each dice roll's outcome in a visually sorted order.\n",
+ "Each point or bar represents a specific dice roll, showing how each outcome compares to the others when arranged sequentially.\n",
+ "The frequency plot aggregates the results to show how many times each possible outcome occurred across all rolls. \n",
+ "It summarizes the data by counting occurrences rather than showing each roll individually, as the plot of sorted values.\n",
+ "Providing complementary perspectives, together both plots allow us to see a fuller picture of the data's characteristics than either could alone.\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": 79,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "4.0"
+ ]
+ },
+ "execution_count": 79,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "def mean_calculation(column):\n",
+ " \"\"\"\n",
+ " Takes a column with numerical values that can be summed and counted, sums and counts them without using built-in functions, \n",
+ " then divides the sum by the count, and returns the mean of the data provided\n",
+ " \"\"\"\n",
+ " #Check if the data list is not empty\n",
+ " if len(column) == 0:\n",
+ " return None # handling empty data\n",
+ " \n",
+ " total_sum = 0 # Initialize a variable to store the sum of all elements\n",
+ " count = 0 # Initialize a counter to count the number of elements\n",
+ " \n",
+ " # Loop through each element in the data list\n",
+ " for value in column:\n",
+ " total_sum += value # Add each element to total_sum\n",
+ " count += 1 # Increment the count for each element\n",
+ " \n",
+ " # Calculate the mean by dividing the total sum by the number of elements\n",
+ " mean = total_sum / count\n",
+ " \n",
+ " return mean\n",
+ "\n",
+ "mean_calculation(df['Dice Result'])\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 2.- First, calculate the frequency distribution. Then, calculate the mean using the values of the frequency distribution you've just computed. You are not allowed to use any methods or functions that directly calculate the mean value. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 111,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "4.0"
+ ]
+ },
+ "execution_count": 111,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "def calculate_mean_from_frequency(data):\n",
+ " # Calculating the frequency distribution using another method\n",
+ " frequency_distribution = {} # create an empty dictionary\n",
+ " for number in data:\n",
+ " if number in frequency_distribution:\n",
+ " frequency_distribution[number] += 1\n",
+ " else:\n",
+ " frequency_distribution[number] = 1\n",
+ " # Calculating the mean using the frequency distribution\n",
+ " total_sum = 0 # start the sum at 0\n",
+ " total_count = 0 # start the count at 0\n",
+ " for number, frequency in frequency_distribution.items():\n",
+ " total_sum += number * frequency # sum it dice value multiplied by it's frequency\n",
+ " total_count += frequency # sum the frequencies\n",
+ "\n",
+ " # Calculating the mean\n",
+ " mean = total_sum / total_count\n",
+ " return mean\n",
+ "\n",
+ "calculate_mean_from_frequency(df['Dice Result'])"
+ ]
+ },
+ {
+ "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": 112,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# your code here\n",
+ "def calculate_median(data):\n",
+ " # Step 1: Sort the data\n",
+ " sorted_data = sorted(data)\n",
+ " \n",
+ " # Step 2: Determine the number of observations\n",
+ " n = len(sorted_data)\n",
+ " \n",
+ " # Step 3: Compute the median\n",
+ " if n % 2 == 1:\n",
+ " # If odd, the median is the middle element\n",
+ " median = sorted_data[n // 2]\n",
+ " else:\n",
+ " # If even, the median is the average of the two middle elements\n",
+ " mid_index = n // 2\n",
+ " median = (sorted_data[mid_index - 1] + sorted_data[mid_index]) / 2\n",
+ " \n",
+ " return median"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 4.- Define a function to calculate the four quartiles. You can use the function you defined above to compute the median but you are not allowed to use any methods or functions that directly calculate the quartiles. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 113,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# your code here\n",
+ "\n",
+ "def calculate_quartiles(data):\n",
+ " sorted_data = sorted(data)\n",
+ " n = len(sorted_data)\n",
+ " # Calculate Q2 (Median)\n",
+ " Q2 = calculate_median(sorted_data)\n",
+ "\n",
+ " # Find the split index for odd and even length datasets\n",
+ " if n % 2 == 0:\n",
+ " lower_half = sorted_data[:n // 2]\n",
+ " upper_half = sorted_data[n // 2:]\n",
+ " else:\n",
+ " lower_half = sorted_data[:n // 2]\n",
+ " upper_half = sorted_data[n // 2 + 1:]\n",
+ "\n",
+ " # Calculate Q1 and Q3 using the median function on halves\n",
+ " Q1 = calculate_median(lower_half)\n",
+ " Q3 = calculate_median(upper_half)\n",
+ " Q4 = sorted_data[-1] # Maximum value\n",
+ "\n",
+ " return Q1, Q2, Q3, Q4"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Challenge 3\n",
+ "Read the csv `roll_the_dice_hundred.csv` from the `data` folder.\n",
+ "#### 1.- Sort the values and plot them. What do you see?"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 148,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#plot the results\n",
+ "\n",
+ "# Creating the plot\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.plot(sorted_roll_hundred.index, sorted_roll_hundred['value'],marker='o', linestyle='-', color='r') # Plot using columns\n",
+ "plt.title('Line Plot of Dice Rolls Sorted by Values')\n",
+ "plt.xlabel('Rolls')\n",
+ "plt.ylabel('Values')\n",
+ "plt.xticks(range(1, 101, 10)) # Adjust based on your actual roll numbers\n",
+ "plt.yticks(range(1, 7))\n",
+ "plt.grid(True)\n",
+ "plt.show()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "This plot displays a non-decreasing line, as the values are sorted from the smallest to the largest. \n",
+ "The y-axis shows dice values from 1 to 6, and each point represents a dice result in ascending order. \n",
+ "The x-axis now effectively becomes an index representing the position in the sorted list rather than the original roll number.\n",
+ "\n",
+ "Looking at this plot I can see that it visually demonstrates the frequency and spread of the dice outcomes in a clear, sorted manner.\n",
+ "I can tell that, in the 100 attempts, there seems to be a higher frequency of outcomes for number 6 and for, followed by 2, and the other numbers have a rather balanced freqency\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": 159,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "3.74"
+ ]
+ },
+ "execution_count": 159,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "\n",
+ "mean_calculation(roll_the_dice_hundred['value'])\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 3.- Now, calculate the frequency distribution.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 162,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
frequency
\n",
+ "
\n",
+ "
\n",
+ "
value
\n",
+ "
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1
\n",
+ "
12
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
17
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
14
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
22
\n",
+ "
\n",
+ "
\n",
+ "
5
\n",
+ "
12
\n",
+ "
\n",
+ "
\n",
+ "
6
\n",
+ "
23
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " frequency\n",
+ "value \n",
+ "1 12\n",
+ "2 17\n",
+ "3 14\n",
+ "4 22\n",
+ "5 12\n",
+ "6 23"
+ ]
+ },
+ "execution_count": 162,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "\n",
+ "frequency = roll_the_dice_hundred['value'].value_counts().sort_index()\n",
+ "frequency = frequency.to_frame(name='frequency')\n",
+ "frequency"
+ ]
+ },
+ {
+ "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": 169,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAIhCAYAAABwnkrAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSVElEQVR4nO3dd3wUdeL/8fduskk2IYUkhBBKQLo0BRRBpIhwgnICng2QIvwsWEHlK5Yj3FEUTg7Pgu0E4Q7FAsrdiYhKUQGPIlVEUCCUhBAS0hOS7Pz+QHJkQ8uQySTL6/l47CPs7MzOe3eySd58Zj/rMAzDEAAAAACghNPuAAAAAABQ1VCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAOA85s6dK4fDoQ0bNpzx9ptvvlkNGzYstaxhw4YaMWJEufazZs0aJSQk6Pjx4+aCXoIWLlyoVq1aye12y+FwaPPmzWdd99lnn9XNN9+sunXryuFwnPP4/Prrrxo0aJAiIiJUo0YN9e7dW5s2bTrjuu+//76uuOIKBQUFKS4uTo899piys7PPm33fvn1yOBwlF5fLpaioKF111VUaO3asduzYUWablStXyuFwaOXKlee9/4rUsGHDUllDQkLUvn17vfLKKzIMw/R9nn4MTj0fc+fOrZjQAHCRKEoAYIHFixfrueeeK9c2a9as0aRJkyhKF+jo0aO6++671bhxY33++edau3atmjVrdtb1//rXv+rYsWP6/e9/r4CAgHPe73XXXaeff/5Z77zzjj744APl5+erR48e2rVrV6l1//nPf+quu+7SVVddpaVLl2rixImaO3euBg0adMGP4+GHH9batWu1atUqzZ8/XwMGDNCSJUvUrl07zZgxo9S67du319q1a9W+ffsLvv+Kcu2112rt2rVau3at5s+fr+DgYD388MOaNm1apWcBgMrgb3cAAPBFV155pd0Ryq2wsFAOh0P+/tXjV8PPP/+swsJCDR06VN27dz/v+llZWXI6T/7/4Pz588+63owZM3T06FGtWbNG8fHxkqSuXbuqcePG+uMf/6iFCxdKkoqLi/Xkk0+qT58+euuttyRJPXv2VGhoqIYMGaKlS5eqb9++583VoEEDXXPNNSXX+/Xrp3HjxmnQoEEaP368WrduXXI/YWFhpdatTBEREaX2fcMNN6hBgwZ644039PTTT9uSCQCsxIgSAFjA+7Qij8ejyZMnq3nz5nK73YqIiFDbtm310ksvSZISEhL05JNPSpIaNWpUcorTqVOsPB6Ppk+frhYtWigwMFAxMTEaNmyYDh48WGq/hmFo6tSpio+PV1BQkDp27Kjly5erR48e6tGjR8l6p07hmj9/vh5//HHVrVtXgYGB2rNnj44ePaoxY8bo8ssvV40aNRQTE6Prr79e33zzTal9nTpVasaMGXrhhRfUsGFDud1u9ejRo6TEPPXUU4qLi1N4eLgGDhyolJSUC3r+lixZos6dOys4OFihoaHq3bu31q5dW3L7iBEj1LVrV0nSHXfcIYfDUerxncmpknQ+ixcv1vXXX19SkqSTBWXQoEH617/+paKiIknSunXrlJSUpJEjR5ba/rbbblONGjW0ePHiC9rfmbjdbv3973+Xy+UqNap0tlPvvv/+e/Xv319RUVEKCgpS48aN9dhjj5VaZ/fu3Ro8eLBiYmIUGBioli1b6tVXXzWdMSwsTM2aNdORI0dKLU9LS9OYMWNUt25dBQQE6LLLLtMzzzyjgoKCcu/j6NGjuvfee1W/fn0FBgaqVq1auvbaa/Xll1+azg0AF6p6/LchAFQBxcXFJX8kn+5C3qMxffp0JSQk6Nlnn1W3bt1UWFion376qeQ0u9GjRystLU0vv/yyFi1apDp16kiSLr/8cknSAw88oDfffFMPPfSQbr75Zu3bt0/PPfecVq5cqU2bNik6OlqS9Mwzz2jatGm69957NWjQIB04cECjR49WYWHhGU9LmzBhgjp37qzXX39dTqdTMTExOnr0qCRp4sSJio2NVXZ2thYvXqwePXroq6++KlNIXn31VbVt21avvvqqjh8/rscff1z9+/dXp06d5HK59M4772j//v164oknNHr0aC1ZsuScz9WCBQs0ZMgQ9enTR++9954KCgo0ffr0kv137dpVzz33nK6++mo9+OCDmjp1qnr27KmwsLDzHofzycvL0y+//KKBAweWua1t27bKy8vTr7/+qmbNmmn79u0ly0/ncrnUokWLktvNiouLU4cOHbRmzRoVFRWddaRv2bJl6t+/v1q2bKmZM2eqQYMG2rdvn7744ouSdX788Ud16dJFDRo00IsvvqjY2FgtW7ZMjzzyiFJT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Xbt26U9/+pMaNWp0xln/KpLT6dT06dM1ZMgQ3XzzzbrvvvtUUFCgGTNm6Pjx43r++edN3/eqVatKTlUrLi7W/v379dFHH0mSunfvXjI688QTT2j+/Pm66aab9Kc//UmBgYF6/vnnlZ+fr4SEhJL78/Pz0/Tp03X33Xfrvvvu01133aXdu3dr/Pjx6t27t2688cYLypWYmKh169bJ4/EoIyNDP/zwQ8lMgS+++KL69Olzzu1fffVV9e/fX9dcc43Gjh2rBg0aKDExUcuWLdM///lPSSe/p7p27arrrrtODzzwgBo2bKisrCzt2bNH//rXv/T111+X9+ksea5ef/11TZo0SbfffruGDRumV199VcOHD9e+ffvUpk0bffvtt5o6dar69eunG2644YLvOyMjQz179tTgwYPVokULhYaGav369fr8888vqoQCwAWzeTIJAKjyTs16t379+jPeftNNN5131rsXX3zR6NKlixEdHW0EBAQYDRo0MEaNGmXs27ev1HYTJkww4uLiDKfTWWp2s+LiYuOFF14wmjVrZrhcLiM6OtoYOnSoceDAgVLbezweY/LkyUa9evWMgIAAo23btsa///1vo127dqVmrDvXjHEFBQXGE088YdStW9cICgoy2rdvb3zyySfG8OHDSz3Os83adrb7Pt/zeLpPPvnE6NSpkxEUFGSEhIQYvXr1Mr777rsL2s/ZdO/e/ayzFp4+i5xhGMaePXuMAQMGGGFhYUZwcLDRq1cvY+PGjWe83wULFhht27Y1AgICjNjYWOORRx4xsrKyzpvn1PN36uLn52fUrFnT6NChg/HYY48ZO3bsKLPNmWa9M4yTMxv27dvXCA8PNwIDA43GjRsbY8eOLbO/e+65x6hbt67hcrmMWrVqGV26dDEmT5583qzx8fHGTTfddMbbXn31VUOS8e677xqGYRjHjh0z7r//fqNOnTqGv7+/ER8fb0yYMMHIz88vc5/nmvUuPz/fuP/++422bdsaYWFhhtvtNpo3b25MnDjRyMnJOW9mALhYDsO4gA8AAQBUW3v37lWLFi00ceJEPf3003bHAQCgWqAoAYAP2bJli9577z116dJFYWFh2rVrl6ZPn67MzExt3779rLPfAQCA0niPEgD4kJCQEG3YsEF///vfdfz4cYWHh6tHjx6aMmUKJQkAgHJgRAkAAAAAvDA9OAAA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c9dddyk2NlYDBgzQd999p19//VUff/yx1q5dK0n64x//qHnz5ikhIUE7duzQzp07tXDhQj377LPnzOJwODRy5EjNnj1ba9eu1ahRo0pua9KkiTZs2KBly5bp559/1nPPPaf169ef8/6uv/56zZ8/X9988422b9+u4cOHy8/Pr+T2G264QZ07d9aAAQO0bNky7du3T2vWrNGzzz6rDRs2KC8vTw899JBWrlyp/fv367vvvtP69evVsmXLC316AQCVhKIEAKhQn3/+uerUqaOGDRvqxhtv1IoVK/S3v/1Nn376aalScbqAgAB98cUXiomJUb9+/dSmTRs9//zzJev/7ne/07///W8tX75cV111la655hrNnDlT8fHx580zYsQIZWRkqHnz5rr22mtLlt9///0aNGiQ7rjjDnXq1EnHjh0rNbp0JhMmTFC3bt108803q1+/fhowYECp9xc5HA599tln6tatm+655x41a9ZMd955p/bt26fatWvLz89Px44d07Bhw9SsWTPdfvvt6tu3b6lJJQAAVYPD8D7ZGgAAAAAucYwoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAICX/w9TmU+cOigTJgAAAABJRU5ErkJggg==",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ "3.74"
+ ]
+ },
+ "execution_count": 169,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.hist(roll_the_dice_hundred['value'], bins=range(1, 8), align='left', color='purple', edgecolor='black') # \n",
+ "plt.title('Histogram of 100 Dice Rolls')\n",
+ "plt.xlabel('Dice Values')\n",
+ "plt.ylabel('Frequency')\n",
+ "plt.xticks(range(1, 7))\n",
+ "plt.grid(True)\n",
+ "plt.axvline(mean_value, color='orange', linestyle='dashed', linewidth=1) # Add a vertical line for the mean on the histogram\n",
+ "plt.text(mean_value+0.1, plt.ylim()[1]-5, f'Mean: {mean_value:.2f}', color = 'red')\n",
+ "plt.show()\n",
+ "# Calculate the mean value of dice rolls\n",
+ "mean_value = mean_calculation(roll_the_dice_hundred['value'])\n",
+ "mean_value\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "Shape: The histogram shows bars corresponding to each of the six dice values (1 through 6). \n",
+ "The height of each bar represents the number of times each value was rolled.\n",
+ "Values: Each bar's height (frequency) shows how often that particular result was rolled in the 100 trials. \n",
+ "Looking at the histogram, we can see that, in these 100 rolls, the numbers 4 and 6 showed up way more often—22 and 23 times, respectively—\n",
+ "compared to the others, which appeared only 12 to 17 times each. \n",
+ "Looking at the mean in the plot, we can see that it is, indeed, slighlty skewed to the right\n",
+ "Normally, you'd expect each number to come up about 16 or 17 times if the dice rolls were completely random and the dice was fair. \n",
+ "The higher counts for 4 and 6 might just be chance, or it might mean something's off with the dice or how we're rolling it. \n",
+ "To really figure out what's happening, I'd probably need to do more rolls or check out the dice and how we're rolling more closely\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": 172,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZpUlEQVR4nO3dd3xUVf7/8fekTQoJLYQkEkIH6QIuRYUg0ouASlOptpXFAqzfxbIEVwFhRVlY0VVpIsWG4iogKkUFXEBBQKV3EppAEgghydzfH/fHyJgEmCHJzcy8no/HPI63zJ3PzSEwb8+ZMzbDMAwBAAAAAK5ZgNUFAAAAAIC3IUgBAAAAgJsIUgAAAADgJoIUAAAAALiJIAUAAAAAbiJIAQAAAICbCFIAAAAA4CaCFAAAAAC4iSAFAAAAAG4iSAGAG2bPni2bzaaNGzfme7xbt26qUqWKy74qVapo8ODBbr3O2rVrlZycrDNnznhWqB9atGiR6tWrp7CwMNlsNm3evLnAc5999ll169ZNN9xwg2w22xX7Z+/everdu7fKlCmjUqVKqX379vrhhx/yPXfhwoVq3LixQkNDFR8fryeeeEIZGRl5zsvIyNATTzyh+Ph4hYaGqnHjxlq4cOE13WdycrJsNpvzER4erkqVKqljx46aNm2a0tPT8zxn8ODBef5cFrVVq1a51BkYGKgKFSqoe/fuBf7+XOs1V61a5dx36ecBAMWNIAUARWzx4sV67rnn3HrO2rVrNW7cOILUNTpx4oTuv/9+Va9eXcuWLdO6detUq1atAs9/5ZVXdOrUKfXo0UMhISFXvO5tt92mnTt3aubMmXrvvfd04cIFJSUlaceOHS7nvvvuu+rfv79uvvlmLV26VGPHjtXs2bPVu3fvPNft3bu35syZo7Fjx2rp0qW6+eab1b9/f82fP/+a7/nSfS5btkz//Oc/VblyZT311FOqV6+etmzZ4nLuc889p8WLF1/ztQvT+PHjtW7dOq1atUrPPfec1q5dqzZt2mjXrl2W1AMAhSXI6gIAwNfddNNNVpfgtuzsbNlsNgUFecc/Ezt37lR2drbuu+8+tWnT5qrnp6enKyDA/H+J77zzToHnTZ48WSdOnNDatWuVmJgoSbr11ltVvXp1/f3vf9eiRYskSbm5ufrrX/+qDh066M0335QktW3bVpGRkbr33nu1dOlSde7cWZL0+eefa8WKFZo/f7769+/vPPfAgQP661//qr59+yowMPCq99C0aVNFR0c7t/v166e//OUvatOmjXr06KGdO3fKbrdLkqpXr37V6xWVmjVrqkWLFpKk2267TWXKlNGgQYM0b948jRs3zrK6AOB6MSIFAEXsj1P7HA6HXnjhBdWuXVthYWEqU6aMGjZsqKlTp0oypyr99a9/lSRVrVrVOTXq0nQmh8OhSZMmqU6dOrLb7YqJidHAgQN1+PBhl9c1DEPjx49XYmKiQkND1axZM61YsUJJSUlKSkpynndputQ777yjUaNG6YYbbpDdbtfu3bt14sQJPfroo6pbt65KlSqlmJgY3X777frmm29cXmv//v2y2WyaPHmyXnrpJVWpUkVhYWFKSkpyhpy//e1vio+PV+nSpdWrVy8dP378mn5+S5YsUcuWLRUeHq7IyEi1b99e69atcx4fPHiwbr31VklS3759ZbPZXO4vP5dC1NUsXrxYt99+uzNESVJUVJR69+6tTz/9VDk5OZKk9evXKyUlRUOGDHF5/j333KNSpUq5jAYtXrxYpUqV0j333ONy7pAhQ3T06FF9//3311Rbfho1aqRnnnlGBw8edIY8Kf+pfQ6HQ9OmTVPjxo2dfw5btGihJUuWuJy3aNEitWzZUhERESpVqpQ6duyoH3/80eMamzVrJkk6duyYy/5vv/1W7dq1U2RkpMLDw9WqVSt99tlnHr3G119/raSkJJUvX15hYWGqXLmy7rrrLp0/f97jugHgjwhSAOCB3Nxc5eTk5HkYhnHV506aNEnJycnq37+/PvvsMy1atEjDhg1zTuN74IEHNGLECEnSRx99pHXr1mndunVq0qSJJOnPf/6z/u///k/t27fXkiVL9I9//EPLli1Tq1atdPLkSefrPPPMM3rmmWfUqVMnffLJJ3rkkUf0wAMPaOfOnfnWNWbMGB08eFCvv/66Pv30U8XExOi3336TJI0dO1afffaZZs2apWrVqikpKcnlcyqX/Pvf/9Z3332nf//733rrrbf066+/qnv37ho2bJhOnDihmTNnatKkSfryyy/1wAMPXPVnNX/+fN15552KiorSggUL9Pbbb+v06dNKSkrSt99+K8mctvbvf/9b0u/TyF577bWrXvtqMjMztWfPHjVs2DDPsYYNGyozM1N79+6VJG3bts25/3LBwcGqU6eO8/ilc2+88cY8o32Xnnv5uZ7o0aOHJGnNmjVXPG/w4MF6/PHHdfPNN2vRokVauHChevToof379zvPGT9+vPr376+6devqvffe0zvvvKP09HTddttt+vnnnz2qb9++fZLkMvVy9erVuv3223X27Fm9/fbbWrBggSIjI9W9e3eXQHgt9u/fr65duyokJEQzZ87UsmXLNHHiREVEROjixYse1QwA+TIAANds1qxZhqQrPhITE12ek5iYaAwaNMi53a1bN6Nx48ZXfJ3Jkycbkox9+/a57P/ll18MScajjz7qsv/77783JBlPP/20YRiG8dtvvxl2u93o27evy3nr1q0zJBlt2rRx7lu5cqUhyWjduvVV7z8nJ8fIzs422rVrZ/Tq1cu5f9++fYYko1GjRkZubq5z/6uvvmpIMnr06OFynSeeeMKQZJw9e7bA18rNzTXi4+ONBg0auFwzPT3diImJMVq1apXnHt5///2r3sMfRUREuPTPJUeOHDEkGRMmTMhzbP78+YYkY+3atYZhGMaLL75oSDJSUlLynNuhQwejVq1azu2aNWsaHTt2zHPe0aNHDUnG+PHjr1jv2LFjDUnGiRMn8j2emZlpSDI6d+7s3Ddo0CCXP5dr1qwxJBnPPPNMga9z8OBBIygoyBgxYoTL/vT0dCM2Ntbo06fPFeu81CeLFi0ysrOzjfPnzxvfffedUbt2baNu3brG6dOnnee2aNHCiImJMdLT0537cnJyjPr16xuVKlUyHA6HyzVXrlyZ5+dxyQcffGBIMjZv3nzF+gDgejEiBQAemDt3rjZs2JDncWmK2ZX86U9/0pYtW/Too49q+fLlSktLu+bXXblypSTlWWXuT3/6k2688UZ99dVXksypZllZWerTp4/LeS1atChw9ba77ror3/2vv/66mjRpotDQUAUFBSk4OFhfffWVfvnllzzndunSxWXa3I033ihJ6tq1q8t5l/YfPHiwgDuVduzYoaNHj+r+++93uWapUqV01113af369cUyVetKK8L98VhB517reVc7di2MaxgVXbp0qSRp+PDhBZ6zfPly5eTkaODAgS6jrqGhoWrTpk2+I5L56du3r4KDgxUeHq5bbrlFaWlp+uyzz1SmTBlJ0rlz5/T999/r7rvvVqlSpZzPCwwM1P3336/Dhw/nWdjjSho3bqyQkBA99NBDmjNnjnPUEAAKG0EKADxw4403qlmzZnkepUuXvupzx4wZo3/+859av369OnfurPLly6tdu3bXtCT0qVOnJElxcXF5jsXHxzuPX2orVqyY57z89hV0zSlTpujPf/6zmjdvrg8//FDr16/Xhg0b1KlTJ2VmZuY5v1y5ci7bl1bEK2j/hQsX8q3l8nso6F4dDodOnz5d4POvV9myZWWz2Zx1XO7SlMdL91W+fHlJKvDcy++/fPny13RNTx04cECS+TMqyIkTJxQYGKjY2NgCz7n0Gaabb75ZwcHBLo9Fixa5TCO9kpdeekkbNmzQ6tWr9cwzz+jYsWPq2bOnsrKyJEmnT5+WYRgF9rOU/8+1INWrV9eXX36pmJgYDR8+XNWrV1f16tWdn0EEgMLiHcsxAYAPCQoK0siRIzVy5EidOXNGX375pZ5++ml17NhRhw4dUnh4eIHPvfSGPSUlRZUqVXI5dvToUecqbpfO++MH+iUpNTU131Gp/EZC5s2bp6SkJM2YMcNlf37fVVTYLr/XPzp69KgCAgJUtmzZInv9sLAw1ahRQ1u3bs1zbOvWrQoLC1O1atUkSQ0aNHDur1u3rvO8nJwc/frrr87V+S6du2DBAuXk5Lh8TurS69SvX/+66r60WMSVFtyoUKGCcnNzlZqamm+AkeT8s/TBBx+4LLbhrmrVqjkXmGjdurXCwsL07LPPatq0aRo9erTKli2rgICAAvv58lqu1W233abbbrtNubm52rhxo6ZNm6YnnnhCFStWVL9+/Ty+FwC4HCNSAGChMmXK6O6779bw4cP122+/OT/of2nZ6j+O+tx+++2SzIBzuQ0bNuiXX35Ru3btJEnNmzeX3W7P80H99evXO0csroXNZnPWcslPP/3ksmpeUaldu7ZuuOEGzZ8/32W62rlz5/Thhx86V/IrSr169dLXX3+tQ4cOOfelp6fro48+Uo8ePZxBqHnz5oqLi9Ps2bNdnv/BBx8oIyPD5bukevXqpYyMDH344Ycu586ZM0fx8fFq3ry5x/Vu2bJF48ePV5UqVfJM67zcpaXY/xiQL9exY0cFBQVpz549+Y6+XgpH7nrqqadUo0YNTZw4Uenp6YqIiFDz5s310Ucfufx5dzgcmjdvnipVqnTF7wS7ksDAQDVv3ty5GElBX6QMAJ5gRAoAiln37t1Vv359NWvWTBUqVNCBAwf06quvKjExUTVr1pT0+wjH1KlTNWjQIAUHB6t27dqqXbu2HnroIU2bNk0BAQHq3Lmz9u/fr+eee04JCQl68sknJZnTw0aOHKkJEyaobNmy6tWrlw4fPqxx48YpLi7umpf/7tatm/7xj39o7NixatOmjXbs2KHnn39eVatWdS79XVQCAgI0adIk3XvvverWrZsefvhhZWVlafLkyTpz5owmTpzo8bVXr16tEydOSDJXYDxw4IA++OADSVKbNm1UoUIFSdLo0aP1zjvvqGvXrnr++edlt9s1ceJEXbhwQcnJyc7rBQYGatKkSbr//vv18MMPq3///tq1a5eeeuoptW/fXp06dXKe27lzZ7Vv315//vOflZaWpho1amjBggVatmyZ5s2bd03fISVJmzZtUunSpZWdna2jR4/qq6++0jvvvKOYmBh9+umnV/yi4dtuu03333+/XnjhBR07dkzdunWT3W7Xjz/+qPDwcI0YMUJVqlTR888/r2eeeUZ79+5Vp06dVLZsWR07dkz/+9//FBER4dH3QAUHB2v8+PHq06ePpk6dqmeffVYTJkxQ+/bt1bZtW40ePVohISF67bXXtG3bNi1YsMCtz429/vrr+vrrr9W1a1dVrlxZFy5c0MyZMyVJd9xxh9v1AkCBLF7sAgC8yqVV+zZs2JDv8a5du1511b6XX37ZaNWqlREdHW2EhIQYlStXNoYNG2bs37/f5Xljxowx4uPjjYCAAJeVynJzc42XXnrJqFWrlhEcHGxER0cb9913n3Ho0CGX5zscDuOFF14wKlWqZISEhBgNGzY0/vvf/xqNGjVyWXHvSiveZWVlGaNHjzZuuOEGIzQ01GjSpInx8ccf51kF7tKqfZMnT3Z5fkHXvtrP8XIff/yx0bx5cyM0NNSIiIgw2rVrZ3z33XfX9DoFadOmTYGrLl6+IpxhGMbu3buNnj17GlFRUUZ4eLjRrl07Y9OmTfled/78+UbDhg2NkJAQIzY21njsscdcVqK7JD093XjssceM2NhYZ98sWLDgmmq/tErdpYfdbjfi4uKMDh06GFOnTjXS0tLyPOeP/WUY5p+jV155xahfv74REhJilC5d2mjZsqXx6aefupz38ccfG23btjWioqIMu91uJCYmGnfffbfx5ZdfXrHOq/VJ8+bNjbJlyxpnzpwxDMMwvvnmG+P22283IiIijLCw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vjJlyhRVibiKqKgo/nLwMfSpb6JffQ996pvoV99Dnxa/0qVLX/Ucr19sIiQkRE2bNtWKFStc9q9YscJlqh8AAAAAFBavH5GSpJEjR+r+++9Xs2bN1LJlS/3nP//RwYMH9cgjj1hdGgAAAAAf5BNBqm/fvjp16pSef/55paSkqH79+vr888+VmJhodWm4ArvdrrFjx+aZZgnvRZ/6JvrV99Cnvol+9T30acnm9av2AQAAAEBx8/rPSAEAAABAcSNIAQAAAICbCFIAAAAA4CaCFAAAAAC4iSCFYrdmzRp1795d8fHxstls+vjjj60uCddpwoQJuvnmmxUZGamYmBj17NlTO3bssLosXIcZM2aoYcOGzi+BbNmypZYuXWp1WShEEyZMkM1m0xNPPGF1KbgOycnJstlsLo/Y2Firy0IhOHLkiO677z6VL19e4eHhaty4sTZt2mR1WbgMQQrF7ty5c2rUqJGmT59udSkoJKtXr9bw4cO1fv16rVixQjk5OerQoYPOnTtndWnwUKVKlTRx4kRt3LhRGzdu1O23364777xT27dvt7o0FIINGzboP//5jxo2bGh1KSgE9erVU0pKivOxdetWq0vCdTp9+rRuueUWBQcHa+nSpfr555/18ssvq0yZMlaXhsv4xPdIwbt07txZnTt3troMFKJly5a5bM+aNUsxMTHatGmTWrdubVFVuB7du3d32X7xxRc1Y8YMrV+/XvXq1bOoKhSGjIwM3XvvvXrzzTf1wgsvWF0OCkFQUBCjUD7mpZdeUkJCgmbNmuXcV6VKFesKQr4YkQJQ6M6ePStJKleunMWVoDDk5uZq4cKFOnfunFq2bGl1ObhOw4cPV9euXXXHHXdYXQoKya5duxQfH6+qVauqX79+2rt3r9Ul4TotWbJEzZo10z333KOYmBjddNNNevPNN60uC39AkAJQqAzD0MiRI3Xrrbeqfv36VpeD67B161aVKlVKdrtdjzzyiBYvXqy6detaXRauw8KFC/XDDz9owoQJVpeCQtK8eXPNnTtXy5cv15tvvqnU1FS1atVKp06dsro0XIe9e/dqxowZqlmzppYvX65HHnlEjz32mObOnWt1abgMU/sAFKq//OUv+umnn/Ttt99aXQquU+3atbV582adOXNGH374oQYNGqTVq1cTprzUoUOH9Pjjj+uLL75QaGio1eWgkFw+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",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "thousand_rolls = pd.read_csv('data/roll_the_dice_thousand.csv')\n",
+ "mean_thousand = mean_calculation(thousand_rolls['value'])\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.hist(thousand_rolls['value'], bins=range(1, 8), align='left', color='green', edgecolor='black') # \n",
+ "plt.title('Histogram of 1000 Dice Rolls')\n",
+ "plt.xlabel('Dice Values')\n",
+ "plt.ylabel('Frequency')\n",
+ "plt.xticks(range(1, 7))\n",
+ "plt.grid(True)\n",
+ "plt.axvline(mean_thousand, color='blue', linestyle='dashed', linewidth=1) # Add a vertical line for the mean on the histogram\n",
+ "plt.text(mean_thousand+0.1, plt.ylim()[1]-5, f'Mean: {mean_thousand:.2f}', color = 'blue')\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "This confirms my previous comment: by doing more rolls, \n",
+ "I can see how the plot is now a lot less skewed and the results are a lot more uniform and balanced\n",
+ "Considering that for a fair six-sided die, the theoretical mean is expected to be 3.5, calculated as (1+2+3+4+5+6)/6,\n",
+ "For a fair six-sided die, the theoretical mean is expected to be 3.5, calculated as (1+2+3+4+5+6)/6.\n",
+ "Observing the Mean in the Histogram:\n",
+ "A histogram with the mean close to 3.5 and nearly equal bar heights indicates a uniform distribution,\n",
+ "suggesting that the dice rolls are fair and random. \n",
+ "I can see how, as the sample size increases (e.g., 1000 rolls), the calculated mean tends to approach the theoretical mean.\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": 190,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "observation\n",
+ "1 2\n",
+ "2 2\n",
+ "4 1\n",
+ "5 2\n",
+ "6 2\n",
+ " ..\n",
+ "69 1\n",
+ "70 1\n",
+ "71 1\n",
+ "73 1\n",
+ "82 1\n",
+ "Name: count, Length: 72, dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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mjVrZhw4cCBg3O9//3tDkrFnzx7DMAx//eeff75x+vRp/7h3333XkGSsXLnSv61z585G586dDa/XW2m/Fi9ebEgyPvjggwrHWrp0aaWPM4zver169epKx/Tv399wOp0Vzlfeo507dxqSjFdffbXKczVt2jSgX+bj3XDDDZXuO/PrMXjwYEOS8fe//z1g7C9/+UvDbrf7+19+bZs3bw4YV97/M7+nJ0+ebFT2K4X563zPPfcYkox///vfAeNuu+02w2azGXl5eQHnqcnXGQDqAh+9A4AqLFq0SE6nU9ddd50kqVmzZrrmmmv0xhtvaN++ff5xW7duVWJion74wx8GPN78LsV///tf7d271//H/adPn/bfRo4cqcOHDysvL0+SdNFFF2n9+vW65557tGXLFnm93lrV/vjjj2vHjh0Bt44dO/r3/+hHPwp416E2tW3evFmXX3652rVr5398o0aNgr6DVlOvvfaahg4dqpSUlIBzjxgxQlJZj880atQoNWrUyH+/V69ekuSfae7jjz/WJ598optvvlnx8fGVnvfnP/+52rZt6//4mCT96U9/Ups2bc7qesoZhlHl/i5duqhly5aaPn26Fi5cqI8++iik8/z0pz+t8djExET96Ec/Ctg2btw4+Xy+Kt/9CodNmzbp+9//vi666KKA7TfeeKMMw9CmTZsCtlf3dQaAukJQAoBK/Pe//9W2bds0atQoGYah48eP6/jx4/4ptstnwpOko0ePBoSGcuZtX3zxhSTprrvuUlxcXMBt0qRJkiSPxyOp7KNx06dP16uvvqqhQ4eqVatWGjNmTEBAq8p5552nfv36BdzOnKzB/NGo2tR29OhRJScnVzhnsG019cUXX+gf//hHhXP36NEj4NzlzDP4lV9beaD88ssvJUkdOnSo8rwOh0MTJ07UihUrdPz4cX355Zd6+eWXdcstt4Rlcgu3262UlJRK97do0UJbt27VD37wA913333q0aOHUlJS9MADD6ikpKTG56nNzHbBvlfLv3Y1/WhnqI4ePRq01vIemc9f3dcZAOoKf6MEAJV48cUXZRiG/vrXv+qvf/1rhf1Lly7VrFmz1KhRI7Vu3VrvvvtuhTH5+fkB95OSkiRJ9957r8aOHRv0vN26dZMkNW3aVA8++KAefPBBffHFF/53l0aPHq29e/ee7eXJZrOFXFvr1q0rXJtU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k8vl0hNPPKEnn3xSf/rTn/xj6KskA5aTZLzyyitWlxG1qurf/v37DUnGBx98UK81RbsjR44YkoytW7dW2EdPQ9eyZUvjhRdeCNhGP2vv5MmTRnp6upGTk2MMHjzYmDJlSoUx9LVmHnjgAaN3797VjqOfNTd9+nTjkksuqdFY+hqaKVOmGJ07dzZ8Pl/AdvpZc6NGjTImTJgQsG3s2LFGVlZWhbENua+8owSggq+//lqS1KpVK4sriQ2lpaVatWqVCgoKNGDAAKvLiXqTJ0/WqFGjdMUVV1hdSkzYt2+fUlJSlJaWpuuuu07/+9//rC4pqq1du1b9+vXTNddco7Zt26pPnz56/vnnrS4rZpw6dUrLly/XhAkTZLPZrC4nal1yySX617/+pY8//liSlJubqzfffFMjR460uLLI0tjqAgBEFsMwNG3aNF1yySXq2bOn1eVEtQ8//FADBgxQUVGRmjVrpldeeUXf//73rS4rqq1atUrvv/++duzYYXUpMaF///5atmyZunbtqi+++EKzZs3SwIEDtWfPHrVu3drq8qLS//73Pz3zzDOaNm2a7rvvPr377ru6/fbb5XA4dMMNN1hdXtR79dVXdfz4cd14441WlxLVpk+frq+//lrdu3dXo0aNVFpaqkceeUQ///nPrS4tohCUAAT49a9/rd27d+vNN9+0upSo161bN+3atUvHjx/X3/72N40fP15bt24lLIXos88+05QpU7Rx40bFx8dbXU5MGDFihP//zz//fA0YMECdO3fW0qVLNW3aNAsri14+n0/9+vXT7NmzJUl9+vTRnj179MwzzxCUwmDRokUaMWKEUlJSrC4lqr300ktavny5VqxYoR49emjXrl2aOnWqUlJSNH78eKvLixgEJQB+v/nNb7R27Vpt27ZNHTp0sLqcqNekSRN16dJFktSvXz/t2LFDf/jDH/Tss89aXFl0eu+993TkyBFdcMEF/m2lpaXatm2b5s2bp+LiYjVq1MjCCqNf06ZNdf7552vfvn1WlxK12rdvX+EfQzIyMvS3v/3Noopix4EDB/R///d/WrNmjdWlRL3f/va3uueee3TddddJKvuHkgMHDujRRx8lKJ2BoARAhmHoN7/5jV555RVt2bJFaWlpVpcUkwzDUHFxsdVlRK3LL788YEY2SbrpppvUvXt3TZ8+nZAUBsXFxXK5XLr00kutLiVqDRo0qMLyCh9//LE6depkUUWxY/HixWrbtq1GjRpldSlRr7CwUHZ74FQFjRo1CpgeHAQly3zzzTf673//67+/f/9+7dq1S61atVJqaqqFlUWH6vr31Vdfye1269ChQ5Lkf9FKTk4OWCMEZSZPnqwVK1bo73//uxITE5Wfny9JatGihZxOpyTR01q67777NGLECHXs2FEnT57UqlWrtGXLFr3++uuS6GcoEhMTK/zdXNOmTdW6dWv/dvpaO3fddZdGjx6t1NRUHTlyRLNmzdKJEyf8/6JMP2vvjjvu0MCBAzV79mz97Gc/07vvvqvnnntOzz33nH8Mfa09n8+nxYsXa/z48WrcOPDXV/pZe6NHj9Yjjzyi1NRU9ejRQx988IHmzJmjCRMm+MfQVzE9uFU2b95sSKpwGz9+vNWlRYXq+rd48eKg+x944AFL645UwXolyVi8eLF/DD2tnQkTJhidOnUymjRpYrRp08a4/PLLjY0bN/r308/wME8PTl9r59prrzXat29vxMXFGSkpKcbYsWONPXv2+PfTz9D84x//MHr27Gk4HA6je/fuxnPPPRewn77W3oYNGwxJRl5eXoV99LP2Tpw4YUyZMsVITU014uPjjfPOO8+YMWOGUVxc7B9DXw3DZhiGEbbUBQAAAAAxgHWUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBACIOtu3b1ejRo30wx/+0OpSAAAxymYYhmF1EQAA1MYtt9yiZs2a6YUXXtBHH32k1NRUq0sCAMQY3lECAESVgoICvfzyy7rtttt01VVXacmSJQH7165dq/T0dDmdTg0dOlRLly6VzWbT8ePH/WO2b9+uzMxMOZ1OdezYUbfffrsKCgr8+xcsWKD09HTFx8erXbt2uvrqq+vp6gAAkYKgBACIKi+99JK6deumbt26KSsrS4sXL1b5hyM+/fRTXX311RozZox27dqliRMnasaMGQGP//DDD3XllVdq7Nix2r17t1566SW9+eab+vWvfy1J2rlzp26//XY99NBDysvL0+uvv67MzMx6v04AgLX46B0AIKoMGjRIP/vZzzRlyhSdPn1a7du318qVK3XFFVfonnvu0T//+U99+OGH/vH333+/HnnkER07dkznnHOObrjhBjmdTj377LP+MW+++aYGDx6sgoICrVu3TjfddJM+//xzJSYmWnGJAIAIwDtKAICokZeXp3fffVfXXXedJKlx48a69tpr9eKLL/r3X3jhhQGPueiiiwLuv/fee1qyZImaNWvmv1155ZXy+Xzav3+/hg0bpk6dOum8887TL37xC/3lL39RYWFh/VwgACBiNLa6AAAAamrRokU6ffq0vve97/m3GYahuLg4HTt2TIZhyGazBTzG/MEJn8+niRMn6vbbb69w/NTUVDVp0kTvv/++tmzZoo0bN+p3v/udsrOztWPHDp1zzjl1cl0AgMhDUAIARIXTp09r2bJleuqppzR8+PCAfT/96U/1l7/8Rd27d9e6desC9u3cuTPgft++fbVnzx516dKl0nM1btxYV1xxha644go98MADOuecc7Rp0yaNHTs2fBcEAIhoBCUAQFR47bXXdOzYMd18881q0aJFwL6rr75aixYt0po1azRnzhxNnz5dN998s3bt2uWfFa/8nabp06fr4osv1uTJk/XLX/5STZs2lcvlUk5Ojv70pz/ptdde0//+9z9lZmaqZcuWWrdunXw+n7p161bflwwAsBB/owQAiAqLFi3SFVdcUSEkSWXvKO3atUvHjh3TX//6V61Zs0a9evXSM88845/1zuFwSJJ69eqlrVu3at++fbr00kvVp08fzZw5U+3bt5cknXPOOVqzZo0uu+wyZWRkaOHChVq5cqV69OhRfxcLALAcs94BAGLaI488ooULF+qzzz6zuhQAQBTho3cAgJiyYMECXXjhhWrdurXeeustPfnkk/41kgAAqCmCEgAgpuzbt0+zZs3SV199pdTUVN1555269957rS4LABBl+OgdAAAAAJgwmQMAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAAJP/B/NOplCbG1ZuAAAAAElFTkSuQmCC",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "ages = pd.read_csv('data/ages_population.csv')\n",
+ "ages['observation'] = ages['observation'].astype(int)\n",
+ "\n",
+ "frequency_count = ages['observation'].value_counts().sort_index()\n",
+ "display(frequency_count)\n",
+ "\n",
+ "# I will use the histogram to graph it\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.hist(ages['observation'], bins=range(1, 85), align='left', color='orange', edgecolor='black') # \n",
+ "plt.title('Ages Frequency Distribution')\n",
+ "plt.xlabel('Ages')\n",
+ "plt.ylabel('Frequency')\n",
+ "plt.xticks(range(1, 82,10))\n",
+ "plt.grid(True)\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "By observing the plot, it seems the bulk of the data is concentrated around the middle age groups. \n",
+ "This suggests that the mean age might be around the center of this distribution, possibly in the range of 30 to 45 years. \n",
+ "The spread of the data from the youngest to the oldest ages also indicates that the standard deviation might be moderately large, \n",
+ "perhaps around 15 to 25 years.\n",
+ "\"\"\""
+ ]
+ },
+ {
+ "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": 193,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The mean of the ages is 36.56. and the standard deviation is 12.816499625976762\n"
+ ]
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "# Calculate mean and standard deviation\n",
+ "mean_age = ages['observation'].mean()\n",
+ "std_dev_age = ages['observation'].std()\n",
+ "print(f\"The mean of the ages is {mean_age}. and the standard deviation is {std_dev_age}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "Mean Estimate: I guessed the mean would be in the range of 30 to 50 years. The actual mean of 36.56 years falls within this range.\n",
+ "Standard Deviation Estimate: I estimated the standard deviation might be between 15 to 25 years. \n",
+ "The actual standard deviation is about 12.82 years, which is slightly below the lower end of my estimated range.\n",
+ "So, while the mean fell within the predicted range, the standard deviation was a bit lower, \n",
+ "indicating a slightly tighter clustering of ages around the mean than initially assessed. \n",
+ "This suggests that the ages are less spread out than I thought based on the plot. ​\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": 208,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "observation\n",
+ "19 3\n",
+ "20 13\n",
+ "21 17\n",
+ "22 35\n",
+ "23 41\n",
+ "24 78\n",
+ "25 98\n",
+ "26 120\n",
+ "27 125\n",
+ "28 139\n",
+ "29 115\n",
+ "30 90\n",
+ "31 61\n",
+ "32 31\n",
+ "33 22\n",
+ "34 7\n",
+ "35 3\n",
+ "36 2\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSwklEQVR4nO3deXhTZcL+8TspXdJSloLQVqCiLDKAHVEEQQsILaJsIooisoq8Kq4wKjqOZV5ExZ/gKwyor2zKAKKDuIFaR6AiOgpCUewgMyJlKWKhUGhLCeT5/cHbDKHrKWlzAt/PdfVycvIk5z5Pkjm9OSenDmOMEQAAAACg0pyBDgAAAAAAwYYiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAVfDyyy/L4XCoXbt2gY7iY/ny5br99tvVokULuVwuXXTRRbrjjju0ffv2Sj1+5MiRcjgcpf58+OGH1Zz+/HLmXEdFRemiiy5S//79NX/+fBUVFZV4TPfu3dW9e3dL6/nxxx+VmpqqX375xdLjzlzXL7/8IofDof/3//6fpeepyNSpU7VixYoSy9esWSOHw6E1a9b4dX0A4C+1Ah0AAILRvHnzJElbt27VP/7xD3Xq1CnAiU55/vnnFRsbqyeffFIXX3yxdu3apalTp6pDhw76+uuv1bZt2wqfw+Vy6fPPPy+x/NJLL62OyOe10+e6sLBQu3bt0qpVqzR27Fi9+OKL+vjjj9WkSRPv+NmzZ1tex48//qjJkyere/fuuuiiiyr9uKqsqyqmTp2qwYMHa+DAgT7LO3TooK+++kq/+93vaiQHAFhFkQIAizZs2KCMjAzdeOON+uijjzR37lzbFKkPPvhAjRo18ll23XXX6aKLLtKMGTP0+uuvV/gcTqdTnTt3rvQ6CwoKFBkZaTkrSp/r4cOHa9SoUerbt68GDx6sr7/+2ntfTZSK4tcz0AWmTp06lt6HAFDTOLUPACyaO3euJOm5555Tly5dtHTpUhUUFJQYt3v3bg0ePFjR0dGqV6+e7rjjDn377bdyOBxasGCBz9gNGzaof//+iomJUUREhC6//HItW7bMZ0xBQYEmTpyo5s2bKyIiQjExMbryyiu1ZMkS75gzS5QkxcfHq0mTJtq1a9dZb3tqaqocDoe+++47DR48WPXr19cll1wiSTLGaPbs2fr9738vl8ul+vXra/Dgwfr55599nsMYo2nTpikhIUERERHq0KGDVq1aVeJUsgULFsjhcJQ4Ja2sU74+++wz9ezZU3Xq1FFkZKS6du2qv//976Xm37p1q26//XbVrVtXjRs31ujRo3X48GGfsR6PRzNnzvRuT7169dS5c2e9//77kqQxY8YoJiam1Nf+uuuuq9TRv7KkpKRo7Nix+sc//qH09HTv8tJO7ZszZ44SExNVu3ZtRUdH69JLL9UTTzwh6dQc3nLLLZKkHj16eE8jLH7/de/eXe3atVN6erq6dOmiyMhIjR49usx1Fc/LM888o2bNmikiIkJXXnlliXkeOXJkqUe/iue/mMPhUH5+vhYuXOjNVrzOsl7n999/X1dffbUiIyMVHR2t5ORkffXVV6WupzKvMwBUFUUKACwoLCzUkiVL1LFjR7Vr106jR4/WkSNH9Pbbb/uMy8/PV48ePbR69Wo9//zzWrZsmRo3bqwhQ4aUeM7Vq1era9euOnTokF555RW99957+v3vf68hQ4b4FK5HHnlEc+bM0QMPPKCPP/5Yb775pm655RYdOHCg3Mw///yzdu7caekX+xMnTvj8nDx50uf+QYMGqUWLFnr77bf1yiuvSJLGjRunhx56SL169dKKFSs0e/Zsbd26VV26dNGvv/7qfezkyZP12GOPKTk5WStWrNA999yjsWPHatu2bZXOd6ZFixYpJSVFderU0cKFC7Vs2TLFxMSod+/eJX7Jl6Sbb75ZrVq10t/+9jc9/vjjWrx4sR5++GGfMSNHjtSDDz6ojh076q233tLSpUvVv39/b7F78MEHlZubq8WLF/s87scff9Tq1at13333VXl7JKl///6S5FOkzrR06VLde++96tatm959912tWLFCDz/8sPLz8yVJN954o6ZOnSpJ+stf/qKvvvpKX331lW688Ubvc2RnZ2vYsGEaOnSoVq5cqXvvvbfcXLNmzdLHH3+sl156SYsWLZLT6VSfPn1KlJnK+Oqrr+RyuXTDDTd4s5V3SuHixYs1YMAA1alTR0uWLNHcuXOVm5ur7t27a926dSXGV+Z1BoAqMwCASnvjjTeMJPPKK68YY4w5cuSIqV27trn22mt9xv3lL38xksyqVat8lo8bN85IMvPnz/cuu/TSS83ll19u3G63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v0EUHh6uyy+/vFrmp2vXrrr77rs1atQobdiwQUlJSYqKilJ2drbWrVun9u3b65577lH9+vU1ceJETZkyRXfddZduueUW7dq1S6mpqSVOGevYsaNat26tiRMn6sSJE6pfv77efffdEldnq127tmbOnKkRI0bo4MGDGjx4sBo1aqTffvtNGRkZ+u233ypViE537bXX6s4779SUKVP066+/qm/fvgoPD9emTZsUGRmp+++/3zu2Xr16Gj58uObMmaOEhAT169ev0uvxeDze16ioqEhZWVlatWqVli1bpjZt2pS4BP6Zxo4dK5fLpa5duyouLk779u3Ts88+q7p166pjx46STr03Jem1115TdHS0IiIi1Lx58xKnvVVWSEiIkpOT9cgjj8jj8ej5559XXl6eJk+e7B0zZMgQ/elPf9Jtt92mP/zhDzp27JhefvnlUr9D1b59e61Zs0YffPCB4uLiFB0dXeoRPafTqWnTpumOO+5Q3759NW7cOBUVFemFF17QoUOH9Nxzz1VpewCgygJ0kQsACCoDBw40YWFhZv/+/WWOue2220ytWrXMvn37jDHGZGVlmUGDBpnatWub6Ohoc/PNN5uVK1caSea9997zeWxGRoa59dZbTaNGjUxoaKiJjY011113nffqgMYY8/jjj5srr7zS1K9f34SHh5uLL77YPPzwwyYnJ8c7JiEhodSr7kkq9SpqZ6roSnLFV0P77bffSr1/3rx5plOnTiYqKsq4XC5zySWXmOHDh5sNGzZ4x3g8HvPss8+apk2bmrCwMHPZZZeZDz74oMRV4owx5qeffjIpKSmmTp065oILLjD333+/+eijj0q9Ct3atWvNjTfeaGJiYkxoaKi58MILzY033mjefvvtCvOXdoXAkydPmhkzZph27dqZsLAwU7duXXP11VebDz74oMR2r1mzxkgyzz33XJlzd6Yzr5DocrlMs2bNTL9+/cy8efNMUVFRicecOUcLFy40PXr0MI0bNzZhYWEmPj7e3HrrrWbLli0+j3vppZdM8+bNTUhIiM9VI7t162batm1bar6yrtr3/PPPm8mTJ5smTZqYsLAwc/nll5tPPvmkxONXrlxpfv/73xuXy2UuvvhiM2vWrFKv2rd582bTtWtXExkZ6XPlxjOv2ldsxYoVplOnTiYiIsJERUWZnj17mi+//NJnjJXXGQCqymFM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c9p131O/fn3z+uuv23Kfc7rinKez037HmNIzFgv0Pud05eUM9H6n2JkZ7bbfMcY3o932Oac7Pacd9zvl4YiUDRUVFUmST/sOCQlRWFiY1q1bF6hYOnz4sCQpJiZGkrRjxw7t27dPKSkp3jHh4eHq1q2b1q9fb4uMdlWZnIcPH5bD4VC9evVqKFXJ9UtlZzx+/Lhee+011a1bV4mJiTUZzau0jB6PR3feeaf+8Ic/qG3btgHJdaay5nLNmjVq1KiRWrVqpbFjx2r//v2BiCepZEaPx6OPPvpIrVq1Uu/evdWoUSN16tSpxGnINa2i9+Wvv/6qjz76SGPGjKnJWD5Ky3jNNdfo/fff1549e2SM0erVq/XTTz+pd+/egYpZIqfd9j0nT57U0qVLlZ+fr6uvvtqW+5zSctpRZTIGep8jVZzTDvud0jLabb9T1jzaaZ8jlcxp1/1OuQLd5FDyiNTx48dNQkKCueWWW8zBgwdNUVGRefbZZ40kk5KSEpCMHo/H9OvXz1xzzTXeZV9++aWRZPbs2eMzduzYsQHJWVrG09nlXwYrymmMMYWFheaKK64wd9xxRw0m+4/yMn7wwQcmKirKOBwOEx8fb7755psAJCw749SpU01ycrLxeDzGGBPwfxksK+fSpUvNhx9+aL7//nvz/vvvm8TERNO2bVtz7NgxW2TMzs42kkxkZKSZPn262bRpk3n22WeNw+Ewa9asqfGMZeU80/PPP2/q169vCgsLazDZf5SVsaioyAwfPtxIMrVq1TJhYWHmjTfeCEhGY0rPaZd9z5YtW0xUVJQJCQkxdevWNR999JExxn77nLJyni7Q+53KZDQm8PucinLaYb9TXka77HfKy2infU5ZOe2436kIRcoGzixSxhizYcMGk5iYaCSZkJAQ07t3b9OnTx/Tp0+fgGS89957TUJCgtm1a5d3WfFObe/evT5j77rrLtO7d++ajlhqxtMFeodWrKKcx48fNwMGDDCXX365OXz4cA2nO6W8jEePHjXbt283X331lRk9erS56KKLzK+//mqLjBs2bDCNGzf2+UUr0EWqote72N69e01oaKj529/+VkPJ/qO0jHv27DGSzO233+4ztl+/fua2226r6YjGmMrNZevWrc348eNrMJWvsjK+8MILplWrVub99983GRkZZubMmaZ27domLS3NVjntsO8pKioy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",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "ages_2 = pd.read_csv('data/ages_population2.csv')\n",
+ "ages_2['observation'] = ages_2['observation'].astype(int)\n",
+ "frequency_count_2 = ages_2['observation'].value_counts().sort_index()\n",
+ "display(frequency_count_2)\n",
+ "\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.hist(ages_2['observation'], color='magenta', edgecolor='black') # \n",
+ "plt.title('Ages2 Frequency Distribution')\n",
+ "plt.xlabel('Ages')\n",
+ "plt.ylabel('Frequency')\n",
+ "plt.xticks(range(19,37,1))\n",
+ "plt.grid(True)\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 4.- What do you see? Is there any difference with the frequency distribution in step 1?"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "\"\"\"\n",
+ "This distribution is more concentrated around certain age ranges and shows a more pronounced peak, suggesting a clustering of ages in a specific range.\n",
+ "The peak of the second dataset is sharper and higher, which may indicate a more common specific age, \n",
+ "while the first dataset shows a broader peak, suggesting a less concentrated age prevalence.\n",
+ "The frequency distribution in step 1 covers a broader range of ages from younger to older, which is evident from the spread of the histogram.\n",
+ "This one, on the other hand seems to have a narrower age range and fewer outliers or extreme ages compared to the previous one.\n",
+ "Also, this histogram shows data slighly more skewed than the one in step 1.\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": 209,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Here, the mean is 27.155, and the standard deviation is 2.969813932689186\n"
+ ]
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "mean_age_2 = ages_2['observation'].mean()\n",
+ "std_dev_age_2 = ages_2['observation'].std()\n",
+ "\n",
+ "print(f\"Here, the mean is {mean_age_2}, and the standard deviation is {std_dev_age_2}\")\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "In this analysis, estimating the mean age is more straightforward by simply looking at the histogram, \n",
+ "as the data are less dispersed and predominantly concentrated within a narrower age range. \n",
+ "This concentration makes it easier to have a clearer estimation of the central tendency. \n",
+ "Additionally, the noticeably lower standard deviation reflects the reduced spread of ages, \n",
+ "indicating that most data points are closely clustered around the mean. \n",
+ "This tighter distribution highlights the homogeneity of the age range represented in the dataset.\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": 216,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "observation\n",
+ "1 1\n",
+ "2 2\n",
+ "4 2\n",
+ "5 1\n",
+ "7 1\n",
+ " ..\n",
+ "73 6\n",
+ "74 6\n",
+ "75 2\n",
+ "76 1\n",
+ "77 2\n",
+ "Name: count, Length: 75, dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0sAAAIhCAYAAACfXCH+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABWQElEQVR4nO3dfVxUZf7/8fegMAwC3k0IpJCl4ZZpN5aphVppmVpGtpaRt7ltt5b17c7dDfdrZvXL2rbN2m9muuVNN+ZaqcWWN5m5qaWZEVmZoyW5QyqKgOhcvz9YpkbODAMOM6O8no8HD5xzLq7zmc8cZubtOZyxGWOMAAAAAAA+YiJdAAAAAABEI8ISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISABzh6aefls1mU+fOnSNdio8FCxbouuuuU4cOHeRwOHTSSSfp+uuv15YtW4L6+VGjRslms1l+vf322w1cfeNyZK+bNWumk046SVdccYVmzpypioqKGj/Tp08f9enTp07b+fLLL5WXl6fvv/++Tj935La+//572Ww2/b//9//qNE9tpkyZooULF9ZYvnz5ctlsNi1fvjyk2wOAUGsa6QIAINq8+OKLkqTNmzfr3//+t7p37x7hiqo8+uijSk1N1cSJE3XyySdr+/btmjJlis4++2ytWbNGp59+eq1zOBwOffDBBzWWd+rUqSFKbtR+3euysjJt375dS5Ys0bhx4/TEE09o6dKlatu2rXf8s88+W+dtfPnll5o0aZL69Omjk046Keifq8+26mPKlCkaOnSohgwZ4rP87LPP1scff6zTTjstLHUAQH0RlgDgV9atW6eNGzdq4MCBeueddzRjxoyoCUtvvfWWUlJSfJZddNFFOumkk/Tkk0/qhRdeqHWOmJgYnX/++UFv88CBA0pISKhzrbDu9YgRIzR69GgNGjRIQ4cO1Zo1a7zrwhEcqh/PSIeU5OTkOu2HABApnIYHAL8yY8YMSdLUqVPVs2dPzZs3TwcOHKgxbseOHRo6dKiSkpLUokULXX/99Vq7dq1sNpteeukln7Hr1q3TFVdcoVatWik+Pl5nnXWWXn31VZ8xBw4c0D333KP27dsrPj5erVq1Urdu3TR37lzvmCODkiSlp6erbdu22r59+1Hf97y8PNlsNn366acaOnSoWrZsqVNOOUWSZIzRs88+qzPPPFMOh0MtW7bU0KFD9d133/nMYYzRY489pszMTMXHx+vss8/WkiVLapz29dJLL8lms9U4fczf6Vn/+te/dPHFFys5OVkJCQnq1auX3n//fcv6N2/erOuuu07NmzdXmzZtNGbMGO3du9dnrMfj0V//+lfv/WnRooXOP/98LVq0SJI0duxYtWrVyvKxv+iii4I6iudP//79NW7cOP373//WypUrvcutTsObPn26unbtqsTERCUlJalTp0568MEHJVX18JprrpEk9e3b13vKX/X+16dPH3Xu3FkrV65Uz549lZCQoDFjxvjdVnVfHn74YWVkZCg+Pl7dunWr0edRo0ZZHsWq7n81m82m0tJSzZo1y1tb9Tb9Pc6LFi1Sjx49lJCQoKSkJPXr108ff/yx5XaCeZwB4GgRlgDgv8rKyjR37lyde+656ty5s8aMGaN9+/bptdde8xlXWlqqvn37atmyZXr00Uf16quvqk2bNho2bFiNOZctW6ZevXppz549eu655/TPf/5TZ555poYNG+YTqiZMmKDp06frjjvu0NKlS/WPf/xD11xzjYqLiwPW/N1332nbtm11evN+6NAhn6/Dhw/7rM/JyVGHDh302muv6bnnnpMk3XTTTbrzzjt1ySWXaOHChXr22We1efNm9ezZUz/99JP3ZydNmqT77rtP/fr108KFC3XzzTdr3LhxKiwsDLq+I7388svq37+/kpOTNWvWLL366qtq1aqVLr300hpv5CXp6quv1qmnnqo33nhD999/v+bMmaO77rrLZ8yoUaM0fvx4nXvuuZo/f77mzZunK664whvexo8fr927d2vOnDk+P/fll19q2bJluvXWW+t9fyTpiiuukCSfsHSkefPm6ZZbblHv3r315ptvauHChbrrrrtUWloqSRo4cKCmTJkiSfrb3/6mjz/+WB9//LEGDhzonWPnzp3Kzc3V8OHDtXjxYt1yyy0B63rmmWe0dOlSPfXUU3r55ZcVExOjAQMG1Agswfj444/lcDh0+eWXe2sLdPrfnDlzdOWVVyo5OVlz587VjBkztHv3bvXp00erVq2qMT6YxxkAjpoBABhjjJk9e7aRZJ577jljjDH79u0ziYmJ5sILL/QZ97e//c1IMkuWLPFZftNNNxlJZubMmd5lnTp1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0aOHd/ny5cuVkpKiFi1aqHfv3nr44YeVkpLid56KigpVVFR4b5eUlEiSKisrVVlZ2WD1V8/dkNuAL3oeXvQ7/ELZc4/HI4fDUfWs7+8E7KaSHFVjG+vjzH4efvQ8vOh3+NHz8AvU87o+DjZjjAlJVfW0adMm9ejRQ+Xl5UpMTNScOXN0+eWXS5Lmz5+vxMREZWZmauvWrfrjH/+oQ4cOaf369bLb7Zbz5eXladKkSTWWz5kzRwkJCQ16XwAAAABErwMHDmj48OHau3evkpOTax0f8bB08OBBuVwu7dmzR2+88YZeeOEFrVixQqeddlqNsTt37lRmZqbmzZunnJwcy/msjiy1a9dObrc7qIbUV2VlpfLz89WvXz/FxsY22HbwC3oeXvQ7/ELZ840bNyo7O1saLcnfmc1FkmZKK1euVNeuXY9qe8cq9vPwo+fhRb/Dj56HX6Cel5SUyOl0Bh2WIn4aXlxcnPcCD926ddPatWv1l7/8Rc8//3yNsWlpacrMzNSWLVv8zme32y2POsXGxoZlBw3XdvALeh5e9Dv8QtHzmJgYlZWVSYckefwMOiSprGpsY3+M2c/Dj56HF/0OP3oeflY9r+tjEHWfs2SM8Tky9GvFxcXavn270tLSwlwVAAAAgMYmokeWHnzwQQ0YMEDt2rXTvn37NG/ePC1fvlxLly7V/v37lZeXp6uvvlppaWn6/vvv9eCDD8rpdOqqq66KZNkAAAAAGoGIhqWffvpJN9xwg3bu3KnmzZurS5cuWrp0qfr166eysjJt2rRJs2fP1p49e5SWlqa+fftq/vz5SkpKimTZAAAAABqBiIalGTNm+F3ncDj07rvvhrEaAAAAAPhF1P3NEgAAAABEA8ISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACAhaaRLgAAcPxxuVxyu921jnM6ncrIyDjquYKZBwCAuiIsAQBCyuVyKatTlsrLymsdG++IV+FXhX6DTrBz1TYPAAD1QVgCAISU2+2uCjc5kpyBBkrlC8rldrv9hpyg5gpiHgAA6oOwBABoGE5J6VE4FwAAQeICDwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABgIaJhafr06erSpYuSk5OVnJysHj16aMmSJd71xhjl5eUpPT1dDodDffr00ebNmyNYMQAAAIDGIqJhqW3btpo6darWrVundevW6aKLLtKVV17pDUSPPfaYpk2bpmeeeUZr165Vamqq+vXrp3379kWybAAAAACNQETD0uDBg3X55Zfr1FNP1amnnqqHH35YiYmJWrNmjYwxeuqppzRx4kTl5OSoc+fOmjVrlg4cOKA5c+ZEsmwAAAAAjUDUfCjt4cOH9dprr6m0tFQ9evTQ1q1bVVRUpP79+3vH2O129e7dW6tXr9ZNN91kOU9FRYUqKiq8t0tKSiRJlZWVqqysbLD6q+duyG3AFz0PL/odfqHsucfjkcPhqHrW9/ffZE0lOarGHs02g9pWkNsLZ90S+3kk0PPwot/hR8/DL1DP6/o42IwxJiRV1dOmTZvUo0cPlZeXKzExUXPmzNHll1+u1atXq1evXvrhhx+Unv7Lx7b/7ne/07Zt2/Tuu+9azpeXl6dJkybVWD5nzhwlJCQ02P0AAAAAEN0OHDig4cOHa+/evUpOTq51fMSPLGVlZWnDhg3as2eP3njjDY0cOVIrVqzwrrfZbD7jjTE1lv3aAw88oAkTJnhvl5SUqF27durfv39QDamvyspK5efnq1+/foqNjW2w7eAX9Dy86Hf4hbLnGzduVHZ2tjRaUqqfQUWSZkorV65U165dG3ZbQW4vnHVL7OeRQM/Di36HHz0Pv0A9rz7rLFgRD0txcXHq0KGDJKlbt25au3at/vKXv+i+++6TJBUVFSktLc07fteuXWrTpo3f+ex2u+x2e43lsbGxYdlBw7Ud/IKehxf9Dr9Q9DwmJkZlZWXSIUkeP4MOSSqrGns02wtqW0FuL5x1/xr7efjR8/Ci3+FHz8PPqud1fQyi7nOWjDGqqKhQ+/btlZqaqvz8fO+6gwcPasWKFerZs2cEKwQAAADQGET0yNKDDz6oAQMGqF27dtq3b5/mzZun5cuXa+nSpbLZbLrzzjs1ZcoUdezYUR07dtSUKVOUkJCg4cOHR7JsAAAAAI1ARMPSTz/9pBtuuEE7d+5U8+bN1aVLFy1dulT9+vWTJN17770qKyvTLbfcot27d6t79+567733lJSUFMmyAQAAADQCEQ1LM2bMCLjeZrMpLy9PeXl54SkIAAAAAP4r6v5mCQAAAACiAWEJAAAAACwQlgAAAADAAmEJAAAAACxE/ENpAQAIF5fLJbfb7Xe9xxPoU3QBAI0NYQkA0Ci4XC5ldcpSeVm53zEOh0Nz587Vjh071L59+zBWBwCIRoQlAECj4Ha7q4JSjiSnn0F7q74VFxcTlgAAhCUAQCPjlJTuZx2vigCAX+ECDwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABaaRroAAEDjVlBQUK91AAA0NMISACAy9kuySbm5uZGuBAAAS4QlAEBklEsyknIkOf2M2SJpWdgqAgDAB2EJABBZTknpfta5w1kIAAC+uMADAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFiIaFh65JFHdO655yopKUkpKSkaMmSICgsLfcaMGjVKNpvN5+v888+PUMUAAAAAGouIhqUVK1bo1ltv1Zo1a5Sfn69Dhw6pf//+Ki0t9Rl32WWXaefOnd6vxYsXR6hiAAAAAI1FRD9naenSpT63Z86cqZSUFK1fv17Z2dne5Xa7XampqUHNWVFRoYqKCu/tkpISSVJlZaUqKytDULW16rkbchvwRc/Di36H3o4dO1RcXOx3vcfjkRSanns8HjkcjqpnfX//TdZUkqNq7NFsM6htSVJs1fYCjgtmzH/rLigo8PbMSmFh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nqe3SFoWvpqKi4ur/nGFpOZ+BvG6EbXqFZaGDBnic9tms+mEE07QRRddpCeeeCIUdQFA8JyS0o/j7QEA6ibQ83TtZ1I3jNaSUiK0bdRbvcKSx+MJdR0AAAAAEFXqdTU8AAAAADje1evI0oQJE4IeO23atPpsAgAAAAAiql5h6bPPPtOnn36qQ4cOKSsrS5L09ddfq0mTJjr77LO942w2W2iqBAAAAIAwq1dYGjx4sJKSkjRr1iy1bNlSUtUH1Y4ePVoXXnih7r777pAWCQAAAADhVq+/WXriiSf0yCOPeIOSJLVs2VKTJ0/mangAAAAAjgv1CkslJSX66aefaizftWuX9u3bd9RFAQAAAECk1SssXXXVVRo9erRef/117dixQzt27NDrr7+usWPHKicnJ9Q1AgAAAEDY1etvlp577jndc889ys3NVWVlZdVETZtq7Nixevzxx0NaIAAcqwoKCuq1Djie1LavFxYWKjExMUzVAEDd1CssJSQk6Nlnn9Xjjz+ub7/9VsYYdejQQc2aNQt1fQBw7NkvySbl5uZGuhIgcoL8PXA4HJo7d254agKAOqpXWKq2c+dO7dy5U9nZ2XI4HDLGcLlwACiXZCTlSHL6GbNF0rKwVQSEXzC/B5K0LTzlAEB91CssFRcX67e//a2WLVsmm82mLVu26OSTT9aNN96oFi1acEU8AJCq3iCm+1nnDmchQAQF+j2QpL3hKgQA6q5eF3i46667FBsbK5fLpYSEBO/yYcOGaenSpSErDgAAAAAipV5Hlt577z29++67atu2rc/yjh07ats2jqcDAAAAOPbV68hSaWmpzxGlam63W3a7/aiLAgAAAIBIq1dYys7O1uzZs723bTabPB6PHn/8cfXt2zdkxQEAAABApNTrNLzHH39cffr00bp163Tw4EHde++92rx5s37++Wd99NFHoa4RAAAAAMKuXkeWTjvtNH3++ec677zz1K9fP5WWlionJ0efffaZTjnllFDXCAAAAABhV+cjS5WVlerfv7+ef/55TZo0qSFqAgAAAICIq/ORpdjYWH3xxRd8+CwAAACA41q9/mZpxIgRmjFjhqZOnRrqegCgwRQUFARc73Q6lZGREaZqolegPtXWQzQcHpfauVwuud2BP/GZ33PURTC/WxUVFQGvBl1YWKjExMRQloUwqldYOnjwoF544QXl5+er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L/odfvQ8/Oh5+NHz8KLf4UfPwy+UPY/qq+EBAAAAQKRE9d8sAQAAAECkEJYAAAAAwAJhCQAAAAAsEJYAAAAAwAJhKQSeffZZtW/fXvHx8TrnnHP04YcfRrqk48bKlSs1ePBgpaeny2azaeHChT7rjTHKy8tTenq6HA6H+vTpo82bN0em2OPEI488onPPPVdJSUlKSUnRkCFDVFhY6DOGvofO9OnT1aVLF+8H5/Xo0UNLlizxrqfXDe+RRx6RzWbTnXfe6V1G30MrLy9PNpvN5ys1NdW7nn6H3g8//KDc3Fy1bt1aCQkJOvPMM7V+/XrvenoeWieddFKNfdxms+nWW2+VRL8bwqFDh/SHP/xB7du3l8Ph0Mknn6w///nP8ng83jEh6bvBUZk3b56JjY01//d//2e+/PJLM378eNOsWTOzbdu2SJd2XFi8eLGZOHGieeONN4wk8+abb/qsnzp1qklKSjJvvPGG2bRpkxk2bJhJS0szJSUlkSn4OHDppZeamTNnmi+++MJs2LDBDBw40GRkZJj9+/d7x9D30Fm0aJF55513TGFhoSksLDQPPvigiY2NNV988YUxhl43tE8++cScdNJJpkuXLmb8+PHe5fQ9tB566CFz+umnm507d3q/du3a5V1Pv0Pr559/NpmZmWbUqFHm3//+t9m6dav517/+Zb755hvvGHoeWrt27fLZv/Pz840ks2zZMmMM/W4IkydPNq1btzZvv/222bp1q3nttddMYmKieeqpp7xjQtF3wtJROu+888zvf/97n2WdOnUy999/f4QqOn4dGZY8Ho9JTU01U6dO9S4rLy83zZs3N88991wEKjw+7dq1y0gyK1asMMbQ93Bo2bKleeGFF+h1A9u3b5/p2LGjyc/PN7179/aGJfoeeg899JDp2rWr5Tr6HXr33XefueCCC/yup+cNb/z48eaUU04xHo+HfjeQgQMHmjFjxvgsy8nJMbm5ucaY0O3nnIZ3FA4ePKj169erf//+Psv79++v1atXR6iqxmPr1q0qKiry6b/dblfv3r3pfwjt3btXktSqVStJ9L0hHT58WPPmzVNpaal69OhBrxvYrbfeqoEDB+qSSy7xWU7fG8aWLVuUnp6u9u3b69prr9V3330niX43hEWLFqlbt2665pprlJKSorPOOkv/93//511PzxvWwYMH9fLLL2vMmDGy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mamTTz5ZN9xwg1555RUdOHAgPHcQABBVmka6AAAAgjVjxgwdOnRIJ554oneZMUaxsbHavXu3jDGy2Ww+P3PkCRQej0c33XST7rjjjhrzZ2RkKC4uTp9++qmWL1+u9957T3/605+Ul5entWvXqkWLFg1yvwAA0YmwBAA4Jhw6dEizZ8/WE088of79+/usu/rqq/XKK6+oU6dOWrx4sc+6devW+dw+++yztXnzZnXo0MHvtpo2bapLLrlEl1xyiR566CG1aNFCH3zwgXJyckJ3hwAAUY+wBAA4Jrz99tvavXu3xo4dq+bNm/usGzp0qGbMmKEFCxZo2rRpuu+++zR27Fht2LDBe7W86iNO9913n84//3zdeuutGjdunJo1a6aCggLl5+frr3/9q95++2199913ys7OVsuWLbV48WJ5PB5lZWWF+y4DACKMv1kCABwTZsyYoUsuuaRGUJKqjixt2LBBu3fv1uuvv64FCxaoS5cumj59uvdqeHa7XZLUpUsXrVixQlu2bNGFF16os846S3/84x+VlpYmSWrRooUWLFigiy66SL/5zW/03HPPae7cuTr99NPDd2cBAFGBq+EBAI5rDz/8sJ577jlt37490qUAAI4xnIYHADiuPPvsszr33HPVunVrffTRR3r88ce9n6EEAEBdEJYAAMeVLVu2aPLkyfr555+VkZGhu+++Ww888ECkywIAHIM4DQ8AAAAALHCBBwAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAv/H0gu5BOhVGKKAAAAAElFTkSuQmCC",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ " \n",
+ "\n",
+ "# Sort the dataframe by 'Dice Rolls' and reset index\n",
+ "sorted_df = df.sort_values(by='Dice Result').reset_index(drop=True)\n",
+ "# change index to start at 1\n",
+ "sorted_df.index = sorted_df.index + 1\n",
+ "\n",
+ "# Plotting the sorted results\n",
+ "plt.scatter(sorted_df.index, sorted_df['Dice Result'], color='red') # Create a scatter plot, I first chose bar plot but with scatter it is easier to see the dice result for each roll\n",
+ "plt.xlabel('Dice Rolls') # Label for x-axis\n",
+ "plt.ylabel('Dice Roll Outcome') # Label for y-axis\n",
+ "plt.title('Dice Rolls Sorted by Outcome') # Title of the plot\n",
+ "plt.xticks(range(1, 11)) # Set x-ticks to show original roll numbers\n",
+ "plt.grid(True) # add a grid for readability\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": 78,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHFCAYAAAAOmtghAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA+J0lEQVR4nO3de3zP9f//8fubHTGHjZ3CTJjzOTVyauWwkqTSQSaHPkJkfPQlhepjySEdHQpLPkk1wsc5hgplziGpMIctZ2Mytj1/f3TZ+9fbZuxtvLeX2/Vyef/xer6er9fr8X7ujbvn6/na22aMMQIAALCIIq4uAAAAID8RbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQbgAAgKUQblBgxcbGymaz5fgaMmSIq8u7LYwaNUo2m82hrVKlSurevXuezrN+/XqNGjVKZ86cydNxV15rzZo1stls+vrrr/N0ntxcuHBBo0aN0po1a7Lty/oMHjhwIN+udzOMGDFCFStWlJubm0qXLp3n47t3765KlSo5tNlsNo0aNSpf6ruVrqw76zOT088X1uXm6gKAa5k5c6aqV6/u0BYcHOyiajB//nyVLFkyT8esX79eo0ePVvfu3fP0j68z18qrCxcuaPTo0ZKkVq1aOex78MEHtWHDBgUFBd3UGm7EggUL9J///EevvPKK2rdvL09Pz3w574YNG1S+fPl8ORdwqxFuUODVrl1bjRs3vq6+ly9fls1mk5sbH+2bpUGDBjf9Gn/99Ze8vb1vybVyU65cOZUrV86lNVzLzz//LEkaMGCA/P398+2899xzT76d60ZcuHBBxYoVc3UZKGS4LYVCK2u6+bPPPtPgwYN1xx13yNPTU7/99psk6dtvv1VERIRKliypYsWKqVmzZlq1alW28yxevFj169eXp6enQkNDNX78+Gy3Yw4cOCCbzabY2Nhsx+c0fb9v3z49/fTT8vf3l6enp2rUqKEPP/wwx/rnzJmjV155RcHBwSpZsqTuv/9+7d27N9t1li1bpoiICJUqVUrFihVTjRo1FBMTI0n67LPPZLPZtGHDhmzHvf7663J3d9fRo0dzHc+cxiEnV94qyszM1JtvvqmwsDB5e3urdOnSqlu3rt59911Jf9/a+ve//y1JCg0Ntd9azLpNUKlSJT300EOaN2+eGjRoIC8vL/tMytVugV28eFHR0dEKDAyUt7e3WrZsqa1btzr0adWqVbaZGMnxFsyBAwfs4WX06NH22rKuebXbUjNmzFC9evXk5eUlX19fderUSXv27Ml2nRIlSui3335TZGSkSpQooQoVKmjw4MFKS0vLcWz/KTMzU2+//baqV68uT09P+fv7q1u3bjp8+LC9T6VKlTRixAhJUkBAwHXdSoqNjVVYWJj9czlr1qwc++V0riNHjuj5559XhQoV5OHhoeDgYD322GP6888/7X1SUlI0ZMgQhYaGysPDQ3fccYdeeuklpaamXvM9t2rVSrVr19a6devUtGlTFStWTD169JAkJSYmqmvXrg5/piZMmKDMzMxrnvdKf/zxh5588kkFBwfL09NTAQEBioiI0LZt2/J8LhRM/PcWBV5GRobS09Md2v45MzNs2DCFh4drypQpKlKkiPz9/TV79mx169ZNHTt21Keffip3d3dNnTpVbdu21fLlyxURESFJWrVqlTp27Kjw8HB98cUXysjI0Ntvv+3wl3Ve7d69W02bNlXFihU1YcIEBQYGavny5RowYIBOnDihkSNHOvQfPny4mjVrpk8++UQpKSl6+eWX1aFDB+3Zs0dFixaVJE2fPl29e/dWy5YtNWXKFPn7++vXX3+1/6+9S5cuGjp0qD788EOFh4fbz52enq6pU6eqU6dOud7Ku5FxePvttzVq1CiNGDFCLVq00OXLl/XLL7/Y19f06tVLp06d0vvvv6958+bZb/HUrFnTfo4tW7Zoz549GjFihEJDQ1W8ePFcrzl8+HA1bNhQn3zyic6ePatRo0apVatW2rp1qypXrnzNmrMEBQVp2bJlateunXr27KlevXpJUq6zNTExMRo+fLieeuopxcTE6OTJkxo1apTCw8O1adMmVa1a1d738uXLevjhh9WzZ08NHjxY69at0xtvvKFSpUrptddey7W2F154QdOmTVP//v310EMP6cCBA3r11Ve1Zs0abdmyRWXLltX8+fP14Ycfavr06Vq2bJlKlSqV662k2NhYPffcc+rYsaMmTJhgH7u0tDQVKZL7/3WPHDmiu+66S5cvX9bw4cNVt25dnTx5UsuXL9fp06cVEBCgCxcuqGXLljp8+LC9z65du/Taa69p586d+vbbb7Ot4bpSUlKSunbtqqFDh2rMmDEqUqSIjh8/rqZNm+rSpUt64403VKlSJf3vf//TkCFD9Pvvv+ujjz7K9ZxXioyMtH/GK1asqBMnTmj9+vV5XhOGAswABdTMmTONpBxfly9fNvHx8UaSadGihcNxqampxtfX13To0MGhPSMjw9SrV880adLE3nb33Xeb4OBg89dff9nbUlJSjK+vr/nnH4/9+/cbSWbmzJnZ6pRkRo4cad9u27atKV++vDl79qxDv/79+xsvLy9z6tQpY4yx1x8ZGenQ78svvzSSzIYNG4wxxpw7d86ULFnS3HvvvSYzM/Oq4zVy5Ejj4eFh/vzzT3vb3LlzjSSzdu3aqx6Xl3EwxpiQkBATFRVl337ooYdM/fr1cz3/uHHjjCSzf//+bPtCQkJM0aJFzd69e3Pc989rZY1Zw4YNHcbiwIEDxt3d3fTq1cve1rJlS9OyZcts54yKijIhISH27ePHj2f7GWbJ+gxm1X369Gnj7e2d7WeWmJhoPD09zdNPP+1wHUnmyy+/dOgbGRlpwsLCsl3rn/bs2WMkmb59+zq0//jjj0aSGT58uL1t5MiRRpI5fvx4rufMyMgwwcHBVx27f46JMdk/1z169DDu7u5m9+7dV71GTEyMKVKkiNm0aZND+9dff20kmSVLluRaY8uWLY0ks2rVKof2//u//zOSzI8//ujQ/sILLxibzebw2bmy7qzPTHx8vDHGmBMnThhJZtKkSbnWgsKN21Io8GbNmqVNmzY5vP45c9O5c2eH/uvXr9epU6cUFRWl9PR0+yszM1Pt2rXTpk2blJqaqtTUVG3atEmPPvqovLy87Mf7+PioQ4cOTtV68eJFrVq1Sp06dVKxYsUcrh8ZGamLFy9q48aNDsc8/PDDDtt169aVJB08eND+flJSUtS3b99c/9f7wgsvSJI+/vhje9sHH3ygOnXqqEWLFlc97kbHoUmTJtq+fbv69u2r5cuXKyUl5ZrHXKlu3bqqVq3adfd/+umnHcYiJCRETZs2VXx8fJ6vnRcbNmzQX3/9le1WWYUKFXTfffdlu+1ps9myjWHdunXtP9uryXofV16nSZMmqlGjRo63V69l7969Onr06FXH7lqWLl2q1q1bq0aNGlft87///U+1a9dW/fr1HT77bdu2ve4nlsqUKaP77rvPoW316tWqWbOmmjRp4tDevXt3GWO0evXqa543i6+vr+68806NGzdOEydO1NatW526tYWCjXCDAq9GjRpq3Lixw+ufrnySJetWymOPPSZ3d3eH19ixY2WM0alTp3T69GllZmYqMDAw2zVzarseJ0+eVHp6ut5///1s146MjJQknThxwuEYPz8/h+2sp13++usvSdLx48cl6ZpPrgQEBKhLly6aOnWqMjIytGPHDn333Xfq379/rsfd6DgMGzZM48eP18aNG9W+fXv5+fkpIiJCCQkJ1zw2S16fRrparSdPnszTefIq6/w51RscHJzt+sWKFXMIjNLfP9+LFy/m63WuR9Yxzv6cjx8/fs3P4J9//qkdO3Zk++z7+PjIGJPts5+TnN7zyZMnrzoWWfuvl81m06pVq9S2bVu9/fbbatiwocqVK6cBAwbo3Llz130eFGysuUGhd+VsRtmyZSVJ77///lWf+AgICLA/WZWcnJxt/5VtWf9AXbkQ9Mq/VMuUKaOiRYvq2WefVb9+/XK8dmhoaC7vJrus9R//XEh6NQMHDtRnn32mBQsWaNmyZSpdurSeeeaZXI8pU6bMdY9DTtzc3BQdHa3o6GidOXNG3377rYYPH662bdvq0KFD1/Wky7XWYVxPXcnJyQ5B0cvLS2fPns3W73r+gb2arPMnJSVl23f06FH7Z+9G/fM6VwYKZ6+TdU5nf87lypW75mewbNmy8vb21owZM666/1py+iz4+flddcyv97z/FBISounTp0uSfv31V3355ZcaNWqULl26pClTpuTpXCiYmLmB5TRr1kylS5fW7t27s834ZL08PDxUvHhxNWnSRPPmzXP4n/S5c+e0aNEih3MGBATIy8tLO3bscGhfsGCBw3axYsXUunVrbd26VXXr1s3x2lfO1FxL06ZNVapUKU2ZMkXGmFz7NmrUSE2bNtXYsWP13//+V927d7/m4ty8jMO1lC5dWo899pj69eunU6dO2Z8yunI26kbNmTPHYSwOHjyo9evXOzwdValSJf36668OgfTkyZNav369w7nyUlt4eLi8vb01e/Zsh/bDhw9r9erV9oXqNyrrtsyV19m0aZP27Nnj1HXCwsIUFBR01bG7lvbt2ys+Pj7HJ/myPPTQQ/r999/l5+eX42f/yl8UeL0iIiK0e/dubdmyxaF91qxZstlsat26tVPnlaRq1appxIgRqlOnTrbzo/Bi5gaWU6JECb3//vuKiorSqVOn9Nhjj8nf31/Hjx/X9u3b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TZqkSpUqqVatWrp06ZJmz56tuLg4xcXFuex9AACAgsOl4Wby5MmSpFatWjm0z5w5U927d5ckJSUlKTEx0b7v0qVLGjJkiI4cOSJvb2/VqlVLixcvVmRk5K0qGwAAFGAuvy11LbGxsQ7bQ4cO1dChQ29SRQAAoLArEAuKAQAA8gvhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWIpLw01MTIzuuusu+fj4yN/fX4888oj27t17zePWrl2rRo0aycvLS5UrV9aUKVNuQbUAAKAwcGm4Wbt2rfr166eNGzdq5cqVSk9PV5s2bZSamnrVY/bv36/IyEg1b95cW7du1fDhwzVgwADFxcXdwsoBAEBB5ebKiy9btsxhe+bMmfL399fmzZvVokWLHI+ZMmWKKlasqEmTJkmSatSooYSEBI0fP16dO3e+2SUDAIACrkCtuTl79qwkydfX96p9NmzYoDZt2ji0tW3bVgkJCbp8+XK2/mlpaUpJSXF4AQAA63LpzM0/GWMUHR2te++9V7Vr175qv+TkZAUEBDi0BQQEKD09XSdOnFBQUJDDvpiYGI0ePfqm1JyT0bZbd62CZKQZ6eoSAACQVIBmbvr3768dO3Zozpw51+xrs9kcto0xObZL0rBhw3T27Fn769ChQ/lTMAAAKJAKxMzNiy++qIULF2rdunUqX758rn0DAwOVnJzs0Hbs2DG5ubnJz88vW39PT095enrma70AAKDgcunMjTFG/fv317x587R69WqFhoZe85jw8HCtXLnSoW3FihVq3Lix3N3db1apAACgkHBpuOnXr59mz56tzz//XD4+PkpOTlZycrL++usve59hw4apW7du9u0+ffro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AABgKYQbAABgKYQbAABgKYQbAABgKS4NN+vWrVOHDh0UHBwsm82mb7755prHrF27Vo0aNZKXl5cqV66sKVOm3PxCAQBAoeHScJOamqp69erpgw8+uK7++/fvV2RkpJo3b66tW7dq+PDhGjBggOLi4m5ypQAAoLBwc+XF27dvr/bt2193/ylTpqhixYqaNGmSJKlGjRpKSEjQ+PHj1blz55tUJQAAKEwK1ZqbDRs2qE2bNg5tbdu2VUJCgi5fvpzjMWlpaUpJSXF4AQAA63LpzE1eJScnKyAgwKEtICBA6enpOnHihIKCgrIdExMTo9GjR9+qEuGk0bbb82c00ox0+tjbdcykGxs3ANZXqGZuJMlmszlsG2NybM8ybNgwnT171v46dOjQTa8RAAC4TqGauQkMDFRycrJD27Fjx+Tm5iY/P78cj/H09JSnp+etKA8AABQAhWrmJjw8XCtXrnRoW7FihRo3bix3d3cXVQUAAAoSl4ab8+fPa9u2bdq2bZukvx/13rZtmxITEyX9fUupW7du9v59+vTRwYMHFR0drT179mjGjBmaPn26hgwZ4oryAQBAAeTS21IJCQlq3bq1fTs6OlqSFBUVpdjYWCUlJdmDjiSFhoZqyZIlGjRokD788EMFBwfrvffe4zFwAABg59Jw06pVK/uC4JzExsZma2vZsqW2bNlyE6sCAACFWaFacwMAAHAthBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGApLg83H330kUJDQ+Xl5aVGjRrpu+++u2rfNWvWyGazZXv98ssvt7BiAABQkLk03MydO1cvvfSSXnnlFW3dulXNmzdX+/btlZiYmOtxe/fuVVJSkv1VtWrVW1QxAAAo6FwabiZOnKiePXuqV69eqlGjhiZNmqQKFSpo8uTJuR7n7++vwMBA+6to0aK3qGIAAFDQuSzcXLp0SZs3b1abNm0c2tu0aaP169fnemyDBg0UFBSkiIgIxcfH59o3LS1NKSkpDi8AAGBdLgs3J06cUEZGhgICAhzaAwIClJycnOMxQUFBmjZtmuLi4jRv3jyFhYUpIiJC69atu+p1YmJiVKpUKfurQoUK+fo+AABAweLm6gJsNpvDtjEmW1uWsLAwhYWF2bfDw8N16NAhjR8/Xi1atMjxmGHDhik6Otq+nZKSQsABAMDCXDZzU7ZsWRUtWjTbLM2xY8eyzebk5p577tG+ffuuut/T01MlS5Z0eAEAAOtyWbjx8PBQo0aNtHLlSof2lStXqmnTptd9nq1btyooKCi/ywMAAIWUS29LRUdH69lnn1Xjxo0VHh6uadOmKTExUX369JH09y2lI0eOaNasWZKkSZMmqVKlSqpVq5YuXbqk2bNnKy4uTnFxca58GwAAoABxabjp0qWLTp48qddff11JSUmqXbu2lixZopCQEElSUlKSw++8uXTpkoYMGaIjR47I29tbtWrV0uLFixUZGemqtwAAAAoYly8o7tu3r/r27ZvjvtjYWIftoUOHaujQobegKgAAUFi5/OsXAAAA8hPhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWArhBgAAWIrLw81HH32k0NBQeXl5qVGjRvruu+9y7b927Vo1atRIXl5eqly5sqZMmXKLKgUAAIWBS8PN3Llz9dJLL+mVV17R1q1b1bx5c7Vv316JiYk59t+/f78iIyPVvHlzbd26VcOHD9eAAQMUFxd3iysHAAAFlUvD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0/333685c+Zc17kqVKiguLg4SdLevXuVlJSkd999V5I0bNgwjR07Vq+++qp2796tzz//XAEBAZKkCxcuqF27dipTpow2bdqkr776St9++6369+/vcP7Vq1fr6NGjWrdunSZOnKhRo0bpoYceUpkyZfTjjz+qT58+6tOnj/023oULF9S6dWuVKFFC69at0/fff68SJUqoXbt2zEYBWVz8xZ0AboKoqCjTsWPHHPd16dLF1KhRw74tycyfP98YY8zUqVONj4+POXnyZI7HNm/e3IwZM8ah7bPPPjNBQUFXrWXkyJGmSJEipnjx4sbb29v+LewDBgyw92natKnp3bu3w3GPP/64iYyMzLHO/fv3G0lm69atOV7ziy++yHX/gAEDjLe391XPdfr0aSPJxMfHG2OMiY+PN5LM6dOn7X1SUlKMp6en+fjjj3O8xrRp00yZMmXM+fPn7W2LFy82RYoUMcnJycaYv39OISEhJiMjw94nLCzMNG/e3L6dnp5uihcvbubMmWOMMWb69OkmLCzMZGZm2vukpaUZb29vs3z58hxrAW43bi5LVQBcwhgjm82W475t27apQYMG8vX1zXH/5s2btWnTJoeZmoyMDF28eFEXLlxQsWLFcjwuLCxMCxcuVFpamhYsWKCvvvrK4Rx79uzR888/73BMs2bN7DMk+S23Mbhee/bsUVpamiIiIq66v169eipevLi9rVmzZsrMzNTevXvtMzy1atVymF0KCAhQ7dq17dtFixaVn5+fjh07Junvn8Fvv/0mHx8fh+tdvHhRv//++w29J8AqCDfAbWbPnj0KDQ3NcZ+3t3eux2ZmZmr06NF69NFHs+3z8vK66nEeHh6qUqWKpL//Md+3b59eeOEFh3U1V4aNGwkg1apVkyTt3r1b9evXz7b/l19+UdWqVSXJHiyMMfb9ly9fvuY1rjVWudX/z3Z3d/ds+3Jqy7o1mJmZqUaNGum///1vtvOWK1fumnUDtwPW3AC3kdWrV2vnzp3q3Llzjvvr1q2rbdu26dSpUznub9iwofbu3asqVapke125tiU3r776qubMmaMtW7ZIkmrUqKHvv//eoc/69etVo0aN6z7nP9WvX1/Vq1fXO++8k+3R9+3bt+vbb7/VU089Jen/B4KkpCR7nyt/f46Hh4ekv2epslStWlXe3t5atWpVjjXUrFlT27ZtU2pqqr3thx9+UJEiRezhyxkNGzbUvn375O/vn+1nUKpUKafPC1gJ4QawqLS0NCUnJ+vIkSPasmWLxowZo44dO+qhhx5St27dcjzmqaeeUmBgoB555BH98MMP+uOPPxQXF6cNGzZIkl577TXNmjVLo0aN0q5du7Rnzx7NnTtXI0aMyFNtlStXVseOHfXaa69Jkv79738rNjZWU6ZM0b59+zRx4kTNmzdPQ4YMceq922w2ffLJJ9q9e7c6d+6sn376SYmJifrqq6/UoUMHhYeH66WXXpL09wzMPffco7feeku7d+/WunXrsr2fkJAQ2Ww2/e9//9Px48d1/vx5eXl56eWXX9bQoUM1a9Ys/f7779q4caOmT58uSXrmmWfk5eWlqKgo/fzzz4qPj9eLL76oZ5991n5LyhnPPPOMypYtq44dO+q7777T/v37tXbtWg0cOFCHDx92+ryApbh0xQ+AmyIqKsq+cNfNzc2UK1fO3H///WbGjBkOi1eNcVyoa4wxBw4cMJ07dzYlS5Y0xYoVM40bNzY//vijff+yZctM06ZNjbe3tylZsqRp0qSJmTZt2lVrGTlypKlXr1629h9++MFIMhs3bjTGGPPRRx+ZypUrG3d3d1OtWjUza9asq9Z5rQXFWXbs2GE6d+5s/Pz8jLu7u7nzzjvNiBEjTGpqqkO/3bt3m3vuucd4e3ub+vXrmxUrVjgsKDbGmNdff90EBgYam81moqKijDHGZGRkmDfffNOEhIQYd3d3U7FiRYcF1zt27DCtW7c2Xl5extfX1/Tu3ducO3fOvj+nhd8tW7Y0AwcOdGgLCQkx77zzjn07KSnJdOvWzZQtW9Z4enqaypUrm969e5uzZ8/mOh7A7cJmzD9uNAMAABRy3JYCAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACWQrgBAACW8v8AuT0Z4JG/5HUAAAAASUVORK5CYII=",
+ "text/plain": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "# Calculating the frequency distribution of the dice rolls\n",
+ "frequency = df['Dice Result'].value_counts().sort_index()\n",
+ "frequency\n",
+ "# plotting the frequency results: \n",
+ "\n",
+ "plt.bar(frequency.index, frequency,color='purple') # create a bar plot using frequency data\n",
+ "plt.xlabel('Dice Roll Outcome') # setting x label as the roll results (numbers in the dice)\n",
+ "plt.ylabel('Frequency') # setting y label as the fequency of each number\n",
+ "plt.title('Frequency distribution of dice rolls') # setting a title for the plot\n",
+ "plt.xticks(range(1, 7)) # Set x-ticks to show all possible dice roll outcomes\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "While the plot of sorted values gives a detailed view of each roll's outcome in a specific order, \n",
+ "the frequency plot provides an overview of the overall outcomes, summarizing the entire set of rolls.\n",
+ "The sorted values plot displays each dice roll's outcome in a visually sorted order.\n",
+ "Each point or bar represents a specific dice roll, showing how each outcome compares to the others when arranged sequentially.\n",
+ "The frequency plot aggregates the results to show how many times each possible outcome occurred across all rolls. \n",
+ "It summarizes the data by counting occurrences rather than showing each roll individually, as the plot of sorted values.\n",
+ "Providing complementary perspectives, together both plots allow us to see a fuller picture of the data's characteristics than either could alone.\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": 79,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "4.0"
+ ]
+ },
+ "execution_count": 79,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "def mean_calculation(column):\n",
+ " \"\"\"\n",
+ " Takes a column with numerical values that can be summed and counted, sums and counts them without using built-in functions, \n",
+ " then divides the sum by the count, and returns the mean of the data provided\n",
+ " \"\"\"\n",
+ " #Check if the data list is not empty\n",
+ " if len(column) == 0:\n",
+ " return None # handling empty data\n",
+ " \n",
+ " total_sum = 0 # Initialize a variable to store the sum of all elements\n",
+ " count = 0 # Initialize a counter to count the number of elements\n",
+ " \n",
+ " # Loop through each element in the data list\n",
+ " for value in column:\n",
+ " total_sum += value # Add each element to total_sum\n",
+ " count += 1 # Increment the count for each element\n",
+ " \n",
+ " # Calculate the mean by dividing the total sum by the number of elements\n",
+ " mean = total_sum / count\n",
+ " \n",
+ " return mean\n",
+ "\n",
+ "mean_calculation(df['Dice Result'])\n",
+ " "
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 2.- First, calculate the frequency distribution. Then, calculate the mean using the values of the frequency distribution you've just computed. You are not allowed to use any methods or functions that directly calculate the mean value. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 111,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "4.0"
+ ]
+ },
+ "execution_count": 111,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "def calculate_mean_from_frequency(data):\n",
+ " # Calculating the frequency distribution using another method\n",
+ " frequency_distribution = {} # create an empty dictionary\n",
+ " for number in data:\n",
+ " if number in frequency_distribution:\n",
+ " frequency_distribution[number] += 1\n",
+ " else:\n",
+ " frequency_distribution[number] = 1\n",
+ " # Calculating the mean using the frequency distribution\n",
+ " total_sum = 0 # start the sum at 0\n",
+ " total_count = 0 # start the count at 0\n",
+ " for number, frequency in frequency_distribution.items():\n",
+ " total_sum += number * frequency # sum it dice value multiplied by it's frequency\n",
+ " total_count += frequency # sum the frequencies\n",
+ "\n",
+ " # Calculating the mean\n",
+ " mean = total_sum / total_count\n",
+ " return mean\n",
+ "\n",
+ "calculate_mean_from_frequency(df['Dice Result'])"
+ ]
+ },
+ {
+ "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": 112,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# your code here\n",
+ "def calculate_median(data):\n",
+ " # Step 1: Sort the data\n",
+ " sorted_data = sorted(data)\n",
+ " \n",
+ " # Step 2: Determine the number of observations\n",
+ " n = len(sorted_data)\n",
+ " \n",
+ " # Step 3: Compute the median\n",
+ " if n % 2 == 1:\n",
+ " # If odd, the median is the middle element\n",
+ " median = sorted_data[n // 2]\n",
+ " else:\n",
+ " # If even, the median is the average of the two middle elements\n",
+ " mid_index = n // 2\n",
+ " median = (sorted_data[mid_index - 1] + sorted_data[mid_index]) / 2\n",
+ " \n",
+ " return median"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 4.- Define a function to calculate the four quartiles. You can use the function you defined above to compute the median but you are not allowed to use any methods or functions that directly calculate the quartiles. "
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 113,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# your code here\n",
+ "\n",
+ "def calculate_quartiles(data):\n",
+ " sorted_data = sorted(data)\n",
+ " n = len(sorted_data)\n",
+ " # Calculate Q2 (Median)\n",
+ " Q2 = calculate_median(sorted_data)\n",
+ "\n",
+ " # Find the split index for odd and even length datasets\n",
+ " if n % 2 == 0:\n",
+ " lower_half = sorted_data[:n // 2]\n",
+ " upper_half = sorted_data[n // 2:]\n",
+ " else:\n",
+ " lower_half = sorted_data[:n // 2]\n",
+ " upper_half = sorted_data[n // 2 + 1:]\n",
+ "\n",
+ " # Calculate Q1 and Q3 using the median function on halves\n",
+ " Q1 = calculate_median(lower_half)\n",
+ " Q3 = calculate_median(upper_half)\n",
+ " Q4 = sorted_data[-1] # Maximum value\n",
+ "\n",
+ " return Q1, Q2, Q3, Q4"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Challenge 3\n",
+ "Read the csv `roll_the_dice_hundred.csv` from the `data` folder.\n",
+ "#### 1.- Sort the values and plot them. What do you see?"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 148,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "#plot the results\n",
+ "\n",
+ "# Creating the plot\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.plot(sorted_roll_hundred.index, sorted_roll_hundred['value'],marker='o', linestyle='-', color='r') # Plot using columns\n",
+ "plt.title('Line Plot of Dice Rolls Sorted by Values')\n",
+ "plt.xlabel('Rolls')\n",
+ "plt.ylabel('Values')\n",
+ "plt.xticks(range(1, 101, 10)) # Adjust based on your actual roll numbers\n",
+ "plt.yticks(range(1, 7))\n",
+ "plt.grid(True)\n",
+ "plt.show()\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "This plot displays a non-decreasing line, as the values are sorted from the smallest to the largest. \n",
+ "The y-axis shows dice values from 1 to 6, and each point represents a dice result in ascending order. \n",
+ "The x-axis now effectively becomes an index representing the position in the sorted list rather than the original roll number.\n",
+ "\n",
+ "Looking at this plot I can see that it visually demonstrates the frequency and spread of the dice outcomes in a clear, sorted manner.\n",
+ "I can tell that, in the 100 attempts, there seems to be a higher frequency of outcomes for number 6 and for, followed by 2, and the other numbers have a rather balanced freqency\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": 159,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "3.74"
+ ]
+ },
+ "execution_count": 159,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "\n",
+ "mean_calculation(roll_the_dice_hundred['value'])\n"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 3.- Now, calculate the frequency distribution.\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 162,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/html": [
+ "
\n",
+ "\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
\n",
+ "
frequency
\n",
+ "
\n",
+ "
\n",
+ "
value
\n",
+ "
\n",
+ "
\n",
+ " \n",
+ " \n",
+ "
\n",
+ "
1
\n",
+ "
12
\n",
+ "
\n",
+ "
\n",
+ "
2
\n",
+ "
17
\n",
+ "
\n",
+ "
\n",
+ "
3
\n",
+ "
14
\n",
+ "
\n",
+ "
\n",
+ "
4
\n",
+ "
22
\n",
+ "
\n",
+ "
\n",
+ "
5
\n",
+ "
12
\n",
+ "
\n",
+ "
\n",
+ "
6
\n",
+ "
23
\n",
+ "
\n",
+ " \n",
+ "
\n",
+ "
"
+ ],
+ "text/plain": [
+ " frequency\n",
+ "value \n",
+ "1 12\n",
+ "2 17\n",
+ "3 14\n",
+ "4 22\n",
+ "5 12\n",
+ "6 23"
+ ]
+ },
+ "execution_count": 162,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "\n",
+ "frequency = roll_the_dice_hundred['value'].value_counts().sort_index()\n",
+ "frequency = frequency.to_frame(name='frequency')\n",
+ "frequency"
+ ]
+ },
+ {
+ "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": 169,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0oAAAIhCAYAAABwnkrAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSVElEQVR4nO3dd3wUdeL/8fduskk2IYUkhBBKQLo0BRRBpIhwgnICng2QIvwsWEHlK5Yj3FEUTg7Pgu0E4Q7FAsrdiYhKUQGPIlVEUCCUhBAS0hOS7Pz+QHJkQ8uQySTL6/l47CPs7MzOe3eySd58Zj/rMAzDEAAAAACghNPuAAAAAABQ1VCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAAAAAMALRQkAAAAAvFCUAOA85s6dK4fDoQ0bNpzx9ptvvlkNGzYstaxhw4YaMWJEufazZs0aJSQk6Pjx4+aCXoIWLlyoVq1aye12y+FwaPPmzWdd99lnn9XNN9+sunXryuFwnPP4/Prrrxo0aJAiIiJUo0YN9e7dW5s2bTrjuu+//76uuOIKBQUFKS4uTo899piys7PPm33fvn1yOBwlF5fLpaioKF111VUaO3asduzYUWablStXyuFwaOXKlee9/4rUsGHDUllDQkLUvn17vfLKKzIMw/R9nn4MTj0fc+fOrZjQAHCRKEoAYIHFixfrueeeK9c2a9as0aRJkyhKF+jo0aO6++671bhxY33++edau3atmjVrdtb1//rXv+rYsWP6/e9/r4CAgHPe73XXXaeff/5Z77zzjj744APl5+erR48e2rVrV6l1//nPf+quu+7SVVddpaVLl2rixImaO3euBg0adMGP4+GHH9batWu1atUqzZ8/XwMGDNCSJUvUrl07zZgxo9S67du319q1a9W+ffsLvv+Kcu2112rt2rVau3at5s+fr+DgYD388MOaNm1apWcBgMrgb3cAAPBFV155pd0Ryq2wsFAOh0P+/tXjV8PPP/+swsJCDR06VN27dz/v+llZWXI6T/7/4Pz588+63owZM3T06FGtWbNG8fHxkqSuXbuqcePG+uMf/6iFCxdKkoqLi/Xkk0+qT58+euuttyRJPXv2VGhoqIYMGaKlS5eqb9++583VoEEDXXPNNSXX+/Xrp3HjxmnQoEEaP368WrduXXI/YWFhpdatTBEREaX2fcMNN6hBgwZ644039PTTT9uSCQCsxIgSAFjA+7Qij8ejyZMnq3nz5nK73YqIiFDbtm310ksvSZISEhL05JNPSpIaNWpUcorTqVOsPB6Ppk+frhYtWigwMFAxMTEaNmyYDh48WGq/hmFo6tSpio+PV1BQkDp27Kjly5erR48e6tGjR8l6p07hmj9/vh5//HHVrVtXgYGB2rNnj44ePaoxY8bo8ssvV40aNRQTE6Prr79e33zzTal9nTpVasaMGXrhhRfUsGFDud1u9ejRo6TEPPXUU4qLi1N4eLgGDhyolJSUC3r+lixZos6dOys4OFihoaHq3bu31q5dW3L7iBEj1LVrV0nSHXfcIYfDUerxncmpknQ+ixcv1vXXX19SkqSTBWXQoEH617/+paKiIknSunXrlJSUpJEjR5ba/rbbblONGjW0ePHiC9rfmbjdbv3973+Xy+UqNap0tlPvvv/+e/Xv319RUVEKCgpS48aN9dhjj5VaZ/fu3Ro8eLBiYmIUGBioli1b6tVXXzWdMSwsTM2aNdORI0dKLU9LS9OYMWNUt25dBQQE6LLLLtMzzzyjgoKCcu/j6NGjuvfee1W/fn0FBgaqVq1auvbaa/Xll1+azg0AF6p6/LchAFQBxcXFJX8kn+5C3qMxffp0JSQk6Nlnn1W3bt1UWFion376qeQ0u9GjRystLU0vv/yyFi1apDp16kiSLr/8cknSAw88oDfffFMPPfSQbr75Zu3bt0/PPfecVq5cqU2bNik6OlqS9Mwzz2jatGm69957NWjQIB04cECjR49WYWHhGU9LmzBhgjp37qzXX39dTqdTMTExOnr0qCRp4sSJio2NVXZ2thYvXqwePXroq6++KlNIXn31VbVt21avvvqqjh8/rscff1z9+/dXp06d5HK59M4772j//v164oknNHr0aC1ZsuScz9WCBQs0ZMgQ9enTR++9954KCgo0ffr0kv137dpVzz33nK6++mo9+OCDmjp1qnr27KmwsLDzHofzycvL0y+//KKBAweWua1t27bKy8vTr7/+qmbNmmn79u0ly0/ncrnUokWLktvNiouLU4cOHbRmzRoVFRWddaRv2bJl6t+/v1q2bKmZM2eqQYMG2rdvn7744ouSdX788Ud16dJFDRo00IsvvqjY2FgtW7ZMjzzyiFJT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Xbt26U9/+pMaNWp0xln/KpLT6dT06dM1ZMgQ3XzzzbrvvvtUUFCgGTNm6Pjx43r++edN3/eqVatKTlUrLi7W/v379dFHH0mSunfvXjI688QTT2j+/Pm66aab9Kc//UmBgYF6/vnnlZ+fr4SEhJL78/Pz0/Tp03X33Xfrvvvu01133aXdu3dr/Pjx6t27t2688cYLypWYmKh169bJ4/EoIyNDP/zwQ8lMgS+++KL69Olzzu1fffVV9e/fX9dcc43Gjh2rBg0aKDExUcuWLdM///lPSSe/p7p27arrrrtODzzwgBo2bKisrCzt2bNH//rXv/T111+X9+ksea5ef/11TZo0SbfffruGDRumV199VcOHD9e+ffvUpk0bffvtt5o6dar69eunG2644YLvOyMjQz179tTgwYPVokULhYaGav369fr8888vqoQCwAWzeTIJAKjyTs16t379+jPeftNNN5131rsXX3zR6NKlixEdHW0EBAQYDRo0MEaNGmXs27ev1HYTJkww4uLiDKfTWWp2s+LiYuOFF14wmjVrZrhcLiM6OtoYOnSoceDAgVLbezweY/LkyUa9evWMgIAAo23btsa///1vo127dqVmrDvXjHEFBQXGE088YdStW9cICgoy2rdvb3zyySfG8OHDSz3Os83adrb7Pt/zeLpPPvnE6NSpkxEUFGSEhIQYvXr1Mr777rsL2s/ZdO/e/ayzFp4+i5xhGMaePXuMAQMGGGFhYUZwcLDRq1cvY+PGjWe83wULFhht27Y1AgICjNjYWOORRx4xsrKyzpvn1PN36uLn52fUrFnT6NChg/HYY48ZO3bsKLPNmWa9M4yTMxv27dvXCA8PNwIDA43GjRsbY8eOLbO/e+65x6hbt67hcrmMWrVqGV26dDEmT5583qzx8fHGTTfddMbbXn31VUOS8e677xqGYRjHjh0z7r//fqNOnTqGv7+/ER8fb0yYMMHIz88vc5/nmvUuPz/fuP/++422bdsaYWFhhtvtNpo3b25MnDjRyMnJOW9mALhYDsO4gA8AAQBUW3v37lWLFi00ceJEPf3003bHAQCgWqAoAYAP2bJli9577z116dJFYWFh2rVrl6ZPn67MzExt3779rLPfAQCA0niPEgD4kJCQEG3YsEF///vfdfz4cYWHh6tHjx6aMmUKJQkAgHJgRAkAAAAAvDA9OAAA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c9dddyk2NlYDBgzQd999p19//VUff/yx1q5dK0n64x//qHnz5ikhIUE7duzQzp07tXDhQj377LPnzOJwODRy5EjNnj1ba9eu1ahRo0pua9KkiTZs2KBly5bp559/1nPPPaf169ef8/6uv/56zZ8/X9988422b9+u4cOHy8/Pr+T2G264QZ07d9aAAQO0bNky7du3T2vWrNGzzz6rDRs2KC8vTw899JBWrlyp/fv367vvvtP69evVsmXLC316AQCVhKIEAKhQn3/+uerUqaOGDRvqxhtv1IoVK/S3v/1Nn376aalScbqAgAB98cUXiomJUb9+/dSmTRs9//zzJev/7ne/07///W8tX75cV111la655hrNnDlT8fHx580zYsQIZWRkqHnz5rr22mtLlt9///0aNGiQ7rjjDnXq1EnHjh0rNbp0JhMmTFC3bt108803q1+/fhowYECp9xc5HA599tln6tatm+655x41a9ZMd955p/bt26fatWvLz89Px44d07Bhw9SsWTPdfvvt6tu3b6lJJQAAVYPD8D7ZGgAAAAAucYwoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAIAXihIAAAAAeKEoAQAAAICX/w9TmU+cOigTJgAAAABJRU5ErkJggg==",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "text/plain": [
+ "3.74"
+ ]
+ },
+ "execution_count": 169,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.hist(roll_the_dice_hundred['value'], bins=range(1, 8), align='left', color='purple', edgecolor='black') # \n",
+ "plt.title('Histogram of 100 Dice Rolls')\n",
+ "plt.xlabel('Dice Values')\n",
+ "plt.ylabel('Frequency')\n",
+ "plt.xticks(range(1, 7))\n",
+ "plt.grid(True)\n",
+ "plt.axvline(mean_value, color='orange', linestyle='dashed', linewidth=1) # Add a vertical line for the mean on the histogram\n",
+ "plt.text(mean_value+0.1, plt.ylim()[1]-5, f'Mean: {mean_value:.2f}', color = 'red')\n",
+ "plt.show()\n",
+ "# Calculate the mean value of dice rolls\n",
+ "mean_value = mean_calculation(roll_the_dice_hundred['value'])\n",
+ "mean_value\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "Shape: The histogram shows bars corresponding to each of the six dice values (1 through 6). \n",
+ "The height of each bar represents the number of times each value was rolled.\n",
+ "Values: Each bar's height (frequency) shows how often that particular result was rolled in the 100 trials. \n",
+ "Looking at the histogram, we can see that, in these 100 rolls, the numbers 4 and 6 showed up way more often—22 and 23 times, respectively—\n",
+ "compared to the others, which appeared only 12 to 17 times each. \n",
+ "Looking at the mean in the plot, we can see that it is, indeed, slighlty skewed to the right\n",
+ "Normally, you'd expect each number to come up about 16 or 17 times if the dice rolls were completely random and the dice was fair. \n",
+ "The higher counts for 4 and 6 might just be chance, or it might mean something's off with the dice or how we're rolling it. \n",
+ "To really figure out what's happening, I'd probably need to do more rolls or check out the dice and how we're rolling more closely\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": 172,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABZpUlEQVR4nO3dd3xUVf7/8fekTQoJLYQkEkIH6QIuRYUg0ouASlOptpXFAqzfxbIEVwFhRVlY0VVpIsWG4iogKkUFXEBBQKV3EppAEgghydzfH/fHyJgEmCHJzcy8no/HPI63zJ3PzSEwb8+ZMzbDMAwBAAAAAK5ZgNUFAAAAAIC3IUgBAAAAgJsIUgAAAADgJoIUAAAAALiJIAUAAAAAbiJIAQAAAICbCFIAAAAA4CaCFAAAAAC4iSAFAAAAAG4iSAGAG2bPni2bzaaNGzfme7xbt26qUqWKy74qVapo8ODBbr3O2rVrlZycrDNnznhWqB9atGiR6tWrp7CwMNlsNm3evLnAc5999ll169ZNN9xwg2w22xX7Z+/everdu7fKlCmjUqVKqX379vrhhx/yPXfhwoVq3LixQkNDFR8fryeeeEIZGRl5zsvIyNATTzyh+Ph4hYaGqnHjxlq4cOE13WdycrJsNpvzER4erkqVKqljx46aNm2a0tPT8zxn8ODBef5cFrVVq1a51BkYGKgKFSqoe/fuBf7+XOs1V61a5dx36ecBAMWNIAUARWzx4sV67rnn3HrO2rVrNW7cOILUNTpx4oTuv/9+Va9eXcuWLdO6detUq1atAs9/5ZVXdOrUKfXo0UMhISFXvO5tt92mnTt3aubMmXrvvfd04cIFJSUlaceOHS7nvvvuu+rfv79uvvlmLV26VGPHjtXs2bPVu3fvPNft3bu35syZo7Fjx2rp0qW6+eab1b9/f82fP/+a7/nSfS5btkz//Oc/VblyZT311FOqV6+etmzZ4nLuc889p8WLF1/ztQvT+PHjtW7dOq1atUrPPfec1q5dqzZt2mjXrl2W1AMAhSXI6gIAwNfddNNNVpfgtuzsbNlsNgUFecc/Ezt37lR2drbuu+8+tWnT5qrnp6enKyDA/H+J77zzToHnTZ48WSdOnNDatWuVmJgoSbr11ltVvXp1/f3vf9eiRYskSbm5ufrrX/+qDh066M0335QktW3bVpGRkbr33nu1dOlSde7cWZL0+eefa8WKFZo/f7769+/vPPfAgQP661//qr59+yowMPCq99C0aVNFR0c7t/v166e//OUvatOmjXr06KGdO3fKbrdLkqpXr37V6xWVmjVrqkWLFpKk2267TWXKlNGgQYM0b948jRs3zrK6AOB6MSIFAEXsj1P7HA6HXnjhBdWuXVthYWEqU6aMGjZsqKlTp0oypyr99a9/lSRVrVrVOTXq0nQmh8OhSZMmqU6dOrLb7YqJidHAgQN1+PBhl9c1DEPjx49XYmKiQkND1axZM61YsUJJSUlKSkpynndputQ777yjUaNG6YYbbpDdbtfu3bt14sQJPfroo6pbt65KlSqlmJgY3X777frmm29cXmv//v2y2WyaPHmyXnrpJVWpUkVhYWFKSkpyhpy//e1vio+PV+nSpdWrVy8dP378mn5+S5YsUcuWLRUeHq7IyEi1b99e69atcx4fPHiwbr31VklS3759ZbPZXO4vP5dC1NUsXrxYt99+uzNESVJUVJR69+6tTz/9VDk5OZKk9evXKyUlRUOGDHF5/j333KNSpUq5jAYtXrxYpUqV0j333ONy7pAhQ3T06FF9//3311Rbfho1aqRnnnlGBw8edIY8Kf+pfQ6HQ9OmTVPjxo2dfw5btGihJUuWuJy3aNEitWzZUhERESpVqpQ6duyoH3/80eMamzVrJkk6duyYy/5vv/1W7dq1U2RkpMLDw9WqVSt99tlnHr3G119/raSkJJUvX15hYWGqXLmy7rrrLp0/f97jugHgjwhSAOCB3Nxc5eTk5HkYhnHV506aNEnJycnq37+/PvvsMy1atEjDhg1zTuN74IEHNGLECEnSRx99pHXr1mndunVq0qSJJOnPf/6z/u///k/t27fXkiVL9I9//EPLli1Tq1atdPLkSefrPPPMM3rmmWfUqVMnffLJJ3rkkUf0wAMPaOfOnfnWNWbMGB08eFCvv/66Pv30U8XExOi3336TJI0dO1afffaZZs2apWrVqikpKcnlcyqX/Pvf/9Z3332nf//733rrrbf066+/qnv37ho2bJhOnDihmTNnatKkSfryyy/1wAMPXPVnNX/+fN15552KiorSggUL9Pbbb+v06dNKSkrSt99+K8mctvbvf/9b0u/TyF577bWrXvtqMjMztWfPHjVs2DDPsYYNGyozM1N79+6VJG3bts25/3LBwcGqU6eO8/ilc2+88cY8o32Xnnv5uZ7o0aOHJGnNmjVXPG/w4MF6/PHHdfPNN2vRokVauHChevToof379zvPGT9+vPr376+6devqvffe0zvvvKP09HTddttt+vnnnz2qb9++fZLkMvVy9erVuv3223X27Fm9/fbbWrBggSIjI9W9e3eXQHgt9u/fr65duyokJEQzZ87UsmXLNHHiREVEROjixYse1QwA+TIAANds1qxZhqQrPhITE12ek5iYaAwaNMi53a1bN6Nx48ZXfJ3Jkycbkox9+/a57P/ll18MScajjz7qsv/77783JBlPP/20YRiG8dtvvxl2u93o27evy3nr1q0zJBlt2rRx7lu5cqUhyWjduvVV7z8nJ8fIzs422rVrZ/Tq1cu5f9++fYYko1GjRkZubq5z/6uvvmpIMnr06OFynSeeeMKQZJw9e7bA18rNzTXi4+ONBg0auFwzPT3diImJMVq1apXnHt5///2r3sMfRUREuPTPJUeOHDEkGRMmTMhzbP78+YYkY+3atYZhGMaLL75oSDJSUlLynNuhQwejVq1azu2aNWsaHTt2zHPe0aNHDUnG+PHjr1jv2LFjDUnGiRMn8j2emZlpSDI6d+7s3Ddo0CCXP5dr1qwxJBnPPPNMga9z8OBBIygoyBgxYoTL/vT0dCM2Ntbo06fPFeu81CeLFi0ysrOzjfPnzxvfffedUbt2baNu3brG6dOnnee2aNHCiImJMdLT0537cnJyjPr16xuVKlUyHA6HyzVXrlyZ5+dxyQcffGBIMjZv3nzF+gDgejEiBQAemDt3rjZs2JDncWmK2ZX86U9/0pYtW/Too49q+fLlSktLu+bXXblypSTlWWXuT3/6k2688UZ99dVXksypZllZWerTp4/LeS1atChw9ba77ror3/2vv/66mjRpotDQUAUFBSk4OFhfffWVfvnllzzndunSxWXa3I033ihJ6tq1q8t5l/YfPHiwgDuVduzYoaNHj+r+++93uWapUqV01113af369cUyVetKK8L98VhB517reVc7di2MaxgVXbp0qSRp+PDhBZ6zfPly5eTkaODAgS6jrqGhoWrTpk2+I5L56du3r4KDgxUeHq5bbrlFaWlp+uyzz1SmTBlJ0rlz5/T999/r7rvvVqlSpZzPCwwM1P3336/Dhw/nWdjjSho3bqyQkBA99NBDmjNnjnPUEAAKG0EKADxw4403qlmzZnkepUuXvupzx4wZo3/+859av369OnfurPLly6tdu3bXtCT0qVOnJElxcXF5jsXHxzuPX2orVqyY57z89hV0zSlTpujPf/6zmjdvrg8//FDr16/Xhg0b1KlTJ2VmZuY5v1y5ci7bl1bEK2j/hQsX8q3l8nso6F4dDodOnz5d4POvV9myZWWz2Zx1XO7SlMdL91W+fHlJKvDcy++/fPny13RNTx04cECS+TMqyIkTJxQYGKjY2NgCz7n0Gaabb75ZwcHBLo9Fixa5TCO9kpdeekkbNmzQ6tWr9cwzz+jYsWPq2bOnsrKyJEmnT5+WYRgF9rOU/8+1INWrV9eXX36pmJgYDR8+XNWrV1f16tWdn0EEgMLiHcsxAYAPCQoK0siRIzVy5EidOXNGX375pZ5++ml17NhRhw4dUnh4eIHPvfSGPSUlRZUqVXI5dvToUecqbpfO++MH+iUpNTU131Gp/EZC5s2bp6SkJM2YMcNlf37fVVTYLr/XPzp69KgCAgJUtmzZInv9sLAw1ahRQ1u3bs1zbOvWrQoLC1O1atUkSQ0aNHDur1u3rvO8nJwc/frrr87V+S6du2DBAuXk5Lh8TurS69SvX/+66r60WMSVFtyoUKGCcnNzlZqamm+AkeT8s/TBBx+4LLbhrmrVqjkXmGjdurXCwsL07LPPatq0aRo9erTKli2rgICAAvv58lqu1W233abbbrtNubm52rhxo6ZNm6YnnnhCFStWVL9+/Ty+FwC4HCNSAGChMmXK6O6779bw4cP122+/OT/of2nZ6j+O+tx+++2SzIBzuQ0bNuiXX35Ru3btJEnNmzeX3W7P80H99evXO0csroXNZnPWcslPP/3ksmpeUaldu7ZuuOEGzZ8/32W62rlz5/Thhx86V/IrSr169dLXX3+tQ4cOOfelp6fro48+Uo8ePZxBqHnz5oqLi9Ps2bNdnv/BBx8oIyPD5bukevXqpYyMDH344Ycu586ZM0fx8fFq3ry5x/Vu2bJF48ePV5UqVfJM67zcpaXY/xiQL9exY0cFBQVpz549+Y6+XgpH7nrqqadUo0YNTZw4Uenp6YqIiFDz5s310Ucfufx5dzgcmjdvnipVqnTF7wS7ksDAQDVv3ty5GElBX6QMAJ5gRAoAiln37t1Vv359NWvWTBUqVNCBAwf06quvKjExUTVr1pT0+wjH1KlTNWjQIAUHB6t27dqqXbu2HnroIU2bNk0BAQHq3Lmz9u/fr+eee04JCQl68sknJZnTw0aOHKkJEyaobNmy6tWrlw4fPqxx48YpLi7umpf/7tatm/7xj39o7NixatOmjXbs2KHnn39eVatWdS79XVQCAgI0adIk3XvvverWrZsefvhhZWVlafLkyTpz5owmTpzo8bVXr16tEydOSDJXYDxw4IA++OADSVKbNm1UoUIFSdLo0aP1zjvvqGvXrnr++edlt9s1ceJEXbhwQcnJyc7rBQYGatKkSbr//vv18MMPq3///tq1a5eeeuoptW/fXp06dXKe27lzZ7Vv315//vOflZaWpho1amjBggVatmyZ5s2bd03fISVJmzZtUunSpZWdna2jR4/qq6++0jvvvKOYmBh9+umnV/yi4dtuu03333+/XnjhBR07dkzdunWT3W7Xjz/+qPDwcI0YMUJVqlTR888/r2eeeUZ79+5Vp06dVLZsWR07dkz/+9//FBER4dH3QAUHB2v8+PHq06ePpk6dqmeffVYTJkxQ+/bt1bZtW40ePVohISF67bXXtG3bNi1YsMCtz429/vrr+vrrr9W1a1dVrlxZFy5c0MyZMyVJd9xxh9v1AkCBLF7sAgC8yqVV+zZs2JDv8a5du1511b6XX37ZaNWqlREdHW2EhIQYlStXNoYNG2bs37/f5Xljxowx4uPjjYCAAJeVynJzc42XXnrJqFWrlhEcHGxER0cb9913n3Ho0CGX5zscDuOFF14wKlWqZISEhBgNGzY0/vvf/xqNGjVyWXHvSiveZWVlGaNHjzZuuOEGIzQ01GjSpInx8ccf51kF7tKqfZMnT3Z5fkHXvtrP8XIff/yx0bx5cyM0NNSIiIgw2rVrZ3z33XfX9DoFadOmTYGrLl6+IpxhGMbu3buNnj17GlFRUUZ4eLjRrl07Y9OmTfled/78+UbDhg2NkJAQIzY21njsscdcVqK7JD093XjssceM2NhYZ98sWLDgmmq/tErdpYfdbjfi4uKMDh06GFOnTjXS0tLyPOeP/WUY5p+jV155xahfv74REhJilC5d2mjZsqXx6aefupz38ccfG23btjWioqIMu91uJCYmGnfffbfx5ZdfXrHOq/VJ8+bNjbJlyxpnzpwxDMMwvvnmG+P22283IiIijLCw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vjJlyhRVibiKqKgo/nLwMfSpb6JffQ996pvoV99Dnxa/0qVLX/Ucr19sIiQkRE2bNtWKFStc9q9YscJlqh8AAAAAFBavH5GSpJEjR+r+++9Xs2bN1LJlS/3nP//RwYMH9cgjj1hdGgAAAAAf5BNBqm/fvjp16pSef/55paSkqH79+vr888+VmJhodWm4ArvdrrFjx+aZZgnvRZ/6JvrV99Cnvol+9T30acnm9av2AQAAAEBx8/rPSAEAAABAcSNIAQAAAICbCFIAAAAA4CaCFAAAAAC4iSCFYrdmzRp1795d8fHxstls+vjjj60uCddpwoQJuvnmmxUZGamYmBj17NlTO3bssLosXIcZM2aoYcOGzi+BbNmypZYuXWp1WShEEyZMkM1m0xNPPGF1KbgOycnJstlsLo/Y2Firy0IhOHLkiO677z6VL19e4eHhaty4sTZt2mR1WbgMQQrF7ty5c2rUqJGmT59udSkoJKtXr9bw4cO1fv16rVixQjk5OerQoYPOnTtndWnwUKVKlTRx4kRt3LhRGzdu1O23364777xT27dvt7o0FIINGzboP//5jxo2bGh1KSgE9erVU0pKivOxdetWq0vCdTp9+rRuueUWBQcHa+nSpfr555/18ssvq0yZMlaXhsv4xPdIwbt07txZnTt3troMFKJly5a5bM+aNUsxMTHatGmTWrdubVFVuB7du3d32X7xxRc1Y8YMrV+/XvXq1bOoKhSGjIwM3XvvvXrzzTf1wgsvWF0OCkFQUBCjUD7mpZdeUkJCgmbNmuXcV6VKFesKQr4YkQJQ6M6ePStJKleunMWVoDDk5uZq4cKFOnfunFq2bGl1ObhOw4cPV9euXXXHHXdYXQoKya5duxQfH6+qVauqX79+2rt3r9Ul4TotWbJEzZo10z333KOYmBjddNNNevPNN60uC39AkAJQqAzD0MiRI3Xrrbeqfv36VpeD67B161aVKlVKdrtdjzzyiBYvXqy6detaXRauw8KFC/XDDz9owoQJVpeCQtK8eXPNnTtXy5cv15tvvqnU1FS1atVKp06dsro0XIe9e/dqxowZqlmzppYvX65HHnlEjz32mObOnWt1abgMU/sAFKq//OUv+umnn/Ttt99aXQquU+3atbV582adOXNGH374oQYNGqTVq1cTprzUoUOH9Pjjj+uLL75QaGio1eWgkFw+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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "thousand_rolls = pd.read_csv('data/roll_the_dice_thousand.csv')\n",
+ "mean_thousand = mean_calculation(thousand_rolls['value'])\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.hist(thousand_rolls['value'], bins=range(1, 8), align='left', color='green', edgecolor='black') # \n",
+ "plt.title('Histogram of 1000 Dice Rolls')\n",
+ "plt.xlabel('Dice Values')\n",
+ "plt.ylabel('Frequency')\n",
+ "plt.xticks(range(1, 7))\n",
+ "plt.grid(True)\n",
+ "plt.axvline(mean_thousand, color='blue', linestyle='dashed', linewidth=1) # Add a vertical line for the mean on the histogram\n",
+ "plt.text(mean_thousand+0.1, plt.ylim()[1]-5, f'Mean: {mean_thousand:.2f}', color = 'blue')\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "This confirms my previous comment: by doing more rolls, \n",
+ "I can see how the plot is now a lot less skewed and the results are a lot more uniform and balanced\n",
+ "Considering that for a fair six-sided die, the theoretical mean is expected to be 3.5, calculated as (1+2+3+4+5+6)/6,\n",
+ "For a fair six-sided die, the theoretical mean is expected to be 3.5, calculated as (1+2+3+4+5+6)/6.\n",
+ "Observing the Mean in the Histogram:\n",
+ "A histogram with the mean close to 3.5 and nearly equal bar heights indicates a uniform distribution,\n",
+ "suggesting that the dice rolls are fair and random. \n",
+ "I can see how, as the sample size increases (e.g., 1000 rolls), the calculated mean tends to approach the theoretical mean.\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": 190,
+ "metadata": {
+ "scrolled": true
+ },
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "observation\n",
+ "1 2\n",
+ "2 2\n",
+ "4 1\n",
+ "5 2\n",
+ "6 2\n",
+ " ..\n",
+ "69 1\n",
+ "70 1\n",
+ "71 1\n",
+ "73 1\n",
+ "82 1\n",
+ "Name: count, Length: 72, dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "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mjVrZhw4cCBg3O9//3tDkrFnzx7DMAx//eeff75x+vRp/7h3333XkGSsXLnSv61z585G586dDa/XW2m/Fi9ebEgyPvjggwrHWrp0aaWPM4zver169epKx/Tv399wOp0Vzlfeo507dxqSjFdffbXKczVt2jSgX+bj3XDDDZXuO/PrMXjwYEOS8fe//z1g7C9/+UvDbrf7+19+bZs3bw4YV97/M7+nJ0+ebFT2K4X563zPPfcYkox///vfAeNuu+02w2azGXl5eQHnqcnXGQDqAh+9A4AqLFq0SE6nU9ddd50kqVmzZrrmmmv0xhtvaN++ff5xW7duVWJion74wx8GPN78LsV///tf7d271//H/adPn/bfRo4cqcOHDysvL0+SdNFFF2n9+vW65557tGXLFnm93lrV/vjjj2vHjh0Bt44dO/r3/+hHPwp416E2tW3evFmXX3652rVr5398o0aNgr6DVlOvvfaahg4dqpSUlIBzjxgxQlJZj880atQoNWrUyH+/V69ekuSfae7jjz/WJ598optvvlnx8fGVnvfnP/+52rZt6//4mCT96U9/Ups2bc7qesoZhlHl/i5duqhly5aaPn26Fi5cqI8++iik8/z0pz+t8djExET96Ec/Ctg2btw4+Xy+Kt/9CodNmzbp+9//vi666KKA7TfeeKMMw9CmTZsCtlf3dQaAukJQAoBK/Pe//9W2bds0atQoGYah48eP6/jx4/4ptstnwpOko0ePBoSGcuZtX3zxhSTprrvuUlxcXMBt0qRJkiSPxyOp7KNx06dP16uvvqqhQ4eqVatWGjNmTEBAq8p5552nfv36BdzOnKzB/NGo2tR29OhRJScnVzhnsG019cUXX+gf//hHhXP36NEj4NzlzDP4lV9beaD88ssvJUkdOnSo8rwOh0MTJ07UihUrdPz4cX355Zd6+eWXdcstt4Rlcgu3262UlJRK97do0UJbt27VD37wA913333q0aOHUlJS9MADD6ikpKTG56nNzHbBvlfLv3Y1/WhnqI4ePRq01vIemc9f3dcZAOoKf6MEAJV48cUXZRiG/vrXv+qvf/1rhf1Lly7VrFmz1KhRI7Vu3VrvvvtuhTH5+fkB95OSkiRJ9957r8aOHRv0vN26dZMkNW3aVA8++KAefPBBffHFF/53l0aPHq29e/ee7eXJZrOFXFvr1q0rXJtU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k8vl0hNPPKEnn3xSf/rTn/xj6KskA5aTZLzyyitWlxG1qurf/v37DUnGBx98UK81RbsjR44YkoytW7dW2EdPQ9eyZUvjhRdeCNhGP2vv5MmTRnp6upGTk2MMHjzYmDJlSoUx9LVmHnjgAaN3797VjqOfNTd9+nTjkksuqdFY+hqaKVOmGJ07dzZ8Pl/AdvpZc6NGjTImTJgQsG3s2LFGVlZWhbENua+8owSggq+//lqS1KpVK4sriQ2lpaVatWqVCgoKNGDAAKvLiXqTJ0/WqFGjdMUVV1hdSkzYt2+fUlJSlJaWpuuuu07/+9//rC4pqq1du1b9+vXTNddco7Zt26pPnz56/vnnrS4rZpw6dUrLly/XhAkTZLPZrC4nal1yySX617/+pY8//liSlJubqzfffFMjR460uLLI0tjqAgBEFsMwNG3aNF1yySXq2bOn1eVEtQ8//FADBgxQUVGRmjVrpldeeUXf//73rS4rqq1atUrvv/++duzYYXUpMaF///5atmyZunbtqi+++EKzZs3SwIEDtWfPHrVu3drq8qLS//73Pz3zzDOaNm2a7rvvPr377ru6/fbb5XA4dMMNN1hdXtR79dVXdfz4cd14441WlxLVpk+frq+//lrdu3dXo0aNVFpaqkceeUQ///nPrS4tohCUAAT49a9/rd27d+vNN9+0upSo161bN+3atUvHjx/X3/72N40fP15bt24lLIXos88+05QpU7Rx40bFx8dbXU5MGDFihP//zz//fA0YMECdO3fW0qVLNW3aNAsri14+n0/9+vXT7NmzJUl9+vTRnj179MwzzxCUwmDRokUaMWKEUlJSrC4lqr300ktavny5VqxYoR49emjXrl2aOnWqUlJSNH78eKvLixgEJQB+v/nNb7R27Vpt27ZNHTp0sLqcqNekSRN16dJFktSvXz/t2LFDf/jDH/Tss89aXFl0eu+993TkyBFdcMEF/m2lpaXatm2b5s2bp+LiYjVq1MjCCqNf06ZNdf7552vfvn1WlxK12rdvX+EfQzIyMvS3v/3Noopix4EDB/R///d/WrNmjdWlRL3f/va3uueee3TddddJKvuHkgMHDujRRx8lKJ2BoARAhmHoN7/5jV555RVt2bJFaWlpVpcUkwzDUHFxsdVlRK3LL788YEY2SbrpppvUvXt3TZ8+nZAUBsXFxXK5XLr00kutLiVqDRo0qMLyCh9//LE6depkUUWxY/HixWrbtq1GjRpldSlRr7CwUHZ74FQFjRo1CpgeHAQly3zzzTf673//67+/f/9+7dq1S61atVJqaqqFlUWH6vr31Vdfye1269ChQ5Lkf9FKTk4OWCMEZSZPnqwVK1bo73//uxITE5Wfny9JatGihZxOpyTR01q67777NGLECHXs2FEnT57UqlWrtGXLFr3++uuS6GcoEhMTK/zdXNOmTdW6dWv/dvpaO3fddZdGjx6t1NRUHTlyRLNmzdKJEyf8/6JMP2vvjjvu0MCBAzV79mz97Gc/07vvvqvnnntOzz33nH8Mfa09n8+nxYsXa/z48WrcOPDXV/pZe6NHj9Yjjzyi1NRU9ejRQx988IHmzJmjCRMm+MfQVzE9uFU2b95sSKpwGz9+vNWlRYXq+rd48eKg+x944AFL645UwXolyVi8eLF/DD2tnQkTJhidOnUymjRpYrRp08a4/PLLjY0bN/r308/wME8PTl9r59prrzXat29vxMXFGSkpKcbYsWONPXv2+PfTz9D84x//MHr27Gk4HA6je/fuxnPPPRewn77W3oYNGwxJRl5eXoV99LP2Tpw4YUyZMsVITU014uPjjfPOO8+YMWOGUVxc7B9DXw3DZhiGEbbUBQAAAAAxgHWUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAABOCEgAAAACYEJQAAAAAwISgBACIOtu3b1ejRo30wx/+0OpSAAAxymYYhmF1EQAA1MYtt9yiZs2a6YUXXtBHH32k1NRUq0sCAMQY3lECAESVgoICvfzyy7rtttt01VVXacmSJQH7165dq/T0dDmdTg0dOlRLly6VzWbT8ePH/WO2b9+uzMxMOZ1OdezYUbfffrsKCgr8+xcsWKD09HTFx8erXbt2uvrqq+vp6gAAkYKgBACIKi+99JK6deumbt26KSsrS4sXL1b5hyM+/fRTXX311RozZox27dqliRMnasaMGQGP//DDD3XllVdq7Nix2r17t1566SW9+eab+vWvfy1J2rlzp26//XY99NBDysvL0+uvv67MzMx6v04AgLX46B0AIKoMGjRIP/vZzzRlyhSdPn1a7du318qVK3XFFVfonnvu0T//+U99+OGH/vH333+/HnnkER07dkznnHOObrjhBjmdTj377LP+MW+++aYGDx6sgoICrVu3TjfddJM+//xzJSYmWnGJAIAIwDtKAICokZeXp3fffVfXXXedJKlx48a69tpr9eKLL/r3X3jhhQGPueiiiwLuv/fee1qyZImaNWvmv1155ZXy+Xzav3+/hg0bpk6dOum8887TL37xC/3lL39RYWFh/VwgACBiNLa6AAAAamrRokU6ffq0vve97/m3GYahuLg4HTt2TIZhyGazBTzG/MEJn8+niRMn6vbbb69w/NTUVDVp0kTvv/++tmzZoo0bN+p3v/udsrOztWPHDp1zzjl1cl0AgMhDUAIARIXTp09r2bJleuqppzR8+PCAfT/96U/1l7/8Rd27d9e6desC9u3cuTPgft++fbVnzx516dKl0nM1btxYV1xxha644go98MADOuecc7Rp0yaNHTs2fBcEAIhoBCUAQFR47bXXdOzYMd18881q0aJFwL6rr75aixYt0po1azRnzhxNnz5dN998s3bt2uWfFa/8nabp06fr4osv1uTJk/XLX/5STZs2lcvlUk5Ojv70pz/ptdde0//+9z9lZmaqZcuWWrdunXw+n7p161bflwwAsBB/owQAiAqLFi3SFVdcUSEkSWXvKO3atUvHjh3TX//6V61Zs0a9evXSM88845/1zuFwSJJ69eqlrVu3at++fbr00kvVp08fzZw5U+3bt5cknXPOOVqzZo0uu+wyZWRkaOHChVq5cqV69OhRfxcLALAcs94BAGLaI488ooULF+qzzz6zuhQAQBTho3cAgJiyYMECXXjhhWrdurXeeustPfnkk/41kgAAqCmCEgAgpuzbt0+zZs3SV199pdTUVN1555269957rS4LABBl+OgdAAAAAJgwmQMAAAAAmBCUAAAAAMCEoAQAAAAAJgQlAAAAADAhKAEAAACACUEJAAAAAEwISgAAAABgQlACAAAAAJP/B/NOplCbG1ZuAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "ages = pd.read_csv('data/ages_population.csv')\n",
+ "ages['observation'] = ages['observation'].astype(int)\n",
+ "\n",
+ "frequency_count = ages['observation'].value_counts().sort_index()\n",
+ "display(frequency_count)\n",
+ "\n",
+ "# I will use the histogram to graph it\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.hist(ages['observation'], bins=range(1, 85), align='left', color='orange', edgecolor='black') # \n",
+ "plt.title('Ages Frequency Distribution')\n",
+ "plt.xlabel('Ages')\n",
+ "plt.ylabel('Frequency')\n",
+ "plt.xticks(range(1, 82,10))\n",
+ "plt.grid(True)\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "By observing the plot, it seems the bulk of the data is concentrated around the middle age groups. \n",
+ "This suggests that the mean age might be around the center of this distribution, possibly in the range of 30 to 45 years. \n",
+ "The spread of the data from the youngest to the oldest ages also indicates that the standard deviation might be moderately large, \n",
+ "perhaps around 15 to 25 years.\n",
+ "\"\"\""
+ ]
+ },
+ {
+ "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": 193,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "The mean of the ages is 36.56. and the standard deviation is 12.816499625976762\n"
+ ]
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "# Calculate mean and standard deviation\n",
+ "mean_age = ages['observation'].mean()\n",
+ "std_dev_age = ages['observation'].std()\n",
+ "print(f\"The mean of the ages is {mean_age}. and the standard deviation is {std_dev_age}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "Mean Estimate: I guessed the mean would be in the range of 30 to 50 years. The actual mean of 36.56 years falls within this range.\n",
+ "Standard Deviation Estimate: I estimated the standard deviation might be between 15 to 25 years. \n",
+ "The actual standard deviation is about 12.82 years, which is slightly below the lower end of my estimated range.\n",
+ "So, while the mean fell within the predicted range, the standard deviation was a bit lower, \n",
+ "indicating a slightly tighter clustering of ages around the mean than initially assessed. \n",
+ "This suggests that the ages are less spread out than I thought based on the plot. ​\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": 208,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "observation\n",
+ "19 3\n",
+ "20 13\n",
+ "21 17\n",
+ "22 35\n",
+ "23 41\n",
+ "24 78\n",
+ "25 98\n",
+ "26 120\n",
+ "27 125\n",
+ "28 139\n",
+ "29 115\n",
+ "30 90\n",
+ "31 61\n",
+ "32 31\n",
+ "33 22\n",
+ "34 7\n",
+ "35 3\n",
+ "36 2\n",
+ "Name: count, dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA1IAAAIhCAYAAABE54vcAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABSwklEQVR4nO3deXhTZcL+8TspXdJSloLQVqCiLDKAHVEEQQsILaJsIooisoq8Kq4wKjqOZV5ExZ/gKwyor2zKAKKDuIFaR6AiOgpCUewgMyJlKWKhUGhLCeT5/cHbDKHrKWlzAt/PdfVycvIk5z5Pkjm9OSenDmOMEQAAAACg0pyBDgAAAAAAwYYiBQAAAAAWUaQAAAAAwCKKFAAAAABYRJECAAAAAIsoUgAAAABgEUUKAAAAACyiSAEAAACARRQpAAAAALCIIgUAVfDyyy/L4XCoXbt2gY7iY/ny5br99tvVokULuVwuXXTRRbrjjju0ffv2Sj1+5MiRcjgcpf58+OGH1Zz+/HLmXEdFRemiiy5S//79NX/+fBUVFZV4TPfu3dW9e3dL6/nxxx+VmpqqX375xdLjzlzXL7/8IofDof/3//6fpeepyNSpU7VixYoSy9esWSOHw6E1a9b4dX0A4C+1Ah0AAILRvHnzJElbt27VP/7xD3Xq1CnAiU55/vnnFRsbqyeffFIXX3yxdu3apalTp6pDhw76+uuv1bZt2wqfw+Vy6fPPPy+x/NJLL62OyOe10+e6sLBQu3bt0qpVqzR27Fi9+OKL+vjjj9WkSRPv+NmzZ1tex48//qjJkyere/fuuuiiiyr9uKqsqyqmTp2qwYMHa+DAgT7LO3TooK+++kq/+93vaiQHAFhFkQIAizZs2KCMjAzdeOON+uijjzR37lzbFKkPPvhAjRo18ll23XXX6aKLLtKMGTP0+uuvV/gcTqdTnTt3rvQ6CwoKFBkZaTkrSp/r4cOHa9SoUerbt68GDx6sr7/+2ntfTZSK4tcz0AWmTp06lt6HAFDTOLUPACyaO3euJOm5555Tly5dtHTpUhUUFJQYt3v3bg0ePFjR0dGqV6+e7rjjDn377bdyOBxasGCBz9gNGzaof//+iomJUUREhC6//HItW7bMZ0xBQYEmTpyo5s2bKyIiQjExMbryyiu1ZMkS75gzS5QkxcfHq0mTJtq1a9dZb3tqaqocDoe+++47DR48WPXr19cll1wiSTLGaPbs2fr9738vl8ul+vXra/Dgwfr55599nsMYo2nTpikhIUERERHq0KGDVq1aVeJUsgULFsjhcJQ4Ja2sU74+++wz9ezZU3Xq1FFkZKS6du2qv//976Xm37p1q26//XbVrVtXjRs31ujRo3X48GGfsR6PRzNnzvRuT7169dS5c2e9//77kqQxY8YoJiam1Nf+uuuuq9TRv7KkpKRo7Nix+sc//qH09HTv8tJO7ZszZ44SExNVu3ZtRUdH69JLL9UTTzwh6dQc3nLLLZKkHj16eE8jLH7/de/eXe3atVN6erq6dOmiyMhIjR49usx1Fc/LM888o2bNmikiIkJXXnlliXkeOXJkqUe/iue/mMPhUH5+vhYuXOjNVrzOsl7n999/X1dffbUiIyMVHR2t5ORkffXVV6WupzKvMwBUFUUKACwoLCzUkiVL1LFjR7Vr106jR4/WkSNH9Pbbb/uMy8/PV48ePbR69Wo9//zzWrZsmRo3bqwhQ4aUeM7Vq1era9euOnTokF555RW99957+v3vf68hQ4b4FK5HHnlEc+bM0QMPPKCPP/5Yb775pm655RYdOHCg3Mw///yzdu7caekX+xMnTvj8nDx50uf+QYMGqUWLFnr77bf1yiuvSJLGjRunhx56SL169dKKFSs0e/Zsbd26VV26dNGvv/7qfezkyZP12GOPKTk5WStWrNA999yjsWPHatu2bZXOd6ZFixYpJSVFderU0cKFC7Vs2TLFxMSod+/eJX7Jl6Sbb75ZrVq10t/+9jc9/vjjWrx4sR5++GGfMSNHjtSDDz6ojh076q233tLSpUvVv39/b7F78MEHlZubq8WLF/s87scff9Tq1at13333VXl7JKl///6S5FOkzrR06VLde++96tatm959912tWLFCDz/8sPLz8yVJN954o6ZOnSpJ+stf/qKvvvpKX331lW688Ubvc2RnZ2vYsGEaOnSoVq5cqXvvvbfcXLNmzdLHH3+sl156SYsWLZLT6VSfPn1KlJnK+Oqrr+RyuXTDDTd4s5V3SuHixYs1YMAA1alTR0uWLNHcuXOVm5ur7t27a926dSXGV+Z1BoAqMwCASnvjjTeMJPPKK68YY4w5cuSIqV27trn22mt9xv3lL38xksyqVat8lo8bN85IMvPnz/cuu/TSS83ll19u3G63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v0EUHh6uyy+/vFrmp2vXrrr77rs1atQobdiwQUlJSYqKilJ2drbWrVun9u3b65577lH9+vU1ceJETZkyRXfddZduueUW7dq1S6mpqSVOGevYsaNat26tiRMn6sSJE6pfv77efffdEldnq127tmbOnKkRI0bo4MGDGjx4sBo1aqTffvtNGRkZ+u233ypViE537bXX6s4779SUKVP066+/qm/fvgoPD9emTZsUGRmp+++/3zu2Xr16Gj58uObMmaOEhAT169ev0uvxeDze16ioqEhZWVlatWqVli1bpjZt2pS4BP6Zxo4dK5fLpa5duyouLk779u3Ts88+q7p166pjx46STr03Jem1115TdHS0IiIi1Lx58xKnvVVWSEiIkpOT9cgjj8jj8ej5559XXl6eJk+e7B0zZMgQ/elPf9Jtt92mP/zhDzp27JhefvnlUr9D1b59e61Zs0YffPCB4uLiFB0dXeoRPafTqWnTpumOO+5Q3759NW7cOBUVFemFF17QoUOH9Nxzz1VpewCgygJ0kQsACCoDBw40YWFhZv/+/WWOue2220ytWrXMvn37jDHGZGVlmUGDBpnatWub6Ohoc/PNN5uVK1caSea9997zeWxGRoa59dZbTaNGjUxoaKiJjY011113nffqgMYY8/jjj5srr7zS1K9f34SHh5uLL77YPPzwwyYnJ8c7JiEhodSr7kkq9SpqZ6roSnLFV0P77bffSr1/3rx5plOnTiYqKsq4XC5zySWXmOHDh5sNGzZ4x3g8HvPss8+apk2bmrCwMHPZZZeZDz74oMRV4owx5qeffjIpKSmmTp065oILLjD333+/+eijj0q9Ct3atWvNjTfeaGJiYkxoaKi58MILzY033mjefvvtCvOXdoXAkydPmhkzZph27dqZsLAwU7duXXP11VebDz74oMR2r1mzxkgyzz33XJlzd6Yzr5DocrlMs2bNTL9+/cy8efNMUVFRicecOUcLFy40PXr0MI0bNzZhYWEmPj7e3HrrrWbLli0+j3vppZdM8+bNTUhIiM9VI7t162batm1bar6yrtr3/PPPm8mTJ5smTZqYsLAwc/nll5tPPvmkxONXrlxpfv/73xuXy2UuvvhiM2vWrFKv2rd582bTtWtXExkZ6XPlxjOv2ldsxYoVplOnTiYiIsJERUWZnj17mi+//NJnjJXXGQCqymFM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c9p131O/fn3z+uuv23Kfc7rinKez037HmNIzFgv0Pud05eUM9H6n2JkZ7bbfMcY3o932Oac7Pacd9zvl4YiUDRUVFUmST/sOCQlRWFiY1q1bF6hYOnz4sCQpJiZGkrRjxw7t27dPKSkp3jHh4eHq1q2b1q9fb4uMdlWZnIcPH5bD4VC9evVqKFXJ9UtlZzx+/Lhee+011a1bV4mJiTUZzau0jB6PR3feeaf+8Ic/qG3btgHJdaay5nLNmjVq1KiRWrVqpbFjx2r//v2BiCepZEaPx6OPPvpIrVq1Uu/evdWoUSN16tSpxGnINa2i9+Wvv/6qjz76SGPGjKnJWD5Ky3jNNdfo/fff1549e2SM0erVq/XTTz+pd+/egYpZIqfd9j0nT57U0qVLlZ+fr6uvvtqW+5zSctpRZTIGep8jVZzTDvud0jLabb9T1jzaaZ8jlcxp1/1OuQLd5FDyiNTx48dNQkKCueWWW8zBgwdNUVGRefbZZ40kk5KSEpCMHo/H9OvXz1xzzTXeZV9++aWRZPbs2eMzduzYsQHJWVrG09nlXwYrymmMMYWFheaKK64wd9xxRw0m+4/yMn7wwQcmKirKOBwOEx8fb7755psAJCw749SpU01ycrLxeDzGGBPwfxksK+fSpUvNhx9+aL7//nvz/vvvm8TERNO2bVtz7NgxW2TMzs42kkxkZKSZPn262bRpk3n22WeNw+Ewa9asqfGMZeU80/PPP2/q169vCgsLazDZf5SVsaioyAwfPtxIMrVq1TJhYWHmjTfeCEhGY0rPaZd9z5YtW0xUVJQJCQkxdevWNR999JExxn77nLJyni7Q+53KZDQm8PucinLaYb9TXka77HfKy2infU5ZOe2436kIRcoGzixSxhizYcMGk5iYaCSZkJAQ07t3b9OnTx/Tp0+fgGS89957TUJCgtm1a5d3WfFObe/evT5j77rrLtO7d++ajlhqxtMFeodWrKKcx48fNwMGDDCXX365OXz4cA2nO6W8jEePHjXbt283X331lRk9erS56KKLzK+//mqLjBs2bDCNGzf2+UUr0EWqote72N69e01oaKj529/+VkPJ/qO0jHv27DGSzO233+4ztl+/fua2226r6YjGmMrNZevWrc348eNrMJWvsjK+8MILplWrVub99983GRkZZubMmaZ27domLS3NVjntsO8pKioy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",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "ages_2 = pd.read_csv('data/ages_population2.csv')\n",
+ "ages_2['observation'] = ages_2['observation'].astype(int)\n",
+ "frequency_count_2 = ages_2['observation'].value_counts().sort_index()\n",
+ "display(frequency_count_2)\n",
+ "\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.hist(ages_2['observation'], color='magenta', edgecolor='black') # \n",
+ "plt.title('Ages2 Frequency Distribution')\n",
+ "plt.xlabel('Ages')\n",
+ "plt.ylabel('Frequency')\n",
+ "plt.xticks(range(19,37,1))\n",
+ "plt.grid(True)\n",
+ "\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 4.- What do you see? Is there any difference with the frequency distribution in step 1?"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\n",
+ "\"\"\"\n",
+ "This distribution is more concentrated around certain age ranges and shows a more pronounced peak, suggesting a clustering of ages in a specific range.\n",
+ "The peak of the second dataset is sharper and higher, which may indicate a more common specific age, \n",
+ "while the first dataset shows a broader peak, suggesting a less concentrated age prevalence.\n",
+ "The frequency distribution in step 1 covers a broader range of ages from younger to older, which is evident from the spread of the histogram.\n",
+ "This one, on the other hand seems to have a narrower age range and fewer outliers or extreme ages compared to the previous one.\n",
+ "Also, this histogram shows data slighly more skewed than the one in step 1.\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": 209,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Here, the mean is 27.155, and the standard deviation is 2.969813932689186\n"
+ ]
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "mean_age_2 = ages_2['observation'].mean()\n",
+ "std_dev_age_2 = ages_2['observation'].std()\n",
+ "\n",
+ "print(f\"Here, the mean is {mean_age_2}, and the standard deviation is {std_dev_age_2}\")\n",
+ "\n"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "In this analysis, estimating the mean age is more straightforward by simply looking at the histogram, \n",
+ "as the data are less dispersed and predominantly concentrated within a narrower age range. \n",
+ "This concentration makes it easier to have a clearer estimation of the central tendency. \n",
+ "Additionally, the noticeably lower standard deviation reflects the reduced spread of ages, \n",
+ "indicating that most data points are closely clustered around the mean. \n",
+ "This tighter distribution highlights the homogeneity of the age range represented in the dataset.\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": 216,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "observation\n",
+ "1 1\n",
+ "2 2\n",
+ "4 2\n",
+ "5 1\n",
+ "7 1\n",
+ " ..\n",
+ "73 6\n",
+ "74 6\n",
+ "75 2\n",
+ "76 1\n",
+ "77 2\n",
+ "Name: count, Length: 75, dtype: int64"
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ },
+ {
+ "data": {
+ "image/png": "iVBORw0KGgoAAAANSUhEUgAAA0sAAAIhCAYAAACfXCH+AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjguMCwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy81sbWrAAAACXBIWXMAAA9hAAAPYQGoP6dpAABWQElEQVR4nO3dfVxUZf7/8fegMAwC3k0IpJCl4ZZpN5aphVppmVpGtpaRt7ltt5b17c7dDfdrZvXL2rbN2m9muuVNN+ZaqcWWN5m5qaWZEVmZoyW5QyqKgOhcvz9YpkbODAMOM6O8no8HD5xzLq7zmc8cZubtOZyxGWOMAAAAAAA+YiJdAAAAAABEI8ISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISABzh6aefls1mU+fOnSNdio8FCxbouuuuU4cOHeRwOHTSSSfp+uuv15YtW4L6+VGjRslms1l+vf322w1cfeNyZK+bNWumk046SVdccYVmzpypioqKGj/Tp08f9enTp07b+fLLL5WXl6fvv/++Tj935La+//572Ww2/b//9//qNE9tpkyZooULF9ZYvnz5ctlsNi1fvjyk2wOAUGsa6QIAINq8+OKLkqTNmzfr3//+t7p37x7hiqo8+uijSk1N1cSJE3XyySdr+/btmjJlis4++2ytWbNGp59+eq1zOBwOffDBBzWWd+rUqSFKbtR+3euysjJt375dS5Ys0bhx4/TEE09o6dKlatu2rXf8s88+W+dtfPnll5o0aZL69Omjk046Keifq8+26mPKlCkaOnSohgwZ4rP87LPP1scff6zTTjstLHUAQH0RlgDgV9atW6eNGzdq4MCBeueddzRjxoyoCUtvvfWWUlJSfJZddNFFOumkk/Tkk0/qhRdeqHWOmJgYnX/++UFv88CBA0pISKhzrbDu9YgRIzR69GgNGjRIQ4cO1Zo1a7zrwhEcqh/PSIeU5OTkOu2HABApnIYHAL8yY8YMSdLUqVPVs2dPzZs3TwcOHKgxbseOHRo6dKiSkpLUokULXX/99Vq7dq1sNpteeukln7Hr1q3TFVdcoVatWik+Pl5nnXWWXn31VZ8xBw4c0D333KP27dsrPj5erVq1Urdu3TR37lzvmCODkiSlp6erbdu22r59+1Hf97y8PNlsNn366acaOnSoWrZsqVNOOUWSZIzRs88+qzPPPFMOh0MtW7bU0KFD9d133/nMYYzRY489pszMTMXHx+vss8/WkiVLapz29dJLL8lms9U4fczf6Vn/+te/dPHFFys5OVkJCQnq1auX3n//fcv6N2/erOuuu07NmzdXmzZtNGbMGO3du9dnrMfj0V//+lfv/WnRooXOP/98LVq0SJI0duxYtWrVyvKxv+iii4I6iudP//79NW7cOP373//WypUrvcutTsObPn26unbtqsTERCUlJalTp0568MEHJVX18JprrpEk9e3b13vKX/X+16dPH3Xu3FkrV65Uz549lZCQoDFjxvjdVnVfHn74YWVkZCg+Pl7dunWr0edRo0ZZHsWq7n81m82m0tJSzZo1y1tb9Tb9Pc6LFi1Sjx49lJCQoKSkJPXr108ff/yx5XaCeZwB4GgRlgDgv8rKyjR37lyde+656ty5s8aMGaN9+/bptdde8xlXWlqqvn37atmyZXr00Uf16quvqk2bNho2bFiNOZctW6ZevXppz549eu655/TPf/5TZ555poYNG+YTqiZMmKDp06frjjvu0NKlS/WPf/xD11xzjYqLiwPW/N1332nbtm11evN+6NAhn6/Dhw/7rM/JyVGHDh302muv6bnnnpMk3XTTTbrzzjt1ySWXaOHChXr22We1efNm9ezZUz/99JP3ZydNmqT77rtP/fr108KFC3XzzTdr3LhxKiwsDLq+I7388svq37+/kpOTNWvWLL366qtq1aqVLr300hpv5CXp6quv1qmnnqo33nhD999/v+bMmaO77rrLZ8yoUaM0fvx4nXvuuZo/f77mzZunK664whvexo8fr927d2vOnDk+P/fll19q2bJluvXWW+t9fyTpiiuukCSfsHSkefPm6ZZbblHv3r315ptvauHChbrrrrtUWloqSRo4cKCmTJkiSfrb3/6mjz/+WB9//LEGDhzonWPnzp3Kzc3V8OHDtXjxYt1yyy0B63rmmWe0dOlSPfXUU3r55ZcVExOjAQMG1Agswfj444/lcDh0+eWXe2sLdPrfnDlzdOWVVyo5OVlz587VjBkztHv3bvXp00erVq2qMT6YxxkAjpoBABhjjJk9e7aRZJ577jljjDH79u0ziYmJ5sILL/QZ97e//c1IMkuWLPFZftNNNxlJZubMmd5lnTp1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0aOHd/ny5cuVkpKiFi1aqHfv3nr44YeVkpLid56KigpVVFR4b5eUlEiSKisrVVlZ2WD1V8/dkNuAL3oeXvQ7/ELZc4/HI4fDUfWs7+8E7KaSHFVjG+vjzH4efvQ8vOh3+NHz8AvU87o+DjZjjAlJVfW0adMm9ejRQ+Xl5UpMTNScOXN0+eWXS5Lmz5+vxMREZWZmauvWrfrjH/+oQ4cOaf369bLb7Zbz5eXladKkSTWWz5kzRwkJCQ16XwAAAABErwMHDmj48OHau3evkpOTax0f8bB08OBBuVwu7dmzR2+88YZeeOEFrVixQqeddlqNsTt37lRmZqbmzZunnJwcy/msjiy1a9dObrc7qIbUV2VlpfLz89WvXz/FxsY22HbwC3oeXvQ7/ELZ840bNyo7O1saLcnfmc1FkmZKK1euVNeuXY9qe8cq9vPwo+fhRb/Dj56HX6Cel5SUyOl0Bh2WIn4aXlxcnPcCD926ddPatWv1l7/8Rc8//3yNsWlpacrMzNSWLVv8zme32y2POsXGxoZlBw3XdvALeh5e9Dv8QtHzmJgYlZWVSYckefwMOiSprGpsY3+M2c/Dj56HF/0OP3oeflY9r+tjEHWfs2SM8Tky9GvFxcXavn270tLSwlwVAAAAgMYmokeWHnzwQQ0YMEDt2rXTvn37NG/ePC1fvlxLly7V/v37lZeXp6uvvlppaWn6/vvv9eCDD8rpdOqqq66KZNkAAAAAGoGIhqWffvpJN9xwg3bu3KnmzZurS5cuWrp0qfr166eysjJt2rRJs2fP1p49e5SWlqa+fftq/vz5SkpKimTZAAAAABqBiIalGTNm+F3ncDj07rvvhrEaAAAAAPhF1P3NEgAAAABEA8ISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFggLAEAAACAhaaRLgAAcPxxuVxyu921jnM6ncrIyDjquYKZBwCAuiIsAQBCyuVyKatTlsrLymsdG++IV+FXhX6DTrBz1TYPAAD1QVgCAISU2+2uCjc5kpyBBkrlC8rldrv9hpyg5gpiHgAA6oOwBABoGE5J6VE4FwAAQeICDwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABgIaJhafr06erSpYuSk5OVnJysHj16aMmSJd71xhjl5eUpPT1dDodDffr00ebNmyNYMQAAAIDGIqJhqW3btpo6darWrVundevW6aKLLtKVV17pDUSPPfaYpk2bpmeeeUZr165Vamqq+vXrp3379kWybAAAAACNQETD0uDBg3X55Zfr1FNP1amnnqqHH35YiYmJWrNmjYwxeuqppzRx4kTl5OSoc+fOmjVrlg4cOKA5c+ZEsmwAAAAAjUDUfCjt4cOH9dprr6m0tFQ9evTQ1q1bVVRUpP79+3vH2O129e7dW6tXr9ZNN91kOU9FRYUqKiq8t0tKSiRJlZWVqqysbLD6q+duyG3AFz0PL/odfqHsucfjkcPhqHrW9/ffZE0lOarGHs02g9pWkNsLZ90S+3kk0PPwot/hR8/DL1DP6/o42IwxJiRV1dOmTZvUo0cPlZeXKzExUXPmzNHll1+u1atXq1evXvrhhx+Unv7Lx7b/7ne/07Zt2/Tuu+9azpeXl6dJkybVWD5nzhwlJCQ02P0AAAAAEN0OHDig4cOHa+/evUpOTq51fMSPLGVlZWnDhg3as2eP3njjDY0cOVIrVqzwrrfZbD7jjTE1lv3aAw88oAkTJnhvl5SUqF27durfv39QDamvyspK5efnq1+/foqNjW2w7eAX9Dy86Hf4hbLnGzduVHZ2tjRaUqqfQUWSZkorV65U165dG3ZbQW4vnHVL7OeRQM/Di36HHz0Pv0A9rz7rLFgRD0txcXHq0KGDJKlbt25au3at/vKXv+i+++6TJBUVFSktLc07fteuXWrTpo3f+ex2u+x2e43lsbGxYdlBw7Ud/IKehxf9Dr9Q9DwmJkZlZWXSIUkeP4MOSSqrGns02wtqW0FuL5x1/xr7efjR8/Ci3+FHz8PPqud1fQyi7nOWjDGqqKhQ+/btlZqaqvz8fO+6gwcPasWKFerZs2cEKwQAAADQGET0yNKDDz6oAQMGqF27dtq3b5/mzZun5cuXa+nSpbLZbLrzzjs1ZcoUdezYUR07dtSUKVOUkJCg4cOHR7JsAAAAAI1ARMPSTz/9pBtuuEE7d+5U8+bN1aVLFy1dulT9+vWTJN17770qKyvTLbfcot27d6t79+567733lJSUFMmyAQAAADQCEQ1LM2bMCLjeZrMpLy9PeXl54SkIAAAAAP4r6v5mCQAAAACiAWEJAAAAACwQlgAAAADAAmEJAAAAACxE/ENpAQAIF5fLJbfb7Xe9xxPoU3QBAI0NYQkA0Ci4XC5ldcpSeVm53zEOh0Nz587Vjh071L59+zBWBwCIRoQlAECj4Ha7q4JSjiSnn0F7q74VFxcTlgAAhCUAQCPjlJTuZx2vigCAX+ECDwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABYISwAAAABggbAEAAAAABaaRroAAEDjVlBQUK91AAA0NMISACAy9kuySbm5uZGuBAAAS4QlAEBklEsyknIkOf2M2SJpWdgqAgDAB2EJABBZTknpfta5w1kIAAC+uMADAAAAAFggLAEAAACABcISAAAAAFggLAEAAACABcISAAAAAFiIaFh65JFHdO655yopKUkpKSkaMmSICgsLfcaMGjVKNpvN5+v888+PUMUAAAAAGouIhqUVK1bo1ltv1Zo1a5Sfn69Dhw6pf//+Ki0t9Rl32WWXaefOnd6vxYsXR6hiAAAAAI1FRD9naenSpT63Z86cqZSUFK1fv17Z2dne5Xa7XampqUHNWVFRoYqKCu/tkpISSVJlZaUqKytDULW16rkbchvwRc/Di36H3o4dO1RcXOx3vcfjkRSanns8HjkcjqpnfX//TdZUkqNq7NFsM6htSVJs1fYCjgtmzH/rLigo8PbMSmFh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nqe3SFoWvpqKi4ur/nGFpOZ+BvG6EbXqFZaGDBnic9tms+mEE07QRRddpCeeeCIUdQFA8JyS0o/j7QEA6ibQ83TtZ1I3jNaSUiK0bdRbvcKSx+MJdR0AAAAAEFXqdTU8AAAAADje1evI0oQJE4IeO23atPpsAgAAAAAiql5h6bPPPtOnn36qQ4cOKSsrS5L09ddfq0mTJjr77LO942w2W2iqBAAAAIAwq1dYGjx4sJKSkjRr1iy1bNlSUtUH1Y4ePVoXXnih7r777pAWCQAAAADhVq+/WXriiSf0yCOPeIOSJLVs2VKTJ0/mangAAAAAjgv1CkslJSX66aefaizftWuX9u3bd9RFAQAAAECk1SssXXXVVRo9erRef/117dixQzt27NDrr7+usWPHKicnJ9Q1AgAAAEDY1etvlp577jndc889ys3NVWVlZdVETZtq7Nixevzxx0NaIAAcqwoKCuq1Djie1LavFxYWKjExMUzVAEDd1CssJSQk6Nlnn9Xjjz+ub7/9VsYYdejQQc2aNQt1fQBw7NkvySbl5uZGuhIgcoL8PXA4HJo7d254agKAOqpXWKq2c+dO7dy5U9nZ2XI4HDLGcLlwACiXZCTlSHL6GbNF0rKwVQSEXzC/B5K0LTzlAEB91CssFRcX67e//a2WLVsmm82mLVu26OSTT9aNN96oFi1acEU8AJCq3iCm+1nnDmchQAQF+j2QpL3hKgQA6q5eF3i46667FBsbK5fLpYSEBO/yYcOGaenSpSErDgAAAAAipV5Hlt577z29++67atu2rc/yjh07ats2jqcDAAAAOPbV68hSaWmpzxGlam63W3a7/aiLAgAAAIBIq1dYys7O1uzZs723bTabPB6PHn/8cfXt2zdkxQEAAABApNTrNLzHH39cffr00bp163Tw4EHde++92rx5s37++Wd99NFHoa4RAAAAAMKuXkeWTjvtNH3++ec677zz1K9fP5WWlionJ0efffaZTjnllFDXCAAAAABhV+cjS5WVlerfv7+ef/55TZo0qSFqAgAAAICIq/ORpdjYWH3xxRd8+CwAAACA41q9/mZpxIgRmjFjhqZOnRrqegCgwRQUFARc73Q6lZGREaZqolegPtXWQzQcHpfauVwuud2BP/GZ33PURTC/WxUVFQGvBl1YWKjExMRQloUwqldYOnjwoF544QXl5+er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L/odfvQ8/Oh5+NHz8KLf4UfPwy+UPY/qq+EBAAAAQKRE9d8sAQAAAECkEJYAAAAAwAJhCQAAAAAsEJYAAAAAwAJhKQSeffZZtW/fXvHx8TrnnHP04YcfRrqk48bKlSs1ePBgpaeny2azaeHChT7rjTHKy8tTenq6HA6H+vTpo82bN0em2OPEI488onPPPVdJSUlKSUnRkCFDVFhY6DOGvofO9OnT1aVLF+8H5/Xo0UNLlizxrqfXDe+RRx6RzWbTnXfe6V1G30MrLy9PNpvN5ys1NdW7nn6H3g8//KDc3Fy1bt1aCQkJOvPMM7V+/XrvenoeWieddFKNfdxms+nWW2+VRL8bwqFDh/SHP/xB7du3l8Ph0Mknn6w///nP8ng83jEh6bvBUZk3b56JjY01//d//2e+/PJLM378eNOsWTOzbdu2SJd2XFi8eLGZOHGieeONN4wk8+abb/qsnzp1qklKSjJvvPGG2bRpkxk2bJhJS0szJSUlkSn4OHDppZeamTNnmi+++MJs2LDBDBw40GRkZJj9+/d7x9D30Fm0aJF55513TGFhoSksLDQPPvigiY2NNV988YUxhl43tE8++cScdNJJpkuXLmb8+PHe5fQ9tB566CFz+umnm507d3q/du3a5V1Pv0Pr559/NpmZmWbUqFHm3//+t9m6dav517/+Zb755hvvGHoeWrt27fLZv/Pz840ks2zZMmMM/W4IkydPNq1btzZvv/222bp1q3nttddMYmKieeqpp7xjQtF3wtJROu+888zvf/97n2WdOnUy999/f4QqOn4dGZY8Ho9JTU01U6dO9S4rLy83zZs3N88991wEKjw+7dq1y0gyK1asMMbQ93Bo2bKleeGFF+h1A9u3b5/p2LGjyc/PN7179/aGJfoeeg899JDp2rWr5Tr6HXr33XefueCCC/yup+cNb/z48eaUU04xHo+HfjeQgQMHmjFjxvgsy8nJMbm5ucaY0O3nnIZ3FA4ePKj169erf//+Psv79++v1atXR6iqxmPr1q0qKiry6b/dblfv3r3pfwjt3btXktSqVStJ9L0hHT58WPPmzVNpaal69OhBrxvYrbfeqoEDB+qSSy7xWU7fG8aWLVuUnp6u9u3b69prr9V3330niX43hEWLFqlbt2665pprlJKSorPOOkv/93//511PzxvWwYMH9fLLL2vMmDGy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mamTTz5ZN9xwg1555RUdOHAgPHcQABBVmka6AAAAgjVjxgwdOnRIJ554oneZMUaxsbHavXu3jDGy2Ww+P3PkCRQej0c33XST7rjjjhrzZ2RkKC4uTp9++qmWL1+u9957T3/605+Ul5entWvXqkWLFg1yvwAA0YmwBAA4Jhw6dEizZ8/WE088of79+/usu/rqq/XKK6+oU6dOWrx4sc+6devW+dw+++yztXnzZnXo0MHvtpo2bapLLrlEl1xyiR566CG1aNFCH3zwgXJyckJ3hwAAUY+wBAA4Jrz99tvavXu3xo4dq+bNm/usGzp0qGbMmKEFCxZo2rRpuu+++zR27Fht2LDBe7W86iNO9913n84//3zdeuutGjdunJo1a6aCggLl5+frr3/9q95++2199913ys7OVsuWLbV48WJ5PB5lZWWF+y4DACKMv1kCABwTZsyYoUsuuaRGUJKqjixt2LBBu3fv1uuvv64FCxaoS5cumj59uvdqeHa7XZLUpUsXrVixQlu2bNGFF16os846S3/84x+VlpYmSWrRooUWLFigiy66SL/5zW/03HPPae7cuTr99NPDd2cBAFGBq+EBAI5rDz/8sJ577jlt37490qUAAI4xnIYHADiuPPvsszr33HPVunVrffTRR3r88ce9n6EEAEBdEJYAAMeVLVu2aPLkyfr555+VkZGhu+++Ww888ECkywIAHIM4DQ8AAAAALHCBBwAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAuEJQAAAACwQFgCAAAAAAv/H0gu5BOhVGKKAAAAAElFTkSuQmCC",
+ "text/plain": [
+ ""
+ ]
+ },
+ "metadata": {},
+ "output_type": "display_data"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "ages_3 = pd.read_csv('data/ages_population3.csv')\n",
+ "ages_3['observation'] = ages_3['observation'].astype(int)\n",
+ "frequency_count_3 = ages_3['observation'].value_counts().sort_index()\n",
+ "display(frequency_count_3)\n",
+ "\n",
+ "plt.figure(figsize=(10, 6))\n",
+ "plt.hist(ages_3['observation'], bins=range(1,78,1), color='green', edgecolor='black') # \n",
+ "plt.title('Ages2 Frequency Distribution')\n",
+ "plt.xlabel('Ages')\n",
+ "plt.ylabel('Frequency')\n",
+ "#plt.xticks(range(1,78,2))\n",
+ "plt.grid(True)\n",
+ "plt.show()"
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "#### 2.- Calculate the mean and standard deviation. Compare the results with the plot in step 1. What is happening?"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": 214,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Here, the mean is 41.989, and the standard deviation is 16.144705959865934\n"
+ ]
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "mean_age_3 = ages_3['observation'].mean()\n",
+ "std_dev_age_3 = ages_3['observation'].std()\n",
+ "\n",
+ "print(f\"Here, the mean is {mean_age_3}, and the standard deviation is {std_dev_age_3}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "The mean is larger than the dataset in step 1, indicating an older average age.\n",
+ "The standard deviation is also larger, which confirms the wider spread of the data around the man, that can be observed in the histogram.\n",
+ "The histogram shows a wider distribution of ages, indicating a diverse age range within the population. \n",
+ "There are peaks at different age intervals, suggesting multiple modes or clusters of ages.\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": 218,
+ "metadata": {},
+ "outputs": [
+ {
+ "name": "stdout",
+ "output_type": "stream",
+ "text": [
+ "Q1: 30.0,\n",
+ "Q2 (Median): 40.0,\n",
+ "Q3: 53.0\n"
+ ]
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "# Calculate quartiles for the third dataset\n",
+ "quartiles = ages_3['observation'].quantile([0.25, 0.5, 0.75])\n",
+ "median_age_3 = quartiles[0.5]\n",
+ "\n",
+ "print(f\"Q1: {quartiles[0.25]},\\nQ2 (Median): {quartiles[0.5]},\\nQ3: {quartiles[0.75]}\")"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "The mean and median are relatively close. This closeness indicates a rather symmetric distribution. \n",
+ "Being the mean slightly higher than the median, it suggests there is a minor right skew in the data, with older individuals pulling the mean upwards.\n",
+ "This skewness could be due to a few older ages that are not extreme enough to significantly distort the mean.\n",
+ "Q1 shows that 25% percent of the data is below 30 years old, indicating a youthful segment of the population\n",
+ "Q3 shows that 75% of the data is under 53 years old, but there is still a significant portion (25%) of the population that is older, \n",
+ "up to the maximum age, which influences the skewness and the rather high standard deviation from the previous step,\n",
+ "which also confirms a wide spread around the mean, encompassing a diverse range of ages.\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": 219,
+ "metadata": {},
+ "outputs": [
+ {
+ "data": {
+ "text/plain": [
+ "0.10 22.0\n",
+ "0.90 67.0\n",
+ "0.95 70.0\n",
+ "0.99 74.0\n",
+ "Name: observation, dtype: float64"
+ ]
+ },
+ "execution_count": 219,
+ "metadata": {},
+ "output_type": "execute_result"
+ }
+ ],
+ "source": [
+ "# your code here\n",
+ "# Calculate additional percentiles to enhance the analysis\n",
+ "additional_percentiles = ages_3['observation'].quantile([0.1, 0.9, 0.95, 0.99])\n",
+ "\n",
+ "additional_percentiles"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "The 10th and 99th percentiles (22 and 74 years) outline the bounds within which most of the population lies, indicating that most of the population is between 22 ansd 74 years old (wide range)\n",
+ "The 90th and 95th percentiles (67 and 70 years) are relatively close together, indicating that there is a rapid increase in age towards the older segment of the population, \n",
+ "but it plateaus shortly after 70 years. This closeness supports the idea of a right-skewed distribution, where there is a significant presence of older individuals, but not many extremely old ages, as mentioned before.\n",
+ "The range between the 10th and 90th percentiles covers most of the population (80%), stretching from 22 to 67 years. \n",
+ "The mean being close to the median but slightly higher, and with a substantial standard deviation, reinforces the presence of a right skew. \n",
+ "The ages beyond the 90th percentile, particularly up to the 99th percentile, show that the tail is not extreme but does contain older ages that impact the overall mean.\n",
+ "\"\"\""
+ ]
+ },
+ {
+ "cell_type": "markdown",
+ "metadata": {},
+ "source": [
+ "## Bonus challenge\n",
+ "Compare the information about the three neighbourhoods. Prepare a report about the three of them. Remember to find out which are their similarities and their differences backing your arguments in basic statistics."
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "# your code here"
+ ]
+ },
+ {
+ "cell_type": "code",
+ "execution_count": null,
+ "metadata": {},
+ "outputs": [],
+ "source": [
+ "\"\"\"\n",
+ "your comments here\n",
+ "\"\"\""
+ ]
+ }
+ ],
+ "metadata": {
+ "kernelspec": {
+ "display_name": "Python 3 (ipykernel)",
+ "language": "python",
+ "name": "python3"
+ },
+ "language_info": {
+ "codemirror_mode": {
+ "name": "ipython",
+ "version": 3
+ },
+ "file_extension": ".py",
+ "mimetype": "text/x-python",
+ "name": "python",
+ "nbconvert_exporter": "python",
+ "pygments_lexer": "ipython3",
+ "version": "3.11.7"
+ }
+ },
+ "nbformat": 4,
+ "nbformat_minor": 4
+}