{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# IntroStat (02403) lecture 01 Python\n", "\n", "Welcome to the first lecture in 02403\n", "\n", "During the lectures we will present both slides and notebooks. \n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### First steps using python code" ] }, { "cell_type": "code", "execution_count": 57, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "5" ] }, "execution_count": 57, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Addition\n", "2+3" ] }, { "cell_type": "code", "execution_count": 58, "metadata": {}, "outputs": [], "source": [ "# Define a variable\n", "x = 3" ] }, { "cell_type": "code", "execution_count": 59, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "3\n" ] } ], "source": [ "# print out the value of the variable\n", "print(x)" ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(type(x))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# try changing x to 3.8 and see what happens to the type" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice how jupyter notebooks work in two **modes**: **command** mode and **edit** mode.
\n", "\n", "To enter command mode press **esc**
\n", "\n", "To enter edit mode press **enter**
\n", "\n", "(you can also use the mouse/clicking for most tasks)" ] }, { "cell_type": "code", "execution_count": 60, "metadata": {}, "outputs": [], "source": [ "# define a variable of the data-type \"list\", which can contain several values\n", "x = [1,4,6,2] " ] }, { "cell_type": "code", "execution_count": 61, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 4, 6, 2]\n" ] } ], "source": [ "print(x)" ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(type(x))" ] }, { "cell_type": "code", "execution_count": 62, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "[1, 4, 'hello', 0.232]" ] }, "execution_count": 62, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# lists can contain many different types of data\n", "x = [1,4,'hello',0.232] \n", "x" ] }, { "cell_type": "code", "execution_count": 63, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[1, 4, 'hello', 0.232, 1, 4, 'hello', 0.232, 1, 4, 'hello', 0.232, 1, 4, 'hello', 0.232, 1, 4, 'hello', 0.232]\n" ] } ], "source": [ "# what happens if we multiply a list by a number?\n", "print(x*5)" ] }, { "cell_type": "code", "execution_count": 64, "metadata": {}, "outputs": [ { "ename": "TypeError", "evalue": "can't multiply sequence by non-int of type 'float'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mTypeError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[64], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# what if we had chosen a non-integer number?\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[38;5;28mprint\u001b[39m(\u001b[43mx\u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m1.2\u001b[39;49m)\n", "\u001b[0;31mTypeError\u001b[0m: can't multiply sequence by non-int of type 'float'" ] } ], "source": [ "# what if we had chosen a non-integer number?\n", "print(x*1.2)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In conclusion: lists do not behave as vectors.
\n", "For example multiplication does not operate elementwise.
\n", "We want to work with a variable type that behave more like a vector (or matrix)." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Using Numpy for vectors (ndarrays)" ] }, { "cell_type": "code", "execution_count": 65, "metadata": {}, "outputs": [], "source": [ "### import the NUMPY package for vectors (ndarray data type for multidimentional arrays), math functions, etc.\n", "import numpy as np" ] }, { "cell_type": "code", "execution_count": 66, "metadata": {}, "outputs": [], "source": [ "# store data of student height in variable x (which is now an array, not a list)\n", "x = np.array([168, 161, 167, 179, 184, 166, 198, 187, 191, 179])" ] }, { "cell_type": "code", "execution_count": 67, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[168 161 167 179 184 166 198 187 191 179]\n" ] } ], "source": [ "print(x)" ] }, { "cell_type": "code", "execution_count": 68, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(type(x))" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "# type is 'numpy.ndarray' - stands for n-dimensional array (1D = vector, 2D = matrix, etc.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Calculate the average" ] }, { "cell_type": "code", "execution_count": 69, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(178.0)" ] }, "execution_count": 69, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# calculate mean of x (average height of students)\n", "np.mean(x)" ] }, { "cell_type": "code", "execution_count": 70, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(178.0)" ] }, "execution_count": 70, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# \"mean()\" can also be called as a method\n", "x.mean()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Have a look in the online documentation: https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html\n", "\n", "The datatype \"ndarray\" (also called a numpy array) has many methods." ] }, { "cell_type": "code", "execution_count": 71, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.int64(161)" ] }, "execution_count": 71, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# lets try some other \"methods\"\n", "x.min()" ] }, { "cell_type": "code", "execution_count": 75, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.int64(198)" ] }, "execution_count": 75, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x.max()" ] }, { "cell_type": "code", "execution_count": 76, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(149.11111111111111)" ] }, "execution_count": 76, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# what about variance? \n", "# OBS: need to remember ddof = 1 if you want to calculate the \"sample variance\". \n", "# We use (n-1) for sample variance because it gives us an unbiased estimator of the population variance. This is known as Bessel's correction. \n", "x.var(ddof=1)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "ddof?? look in documentation for explanation: https://numpy.org/doc/stable/reference/generated/numpy.ndarray.html\n" ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(12.211106056009468)" ] }, "execution_count": 20, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# standard deviation (also remember ddof=1 for \"sample standard deviation\")\n", "x.std(ddof=1)" ] }, { "cell_type": "code", "execution_count": 77, "metadata": {}, "outputs": [ { "ename": "AttributeError", "evalue": "'numpy.ndarray' object has no attribute 'median'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mAttributeError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[77], line 2\u001b[0m\n\u001b[1;32m 1\u001b[0m \u001b[38;5;66;03m# what about the median?\u001b[39;00m\n\u001b[0;32m----> 2\u001b[0m \u001b[43mx\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mmedian\u001b[49m()\n", "\u001b[0;31mAttributeError\u001b[0m: 'numpy.ndarray' object has no attribute 'median'" ] } ], "source": [ "# what about the median?\n", "x.median()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "no method called median? \n", "\n", "OK, then we call the median() function directly from numpy" ] }, { "cell_type": "code", "execution_count": 78, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(179.0)" ] }, "execution_count": 78, "metadata": {}, "output_type": "execute_result" } ], "source": [ "np.median(x)" ] }, { "cell_type": "code", "execution_count": 79, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([163.5, 166.5, 179. , 189. , 194.5])" ] }, "execution_count": 79, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# we can also get other percentiles (50th percentile is the same as the median)\n", "np.percentile(x, [10,20,50,80,90], method='averaged_inverted_cdf')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "# Notice the method=\"averaged inverted cdf\", CDF (Cumulative Distribution Function)\n", "\n", "There are many different ways to define percentiles!\n", "\n", "See the documentaion: https://numpy.org/doc/stable/reference/generated/numpy.percentile.html#numpy.percentile\n", "\n", "In this course (and in the book) we use the 'averaged_inverted_cdf' method.\n", "Here's Inverted CDF (Cumulative Distribution Function) works:\n", "\n", "1. The function first converts the input data and requested percentiles to numpy arrays\n", "2. It sorts the data in ascending order\n", "3. Calculates positions using the averaged empirical CDF approach\n", "4. Performs linear interpolation between points to get the final percentile values" ] }, { "cell_type": "code", "execution_count": 82, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[161 166 167 168 179 179 184 187 191 198]\n" ] } ], "source": [ "# compare with sorted data\n", "x.sort()\n", "print(x)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Coefficient of variation\n", "The **Coefficient of Variation (CV)** is generally defined as the ratio of the standard deviation to the mean:\n", "\n", "$\n", "\\text{CV} = \\frac{\\sigma}{\\mu}\n", "$\n", "\n", "- $\\sigma$ represents the standard deviation (of the population or sample).\n", "- $\\mu$ represents the mean (of the population or sample).\n", "\n", "Often the CV is expressed as a percentage by multiplying by 100%:\n", "\n", "$\n", "\\text{CV (\\%)} = \\left(\\frac{\\sigma}{\\mu}\\right) \\times 100\\%\n", "$" ] }, { "cell_type": "code", "execution_count": 83, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Coefficient of Variation: 6.51%\n" ] } ], "source": [ "import numpy as np\n", "\n", "# Store student heights in an array\n", "x = np.array([168, 161, 167, 179, 184, 166, 198, 187, 191, 179])\n", "\n", "# Calculate the mean and standard deviation\n", "mean_x = np.mean(x)\n", "std_x = np.std(x)\n", "\n", "# Calculate the coefficient of variation\n", "cv = (std_x / mean_x) * 100\n", "\n", "print(f\"Coefficient of Variation: {cv:.2f}%\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Covariance and Correlation Coefficient\n", "### 1. Sample Covariance\n", "\n", "Let $\\{(x_1, y_1), (x_2, y_2), \\dots, (x_n, y_n)\\}$ be the data pairs, and let\n", "$\n", "\\bar{x} = \\frac{1}{n}\\sum_{i=1}^n x_i, \n", "\\quad \n", "\\bar{y} = \\frac{1}{n}\\sum_{i=1}^n y_i\n", "$\n", "be the sample means of $x$ and $y$, respectively. Then the **sample covariance** is given by\n", "\n", "$\n", "\\mathrm{Cov}(x, y)\n", "= \\frac{1}{n-1}\\sum_{i=1}^n (x_i - \\bar{x})(y_i - \\bar{y}).\n", "$\n", "\n", "---\n", "\n", "### 2. Sample Pearson Correlation Coefficient\n", "\n", "The **sample Pearson correlation coefficient** (often just called the correlation coefficient) is defined as:\n", "\n", "$\n", "r_{xy}\n", "= \\frac{\\mathrm{Cov}(x, y)}{s_x \\, s_y}\n", "$\n", "\n", "where $s_x$ and $s_y$ are the sample standard deviations of $x$ and $y$, respectively:\n", "\n", "$\n", "s_X \n", "= \\sqrt{\\frac{1}{n-1} \\sum_{i=1}^n (x_i - \\bar{x})^2}, \n", "\\quad\n", "s_Y \n", "= \\sqrt{\\frac{1}{n-1} \\sum_{i=1}^n (y_i - \\bar{y})^2}.\n", "$\n", "\n", "Hence, putting it all together:\n", "\n", "$\n", "r_{xy}\n", "= \\frac{ \\frac{1}{n-1}\\sum_{i=1}^n (x_i - \\bar{x})(y_i - \\bar{y}) }\n", " { \\sqrt{\\frac{1}{n-1} \\sum_{i=1}^n (x_i - \\bar{x})^2} \\,\\sqrt{\\frac{1}{n-1} \\sum_{i=1}^n (y_i - \\bar{y})^2} }.\n", "$\n", "\n", "This correlation coefficient $r_{xy}$ always lies between $-1$ and $+1$." ] }, { "cell_type": "code", "execution_count": 85, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Covariance: 165.92\n", "Correlation coefficient: 0.97\n" ] } ], "source": [ "import numpy as np\n", "\n", "# Data from the table\n", "heights = np.array([168, 161, 167, 179, 184, 166, 198, 187, 191, 179])\n", "weights = np.array([65.5, 58.3, 68.1, 85.7, 80.5, 63.4, 102.6, 91.4, 86.7, 78.9])\n", "\n", "# Covariance calculation\n", "cov_matrix = np.cov(heights, weights)\n", "covariance = cov_matrix[0, 1]\n", "\n", "# Correlation coefficient calculation\n", "correlation = np.corrcoef(heights, weights)[0, 1]\n", "\n", "print(f\"Covariance: {covariance:.2f}\")\n", "print(f\"Correlation coefficient: {correlation:.2f}\")\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Scatter Plot and Show the Correlation Coefficient\n", "1. **Correlation Coefficient Calculation** \n", " The code calculates the Pearson correlation coefficient between the `heights` and `weights` arrays (`np.corrcoef(heights, weights)[0,1]`). This value indicates the strength and direction of the linear relationship between height and weight. A positive value means that as height increases, weight tends to increase.\n", "2. **Scatter Plot** \n", " The code generates a scatter plot of the given height and weight data, with height on the x-axis and weight on the y-axis. Each point on the plot corresponds to one pair of (height, weight) values. This visual representation helps confirm the correlation observed numerically; if most points roughly follow a straight line sloping upward, it suggests a positive linear relationship." ] }, { "cell_type": "code", "execution_count": 86, "metadata": {}, "outputs": [ { "data": { "image/png": "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uOEGlS5dWpJ1agtYBTO3gIU8+uijSktL01133aVatWrp7Nmz2rBhgxYsWKDIyEgNGDBAUvZHpE8//bReeOEFtWzZUjExMfLy8tLmzZsVGhqqV155Rc2aNVO5cuXUr18/DRs2TDabTXPnzs0zPDdo0EALFizQyJEj1ahRI/n7+6tLly6qVq2aypYtq+nTp6t06dLy8/NTkyZNFBUVpf/+97/q3Lmz6tatqwEDBqhy5co6cOCA4uPjFRAQoGXLll1RLc6ePat27dqpZ8+e2rZtm9566y21aNFCd955Z77nDB48WDNmzFD//v31/fffKzIyUosWLdL69esVGxtrDzM+Pj6qU6eOFixYoJo1ayowMFDXX399vtuvPfXUU/rwww/VuXNnDRs2TIGBgZozZ44SExO1ePHiXGt8C8ubb76pFi1aqF69eho0aJCqVq2q5ORkbdy4Ufv379dPP/2U53menp4aN26cHn30UbVt21Y9e/bU7t27NXv2bFWrVu2yZwnze99cTM+ePTVq1CiNGjVKgYGBuWZKBw4cqGPHjqlt27YKCwvTnj17NG3aNN10000ON2fIT4sWLTRr1ixt3rxZjzzyiMOxZs2a6fjx4zp+/Hiuu/1ZobaAZRTfRg0ACtoXX3xh7r//flOrVi3j7+9vPD09TfXq1c2jjz5qkpOTc/V/7733TP369Y2Xl5cpV66ciY6ONitXrrQfX79+vbnllluMj4+PCQ0NtW8tpvO2MjLGmJMnT5revXubsmXLGkkOWxAtXbrU1KlTx5QqVSrXtmA//vijiYmJMeXLlzdeXl4mIiLC9OzZ06xatcreJ2crsL/++supGuRsBbZ27VozePBgU65cOePv72/69Oljjh496tD3wq3AjDEmOTnZDBgwwFSoUMF4enqaevXq5drKzBhjNmzYYBo0aGA8PT2d2hZs586dpkePHqZs2bLG29vbNG7c2Hz66ae5+snFrcDy65tTh/O3AssZR9++fU1wcLDx8PAwlStXNnfccYdZtGiRvc+F21XlmDp1qomIiDBeXl6mcePGZv369aZBgwamU6dOuc5duHChw7mJiYm5fv8Xe99cTPPmzY0kM3DgwFzHFi1aZG699VZTsWJF4+npaapUqWKGDBlikpKSnLp2zpZjksyff/7pcCwrK8s+1gULFuQ61wq1BazAZgwr0AFYx+zZszVgwABt3rzZvtYYhSMrK0tBQUGKiYnRO++8U9zDsRRqC1w+1twCAC7pzJkzuZakvP/++zp27Fiet4iF86gtULBYcwsAuKRvvvlGjz32mO6++26VL19eP/zwg959911df/31uvvuu4t7eFc1agsULMItAOCSIiMjFR4erqlTp+rYsWMKDAxU3759NWHCBIe7ZcF11BYoWKy5BQAAgGWw5hYAAACWQbgFAACAZRBuAVzVZs+eLZvNpt27dxfYNXfv3i2bzabZs2cX2DWvJpMmTVLVqlXl7u5uvz3zuXPnNHr0aIWHh8vNzU3dunWTlH2b13Hjxrl0/TVr1shms2nNmjUFOm4AkAi3APKwc+dODRkyRFWrVpW3t7cCAgLUvHlzTZkyRadPny7u4RWY+fPnKzY2triHkac1a9YoJiZGwcHB8vT0VMWKFdWlSxfFxcUV6vOuWLFCo0ePVvPmzTVr1iy9/PLLkqT33ntPkyZNUo8ePTRnzhw99thjhTqOgvDyyy9ryZIlV3yd9PR0PfnkkwoNDZWPj4+aNGmilStXOn3+//73P918883y9vZWUFCQHnjgAR05csShT85/pOX3M2/evCt+HcC1gi+UAXDw2Wef6e6775aXl5f69u2r66+/XmfPntW6deu0ePFi9e/fXzNnzizuYdrl3LQhMTFRkZGRLp17xx136Ndff80162uMUXp6ujw8POTu7l5wg3XS2LFjNX78eNWoUUP33nuvIiIidPToUX3++edas2aN5s2bp969exfKcz/11FOaNGmSTp8+7fBN/XvuuUfr1q3T/v37HfqfOXNGpUqVUqlSzm++k5WVpbNnz8rT07NQbz3s7++vHj16XPEM/L333qtFixZpxIgRqlGjhmbPnq3NmzcrPj5eLVq0uOi5b7/9th5++GG1a9dOMTEx2r9/v6ZMmaLq1atr06ZN8vb2liTt2rVLGzZsyHX+5MmT9dNPP2n//v0KDg6+otcBXDOK7d5oAEqcXbt2GX9/f1OrVi1z8ODBXMe3b99uYmNjr/h5srKyTFpaWp7HTp8+bTIzM52+Vs5tZhMTE10ex+23317ibku6cOFCI8n06NHDnD17Ntfx5cuXm2XLlhXa8w8YMMD4+fnlam/Tpo2pW7duoT1vYfDz8zP9+vW7omts2rTJSDKTJk2yt50+fdpUq1bNNG3a9KLnpqenm7Jly5pWrVqZrKwse/uyZcuMJDN16tSLnp+WlmZKly5tOnTocEWvAbjWEG4B2D344INGklm/fr1T/TMyMsz48eNN1apVjaenp4mIiDBjxowxZ86ccegXERFhbr/9drN8+XLToEED4+XlZSZPnmzi4+ONJPPhhx+ap59+2oSGhhqbzWb+/vtvY4wx33zzjenYsaMJCAgwPj4+plWrVmbdunUO184r3C5ZssTcdtttJiQkxHh6epqqVaua8ePHm3Pnztn7REdHG0kOPzlBNzEx0Ugys2bNcniuVatWmRYtWhhfX19TpkwZc+edd5rff//doc/YsWONJLN9+3bTr18/U6ZMGRMQEGD69+9vTp06dcma1qpVywQGBprU1NRL9jXGmOTkZHP//febihUrGi8vL3PDDTeY2bNn5+qXmZlpJk+ebOrUqWO8vLxMxYoVzeDBg82xY8fsfS6sR04N8mqPj4+3nzN27FiH59q/f7+5//777fWPjIw0Dz74oElPTzfGGPvvPecaOZz5fTtb37zGfH7Q3bp1q9mzZ88l6/vEE08Yd3d3c/z4cYf2l19+2Ugye/fuzffc77//3kgyb775Zq5j/v7+plmzZhd97gULFhhJef4+AeSPmzgAsFu2bJmqVq2qZs2aOdV/4MCBmjNnjnr06KHHH39cmzZt0iuvvKKtW7fq448/dui7bds23XvvvRoyZIgGDRqk6667zn7shRdekKenp0aNGqX09HR5enpq9erV6ty5sxo0aKCxY8fKzc1Ns2bNUtu2bZWQkKDGjRvnO67Zs2fL399fI0eOlL+/v1avXq3nnntOqampmjRpkiTp6aef1vHjx7V//35NnjxZUvbH2Pn56quv1LlzZ1WtWlXjxo3T6dOnNW3aNDVv3lw//PBDriURPXv2VFRUlF555RX98MMP+u9//6uKFSvq1Vdfzfc5tm/frj/++EP333+/SpcunW+/HKdPn1br1q21Y8cODR06VFFRUVq4cKH69++vlJQUDR8+3N53yJAh9iUcw4YNU2Jiov7zn//oxx9/1Pr16+Xh4aG5c+dq5syZ+vbbb/Xf//5XklS/fn3NnTtXL730kk6ePKlXXnlFklS7du08x3Tw4EE1btxYKSkpGjx4sGrVqqUDBw5o0aJFSktLy/emBK7+vi9V37lz52rgwIFq3LixBg8eLEmqVq2a/fzatWsrOjr6kl9q+/HHH1WzZk0FBAQ4tOeMZ8uWLQoPD8/z3PT0dEmSj49PrmM+Pj768ccflZWVle/SjHnz5snHx0cxMTEXHSOACxR3ugZQMhw/ftxIMl27dnWq/5YtW4wkM3DgQIf2UaNGGUlm9erV9raIiAgjySxfvtyhb84MXtWqVR2WKWRlZZkaNWqYjh07Onycm5aWZqKiohw+ps1r5javJQ9Dhgwxvr6+DrPK+S1LyGvm9qabbjIVK1Y0R48etbf99NNPxs3NzfTt29feljOzeP/99ztc86677jLly5fP9VznW7p0qZFkJk+efNF+OWJjY40k88EHH9jbzp49a5o2bWr8/f3ts78JCQlGkpk3b57D+cuXL8/V3q9fvzyXJURHR+e5LEEXzNz27dvXuLm5mc2bN+fqm/O7vHDm1pXftyv1vdiyBEkmOjo6z2Pnq1u3rmnbtm2u9t9++81IMtOnT8/33L/++svYbDbzwAMPOLT/8ccf9tnkI0eO5Hnu0aNHjaenp+nZs+clxwjAEbslAJAkpaamSpJTM4aS9Pnnn0uSRo4c6dD++OOPS8r+Ytr5oqKi1LFjxzyv1a9fP4fZrS1btmj79u3q3bu3jh49qiNHjujIkSM6deqU2rVrp6+//lpZWVn5ju38a504cUJHjhxRy5YtlZaWpj/++MOp13e+pKQkbdmyRf3791dgYKC9/YYbblCHDh3stTjfgw8+6PC4ZcuWOnr0qL3Oebmc30FwcLDuvfdee5uHh4eGDRumkydPau3atZKkhQsXqkyZMurQoYO9lkeOHFGDBg3k7++v+Ph4p57vUrKysrRkyRJ16dJFDRs2zHXcZrPled7l/L4vp77nM8Y4tRXZ6dOn5eXllas954tgF9s9pEKFCurZs6fmzJmj119/Xbt27VJCQoJ69eolDw+Pi56/aNEinT17Vn369HHi1QA4H8sSAEiS/WPXEydOONV/z549cnNzU/Xq1R3ag4ODVbZsWe3Zs8ehPSoqKt9rXXhs+/btkrJDb36OHz+ucuXK5Xnst99+0zPPPKPVq1fnCjvHjx/P95r5yXkt5y+lyFG7dm19+eWXOnXqlPz8/OztVapUceiXM9a///4710fcOS7nd1CjRo1cH2vnLBnIGff27dt1/PhxVaxYMc/rHD582Knnu5S//vpLqampuv76610673J+35dT38vh4+NjX15wvjNnztiPX8yMGTN0+vRpjRo1SqNGjZIk3XfffapWrZri4uLyXQozb948BQYGqnPnzlf4CoBrD+EWgKTsYBUaGqpff/3VpfPym4270MVCwIXHcmbpJk2aZL+JwIXyCwUpKSmKjo5WQECAxo8fr2rVqsnb21s//PCDnnzyyYvO+Bak/LYQMxfZfbFWrVqSpF9++aVAx5KVlaWKFSvmu1dqUFBQgT6fqy7n93059b0cISEhOnDgQK72pKQkSVJoaOhFzy9TpoyWLl2qvXv3avfu3YqIiFBERISaNWumoKAglS1bNtc5e/fuVUJCggYPHmyf4QXgPMItALs77rhDM2fO1MaNG9W0adOL9o2IiFBWVpa2b9/u8OWi5ORkpaSkKCIi4rLHkfPFn4CAALVv396lc9esWaOjR48qLi5OrVq1srcnJibm6utsMM95Ldu2bct17I8//lCFChUcZm0vV82aNXXddddp6dKlmjJlykW/4JYzrp9//jnXl5Jyll7kjLtatWr66quv1Lx580vONF6JoKAgBQQEuPwfSFfy+74YZ3+/F3PTTTcpPj5eqampDjPCmzZtsh93RpUqVeyzzSkpKfr+++/VvXv3PPt++OGHMsawJAG4TKy5BWA3evRo+fn5aeDAgUpOTs51fOfOnZoyZYok6bbbbpOkXHf4euONNyRJt99++2WPo0GDBqpWrZpee+01nTx5Mtfxv/76K99zc2b0zp/BO3v2rN56661cff38/JxaphASEqKbbrpJc+bMUUpKir39119/1YoVK+y1KAjPP/+8jh49qoEDB+rcuXO5jq9YsUKffvqppOzfwaFDh7RgwQL78XPnzmnatGny9/dXdHS0pOydBTIzM/XCCy/kut65c+ccXtOVyLkt77Jly/Tdd9/lOp7frOqV/L4vxs/PL9/X9scff2jv3r2XvEaPHj2UmZnpcOOS9PR0zZo1S02aNHHYKWHv3r1OrekeM2aMzp07l+9d3ubPn68qVapc8gYRAPLGzC0Au2rVqmn+/Pnq1auXateu7XCHsg0bNti3mZKkG2+8Uf369dPMmTPtSwG+/fZbzZkzR926dVObNm0uexxubm7673//q86dO6tu3boaMGCAKleurAMHDig+Pl4BAQFatmxZnuc2a9ZM5cqVU79+/TRs2DDZbDbNnTs3z2DVoEEDLViwQCNH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Plw67669dsZINps0YoTUtavk7l5046pVq5Z+/vln++MRI0bY/x0ZGakXX3xRDz74oN566y15enqqTJkystlsCg4OdrjO/fffb/931apVNXXqVDVq1Mh+J7L8NG/eXE899ZQkqWbNmlq/fr0mT56sDh06aNWqVfrll1+UmJio8PBwSdL777+vunXravPmzWrUqFGe1yxXrpz+85//yN3dXbVq1dLtt9+uVatWadCgQQoMDJS7u7t9hjnH3r171b17d9WrV8/+GgAAQN5yJuwuzDU5E3aLFkkxMcUztvMxc1uIEhJyz9iezxhp377sfkXJGONwU4qvvvpK7dq1U+XKlVW6dGn961//0tGjR5WWlnbR63z//ffq0qWLqlSpotKlSys6OlpSdmi8mKZNm+Z6vHXrVknS1q1bFR4ebg+2klSnTh2VLVvW3icvdevWlft5/4UQEhJyySUSw4YN04svvqjmzZtr7NixDoEfAAD841ITdlL2hF1JWKJAuC1E///pd4H1Kyhbt25VVFSUJGn37t264447dMMNN2jx4sX6/vvv7Wtgz549m+81Tp06pY4dOyogIEDz5s3T5s2b9fHHH1/yvMLi4eHh8Nhms11yV4iBAwdq165d+te//qVffvlFDRs21LRp0wpzmAAAXJVK6oRdXgi3hSgkpGD7FYTVq1frl19+Uffu3SVlz75mZWXp9ddf1y233KKaNWvq4MGDDud4enoq84L/FPvjjz909OhRTZgwQS1btlStWrUuOVOa45tvvsn1uHbt2pKk2rVra9++fdq3b5/9+O+//66UlBTVqVPH5dd7sdcgSeHh4XrwwQcVFxenxx9/XO+8885lPwcAAFZVUifs8kK4LUQtW0phYdlra/Nis0nh4dn9CkN6eroOHTqkAwcO6IcfftDLL7+srl276o477lDfvn0lSdWrV1dGRoamTZumXbt2ae7cuZo+fbrDdSIjI3Xy5EmtWrVKR44cUVpamqpUqSJPT0/7eZ988oleeOEFp8a1fv16TZw4UX/++afefPNNLVy4UMOHD5cktW/fXvXq1VOfPn30ww8/6Ntvv1Xfvn0VHR2thg0bXnYtIiMj9fXXX+vAgQM6cuSIpOy1xl9++aUSExP1ww8/KD4+3h6yAQDAP0rihF1+CLeFyN1dmjIl+98XBtycx7GxhfdlsuXLlyskJESRkZHq1KmT4uPjNXXqVC1dutS+PvXGG2/UG2+8oVdffVXXX3+95s2bp1deecXhOs2aNdODDz6oXr16KSgoSBMnTlRQUJBmz56thQsXqk6dOpowYYJee+01p8b1+OOP67vvvlP9+vX14osv6o033lDHjh0lZS8nWLp0qcqVK6dWrVqpffv2qlq1qhYsWHBFtRg/frx2796tatWqKSgoSJKUmZmpRx55RLVr11anTp1Us2ZNvfXWW1f0PAAAWFFxT9i5xMAcP37cSDLHjx/Pdez06dPm999/N6dPn3Zoz8zMNH///bfJzMy85PUXLzYmLMyY7BUp2T/h4dnt14qcekVERJjJkycX93Bclt/7oLCcPXvWLFmyxJw9e7ZInu9qR71cQ71cQ71cR81cc7XUa/FiY2y27J/zM01OW2HnmovltfMxc1sEYmKk3bul+Hhp/vzs/5uYWDK2ywAAAHBGTEz2dl+VKzu2h4WVnG3AJPa5LTLu7lLr1sU9CgAAgMsXE5O9P39CQvaXx0JCspciFOV+/ZdCuEWR2rVrl9zc+MAAAICrVUmfsCNlAAAAwDIIt04yed2SA9cMfv8AAFwdCLeXkLNlVnHcdQslR86tiC+8ExoAAChZWHN7CaVKlZKvr6/++usveXh42NeLZmVl6ezZszpz5gxrSJ1wtdbLGKO0tDQdPnxYZcuWtf/HDgAAKJkIt5dgs9kUEhKixMRE7dmzx95ujNHp06fl4+MjW347GsPuaq9X2bJlFRwcXNzDAAAAl0C4dYKnp6dq1KjhsDQhIyNDX3/9tVq1asVH1U64muvl4eHBjC0AAFcJwq2T3Nzc5O3tbX/s7u6uc+fOydvb+6oLa8WBegEAgKJw9Sx+BAAAAC6BcAsAAADLINwCAADAMgi3AAAAsAzCLQAAACyDcAsAAADLKNZw+/XXX6tLly4KDQ2VzWbTkiVLHI4bY/Tcc88pJCREPj4+at++vbZv3+7Q59ixY+rTp48CAgJUtmxZPfDAAzp58mQRvgoAAACUFMUabk+dOqUbb7xRb775Zp7HJ06cqKlTp2r69OnatGmT/Pz81LFjR505c8bep0+fPvrtt9+0cuVKffrpp/r66681ePDgonoJAAAAKEGK9SYOnTt3VufOnfM8ZoxRbGysnnnmGXXt2lWS9P7776tSpUpasmSJ7rnnHm3dulXLly/X5s2b1bBhQ0nStGnTdNttt+m1115TaGhokb0WAAAAFL8Se4eyxMREHTp0SO3bt7e3lSlTRk2aNNHGjRt1zz33aOPGjSpbtqw92EpS+/bt5ebmpk2bNumuu+7K89rp6elKT0+3P05NTZWUfYvYjIwMp8aX08/Z/tc66uUa6uUa6uUa6uUa6uU6auYa6uUcZ+tTYsPtoUOHJEmVKlVyaK9UqZL92KFDh1SxYkWH46VKlVJgYKC9T15eeeUVPf/887naV6xYIV9fX5fGuXLlSpf6X+uol2uol2uol2uol2uol+uomWuo18WlpaU51a/EhtvCNGbMGI0cOdL+ODU1VeHh4br11lsVEBDg1DUyMjK0cuVKdejQQR4eHoU1VMugXq6hXq6hXq6hXq6hXq6jZq6hXs7J+aT9UkpsuA0ODpYkJScnKyQkxN6enJysm266yd7n8OHDDuedO3dOx44ds5+fFy8vL3l5eeVq9/DwcPlNdTnnXMuol2uol2uol2uol2uol+uomWuo18U5W5sSu89tVFSUgoODtWrVKntbamqqNm3apKZNm0qSmjZtqpSUFH3//ff2PqtXr1ZWVpaaNGlS5GMGAABA8SrWmduTJ09qx44d9seJiYnasmWLAgMDVaVKFY0YMUIvvviiatSooaioKD377LMKDQ1Vt27dJEm1a9dWp06dNGjQIE2fPl0ZGRkaOnSo7rnnHnZKAAAAuAYVa7j97rvv1KZNG/vjnHWw/fr10+zZszV69GidOnVKgwcPVkpKilq0aKHly5fL29vbfs68efM0dOhQtWvXTm5uburevbumTp1a5K8FAAAAxa9Yw23r1q1ljMn3uM1m0/jx4zV+/Ph8+wQGBmr+/PmFMTwAAABcZUrsmlsAAADAVYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWEap4h4AAADILTNTSkiQkpKkkBCpZUvJ3b24RwWUfIRbAABKmLg4afhwaf/+f9rCwqQpU6SYmOIbF3A1YFkCAAAlSFyc1KOHY7CVpAMHstvj4opnXMDVgnALAEAJkZmZPWNrTO5jOW0jRmT3A5A3wi0AACVEQkLuGdvzGSPt25fdD0DeCLcAAJQQSUkF2w+4FhFuAQAoIUJCCrYfcC0i3AIAUEK0bJm9K4LNlvdxm00KD8/uByBvhFsAAEoId/fs7b6k3AE353FsLPvdAhdDuAUAoASJiZEWLZIqV3ZsDwvLbmefW+DiuIkDAAAlTEyM1LUrdygDLgfhFgCAEsjdXWrdurhHAVx9WJYAAAAAyyDcAgAAwDJKfLg9ceKERowYoYiICPn4+KhZs2bavHmz/bgxRs8995xCQkLk4+Oj9u3ba/v27cU4YgAAABSXEh9uBw4cqJUrV2ru3Ln65ZdfdOutt6p9+/Y6cOCAJGnixImaOnWqpk+frk2bNsnPz08dO3bUmTNninnkAAAAKGolOtyePn1aixcv1sSJE9WqVStVr15d48aNU/Xq1fX222/LGKPY2Fg988wz6tq1q2644Qa9//77OnjwoJYsWVLcwwcAAEARK9G7JZw7d06ZmZny9vZ2aPfx8dG6deuUmJioQ4cOqX379vZjZcqUUZMmTbRx40bdc889eV43PT1d6enp9sepqamSpIyMDGVkZDg1tpx+zva/1lEv11Av11Av11Av11Av11Ez11Av5zhbH5sxxhTyWK5Is2bN5Onpqfnz56tSpUr68MMP1a9fP1WvXl2zZs1S8+bNdfDgQYWcd6Ptnj17ymazacGCBXlec9y4cXr++edztc+fP1++vr6F9loAAABwedLS0tS7d28dP35cAQEB+fYr0TO3kjR37lzdf//9qly5stzd3XXzzTfr3nvv1ffff3/Z1xwzZoxGjhxpf5yamqrw8HDdeuutFy3W+TIyMrRy5Up16NBBHh4elz2WawX1cg31cg31cg31cg31ch01cw31ck7OJ+2XUuLDbbVq1bR27VqdOnVKqampCgkJUa9evVS1alUFBwdLkpKTkx1mbpOTk3XTTTfle00vLy95eXnlavfw8HD5TXU551zLqJdrqJdrqJdrqJdrqJfrqJlrqNfFOVubEv2FsvP5+fkpJCREf//9t7788kt17dpVUVFRCg4O1qpVq+z9UlNTtWnTJjVt2rQYRwsAAIDiUOJnbr/88ksZY3Tddddpx44deuKJJ1SrVi0NGDBANptNI0aM0IsvvqgaNWooKipKzz77rEJDQ9WtW7fiHjoAAACKWIkPt8ePH9eYMWO0f/9+BQYGqnv37nrppZfsU9OjR4/WqVOnNHjwYKWkpKhFixZavnx5rh0WAAAAYH0lPtz27NlTPXv2zPe4zWbT+PHjNX78+CIcFQAAAEqiq2bNLQAAAHAphFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAllGquAcAAAAgSZmZUkKClJQkhYRILVtK7u7FPSpcbQi3AACg2MXFScOHS/v3/9MWFiZNmSLFxBTfuHD1YVkCAAAoVnFxUo8ejsFWkg4cyG6PiyueceHqRLgFAADFJjMze8bWmNzHctpGjMjuBziDcAsAAIpNQkLuGdvzGSPt25fdD3AG4RYAABSbpKSC7QcQbgEAQLEJCSnYfgDhFgAAFJuWLbN3RbDZ8j5us0nh4dn9AGcQbgEAQLFxd8/e7kvKHXBzHsfGst8tnEe4BQAAxSomRlq0SKpc2bE9LCy7nX1u4Qpu4gAAVxnu4gQriomRunblvY0rR7gFgKsId3GClbm7S61bF/cocLVjWQIAXCW4ixMAXBrhFgCuAtzFCQCcQ7gFgKsAd3ECAOcQbgHgKsBdnADAOYRbALgKcBcnAHAO4RYArgLcxQkAnEO4BYCrAHdxAgDnEG4B4CrBXZwA4NK4iQMAXEW4ixMAXBzhFgCuMtzFCQDyx7IEAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWIbLuyUkJiYqISFBe/bsUVpamoKCglS/fn01bdpU3t7ehTFGAAAAwClOh9t58+ZpypQp+u6771SpUiWFhobKx8dHx44d086dO+Xt7a0+ffroySefVERERGGOGQAAAMiTU+G2fv368vT0VP/+/bV48WKFh4c7HE9PT9fGjRv1v//9Tw0bNtRbb72lu+++u1AGDAAAAOTHqXA7YcIEdezYMd/jXl5eat26tVq3bq2XXnpJu3fvLqjxAQAAAE5zKtxeLNheqHz58ipfvvxlDwgAAAC4XC5/oSw1NTXPdpvNJi8vL3l6el7xoAAAAIDL4XK4LVu2rGw2W77Hw8LC1L9/f40dO1Zubuw0BgAAgKLjcridPXu2nn76afXv31+NGzeWJH377beaM2eOnnnmGf3111967bXX5OXlpX//+98FPmAAAAAgPy6H2zlz5uj1119Xz5497W1dunRRvXr1NGPGDK1atUpVqlTRSy+9RLgFAABAkXJ53cCGDRtUv379XO3169fXxo0bJUktWrTQ3r17r3x0AAAAgAtcDrfh4eF69913c7W/++679v1vjx49qnLlyl356AAAAAAXuLws4bXXXtPdd9+tL774Qo0aNZIkfffdd/rjjz+0aNEiSdLmzZvVq1evgh0pAAAAcAkuh9s777xT27Zt04wZM7Rt2zZJUufOnbVkyRJFRkZKkh566KECHSQAAADgDJfDbUZGhiIjI/XKK6/kOnbkyBFVqFChQAYGAAAAuMrlNbf33HOPjDG52pOTk9W6deuCGBMAAABwWVwOt3v37tXAgQMd2pKSktS6dWvVqlWrwAYGAAAAuMrlcPv5559rw4YNGjlypCTp4MGDat26terVq6ePPvqowAcIAAAAOMvlNbdBQUFasWKFWrRoIUn69NNPdfPNN2vevHncbhcAAADFyuVwK2Xvdbty5Uq1bNlSHTp00Ny5c2Wz2Qp6bAAAAIBLnAq35cqVyzO8pqWladmyZSpfvry97dixYwU3OgAAAMAFToXb2NjYQh4GAAAAcOWcCrf9+vUr7HEAAAAAV8ypb4CdOnXKpYu62h8AAAAoCE6F2+rVq2vChAlKSkrKt48xRitXrlTnzp01derUAhsgAAAA4CynliWsWbNG//73vzVu3DjdeOONatiwoUJDQ+Xt7a2///5bv//+uzZu3KhSpUppzJgxGjJkSGGPGwAAAMjFqXB73XXXafHixdq7d68WLlyohIQEbdiwQadPn1aFChVUv359vfPOO+rcubPc3d0Le8wAAABAnlza57ZKlSp6/PHH9fjjjxfWeAAAAIDLxi3FAAAAYBmEWwAAAFgG4RYAAACWQbgFAACAZbgcbvfu3StjTK52Y4z27t1bIIMCAAAALodLuyVIUlRUlJKSklSxYkWH9mPHjikqKkqZmZkFNjgAAK5UZqaUkCAlJUkhIVLLlhK7VgLW5XK4NcbIZrPlaj958qS8vb0LZFAAABSEuDhp+HBp//5/2sLCpClTpJiY4hsXgMLjdLgdOXKkJMlms+nZZ5+Vr6+v/VhmZqY2bdqkm266qcAHCADA5YiLk3r0kC5cSXfgQHb7okUEXMCKnA63P/74o6TsmdtffvlFnp6e9mOenp668cYbNWrUqIIfIQAALsrMzJ6xzeMrIjJGstmkESOkrl1ZogBYjdPhNj4+XpI0YMAATZkyRQEBAYU2KAAArkRCguNShAsZI+3bl92vdesiGxaAIuDymttZs2YVxjgAACgwSUkF2w/A1cPlrcBOnTqlZ599Vs2aNVP16tVVtWpVh5+ClJmZqWeffVZRUVHy8fFRtWrV9MILLzhsRWaM0XPPPaeQkBD5+Pioffv22r59e4GOAwBwdQkJKdh+AK4eLs/cDhw4UGvXrtW//vUvhYSE5LlzQkF59dVX9fbbb2vOnDmqW7euvvvuOw0YMEBlypTRsGHDJEkTJ07U1KlTNWfOHEVFRenZZ59Vx44d9fvvv7N7AwBco1q2zN4V4cCBvNfd2mzZx1u2LPqxAShcLofbL774Qp999pmaN29eGONxsGHDBnXt2lW33367JCkyMlIffvihvv32W0nZs7axsbF65pln1LVrV0nS+++/r0qVKmnJkiW65557Cn2MAICSx909e7uvHj2yg+z5ATdnTiY2li+TAVbkcrgtV66cAgMDC2MsuTRr1kwzZ87Un3/+qZo1a+qnn37SunXr9MYbb0iSEhMTdejQIbVv395+TpkyZdSkSRNt3Lgx33Cbnp6u9PR0++PU1FRJUkZGhjIyMpwaW04/Z/tf66iXa6iXa6iXa66VenXpkr3d15NPZs/g5ggLkyZMyD7uTAmulXoVJGrmGurlHGfrYzN53Uv3Ij744AMtXbpUc+bMcdjrtjBkZWXp3//+tyZOnCh3d3dlZmbqpZde0pgxYyRlz+w2b95cBw8eVMh5C6d69uwpm82mBQsW5HndcePG6fnnn8/VPn/+/EJ/TQAAAHBdWlqaevfurePHj1901y6nZm7r16/vsLZ2x44dqlSpkiIjI+Xh4eHQ94cffrjMIef20Ucfad68eZo/f77q1q2rLVu2aMSIEQoNDVW/fv0u+7pjxoyx35RCyp65DQ8P16233ur0FmcZGRlauXKlOnTokKsGyI16uYZ6uYZ6uYZ6uYZ6uY6auYZ6OSfnk/ZLcSrcduvW7UrGctmeeOIJPfXUU/blBfXq1dOePXv0yiuvqF+/fgoODpYkJScnO8zcJicnX/RuaV5eXvLy8srV7uHh4fKb6nLOuZZRL9dQL9dQL9dQL9dQL9dRM9dQr4tztjZOhduxY8de0WAuV1pamtzcHHcrc3d3V1ZWliQpKipKwcHBWrVqlT3MpqamatOmTXrooYeKergAAAAoZi5/oawodenSRS+99JKqVKmiunXr6scff9Qbb7yh+++/X5Jks9k0YsQIvfjii6pRo4Z9K7DQ0NBim20GAABA8bms3RLy2tvWZrPJ29tb1atXV//+/TVgwIArHty0adP07LPP6uGHH9bhw4cVGhqqIUOG6LnnnrP3GT16tE6dOqXBgwcrJSVFLVq00PLly9njFoBlZWZm3zY2KSn7JgQtW7KlFQDkcDncPvfcc3rppZfUuXNnNW7cWJL07bffavny5XrkkUeUmJiohx56SOfOndOgQYOuaHClS5dWbGysYmNj8+1js9k0fvx4jR8//oqeCwCuBnFx0vDh0v79/7SFhWXv6RoTU3zjAoCSwuVwu27dOr344ot68MEHHdpnzJihFStWaPHixbrhhhs0derUKw63AIB/xMVl35Tgwg0cDxzIbl+0iIALAG6X7uLoyy+/dLhpQo527drpyy+/lCTddttt2rVr15WPDgAgKXspwvDhed9KNqdtxIjsfgBwLXM53AYGBmrZsmW52pctW2a/c9mpU6dUunTpKx8dAEBS9hrb85ciXMgYad++7H4AcC1zeVnCs88+q4ceekjx8fH2NbebN2/W559/runTp0uSVq5cqejo6IIdKQBcw5KSCrYfAFiVy+F20KBBqlOnjv7zn/8oLi5OknTddddp7dq1atasmSTp8ccfL9hRAsA17rz71BRIPwCwqsva57Z58+Zq3rx5QY8FAJCPli2zd0U4cCDvdbc2W/bxli2LfmwAUJI4FW5TU1MVEBBg//fF5PQDABQcd/fs7b569MgOsucH3Jytx2Nj2e8WAJz6Qlm5cuV0+PBhSVLZsmVVrly5XD857QCAwhETk73dV+XKju1hYWwDBgA5nJq5Xb16tX0nhPj4+EIdEAAgfzExUteu3KEMAPLjVLg9f+cDdkEAgOLl7i61bl3cowCAksnlfW4lKSEhQffdd5+aNWumAwcOSJLmzp2rdevWFejgAAAAAFe4HG4XL16sjh07ysfHRz/88IPS09MlScePH9fLL79c4AMEAAAAnOVyuH3xxRc1ffp0vfPOO/Lw8LC3N2/eXD/88EOBDg4AAABwhcvhdtu2bWrVqlWu9jJlyiglJaUgxgQAAABcFpfDbXBwsHbs2JGrfd26dapatWqBDAoAAAC4HC6H20GDBmn48OHatGmTbDabDh48qHnz5mnUqFF66KGHCmOMAAAAgFNcvv3uU089paysLLVr105paWlq1aqVvLy8NGrUKD366KOFMUYAAADAKU6H28TEREVFRclms+npp5/WE088oR07dujkyZOqU6eO/P39C3OcAAAAwCU5HW6rVaumiIgItWnTRm3btlWbNm1Up06dwhwbAAAA4BKnw+3q1au1Zs0arVmzRh9++KHOnj2rqlWr2oNumzZtVKlSpcIcKwAAAHBRTofb1q1bq/X/3+/xzJkz2rBhgz3szpkzRxkZGapVq5Z+++23whorAAAAcFEuf6FMkry9vdW2bVu1aNFCbdq00RdffKEZM2bojz/+KOjxAQAAAE5zKdyePXtW33zzjeLj47VmzRpt2rRJ4eHhatWqlf7zn/8oOjq6sMYJAAAAXJLT4bZt27batGmToqKiFB0drSFDhmj+/PkKCQkpzPEBAAAATnM63CYkJCgkJERt27ZV69atFR0drfLlyxfm2AAAAACXOH2HspSUFM2cOVO+vr569dVXFRoaqnr16mno0KFatGiR/vrrr8IcJwAAAHBJTs/c+vn5qVOnTurUqZMk6cSJE1q3bp3i4+M1ceJE9enTRzVq1NCvv/5aaIMFAAAALsbpmdsL+fn5KTAwUIGBgSpXrpxKlSqlrVu3FuTYAAAAAJc4PXOblZWl7777TmvWrFF8fLzWr1+vU6dOqXLlymrTpo3efPNNtWnTpjDHCgAAAFyU0+G2bNmyOnXqlIKDg9WmTRtNnjxZrVu3VrVq1QpzfAAAAIDTnA63kyZNUps2bVSzZs3CHA8AAABw2ZwOt0OGDCnMcQAAAABX7LK/UAYAAACUNIRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYRbAAAAWAbhFgAAAJZBuAUAAIBllPhwGxkZKZvNluvnkUcekSSdOXNGjzzyiMqXLy9/f391795dycnJxTxqAAAAFIcSH243b96spKQk+8/KlSslSXfffbck6bHHHtOyZcu0cOFCrV27VgcPHlRMTExxDhkAAADFpFRxD+BSgoKCHB5PmDBB1apVU3R0tI4fP653331X8+fPV9u2bSVJs2bNUu3atfXNN9/olltuKY4hAwAAoJiU+HB7vrNnz+qDDz7QyJEjZbPZ9P333ysjI0Pt27e396lVq5aqVKmijRs35htu09PTlZ6ebn+cmpoqScrIyFBGRoZTY8np52z/ax31cg31cg31cg31cg31ch01cw31co6z9bEZY0whj6XAfPTRR+rdu7f27t2r0NBQzZ8/XwMGDHAIqpLUuHFjtWnTRq+++mqe1xk3bpyef/75XO3z58+Xr69voYwdAAAAly8tLU29e/fW8ePHFRAQkG+/q2rm9t1331Xnzp0VGhp6RdcZM2aMRo4caX+cmpqq8PBw3XrrrRct1vkyMjK0cuVKdejQQR4eHlc0nmsB9XIN9XIN9XIN9XIN9XIdNXMN9XJOziftl3LVhNs9e/boq6++UlxcnL0tODhYZ8+eVUpKisqWLWtvT05OVnBwcL7X8vLykpeXV652Dw8Pl99Ul3POtYx6uYZ6uYZ6uYZ6uYZ6uY6auYZ6XZyztSnxuyXkmDVrlipWrKjbb7/d3tagQQN5eHho1apV9rZt27Zp7969atq0aXEMEwAAAMXoqpi5zcrK0qxZs9SvXz+VKvXPkMuUKaMHHnhAI0eOVGBgoAICAvToo4+qadOm7JQAAABwDboqwu1XX32lvXv36v777891bPLkyXJzc1P37t2Vnp6ujh076q233iqGUQIAAKC4XRXh9tZbb1V+mzp4e3vrzTff1JtvvlnEowIAAEBJc9WsuQUAAAAuhXALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAy7gqtgIDLkdmppSQICUlSSEhUsuWkrt7cY8KAAAUJsItLCkuTho+XNq//5+2sDBpyhQpJqb4xgUAAAoXyxJgOXFxUo8ejsFWkg4cyG6PiyuecQEAgMJHuIWlZGZmz9jmdUO7nLYRI7L7AQAA6yHcwlISEnLP2J7PGGnfvux+AADAegi3sJSkpILtBwAAri6EW1hKSEjB9gMAAFcXwi0spWXL7F0RbLa8j9tsUnh4dj8AAGA9hFtYirt79nZfUu6Am/M4Npb9bgEAsCrCLSwnJkZatEiqXNmxPSwsu519bgEAsC5u4gBLiomRunblDmUAAFxrCLewLHd3qXXr4h4FAAAoSixLAAAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAllGquAcAlESZmVJCgpSUJIWESC1bSu7uxT0qAABwKYRb4AJxcdLw4dL+/f+0hYVJU6ZIMTHFNy4AAHBpLEsAzhMXJ/Xo4RhsJenAgez2uLjiGRcAAHAO4Rb4f5mZ2TO2xuQ+ltM2YkR2PwAAUDIRboH/l5CQe8b2fMZI+/Zl9wMAACUT4Rb4f0lJBdsPAAAUPcIt8P9CQgq2HwAAKHqEW+D/tWyZvSuCzZb3cZtNCg/P7gcAAEomwi3w/9zds7f7knIH3JzHsbHsdwsAQElGuAXOExMjLVokVa7s2B4Wlt3OPrcAAJRs3MQBuEBMjNS1K3coAwDgakS4BfLg7i61bl3cowAAAK5iWQIAAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMbuKAEi0zkzuFAQAA5xFuUWLFxUnDh0v79//TFhYmTZmSfYtcAACAC7EsASVSXJzUo4djsJWkAwey2+PiimdcAACgZCPcosTJzMyesTUm97GcthEjsvsBAACcj3CLEichIfeM7fmMkfbty+4HAABwPsItSpykpILtBwAArh2EW5Q4ISEF2w8AAFw7CLcocVq2zN4VwWbL+7jNJoWHZ/cDAAA4H+EWJY67e/Z2X1LugJvzODaW/W4BAEBuhFuUSDEx0qJFUuXKju1hYdnt7HMLAADywk0cUGLFxEhdu3KHMgAA4DzCLUo0d3epdeviHgUAALhasCwBAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGUQbgEAAGAZhFsAAABYBuEWAAAAlkG4BQAAgGWU+HB74MAB3XfffSpfvrx8fHxUr149fffdd/bjxhg999xzCgkJkY+Pj9q3b6/t27cX44gBAABQXEp0uP3777/VvHlzeXh46IsvvtDvv/+u119/XeXKlbP3mThxoqZOnarp06dr06ZN8vPzU8eOHXXmzJliHDkAAACKQ6niHsDFvPrqqwoPD9esWbPsbVFRUfZ/G2MUGxurZ555Rl27dpUkvf/++6pUqZKWLFmie+65p8jHDAAAgOJTosPtJ598oo4dO+ruu+/W2rVrVblyZT388MMaNGiQJCkxMVGHDh1S+/bt7eeUKVNGTZo00caNG/MNt+np6UpPT7c/Tk1NlSRlZGQoIyPDqbHl9HO2/7WOermGermGermGermGermOmrmGejnH2frYjDGmkMdy2by9vSVJI0eO1N13363Nmzdr+PDhmj59uvr166cNGzaoefPmOnjwoEJCQuzn9ezZUzabTQsWLMjzuuPGjdPzzz+fq33+/Pny9fUtnBcDAACAy5aWlqbevXvr+PHjCggIyLdfiQ63np6eatiwoTZs2GBvGzZsmDZv3qyNGzdedrjNa+Y2PDxcR44cuWixzpeRkaGVK1eqQ4cO8vDwuMxXeO2gXq6hXq6hXq6hXq6hXq6jZq6hXs5JTU1VhQoVLhluS/SyhJCQENWpU8ehrXbt2lq8eLEkKTg4WJKUnJzsEG6Tk5N100035XtdLy8veXl55Wr38PBw+U11Oedcy6iXa6iXa6iXa6iXa6iX66iZa6jXxTlbmxK9W0Lz5s21bds2h7Y///xTERERkrK/XBYcHKxVq1bZj6empmrTpk1q2rRpkY4VAAAAxa9Ez9w+9thjatasmV5++WX17NlT3377rWbOnKmZM2dKkmw2m0aMGKEXX3xRNWrUUFRUlJ599lmFhoaqW7duxTt4AAAAFLkSHW4bNWqkjz/+WGPGjNH48eMVFRWl2NhY9enTx95n9OjROnXqlAYPHqyUlBS1aNFCy5cvt38ZDQAAANeOEh1uJemOO+7QHXfcke9xm82m8ePHa/z48UU4KgAAAJREJXrNLQAAAOAKwi0AAAAsg3ALAAAAyyDcAgAAwDJK/BfKrCYzU0pIkJKSpJAQqWVLyd29uEcFAABgDYTbIhQXJw0fLu3f/09bWJg0ZYoUE1N84wIAALAKliUUkbg4qUcPx2ArSQcOZLfHxRXPuAAAAKyEcFsEMjOzZ2yNyX0sp23EiOx+AAAAuHyE2yKQkJB7xvZ8xkj79mX3AwAAwOUj3BaBpKSC7QcAAIC8EW6LQEhIwfYDAABA3gi3RaBly+xdEWy2vI/bbFJ4eHY/AAAAXD7CbRFwd8/e7kvKHXBzHsfGst8tAADAlSLcFpGYGGnRIqlyZcf2sLDsdva5BQAAuHLcxKEIxcRIXbtyhzIAAIDCQrgtYu7uUuvWxT0KAAAAa2JZAgAAACyDcAsAAADLINwCAADAMgi3AAAAsAzCLQAAACyDcAsAAADLINwCAADAMgi3AAAAsAzCLQAAACyDcAsAAADLINwCAADAMgi3AAAAsAzCLQAAACyjVHEPoCQwxkiSUlNTnT4nIyNDaWlpSk1NlYeHR2ENzTKol2uol2uol2uol2uol+uomWuol3NyclpObssP4VbSiRMnJEnh4eHFPBIAAABczIkTJ1SmTJl8j9vMpeLvNSArK0sHDx5U6dKlZbPZnDonNTVV4eHh2rdvnwICAgp5hFc/6uUa6uUa6uUa6uUa6uU6auYa6uUcY4xOnDih0NBQubnlv7KWmVtJbm5uCgsLu6xzAwICeCO6gHq5hnq5hnq5hnq5hnq5jpq5hnpd2sVmbHPwhTIAAABYBuEWAAAAlkG4vUxeXl4aO3asvLy8insoVwXq5Rrq5Rrq5Rrq5Rrq5Tpq5hrqVbD4QhkAAAAsg5lbAAAAWAbhFgAAAJZBuAUAAIBlEG4BAABgGYTb83z99dfq0qWLQkNDZbPZtGTJklx9tm7dqjvvvFNlypSRn5+fGjVqpL1799qPnzlzRo888ojKly8vf39/de/eXcnJyUX4KopOQdSrdevWstlsDj8PPvhgEb6KonOpel1Yh5yfSZMm2fscO3ZMffr0UUBAgMqWLasHHnhAJ0+eLOJXUjQKol6RkZG5jk+YMKGIX0nRuVTNTp48qaFDhyosLEw+Pj6qU6eOpk+f7tCHv2H/cKZe/A37R3Jysvr376/Q0FD5+vqqU6dO2r59u0Mf3l//cKZe19L7qyARbs9z6tQp3XjjjXrzzTfzPL5z5061aNFCtWrV0po1a/Tzzz/r2Weflbe3t73PY489pmXLlmnhwoVau3atDh48qJiYmKJ6CUWqIOolSYMGDVJSUpL9Z+LEiUUx/CJ3qXqdX4OkpCS99957stls6t69u71Pnz599Ntvv2nlypX69NNP9fXXX2vw4MFF9RKKVEHUS5LGjx/v0O/RRx8tiuEXi0vVbOTIkVq+fLk++OADbd26VSNGjNDQoUP1ySef2PvwN+wfztRL4m+YlH1b1G7dumnXrl1aunSpfvzxR0VERKh9+/Y6deqUvR/vr2zO1ku6dt5fBcogT5LMxx9/7NDWq1cvc9999+V7TkpKivHw8DALFy60t23dutVIMhs3biysoZYIl1MvY4yJjo42w4cPL7yBlVB51etCXbt2NW3btrU//v33340ks3nzZnvbF198YWw2mzlw4EBhDbVEuJx6GWNMRESEmTx5cuENrATLq2Z169Y148ePd2i7+eabzdNPP22M4W+Yq/Uyhr9hObZt22YkmV9//dXelpmZaYKCgsw777xjjOH95Wq9jLl2319XiplbJ2VlZemzzz5TzZo11bFjR1WsWFFNmjRx+Jjh+++/V0ZGhtq3b29vq1WrlqpUqaKNGzcWw6iLjzP1yjFv3jxVqFBB119/vcaMGaO0tLSiH3AJk5ycrM8++0wPPPCAvW3jxo0qW7asGjZsaG9r37693NzctGnTpuIYZomRV71yTJgwQeXLl1f9+vU1adIknTt3rhhGWDI0a9ZMn3zyiQ4cOCBjjOLj4/Xnn3/q1ltvlcTfsAtdql45+BsmpaenS5LDJ3Nubm7y8vLSunXrJPH+Op8z9crB+8t1pYp7AFeLw4cP6+TJk5owYYJefPFFvfrqq1q+fLliYmIUHx+v6OhoHTp0SJ6enipbtqzDuZUqVdKhQ4eKZ+DFxJl6SVLv3r0VERGh0NBQ/fzzz3ryySe1bds2xcXFFfMrKF5z5sxR6dKlHT6uO3TokCpWrOjQr1SpUgoMDLzm3l8XyqtekjRs2DDdfPPNCgwM1IYNGzRmzBglJSXpjTfeKKaRFq9p06Zp8ODBCgsLU6lSpeTm5qZ33nlHrVq1kiT+hl3gUvWS+BuWIyekjhkzRjNmzJCfn58mT56s/fv3KykpSRLvr/M5Uy+J99flItw6KSsrS5LUtWtXPfbYY5Kkm266SRs2bND06dPtYQ3ZnK3X+etF69Wrp5CQELVr1047d+5UtWrVin7gJcR7772nPn365FqfjLzlV6+RI0fa/33DDTfI09NTQ4YM0SuvvHJN3uZy2rRp+uabb/TJJ58oIiJCX3/9tR555BGFhoY6zKYhmzP14m9YNg8PD8XFxemBBx5QYGCg3N3d1b59e3Xu3FmGG6Hm4my9eH9dHsKtkypUqKBSpUqpTp06Du21a9e2f4QQHByss2fPKiUlxeG/TJOTkxUcHFyUwy12ztQrL02aNJEk7dix45r9f9yEhARt27ZNCxYscGgPDg7W4cOHHdrOnTunY8eOXXPvr/PlV6+8NGnSROfOndPu3bt13XXXFcHoSo7Tp0/r3//+tz7++GPdfvvtkrID/5YtW/Taa6+pffv2/A07jzP1ysu1/DesQYMG2rJli44fP66zZ88qKChITZo0sS+l4v3l6FL1ysu1/P5yBWtuneTp6alGjRpp27ZtDu1//vmnIiIiJGW/UT08PLRq1Sr78W3btmnv3r1q2rRpkY63uDlTr7xs2bJFkhQSElKYwyvR3n33XTVo0EA33nijQ3vTpk2VkpKi77//3t62evVqZWVl2f/gXYvyq1detmzZIjc3t1zLO64FGRkZysjIkJub4599d3d3+yct/A37hzP1ygt/w6QyZcooKChI27dv13fffaeuXbtK4v2Vn/zqlRfeX85h5vY8J0+e1I4dO+yPExMTtWXLFgUGBqpKlSp64okn1KtXL7Vq1Upt2rTR8uXLtWzZMq1Zs0ZS9hv0gQce0MiRIxUYGKiAgAA9+uijatq0qW655ZZielWF50rrtXPnTs2fP1+33Xabypcvr59//lmPPfaYWrVqpRtuuKGYXlXhuVS9JCk1NVULFy7U66+/nuv82rVrq1OnTho0aJCmT5+ujIwMDR06VPfcc49CQ0OL7HUUlSut18aNG7Vp0ya1adNGpUuX1saNG/XYY4/pvvvuU7ly5YrsdRSlS9UsOjpaTzzxhHx8fBQREaG1a9fq/ffft69B5m+Ya/Xib5hjvRYuXKigoCBVqVJFv/zyi4YPH65u3brZv4DH+8u1el1r768CVbybNZQs8fHxRlKun379+tn7vPvuu6Z69erG29vb3HjjjWbJkiUO1zh9+rR5+OGHTbly5Yyvr6+56667TFJSUhG/kqJxpfXau3evadWqlQkMDDReXl6mevXq5oknnjDHjx8vhldT+Jyp14wZM4yPj49JSUnJ8xpHjx419957r/H39zcBAQFmwIAB5sSJE0X0CorWldbr+++/N02aNDFlypQx3t7epnbt2ubll182Z86cKcJXUbQuVbOkpCTTv39/Exoaary9vc11111nXn/9dZOVlWW/Bn/DnK8Xf8Mc6zVlyhQTFhZmPDw8TJUqVcwzzzxj0tPTHa7B+8v5el1r76+CZDOGld4AAACwBtbcAgAAwDIItwAAALAMwi0AAAAsg3ALAAAAyyDcAgAAwDIItwAAALAMwi0AAAAsg3ALACVAZGSkYmNjne6/e/du2Ww2++04C0KrVq00f/78ArteXm655RYtXry4UJ8DwLWNcAsAl6l///7q1q1brvY1a9bIZrMpJSXF6Wtt3rxZgwcPLrjBSZo9e7bKli3rVN9PPvlEycnJuueeewp0DBd65pln9NRTTykrK6tQnwfAtYtwCwAlQFBQkHx9fYvt+adOnaoBAwbIza1w/2ehc+fOOnHihL744otCfR4A1y7CLQAUgXXr1qlly5by8fFReHi4hg0bplOnTtmPX7gs4Y8//lCLFi3k7e2tOnXq6KuvvpLNZtOSJUscrrtr1y61adNGvr6+uvHGG7Vx40ZJ2bPHAwYM0PHjx2Wz2WSz2TRu3Lg8x/bXX39p9erV6tKli0N7SkqKhgwZokqVKsnb21vXX3+9Pv30U0n/zAp/+umnuu666+Tr66sePXooLS1Nc+bMUWRkpMqVK6dhw4YpMzPTfk13d3fddttt+t///ncF1QSA/BFuAaCQ7dy5U506dVL37t31888/a8GCBVq3bp2GDh2aZ//MzEx169ZNvr6+2rRpk2bOnKmnn346z75PP/20Ro0apS1btqhmzZq69957de7cOTVr1kyxsbEKCAhQUlKSkpKSNGrUqDyvsW7dOvn6+qp27dr2tqysLHXu3Fnr16/XBx98oN9//10TJkyQu7u7vU9aWpqmTp2q//3vf1q+fLnWrFmju+66S59//rk+//xzzZ07VzNmzNCiRYscnq9x48ZKSEhwtYwA4JRSxT0AALiaffrpp/L393doO3+mUpJeeeUV9enTRyNGjJAk1ahRQ1OnTlV0dLTefvtteXt7O/RfuXKldu7cqTVr1ig4OFiS9NJLL6lDhw65nn/UqFG6/fbbJUnPP/+86tatqx07dqhWrVoqU6aMbDab/Rr52bNnjypVquSwJOGrr77St99+q61bt6pmzZqSpKpVqzqcl5GRobffflvVqlWTJPXo0UNz585VcnKy/P39VadOHbVp00bx8fHq1auX/bzQ0FDt27dPWVlZhb4MAsC1h3ALAFegTZs2evvttx3aNm3apPvuu8/++KefftLPP/+sefPm2duMMcrKylJiYqLDjKkkbdu2TeHh4Q6htHHjxnk+/w033GD/d0hIiCTp8OHDqlWrltOv4fTp07kC9pYtWxQWFmYPtnnx9fW1B1tJqlSpkiIjIx3CfqVKlXT48GGH83x8fJSVlaX09HT5+Pg4PU4AcAbhFgCugJ+fn6pXr+7Qtn//fofHJ0+e1JAhQzRs2LBc51epUuWKnt/Dw8P+b5vNJkku70RQoUIF/f333w5tzoTO85875/nzartwPMeOHZOfnx/BFkChINwCQCG7+eab9fvvv+cKwfm57rrrtG/fPiUnJ6tSpUqSsrcKc5Wnp2euJRJ5qV+/vg4dOqS///5b5cqVk5Q9I7x//379+eefF529vRy//vqr6tevX6DXBIAcLHYCgEL25JNPasOGDRo6dKi2bNmi7du3a+nSpfl+oaxDhw6qVq2a+vXrp59//lnr16/XM888I+mf2VlnREZG6uTJk1q1apWOHDmitLS0PPvVr19fFSpU0Pr16+1t0dHRatWqlbp3766VK1cqMTFRX3zxhZYvX+7CK89bQkKCbr311iu+DgDkhXALAIXshhtu0Nq1a/Xnn3+qZcuWql+/vp577jmFhobm2d/d3V1LlizRyZMn1ahRIw0cONC+W8KFa2MvplmzZnrwwQfVq1cvBQUFaeLEifk+34ABAxzWBEvS4sWL1ahRI917772qU6eORo8e7dRM8MUcOHBAGzZs0IABA67oOgCQH5sxxhT3IAAAF7d+/Xq1aNFCO3bscPgSV0E5dOiQ6tatqx9++EEREREFfv0cTz75pP7++2/NnDmz0J4DwLWNNbcAUAJ9/PHH8vf3V40aNbRjxw4NHz5czZs3L5RgK0nBwcF69913tXfv3kINtxUrVtTIkSML7foAwMwtAJRA77//vl588UXt3btXFSpUUPv27fX666+rfPnyxT00ACjRCLcAAACwDL5QBgAAAMsg3AIAAMAyCLcAAACwDMItAAAALINwCwAAAMsg3AIAAMAyCLcAAACwDMItAAAALINwCwAAAMv4P+uOQYxNarycAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import numpy as np\n", "import matplotlib.pyplot as plt\n", "\n", "# Data from the table\n", "heights = np.array([168, 161, 167, 179, 184, 166, 198, 187, 191, 179])\n", "weights = np.array([65.5, 58.3, 68.1, 85.7, 80.5, 63.4, 102.6, 91.4, 86.7, 78.9])\n", "\n", "# Calculate correlation coefficient\n", "correlation = np.corrcoef(heights, weights)[0, 1]\n", "\n", "# Create scatter plot\n", "plt.figure(figsize=(8, 6))\n", "plt.scatter(heights, weights, color='b', label='Data points')\n", "\n", "# Add labels and title\n", "plt.xlabel('Height (cm)')\n", "plt.ylabel('Weight (kg)')\n", "plt.title(f'Scatter plot of Height vs Weight\\nCorrelation Coefficient: {correlation:.2f}')\n", "\n", "# Display the plot\n", "plt.legend()\n", "plt.grid(True)\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Plots/Visual or Graphical Methods in Descriptive Statistics" ] }, { "cell_type": "code", "execution_count": 87, "metadata": {}, "outputs": [], "source": [ "# import the matplotlib.pyplot package \n", "import matplotlib.pyplot as plt" ] }, { "cell_type": "code", "execution_count": 88, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[168 161 167 179 184 166 198 187 191 179]\n" ] } ], "source": [ "x = np.array([168, 161, 167, 179, 184, 166, 198, 187, 191, 179])\n", "print(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Histogram\n", "\n", "A histogram is a graphical representation of the distribution of numerical data, where the data is grouped into continuous, non-overlapping intervals called bins, and the height of each bar reflects the frequency (or density) of values falling within each bin." ] }, { "cell_type": "code", "execution_count": 89, "metadata": {}, "outputs": [ { "data": { "image/png": "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OztbvXv3VkFBgSRp0aJFGjdunAYMGKCTJ09qyZIlOnr0qO64444WngoAAAhHIcXI448/LkmaNGlS0Po//elPuv322yVJ5eXlior6+oLL559/rtmzZ8vr9ap79+4aPXq09uzZoyFDhjRv5AAAICI0+QbWttTYG2DaC25gBQCEg8b+/Oa7aQAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAIApYgQAAJgiRgAAgCliBAAAmCJGAACAKWIEAACYIkYAAICpkGKkoKBAY8aMUUxMjBISEpSVlaWysrIG91u/fr0GDRqk6OhoDRs2TC+++GKTBwwAACJLSDGyc+dOzZkzR6+88oqKiop09uxZXX/99aqpqal3nz179mjGjBnKycnR/v37lZWVpaysLB08eLDZgwcAAOHP5TiO09SdP/nkEyUkJGjnzp2aMGFCndtMnz5dNTU12rx5c2DduHHjNGLECBUWFjbqfXw+n+Li4lRVVaXY2NimDjdi9PvFFushhOzDxVOthwAAaGON/fndrHtGqqqqJEnx8fH1blNSUqKMjIygdZmZmSopKWnOWwMAgAjRsak71tbWat68ebrmmms0dOjQerfzer1KTEwMWpeYmCiv11vvPn6/X36/P/DY5/M1dZgAAOAS1+QYmTNnjg4ePKjdu3e35HgkfXWj7MKFC1v8dYH2gI/xAISbJn1Mk5ubq82bN2v79u3q06fPRbdNSkpSZWVl0LrKykolJSXVu09+fr6qqqoCy7Fjx5oyTAAAEAZCihHHcZSbm6sNGzZo27Zt6t+/f4P7eDweFRcXB60rKiqSx+Opdx+3263Y2NigBQAARKaQPqaZM2eO1qxZo02bNikmJiZw30dcXJy6dOkiScrOzlbv3r1VUFAgSZo7d64mTpyopUuXaurUqVq7dq327t2rlStXtvBUAABAOArpysjjjz+uqqoqTZo0ScnJyYFl3bp1gW3Ky8tVUVEReDx+/HitWbNGK1euVHp6uv7+979r48aNF73pFQAAtB8hXRlpzJ8k2bFjxwXrbrnlFt1yyy2hvBUAAGgn+G4aAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApogRAABgihgBAACmiBEAAGCKGAEAAKaIEQAAYIoYAQAApkKOkV27dunGG29USkqKXC6XNm7ceNHtd+zYIZfLdcHi9XqbOmYAABBBQo6Rmpoapaena/ny5SHtV1ZWpoqKisCSkJAQ6lsDAIAI1DHUHaZMmaIpU6aE/EYJCQnq1q1byPsBAIDI1mb3jIwYMULJycm67rrr9O9///ui2/r9fvl8vqAFAABEplaPkeTkZBUWFurZZ5/Vs88+q9TUVE2aNElvvPFGvfsUFBQoLi4usKSmprb2MAEAgJGQP6YJ1cCBAzVw4MDA4/Hjx+vIkSNatmyZ/vKXv9S5T35+vvLy8gKPfT4fQQIAQIRq9Ripy9VXX63du3fX+7zb7Zbb7W7DEQEAACsmf2ektLRUycnJFm8NAAAuMSFfGamurtbhw4cDjz/44AOVlpYqPj5effv2VX5+vo4fP66nn35akvTII4+of//+uvLKK3X69Gk9+eST2rZtm/7xj3+03CwAAEDYCjlG9u7dq8mTJwcen7+3Y+bMmVq9erUqKipUXl4eeP7MmTP62c9+puPHj6tr164aPny4/vnPfwa9BgAAaL9CjpFJkybJcZx6n1+9enXQ43vvvVf33ntvyAMDAADtA99NAwAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwFTIMbJr1y7deOONSklJkcvl0saNGxvcZ8eOHRo1apTcbrcGDBig1atXN2GoAAAgEoUcIzU1NUpPT9fy5csbtf0HH3ygqVOnavLkySotLdW8efN0xx136OWXXw55sAAAIPJ0DHWHKVOmaMqUKY3evrCwUP3799fSpUslSYMHD9bu3bu1bNkyZWZmhvr2AAAgwrT6PSMlJSXKyMgIWpeZmamSkpJ69/H7/fL5fEELAACITCFfGQmV1+tVYmJi0LrExET5fD598cUX6tKlywX7FBQUaOHCha09NElSv19saZP3ARBZ+N8ORJIPF081ff9L8rdp8vPzVVVVFViOHTtmPSQAANBKWv3KSFJSkiorK4PWVVZWKjY2ts6rIpLkdrvldrtbe2gAAOAS0OpXRjwej4qLi4PWFRUVyePxtPZbAwCAMBByjFRXV6u0tFSlpaWSvvrV3dLSUpWXl0v66iOW7OzswPZ33XWX3n//fd17771655139Mc//lF/+9vfNH/+/JaZAQAACGshx8jevXs1cuRIjRw5UpKUl5enkSNH6oEHHpAkVVRUBMJEkvr3768tW7aoqKhI6enpWrp0qZ588kl+rRcAAEhqwj0jkyZNkuM49T5f119XnTRpkvbv3x/qWwEAgHbgkvxtGgAA0H4QIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMNSlGli9frn79+ik6Olpjx47Va6+9Vu+2q1evlsvlClqio6ObPGAAABBZQo6RdevWKS8vTw8++KDeeOMNpaenKzMzUydOnKh3n9jYWFVUVASWo0ePNmvQAAAgcoQcIw8//LBmz56tWbNmaciQISosLFTXrl21atWqevdxuVxKSkoKLImJic0aNAAAiBwhxciZM2e0b98+ZWRkfP0CUVHKyMhQSUlJvftVV1crLS1NqampmjZtmg4dOtT0EQMAgIgSUox8+umnOnfu3AVXNhITE+X1euvcZ+DAgVq1apU2bdqkZ555RrW1tRo/frw++uijet/H7/fL5/MFLQAAIDK1+m/TeDweZWdna8SIEZo4caKee+459erVSytWrKh3n4KCAsXFxQWW1NTU1h4mAAAwElKM9OzZUx06dFBlZWXQ+srKSiUlJTXqNTp16qSRI0fq8OHD9W6Tn5+vqqqqwHLs2LFQhgkAAMJISDHSuXNnjR49WsXFxYF1tbW1Ki4ulsfjadRrnDt3TgcOHFBycnK927jdbsXGxgYtAAAgMnUMdYe8vDzNnDlTV111la6++mo98sgjqqmp0axZsyRJ2dnZ6t27twoKCiRJixYt0rhx4zRgwACdPHlSS5Ys0dGjR3XHHXe07EwAAEBYCjlGpk+frk8++UQPPPCAvF6vRowYoa1btwZuai0vL1dU1NcXXD7//HPNnj1bXq9X3bt31+jRo7Vnzx4NGTKk5WYBAADCVsgxIkm5ubnKzc2t87kdO3YEPV62bJmWLVvWlLcBAADtAN9NAwAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwBQxAgAATBEjAADAFDECAABMESMAAMAUMQIAAEwRIwAAwFSTYmT58uXq16+foqOjNXbsWL322msX3X79+vUaNGiQoqOj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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Create a histogram. This is the simplest way of creating a histogram in matplotlib. It uses the default number of bins and default style settings.\n", "plt.hist(x)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we'll customize the histogram by specifying the number of bins (bins=8), adding an edge color and fill color, adjusting the transparency (alpha), and setting density=True to display a probability density rather than a simple count." ] }, { "cell_type": "code", "execution_count": 91, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA7DElEQVR4nO3de1iUdf7/8RcHAUVBEQUxlFZNPAV5Ilx/HooNyl0lC81KhTWtNtKk2FYztazQWhRLV9bKysrVZdeltowi8lBfSRM0tfJYCqkc1BQlA4X790eXs00MCgiMzP18XNd9JZ/7c9/zfs8w+uo+zDgZhmEIAADARJztXQAAAEBjIwABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABJhAUFKTY2Fh7l4Gr1LBhwzRs2DB7lwE0KgIQ0MS8/vrrcnJy0rZt22yuHzZsmHr37n3Fj7Nu3TrNnTv3ivfT1AUFBcnJycnmEhUVZe/yANSRq70LANDw9u7dK2fn2v3/zrp167R06VJCkKTQ0FA9+uijVcYDAgLsUA2A+kAAAkzA3d3d3iXUWmlpqTw9Pe1dhiSpY8eOuvfee+1dBoB6xCkwwAR+fQ3Q+fPn9dRTT6lbt27y8PBQ27ZtNXjwYGVmZkqSYmNjtXTpUkmyOuVzUWlpqR599FEFBgbK3d1d3bt311//+lcZhmH1uOfOndPUqVPl6+urVq1aaeTIkTpy5IicnJysjizNnTtXTk5O+vrrr3X33XerTZs2Gjx4sCRp586dio2N1W9+8xt5eHjI399ff/zjH3XixAmrx7q4j3379unee++Vt7e32rVrpyeffFKGYSg/P1+jRo2Sl5eX/P39lZycXG/Pb1FRkdq1a6dhw4ZZPQcHDhyQp6enxo4daxn79NNPFRMTo06dOsnd3V2BgYGaPn26zp07Z7XP2NhYtWzZUnl5efr973+vli1bqmPHjpbXZdeuXbrpppvk6empzp07a9WqVVbbXzxVumnTJt1///1q27atvLy8NGHCBP3www+X7amsrExz5sxR165dLXX++c9/VllZ2ZU8VcBVgyNAQBN1+vRpHT9+vMr4+fPnL7vt3LlzlZSUpPvuu08DBw5USUmJtm3bptzcXP3ud7/T/fffr6NHjyozM1Nvvvmm1baGYWjkyJFav369Jk2apNDQUH344YdKTEzUkSNHtGjRIsvc2NhY/fOf/9T48eN14403auPGjRoxYkS1dcXExKhbt2567rnnLEEiMzNT3377reLi4uTv76+vvvpKy5cv11dffaXPP//cKphJ0tixY9WjRw/Nnz9f77//vp555hn5+Pjo73//u2666SYtWLBAb7/9th577DENGDBAQ4YMuezzdf78eZvPtaenp5o3b6727dtr2bJliomJ0UsvvaSpU6eqsrJSsbGxatWqlf72t79ZtklLS9OPP/6oBx98UG3bttXWrVv10ksv6fvvv1daWprV/isqKnTrrbdqyJAhev755/X2228rPj5enp6eeuKJJ3TPPfdo9OjRSk1N1YQJExQeHq5rr73Wah/x8fFq3bq15s6dq71792rZsmU6fPiwNmzYUOW5u6iyslIjR47UZ599pilTpqhHjx7atWuXFi1apH379ik9Pf2yzxlw1TMANCmvvfaaIemSS69evay26dy5szFx4kTLzyEhIcaIESMu+TgPPfSQYeuviPT0dEOS8cwzz1iN33nnnYaTk5Nx4MABwzAMIycnx5BkPPLII1bzYmNjDUnGnDlzLGNz5swxJBnjxo2r8ng//vhjlbF//OMfhiRj06ZNVfYxZcoUy9iFCxeMa665xnBycjLmz59vGf/hhx+M5s2bWz0n1encuXO1z3NSUpLV3HHjxhktWrQw9u3bZ7zwwguGJCM9Pf2y/SQlJRlOTk7G4cOHLWMTJ040JBnPPfdclbqdnJyM1atXW8b37NlT5Tm9+HvSr18/o7y83DL+/PPPG5KMd955xzI2dOhQY+jQoZaf33zzTcPZ2dn49NNPrepMTU01JBn/93//d5lnDbj6cQoMaKKWLl2qzMzMKsv1119/2W1bt26tr776Svv376/1465bt04uLi6aOnWq1fijjz4qwzD0wQcfSJIyMjIkSX/605+s5j388MPV7vuBBx6oMta8eXPLn3/66ScdP35cN954oyQpNze3yvz77rvP8mcXFxf1799fhmFo0qRJlvHWrVure/fu+vbbb6ut5ZfCwsJsPtfjxo2zmrdkyRJ5e3vrzjvv1JNPPqnx48dr1KhR1fZTWlqq48ePa9CgQTIMQ9u3b79kPxfr9vT01JgxYyzj3bt3V+vWrW32M2XKFDVr1szy84MPPihXV1etW7eu2n7T0tLUo0cPBQcH6/jx45blpptukiStX7++2m2BpoJTYEATNXDgQPXv37/KeJs2bWyervmlp59+WqNGjdJ1112n3r17KyoqSuPHj69ReDp8+LACAgLUqlUrq/EePXpY1l/8r7Ozc5VTMl27dq1237+eK0knT57UU089pdWrV6uoqMhq3enTp6vM79Spk9XP3t7e8vDwkK+vb5XxX19HVB1fX19FRERcdp6Pj49efPFFxcTEyM/PTy+++GKVOXl5eZo9e7befffdKtfi/LofDw8PtWvXrkrd11xzTZXTV97e3jav7enWrZvVzy1btlSHDh106NChavvYv3+/vvnmmyqPfdGvXwegKSIAASY0ZMgQHTx4UO+8844++ugjvfLKK1q0aJFSU1Otjjg0tl8eHblozJgx2rx5sxITExUaGqqWLVuqsrJSUVFRqqysrDLfxcWlRmOSqly0XR8+/PBDSdIPP/yg77//Xq1bt7asq6io0O9+9zudPHlSjz/+uIKDg+Xp6akjR44oNja2Sj/V1d3Q/VRWVqpPnz5auHChzfWBgYH18jiAPRGAAJPy8fFRXFyc4uLidPbsWQ0ZMkRz5861BKDqLpDt3LmzPv74Y505c8bqKNCePXss6y/+t7KyUt99953VUYgDBw7UuMYffvhBWVlZeuqppzR79mzLeF1O3TWGjIwMvfLKK/rzn/+st99+WxMnTtSWLVvk6vrzX7W7du3Svn379MYbb2jChAmW7S7efdcQ9u/fr+HDh1t+Pnv2rI4dO6bbbrut2m26dOmiL7/8UjfffHO1vwdAU8c1QIAJ/frUT8uWLdW1a1erW5wvfgbPqVOnrObedtttqqio0JIlS6zGFy1aJCcnJ916662SpMjISEmyugNKkl566aUa13nxSMevj2ykpKTUeB+N5dSpU5a76p577jm98sorys3N1XPPPWeZY6sfwzC0ePHiBqtr+fLlVncGLlu2TBcuXLC8TraMGTNGR44c0csvv1xl3blz51RaWtogtQKNiSNAgAn17NlTw4YNU79+/eTj46Nt27bpX//6l+Lj4y1z+vXrJ0maOnWqIiMj5eLiorvuukt/+MMfNHz4cD3xxBM6dOiQQkJC9NFHH+mdd97RI488oi5duli2v+OOO5SSkqITJ05YboPft2+fpOqPMP2Sl5eX5Rbw8+fPq2PHjvroo4/03XffNcCzUr0jR47orbfeqjLesmVLRUdHS5KmTZumEydO6OOPP5aLi4uioqJ033336ZlnntGoUaMUEhKi4OBgdenSRY899piOHDkiLy8v/fvf/67R5/LUVXl5uW6++WaNGTNGe/fu1d/+9jcNHjxYI0eOrHab8ePH65///KceeOABrV+/Xr/97W9VUVGhPXv26J///Kc+/PBDm9efAU2K/W5AA1AXF29v/uKLL2yuHzp06GVvg3/mmWeMgQMHGq1btzaaN29uBAcHG88++6zV7dIXLlwwHn74YaNdu3aGk5OT1S3xZ86cMaZPn24EBAQYzZo1M7p162a88MILRmVlpdXjlpaWGg899JDh4+NjtGzZ0oiOjjb27t1rSLK6Lf3iLezFxcVV+vn++++N22+/3WjdurXh7e1txMTEGEePHq32Vvpf72PixImGp6dnjZ4nWy51G3znzp0NwzCMd955x5BkJCcnW21bUlJidO7c2QgJCbE8t19//bURERFhtGzZ0vD19TUmT55sfPnll4Yk47XXXqtz3Z07d7b6aIOLvycbN240pkyZYrRp08Zo2bKlcc899xgnTpyoss9f3gZvGIZRXl5uLFiwwOjVq5fh7u5utGnTxujXr5/x1FNPGadPn77s8wZc7ZwMowGuAgSAauzYsUM33HCD3nrrLd1zzz32Lsdhvf7664qLi9MXX3zB0RrABq4BAtBgfv31DtLP1+84OzvX6BOYAaChcA0QgAbz/PPPKycnR8OHD5erq6s++OADffDBB5oyZQq3UgOwKwIQgAYzaNAgZWZmat68eTp79qw6deqkuXPn6oknnrB3aQBMjmuAAACA6XANEAAAMB0CEAAAMB2uAbKhsrJSR48eVatWrfgYeAAAmgjDMHTmzBkFBATI2fnSx3gIQDYcPXqUO1QAAGii8vPzdc0111xyDgHIhotf8Jifny8vLy87VwMAAGqipKREgYGBVl/UXB0CkA0XT3t5eXkRgAAAaGJqcvkKF0EDAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTcbV3AXA8xcXFKikpsXcZDcbLy0vt2rWzdxkAgCtAAEK9Ki4u1oN3362yEyfsXUqDcW/bVstWrSIEAUATRgBCvSopKVHZiRN61N1dgc2b27ucepd/7pyST5xQSUkJAQgAmjACEBpEYPPm6uLpae8yGkZZmb0rAABcIS6CBgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApmP3ALR06VIFBQXJw8NDYWFh2rp16yXnp6WlKTg4WB4eHurTp4/WrVtXZc4333yjkSNHytvbW56enhowYIDy8vIaqgUAANDE2DUArVmzRgkJCZozZ45yc3MVEhKiyMhIFRUV2Zy/efNmjRs3TpMmTdL27dsVHR2t6Oho7d692zLn4MGDGjx4sIKDg7Vhwwbt3LlTTz75pDw8PBqrLQAAcJVzMgzDsNeDh4WFacCAAVqyZIkkqbKyUoGBgXr44Yf1l7/8pcr8sWPHqrS0VO+9955l7MYbb1RoaKhSU1MlSXfddZeaNWumN998s851lZSUyNvbW6dPn5aXl1ed92NGBw8e1CMxMUpp3VpdPD3tXU69O1haqkdOnVJKWpq6dOli73IAAL9Qm3+/7XYEqLy8XDk5OYqIiPhfMc7OioiIUHZ2ts1tsrOzreZLUmRkpGV+ZWWl3n//fV133XWKjIxU+/btFRYWpvT09EvWUlZWppKSEqsFAAA4LrsFoOPHj6uiokJ+fn5W435+fiooKLC5TUFBwSXnFxUV6ezZs5o/f76ioqL00Ucf6fbbb9fo0aO1cePGamtJSkqSt7e3ZQkMDLzC7gAAwNXM7hdB16fKykpJ0qhRozR9+nSFhobqL3/5i37/+99bTpHZMmPGDJ0+fdqy5OfnN1bJAADADlzt9cC+vr5ycXFRYWGh1XhhYaH8/f1tbuPv73/J+b6+vnJ1dVXPnj2t5vTo0UOfffZZtbW4u7vL3d29Lm0AAIAmyG5HgNzc3NSvXz9lZWVZxiorK5WVlaXw8HCb24SHh1vNl6TMzEzLfDc3Nw0YMEB79+61mrNv3z517ty5njsAAABNld2OAElSQkKCJk6cqP79+2vgwIFKSUlRaWmp4uLiJEkTJkxQx44dlZSUJEmaNm2ahg4dquTkZI0YMUKrV6/Wtm3btHz5css+ExMTNXbsWA0ZMkTDhw9XRkaG/vvf/2rDhg32aBEAAFyF7BqAxo4dq+LiYs2ePVsFBQUKDQ1VRkaG5ULnvLw8OTv/7yDVoEGDtGrVKs2aNUszZ85Ut27dlJ6ert69e1vm3H777UpNTVVSUpKmTp2q7t2769///rcGDx7c6P0BAICrk10/B+hqxecA1R2fAwQAsJcm8TlAAAAA9kIAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApkMAAgAApnNVBKClS5cqKChIHh4eCgsL09atWy85Py0tTcHBwfLw8FCfPn20bt06q/WxsbFycnKyWqKiohqyBQAA0ITYPQCtWbNGCQkJmjNnjnJzcxUSEqLIyEgVFRXZnL9582aNGzdOkyZN0vbt2xUdHa3o6Gjt3r3bal5UVJSOHTtmWf7xj380RjsAAKAJsHsAWrhwoSZPnqy4uDj17NlTqampatGihVasWGFz/uLFixUVFaXExET16NFD8+bNU9++fbVkyRKree7u7vL397csbdq0aYx2AABAE2DXAFReXq6cnBxFRERYxpydnRUREaHs7Gyb22RnZ1vNl6TIyMgq8zds2KD27dure/fuevDBB3XixIlq6ygrK1NJSYnVAgAAHJddA9Dx48dVUVEhPz8/q3E/Pz8VFBTY3KagoOCy86OiorRy5UplZWVpwYIF2rhxo2699VZVVFTY3GdSUpK8vb0tS2Bg4BV2BgAArmau9i6gIdx1112WP/fp00fXX3+9unTpog0bNujmm2+uMn/GjBlKSEiw/FxSUkIIAgDAgdn1CJCvr69cXFxUWFhoNV5YWCh/f3+b2/j7+9dqviT95je/ka+vrw4cOGBzvbu7u7y8vKwWAADguOwagNzc3NSvXz9lZWVZxiorK5WVlaXw8HCb24SHh1vNl6TMzMxq50vS999/rxMnTqhDhw71UzgAAGjS7H4XWEJCgl5++WW98cYb+uabb/Tggw+qtLRUcXFxkqQJEyZoxowZlvnTpk1TRkaGkpOTtWfPHs2dO1fbtm1TfHy8JOns2bNKTEzU559/rkOHDikrK0ujRo1S165dFRkZaZceAQDA1cXu1wCNHTtWxcXFmj17tgoKChQaGqqMjAzLhc55eXlydv5fThs0aJBWrVqlWbNmaebMmerWrZvS09PVu3dvSZKLi4t27typN954Q6dOnVJAQIBuueUWzZs3T+7u7nbpEQAAXF2cDMMw7F3E1aakpETe3t46ffo01wPV0sGDB/VITIxSWrdWF09Pe5dT7w6WluqRU6eUkpamLl262LscAMAv1Obfb7ufAgMAAGhsBCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6BCAAAGA6rvYuAMDVp7i4WCUlJfYuo8F4eXmpXbt29i4DgB0RgABYKS4u1oN3362yEyfsXUqDcW/bVstWrSIEASZGAAJgpaSkRGUnTuhRd3cFNm9u73LqXf65c0o+cUIlJSUEIMDECEAAbAps3lxdPD3tXUbDKCuzdwUA7IyLoAEAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOkQgAAAgOlcFQFo6dKlCgoKkoeHh8LCwrR169ZLzk9LS1NwcLA8PDzUp08frVu3rtq5DzzwgJycnJSSklLPVQMAgKbK7gFozZo1SkhI0Jw5c5Sbm6uQkBBFRkaqqKjI5vzNmzdr3LhxmjRpkrZv367o6GhFR0dr9+7dVeb+5z//0eeff66AgICGbgMAADQhdg9ACxcu1OTJkxUXF6eePXsqNTVVLVq00IoVK2zOX7x4saKiopSYmKgePXpo3rx56tu3r5YsWWI178iRI3r44Yf19ttvq1mzZo3RCgAAaCLsGoDKy8uVk5OjiIgIy5izs7MiIiKUnZ1tc5vs7Gyr+ZIUGRlpNb+yslLjx49XYmKievXq1TDFAwCAJsvVng9+/PhxVVRUyM/Pz2rcz89Pe/bssblNQUGBzfkFBQWWnxcsWCBXV1dNnTq1RnWUlZWprKzM8nNJSUlNWwAAAE2Q3U+B1becnBwtXrxYr7/+upycnGq0TVJSkry9vS1LYGBgA1cJAADsya4ByNfXVy4uLiosLLQaLywslL+/v81t/P39Lzn/008/VVFRkTp16iRXV1e5urrq8OHDevTRRxUUFGRznzNmzNDp06ctS35+/pU3BwAArlp2DUBubm7q16+fsrKyLGOVlZXKyspSeHi4zW3Cw8Ot5ktSZmamZf748eO1c+dO7dixw7IEBAQoMTFRH374oc19uru7y8vLy2oBAACOy67XAElSQkKCJk6cqP79+2vgwIFKSUlRaWmp4uLiJEkTJkxQx44dlZSUJEmaNm2ahg4dquTkZI0YMUKrV6/Wtm3btHz5cklS27Zt1bZtW6vHaNasmfz9/dW9e/fGbQ4AAFyV7B6Axo4dq+LiYs2ePVsFBQUKDQ1VRkaG5ULnvLw8OTv/70DVoEGDtGrVKs2aNUszZ85Ut27dlJ6ert69e9urBQAA0MTYPQBJUnx8vOLj422u27BhQ5WxmJgYxcTE1Hj/hw4dqmNlAADAETncXWAAAACXQwACAACmQwACAACmU6cA9O2339Z3HQAAAI2mTgGoa9euGj58uN566y399NNP9V0TAABAg6pTAMrNzdX111+vhIQE+fv76/7779fWrVvruzYAAIAGUacAFBoaqsWLF+vo0aNasWKFjh07psGDB6t3795auHChiouL67tOAACAenNFF0G7urpq9OjRSktL04IFC3TgwAE99thjCgwM1IQJE3Ts2LH6qhMAAKDeXFEA2rZtm/70pz+pQ4cOWrhwoR577DEdPHhQmZmZOnr0qEaNGlVfdQIAANSbOn0S9MKFC/Xaa69p7969uu2227Ry5Urddtttlq+suPbaa/X6669X++3rAAAA9lSnALRs2TL98Y9/VGxsrDp06GBzTvv27fXqq69eUXEAAAANoU4BKDMzU506dbL6klJJMgxD+fn56tSpk9zc3DRx4sR6KRIAAKA+1ekaoC5duuj48eNVxk+ePKlrr732iosCAABoSHUKQIZh2Bw/e/asPDw8rqggAACAhlarU2AJCQmSJCcnJ82ePVstWrSwrKuoqNCWLVsU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MjKy2vmSdPr0aTk5Oal1NbcTlpWVqaSkxGoBAACOy64B6Pjx46qoqJCfn5/VuJ+fnwoKCmxuU1BQUKv5P/30kx5//HGNGzdOXl5eNuckJSXJ29vbsgQGBtahGwAA0FTY/RRYQzp//rzGjBkjwzC0bNmyaufNmDFDp0+ftiz5+fmNWCUAAGhsdv0gRF9fX7m4uKiwsNBqvLCwUP7+/ja38ff3r9H8i+Hn8OHD+uSTT6o9+iNJ7u7uDvmR+AAAwDa7HgFyc3NTv379lJWVZRmrrKxUVlaWwsPDbW4THh5uNV+SMjMzreZfDD/79+/Xxx9/rLZt2zZMAwAAoEmy+1dhJCQkaOLEierfv78GDhyolJQUlZaWKi4uTpI0YcIEdezYUUlJSZKkadOmaejQoUpOTtaIESO0evVqbdu2TcuXL5f0c/i58847lZubq/fee08VFRWW64N8fHwc+tt1AQBAzdg9AI0dO1bFxcWaPXu2CgoKFBoaqoyMDMuFznl5eXJ2/t+BqkGDBmnVqlWaNWuWZs6cqW7duik9PV29e/eWJB05ckTvvvuuJCk0NNTqsdavX69hw4Y1Sl8AAODqZfcAJEnx8fGKj4+3uW7Dhg1VxmJiYhQTE2NzflBQkAzDqM/yAACAg3Hou8AAAABsIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTIQABAADTsXsAWrp0qYKCguTh4aGwsDBt3br1kvPT0tIUHBwsDw8P9enTR+vWrbNav3btWt1yyy1q27atnJyctGPHjgasHgAANEV2DUBr1qxRQkKC5syZo9zcXIWEhCgyMlJFRUU252/evFnjxo3TpEmTtH37dkVHRys6Olq7d++2zCktLdXgwYO1YMGCxmoDAAA0MXYNQAsXLtTkyZMVFxennj17KjU1VS1atNCKFStszl+8eLGioqKUmJioHj16aN68eerbt6+WLFlimTN+/HjNnj1bERERjdUGAABoYuwWgMrLy5WTk2MVVJydnRUREaHs7Gyb22RnZ1cJNpGRkdXOr6mysjKVlJRYLQAAwHHZLQAdP35cFRUV8vPzsxr38/NTQUGBzW0KCgpqNb+mkpKS5O3tbVkCAwOvaH8AAODqZveLoK8GM2bM0OnTpy1Lfn6+vUsCAAANyNVeD+zr6ysXFxcVFhZajRcWFsrf39/mNv7+/rWaX1Pu7u5yd3e/on0AAICmw25HgNzc3NSvXz9lZWVZxiorK5WVlaXw8HCb24SHh1vNl6TMzMxq5wMAANhityNAkpSQkKCJEyeqf//+GjhwoFJSUlRaWqq4uDhJ0oQJE9SxY0clJSVJkqZNm6ahQ4cqOTlZI0aM0OrVq7Vt2zYtX77css+TJ08qLy9PR48elSTt3btX0s9Hj670SBEAAHAMdg1AY8eOVXFxsWbPnq2CggKFhoYqIyPDcqFzXl6enJ3/d5Bq0KBBWrVqlWbNmqWZM2eqW7duSk9PV+/evS1z3n33XUuAkqS77rpLkjRnzhzNnTu3cRoDAABXNbsGIEmKj49XfHy8zXUbNmyoMhYTE6OYmJhq9xcbG6vY2Nh6qg4AADgi7gIDAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmQwACAACmc1UEoKVLlyooKEgeHh4KCwvT1q1bLzk/LS1NwcHB8vDwUJ8+fbRu3Tqr9YZhaPbs2erQoYOaN2+uiIgI7d+/vyFbAAAATYjdA9CaNWuUkJCgOXPmKDc3VyEhIYqMjFRRUZHN+Zs3b9a4ceM0adIkbd++XdHR0YqOjtbu3bstc55//nm9+OKLSk1N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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Customize your histogram\n", "plt.hist(x, bins=8, edgecolor='black', color='red', alpha=0.7, density=True)\n", "plt.xlabel('x')\n", "plt.ylabel('Density')\n", "plt.title('Histogram Example')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Now, we'll manually define the exact bin edges (bins=[160,165,170,175,180,185,190,195,200]) to have full control over the bin intervals, while still applying the same stylistic customizations as in the second example." ] }, { "cell_type": "code", "execution_count": 92, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkAAAAHHCAYAAABXx+fLAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8uklEQVR4nO3de1iUdf7/8deAAoqCB5QRRS018RTkiXD9Sgc2KHeVLDJrU1jTaiM1im0xQ802tFbE0pWs7Oxa7rrUllFE2mEhTdDUymMppnLSFEUDhfv3Rz9nmxgUERjgfj6ua66az/2573m/53bs1X2YsRiGYQgAAMBEXJxdAAAAQEMjAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEm0LNnT0VHRzu7DDRS11xzja655hpnlwE0KAIQ0MS8/PLLslgs2rRpk8Pl11xzjQYOHHjJr7N27VrNmTPnkrfT1PXs2VMWi8XhIyIiwtnlAailFs4uAED927lzp1xcLu7/d9auXaulS5cSgiQFBQXpoYceqjLu5+fnhGoA1AUCEGAC7u7uzi7hopWWlsrT09PZZUiSunbtqj/84Q/OLgNAHeIUGGACv74G6MyZM5o7d6769OkjDw8PdezYUSNHjlRGRoYkKTo6WkuXLpUku1M+55SWluqhhx6Sv7+/3N3d1bdvX/3tb3+TYRh2r3v69GlNmzZNPj4+atu2rcaMGaODBw/KYrHYHVmaM2eOLBaLvvnmG91xxx1q3769Ro4cKUnaunWroqOjdfnll8vDw0NWq1V//OMfdeTIEbvXOreNXbt26Q9/+IO8vb3VqVMnPfbYYzIMQwcOHNDYsWPl5eUlq9WqhQsX1tn7W1hYqE6dOumaa66xew/27NkjT09PjR8/3jb22WefKSoqSt27d5e7u7v8/f314IMP6vTp03bbjI6OVps2bZSXl6ff/e53atOmjbp27WrbL9u2bdN1110nT09P9ejRQytXrrRb/9yp0k8//VT33HOPOnbsKC8vL02cOFE//vjjBXsqKyvT7Nmz1bt3b1udf/7zn1VWVnYpbxXQaHAECGiijh8/ruLi4irjZ86cueC6c+bMUVJSku6++24NHz5cJSUl2rRpk3Jzc/Xb3/5W99xzjw4dOqSMjAy99tprdusahqExY8Zo3bp1mjx5soKCgvTBBx8oPj5eBw8e1KJFi2xzo6Oj9dZbb+muu+7S1VdfrU8++USjR4+utq6oqCj16dNHTz75pC1IZGRk6LvvvlNMTIysVqu+/vprLV++XF9//bW++OILu2AmSePHj1e/fv00f/58vffee3riiSfUoUMHPffcc7ruuuu0YMECvfHGG3r44Yc1bNgwjRo16oLv15kzZxy+156enmrVqpU6d+6sZcuWKSoqSs8++6ymTZumyspKRUdHq23btvr73/9uW2f16tU6deqU7rvvPnXs2FEbN27Us88+qx9++EGrV6+2235FRYVuvPFGjRo1Sk899ZTeeOMNxcbGytPTU48++qjuvPNOjRs3TqmpqZo4caJCQkJ02WWX2W0jNjZW7dq105w5c7Rz504tW7ZM+/fv1/r166u8d+dUVlZqzJgx+vzzzzV16lT169dP27Zt06JFi7Rr1y6lpaVd8D0DGj0DQJPy0ksvGZLO+xgwYIDdOj169DAmTZpkex4YGGiMHj36vK9z//33G47+ikhLSzMkGU888YTd+K233mpYLBZjz549hmEYRk5OjiHJmDFjht286OhoQ5Ixe/Zs29js2bMNScaECROqvN6pU6eqjP3jH/8wJBmffvpplW1MnTrVNnb27FmjW7duhsViMebPn28b//HHH41WrVrZvSfV6dGjR7Xvc1JSkt3cCRMmGK1btzZ27dplPP3004YkIy0t7YL9JCUlGRaLxdi/f79tbNKkSYYk48knn6xSt8ViMVatWmUb37FjR5X39NyfkyFDhhjl5eW28aeeesqQZLz99tu2sdDQUCM0NNT2/LXXXjNcXFyMzz77zK7O1NRUQ5Lx3//+9wLvGtD4cQoMaKKWLl2qjIyMKo8rr7zyguu2a9dOX3/9tXbv3n3Rr7t27Vq5urpq2rRpduMPPfSQDMPQ+++/L0lKT0+XJP3pT3+ym/fAAw9Uu+177723ylirVq1s//7TTz+puLhYV199tSQpNze3yvy7777b9u+urq4aOnSoDMPQ5MmTbePt2rVT37599d1331Vbyy8FBwc7fK8nTJhgN2/JkiXy9vbWrbfeqscee0x33XWXxo4dW20/paWlKi4u1ogRI2QYhjZv3nzefs7V7enpqdtuu8023rdvX7Vr185hP1OnTlXLli1tz++77z61aNFCa9eurbbf1atXq1+/fgoICFBxcbHtcd1110mS1q1bV+26QFPBKTCgiRo+fLiGDh1aZbx9+/YOT9f80uOPP66xY8fqiiuu0MCBAxUREaG77rqrRuFp//798vPzU9u2be3G+/XrZ1t+7p8uLi5VTsn07t272m3/eq4kHT16VHPnztWqVatUWFhot+z48eNV5nfv3t3uube3tzw8POTj41Nl/NfXEVXHx8dHYWFhF5zXoUMHPfPMM4qKipKvr6+eeeaZKnPy8vKUmJiod955p8q1OL/ux8PDQ506dapSd7du3aqcvvL29nZ4bU+fPn3snrdp00ZdunTRvn37qu1j9+7d+vbbb6u89jm/3g9AU0QAAkxo1KhR2rt3r95++219+OGHeuGFF7Ro0SKlpqbaHXFoaL88OnLObbfdpqysLMXHxysoKEht2rRRZWWlIiIiVFlZWWW+q6trjcYkVblouy588MEHkqQff/xRP/zwg9q1a2dbVlFRod/+9rc6evSoHnnkEQUEBMjT01MHDx5UdHR0lX6qq7u++6msrNSgQYOUnJzscLm/v3+dvA7gTAQgwKQ6dOigmJgYxcTE6OTJkxo1apTmzJljC0DVXSDbo0cPffTRRzpx4oTdUaAdO3bYlp/7Z2Vlpb7//nu7oxB79uypcY0//vijMjMzNXfuXCUmJtrGa3PqriGkp6frhRde0J///Ge98cYbmjRpkjZs2KAWLX7+q3bbtm3atWuXXnnlFU2cONG23rm77+rD7t27de2119qenzx5UocPH9ZNN91U7Tq9evXSV199peuvv77aPwdAU8c1QIAJ/frUT5s2bdS7d2+7W5zPfQfPsWPH7ObedNNNqqio0JIlS+zGFy1aJIvFohtvvFGSFB4eLkl2d0BJ0rPPPlvjOs8d6fj1kY2UlJQab6OhHDt2zHZX3ZNPPqkXXnhBubm5evLJJ21zHPVjGIYWL15cb3UtX77c7s7AZcuW6ezZs7b95Mhtt92mgwcP6vnnn6+y7PTp0yotLa2XWoGGxBEgwIT69++va665RkOGDFGHDh20adMm/fOf/1RsbKxtzpAhQyRJ06ZNU3h4uFxdXXX77bfr97//va699lo9+uij2rdvnwIDA/Xhhx/q7bff1owZM9SrVy/b+rfccotSUlJ05MgR223wu3btklT9EaZf8vLyst0CfubMGXXt2lUffvihvv/++3p4V6p38OBBvf7661XG27Rpo8jISEnS9OnTdeTIEX300UdydXVVRESE7r77bj3xxBMaO3asAgMDFRAQoF69eunhhx/WwYMH5eXlpX/96181+l6e2iovL9f111+v2267TTt37tTf//53jRw5UmPGjKl2nbvuuktvvfWW7r33Xq1bt06/+c1vVFFRoR07duitt97SBx984PD6M6BJcd4NaABq49ztzV9++aXD5aGhoRe8Df6JJ54whg8fbrRr185o1aqVERAQYPz1r3+1u1367NmzxgMPPGB06tTJsFgsdrfEnzhxwnjwwQcNPz8/o2XLlkafPn2Mp59+2qisrLR73dLSUuP+++83OnToYLRp08aIjIw0du7caUiyuy393C3sRUVFVfr54YcfjJtvvtlo166d4e3tbURFRRmHDh2q9lb6X29j0qRJhqenZ43eJ0fOdxt8jx49DMMwjLffftuQZCxcuNBu3ZKSEqNHjx5GYGCg7b395ptvjLCwMKNNmzaGj4+PMWXKFOOrr74yJBkvvfRSrevu0aOH3VcbnPtz8sknnxhTp0412rdvb7Rp08a48847jSNHjlTZ5i9vgzcMwygvLzcWLFhgDBgwwHB3dzfat29vDBkyxJg7d65x/PjxC75vQGNnMYx6uAoQAKqxZcsWXXXVVXr99dd15513OrucZuvll19WTEyMvvzyS47WAA5wDRCAevPrn3eQfr5+x8XFpUbfwAwA9YVrgADUm6eeeko5OTm69tpr1aJFC73//vt6//33NXXqVG6lBuBUBCAA9WbEiBHKyMjQvHnzdPLkSXXv3l1z5szRo48+6uzSAJgc1wABAADT4RogAABgOgQgAABgOlwD5EBlZaUOHTqktm3b8jXwAAA0EYZh6MSJE/Lz85OLy/mP8RCAHDh06BB3qAAA0EQdOHBA3bp1O+8cApAD537g8cCBA/Ly8nJyNQAAoCZKSkrk7+9v90PN1SEAOXDutJeXlxcBCACAJqYml69wETQAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdAhAAADAdpwegpUuXqmfPnvLw8FBwcLA2btx43vmrV69WQECAPDw8NGjQIK1du7bKnG+//VZjxoyRt7e3PD09NWzYMOXl5dVXCwAAoIlxagB68803FRcXp9mzZys3N1eB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myX9fARo27ZtcnNzsy1zc3NTYGCgHn744bqtEAAAoI5dVABat26dJCkmJkaLFy+Wl5dXvRQFAABQn2p1F9hLL71U13UAAAA0mBoHoHHjxunll1+Wl5eXxo0bd965a9asueTCAAAA6kuNA5C3t7csFovt3wEAAJqqGgegX5724hQYAABoymr1PUCnT5/WqVOnbM/379+vlJQUffjhh3VWGAAAQH2pVQAaO3asXn31VUnSsWPHNHz4cC1cuFBjx47VsmXL6rRAAACAularAJSbm6v/+7//kyT985//lNVq1f79+/Xqq6/qmWeeqdMCAQAA6lqtAtCpU6fUtm1bSdKHH36ocePGycXFRVdffbX2799fpwUCAADUtVoFoN69eystLU0HDhzQBx98oBtuuEGSVFhYyJcjAgCARq9WASgxMVEPP/ywevbsqeDgYIWEhEj6+WjQVVddVacFAgAA1LVafRP0rbfeqpEjR+rw4cMKDAy0jV9//fW6+eab66w4AACA+lCrACRJVqtVVqvVbmz48OGXXBAAAEB9q1UAKi0t1fz585WZmanCwkJVVlbaLf/uu+/qpDgAAID6UKtrgO6++269+OKL+r//+z/FxsZq+vTpdo+LtXTpUvXs2VMeHh4KDg7Wxo0bzzt/9erVCggIkIeHhwYNGqS1a9faLZ8zZ44CAgLk6emp9u3bKywsTBs2bLjougAAQPNUqyNA77//vt577z395je/ueQC3nzzTcXFxSk1NVXBwcFKSUlReHi4du7cqc6dO1eZn5WVpQkTJigpKUm/+93vtHLlSkVGRio3N1cDBw6UJF1xxRVasmSJLr/8cp0+fVqLFi3SDTfcoD179qhTp06XXDMAAGjaanUEqH379urQoUOdFJCcnKwpU6YoJiZG/fv3V2pqqlq3bq0VK1Y4nL948WJFREQoPj5e/fr107x58zR48GAtWbLENueOO+5QWFiYLr/8cg0YMEDJyckqKSnR1q1b66RmAADQtNUqAM2bN0+JiYl2vwdWG+Xl5crJyVFYWNj/CnJxUVhYmLKzsx2uk52dbTdfksLDw6udX15eruXLl8vb29vujjUAAGBetToFtnDhQu3du1e+vr7q2bOnWrZsabc8Nze3RtspLi5WRUWFfH197cZ9fX21Y8cOh+vk5+c7nJ+fn2839u677+r222/XqVOn1KVLF2VkZMjHx8fhNsvKylRWVmZ7XlJSUqP6AQBA01SrABQZGVnHZdS9a6+9Vlu2bFFxcbGef/553XbbbdqwYYPD64qSkpI0d+5cJ1QJAACcoVYBaPbs2XXy4j4+PnJ1dVVBQYHdeEFBQZXvGDrHarXWaL6np6d69+6t3r176+qrr1afPn304osvKiEhoco2ExISFBcXZ3teUlIif3//2rYFAAAauVpdAyRJx44d0wsvvKCEhAQdPXpU0s+nvg4ePFjjbbi5uWnIkCHKzMy0jVVWViozM9P28xq/FhISYjdfkjIyMqqd/8vt/vI01y+5u7vLy8vL7gEAAJqvWh0B2rp1q8LCwuTt7a19+/ZpypQp6tChg9asWaO8vDy9+uqrNd5WXFycJk2apKFDh2r48OFKSUlRaWmpYmJiJEkTJ05U165dlZSUJEmaPn26QkNDtXDhQo0ePVqrVq3Spk2btHz5ckk/f0njX//6V40ZM0ZdunRRcXGxli5dqoMHDyoqKqo27QIAgGamVgEoLi5O0dHReuqpp9S2bVvb+E033aQ77rjjorY1fvx4FRUVKTExUfn5+QoKClJ6errtQue8vDy5uPzvQNWIESO0cuVKzZo1SzNnzlSfPn2UlpZm+w4gV1dX7dixQ6+88oqKi4vVsWNHDRs2TJ999pkGDBhQm3YBAEAzU6sA9OWXX+q5556rMt61a9cqd2PVRGxsrGJjYx0uW79+fZWxqKioao/meHh4aM2aNRddAwAAMI9aXQPk7u7u8FbxXbt28U3LAACg0atVABozZowef/xxnTlzRpJksViUl5enRx55RLfcckudFggAAFDXahWAFi5cqJMnT6pTp046ffq0QkND1bt3b7Vt21Z//etf67pGAACAOlWra4C8vb2VkZGh//73v/rqq6908uRJDR48uMpPVAAAADRGFx2AKisr9fLLL2vNmjXat2+fLBaLLrvsMlmtVhmGIYvFUh91AgAA1JmLOgVmGIbGjBmju+++WwcPHtSgQYM0YMAA7d+/X9HR0br55pvrq04AAIA6c1FHgF5++WV9+umnyszM1LXXXmu37OOPP1ZkZKReffVVTZw4sU6LBAAAqEsXdQToH//4h2bOnFkl/EjSddddp7/85S9644036qw4AACA+nBRAWjr1q2KiIiodvmNN96or7766pKLAgAAqE8XFYCOHj1q+4kK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sGFVbgfctWuXevToIennP/gtW7ZUZmambfnOnTuVl5enkJCQBq33YtWkP0e2bNkiSerSpUt9llfnXnzxRQ0ZMkSBgYF24yEhITp27JhycnJsYx9//LEqKyttf0k1BdX158iWLVvk4uJS5dRfY3PmzBmdOXNGLi72f925urrajmA25c+gVLMeHWmKn0Nvb2916tRJu3fv1qZNmzR27FhJTX8fnlNdf440pv1nGIZiY2P173//Wx9//LEuu+wyu+U12T8hISHatm2b3f9MZmRkyMvLq8r/ZNdV0bhEJ06cMDZv3mxs3rzZkGQkJycbmzdvNvbv328YhmGsWbPGaNmypbF8+XJj9+7dxrPPPmu4uroan332mW0b9957r9G9e3fj448/NjZt2mSEhIQYISEhzmrJzqX2t2fPHuPxxx83Nm3aZHz//ffG22+/bVx++eXGqFGjnNmWnQv1aBiGcfz4caN169bGsmXLHG4jIiLCuOqqq4wNGzYYn3/+udGnTx9jwoQJDdXCeV1qf1lZWcaiRYuMLVu2GHv37jVef/11o1OnTsbEiRMbso1qXai/0NBQY8CAAca6deuM7777znjppZcMDw8P4+9//7ttG435M2gYl95jY/8cXqi/t956y1i3bp2xd+9eIy0tzejRo4cxbtw4u2005n14qf019v133333Gd7e3sb69euNw4cP2x6nTp2yzbnQ/jl79qwxcOBA44YbbjC2bNlipKenG506dTISEhLqpWYCUB1Yt26dIanKY9KkSbY5L774otG7d2/Dw8PDCAwMNNLS0uy2cfr0aeNPf/qT0b59e6N169bGzTffbBw+fLiBO3HsUvvLy8szRo0aZXTo0MFwd3c3evfubcTHxxvHjx93QjeO1aTH5557zmjVqpVx7Ngxh9s4cuSIMWHCBKNNmzaGl5eXERMTY5w4caKBOji/S+0vJyfHCA4ONry9vQ0PDw+jX79+xpNPPmn89NNPDdhF9S7U3+HDh43o6GjDz8/P8PDwMPr27WssXLjQqKystG2jMX8GDePSe2zsn8ML9bd48WKjW7duRsuWLY3u3bsbs2bNqnJrdGPeh5faX2Pff456k2S89NJLtjk12T/79u0zbrzxRqNVq1aGj4+P8dBDDxlnzpypl5ot/79wAAAA0+AaIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIAAAYDoEIADNXlFRkaxWq5588knbWFZWltzc3Ox+nRqAefBbYABMYe3atYqMjFRWVpb69u2roKAgjR07VsnJyc4uDYATEIAAmMb999+vjz76SEOHDtW2bdv05Zdfyt3d3dllAXACAhAA0zh9+rQGDhyoAwcOKCcnR4MGDXJ2SQCchGuAAJjG3r17dejQIVVWVmrfvn3OLgeAE3EECIAplJeXa/jw4QoKClLfvn2VkpKibdu2qXPnzs4uDYATEIAAmEJ8fLz++c9/6quvvlKbNm0UGhoqb29vvfvuu84uDYATcAoMQLO3fv16paSk6LXXXpOXl5dcXFz02muv6bPPPtOyZcucXR4AJ+AIEAAAMB2OAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANMhAAEAANP5f8JzFVDT37TkAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# specifying bin-edges:\n", "plt.hist(x, bins=[160,165,170,175,180,185,190,195,200], edgecolor='black', color='red', alpha=0.7, density=True)\n", "plt.xlabel('x')\n", "plt.ylabel('Density')\n", "plt.title('Histogram Example')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Histograms are important - they show how the data is **distributed**
\n", "\n", "Next week we will talk more about theoretical distributions.
\n", "\n", "Histograms serve as *empirical distributions*
\n", "\n", "Based on the histogram above, how would you guess the height-distribution in the *population* looks like?
" ] }, { "cell_type": "code", "execution_count": 93, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAkoAAAHHCAYAAABA5XcCAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABHCUlEQVR4nO3dfVxUZf7/8fcMCqgIiCiIqXi3qamgqETrqiUbVt9VVjI1W5U1rVYqpdyWtlCrDfMGqTTZbtTadDX351pfMwrJm1pREzTLktRSTG68C1BUQDi/P/o62wRHbgQH6PV8PM4j5jqfc53rOsPgu3POzFgMwzAEAACAcqyOHgAAAEB9RVACAAAwQVACAAAwQVACAAAwQVACAAAwQVACAAAwQVACAAAwQVACAAAwQVACAAAwQVACIEny9/fX5MmTHT0M1FPDhg3TsGHDHD0M4LojKAGN0MqVK2WxWLRnz54K1w8bNky9e/e+5v1s2rRJc+bMueZ+Gjp/f39ZLJYKlxEjRjh6eACuQRNHDwBA/ZCRkSGrtXr/77Rp0yYtXbqUsCQpMDBQjz32WLl2Pz8/B4wGQG0hKAGQJLm4uDh6CNVWWFioFi1aOHoYkqT27dvrvvvuc/QwANQyLr0BkFT+HqWSkhLNnTtX3bt3l6urq1q3bq3BgwcrOTlZkjR58mQtXbpUkuwuNV1RWFioxx57TB06dJCLi4tuvPFGLVy4UIZh2O334sWLeuSRR+Tt7a2WLVtq5MiROnHihCwWi92Zqjlz5shiseirr77Svffeq1atWmnw4MGSpP3792vy5Mnq0qWLXF1d5evrqz/+8Y86c+aM3b6u9PHNN9/ovvvuk4eHh9q0aaOnn35ahmHo+PHjGjVqlNzd3eXr66tFixbV2vE9efKk2rRpo2HDhtkdg8OHD6tFixYaO3asre2TTz7RmDFj1LFjR7m4uKhDhw6aOXOmLl68aNfn5MmT5ebmpszMTP3P//yP3Nzc1L59e9vz8sUXX+i2225TixYt1KlTJ61evdpu+yuXaLdv364HHnhArVu3lru7uyZOnKgffvih0jkVFRVp9uzZ6tatm22cf/7zn1VUVHQthwqoVzijBDRi+fn5On36dLn2kpKSSredM2eO4uLidP/992vQoEEqKCjQnj17lJ6ert/+9rd64IEHlJWVpeTkZP3jH/+w29YwDI0cOVJbtmzRlClTFBgYqA8//FCzZs3SiRMntHjxYlvt5MmT9c477+gPf/iDbr75Zm3btk133XWX6bjGjBmj7t276/nnn7cFjuTkZH377beKjIyUr6+vDhw4oFdffVUHDhzQzp077QKcJI0dO1Y9e/bUvHnz9P777+u5556Tl5eX/v73v+u2227TCy+8oFWrVunxxx/XwIEDNWTIkEqPV0lJSYXHukWLFmrWrJnatm2rZcuWacyYMXr55Zf1yCOPqKysTJMnT1bLli31yiuv2LZZt26dLly4oIceekitW7fW7t279fLLL+v777/XunXr7PovLS3VHXfcoSFDhmj+/PlatWqVoqKi1KJFC/31r3/VhAkTNHr0aCUmJmrixIkKCQlR586d7fqIioqSp6en5syZo4yMDC1btkzHjh3T1q1byx27K8rKyjRy5Eh9+umnmjZtmnr27KkvvvhCixcv1jfffKMNGzZUesyABsEA0OisWLHCkHTV5aabbrLbplOnTsakSZNsjwMCAoy77rrrqvuZPn26UdGfkQ0bNhiSjOeee86u/e677zYsFotx+PBhwzAMIy0tzZBkzJgxw65u8uTJhiRj9uzZtrbZs2cbkozx48eX29+FCxfKtf3zn/80JBnbt28v18e0adNsbZcvXzZuuOEGw2KxGPPmzbO1//DDD0azZs3sjomZTp06mR7nuLg4u9rx48cbzZs3N7755htjwYIFhiRjw4YNlc4nLi7OsFgsxrFjx2xtkyZNMiQZzz//fLlxWywWY82aNbb2gwcPljumV35PgoKCjOLiYlv7/PnzDUnGu+++a2sbOnSoMXToUNvjf/zjH4bVajU++eQTu3EmJiYakoz//Oc/lRw1oGHg0hvQiC1dulTJycnllr59+1a6raenpw4cOKBDhw5Ve7+bNm2Sk5OTHnnkEbv2xx57TIZh6IMPPpAkJSUlSZL+9Kc/2dU9/PDDpn0/+OCD5dqaNWtm+/nSpUs6ffq0br75ZklSenp6ufr777/f9rOTk5MGDBggwzA0ZcoUW7unp6duvPFGffvtt6Zj+ang4OAKj/X48ePt6pYsWSIPDw/dfffdevrpp/WHP/xBo0aNMp1PYWGhTp8+rVtuuUWGYWjv3r1Xnc+Vcbdo0UL33HOPrf3GG2+Up6dnhfOZNm2amjZtanv80EMPqUmTJtq0aZPpfNetW6eePXuqR48eOn36tG257bbbJElbtmwx3RZoSLj0BjRigwYN0oABA8q1t2rVqsLLRD/1zDPPaNSoUfrVr36l3r17a8SIEfrDH/5QpZB17Ngx+fn5qWXLlnbtPXv2tK2/8l+r1VruUlC3bt1M+/55rSSdPXtWc+fO1Zo1a3Ty5Em7dfn5+eXqO3bsaPfYw8NDrq6u8vb2Ltf+8/uczHh7eys0NLTSOi8vL7300ksaM2aMfHx89NJLL5WryczMVGxsrN57771y9wr9fD6urq5q06ZNuXHfcMMN5S6beXh4VHjvUffu3e0eu7m5qV27djp69KjpPA4dOqSvv/663L6v+PnzADRUBCUAFRoyZIiOHDmid999Vx999JFef/11LV68WImJiXZnMK63n55tueKee+7Rjh07NGvWLAUGBsrNzU1lZWUaMWKEysrKytU7OTlVqU1SuZvPa8OHH34oSfrhhx/0/fffy9PT07autLRUv/3tb3X27Fk98cQT6tGjh1q0aKETJ05o8uTJ5eZjNu66nk9ZWZn69Omj+Pj4Ctd36NChVvYDOBpBCYApLy8vRUZGKjIyUufPn9eQIUM0Z84cW1Ayu9G3U6dO2rx5s86dO2d3VungwYO29Vf+W1ZWpu+++87urMbhw4erPMYffvhBKSkpmjt3rmJjY23tNblkeD0kJSXp9ddf15///GetWrVKkyZN0q5du9SkyY9/jr/44gt98803evPNNzVx4kTbdlfebVgXDh06pFtvvdX2+Pz588rOztadd95puk3Xrl31+eefa/jw4aa/B0BjwD1KACr080tObm5u6tatm91bv698hlFeXp5d7Z133qnS0lItWbLErn3x4sWyWCy64447JElhYWGSZPeOL0l6+eWXqzzOK2dOfn6mJCEhocp9XC95eXm2dxE+//zzev3115Wenq7nn3/eVlPRfAzD0Isvvlhn43r11Vft3gm5bNkyXb582fY8VeSee+7RiRMn9Nprr5Vbd/HiRRUWFtbJWIHrjTNKACrUq1cvDRs2TEFBQfLy8tKePXv0r3/9S1FRUbaaoKAgSdIjjzyisLAwOTk5ady4cfrd736nW2+9VX/961919OhRBQQE6KOPPtK7776rGTNmqGvXrrbtIyIilJCQoDNnztg+HuCbb76RZH7G6qfc3d1tb40vKSlR+/bt9dFHH+m7776r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li1TcXGx7r77brt+Zs+erTlz5kiS/vznP6uwsFDTpk1TXl6eBg8erKSkJLv7mFatWqWoqCgNHz5cVqtVEREReumll+p+wgAAoMFw+OcoNVR8jhLQ8B05ckQzxoxRgqenurZoUXl9YaFm5OUpYd06de3a9TqMEEBta1CfowQAAFCfEZQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMEJQAAABMODwoLV26VP7+/nJ1dVVwcLB2795tWnvgwAFFRETI399fFotFCQkJ5WqurPv5Mn36dFvNsGHDyq1/8MEH62J6AACgAXNoUFq7dq2io6M1e/ZspaenKyAgQGFhYTp58mSF9RcuXFCXLl00b948+fr6Vljz2WefKTs727YkJydLksaMGWNXN3XqVLu6+fPn1+7kAABAg+fQoBQfH6+pU6cqMjJSvXr1UmJiopo3b67ly5dXWD9w4EAtWLBA48aNk4uLS4U1bdq0ka+vr23ZuHGjunbtqqFDh9rVNW/e3K7O3d291ucHAAAaNocFpeLiYqWlpSk0NPS/g7FaFRoaqtTU1Frbx9tvv60//vGPslgsdutWrVolb29v9e7dWzExMbpw4UKt7BMAADQeTRy149OnT6u0tFQ+Pj527T4+Pjp48GCt7GPDhg3Ky8vT5MmT7drvvfdederUSX5+ftq/f7+eeOIJZWRkaP369aZ9FRUVqaioyPa4oKCgVsYIAADqL4cFpevhjTfe0B133CE/Pz+79mnTptl+7tOnj9q1a6fhw4fryJEj6tq1a4V9xcXFae7cuXU6XgAAUL847NKbt7e3nJyclJuba9eem5treqN2dRw7dkybN2/W/fffX2ltcHCwJOnw4cOmNTExMcrPz7ctx48fv+YxAgCA+s1hQcnZ2VlBQUFKSUmxtZWVlSklJUUhISHX3P+KFSvUtm1b3XXXXZXW7tu3T5LUrl070xoXFxe5u7vbLQAAoHFz6KW36OhoTZo0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mV5quxJ+rvD395dhGNfUpyS5urpq6dKlWrp0abXGCgAAfllq9DlKLi4uFb6975tvvnH4TVcAAAC1pUZBaeTIkXrmmWdUUlIiSbJYLMrMzNQTTzxhu0EaAACgoatRUFq0aJHOnz+vNm3a6OLFixo6dKi6deumli1b6m9/+1ttjxEAAMAhanSPkoeHh5KTk/Wf//xHn3/+uc6fP6/+/fvbfS0IAABAQ1ftoFRWVqaVK1dq/fr1Onr0qCwWizp37ixfX18ZhiGLxVIX4wQAALjuqnXpzTAMjRw5Uvfff79OnDihPn366KabbtKxY8c0efJk/f73v6+rcQIAAFx31TqjtHLlSm3fvl0pKSm69dZb7dZ9/PHHCg8P11tvvaWJEyfW6iABAAAcoVpnlP75z3/qySefLBeSJOm2227TX/7yF61atarWBgcAAOBI1QpK+/fv14gRI0zX33HHHfr888+veVAAAAD1QbWC0tmzZ+2+CuTnfHx89MMPP1zzoAAAAOqDagWl0tJSNWlifluTk5OTLl++fM2DAgAAqA+qdTO3YRiaPHmyXFxcKlxfVFRUK4MCAACoD6oVlCZNmlRpDe94AwAAjUW1gtKKFSvqahwAAAD1To2+6w0AAOCXgKAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABggqAEAABgol4EpaVLl8rf31+urq4KDg7W7t27r1q/bt069ejRQ66ururTp482bdpkt95isVS4LFiwwFbj7+9fbv28efPqZH4AAKBhcnhQWrt2raKjozV79mylp6crICBAYWFhOnnyZIX1O3bs0Pjx4zVlyhTt3btX4eHhCg8P15dffmmryc7OtluWL18ui8WiiIgIu76eeeYZu7qHH364TucKAAAaFocHpfj4eE2dOlWRkZHq1auXEhMT1bx5cy1fvrzC+hdffFEjRozQrFmz1LNnTz377LPq37+/lixZYqvx9fW1W959913deuut6tKli11fLVu2tKtr0aJFnc4VAAA0LA4NSsXFxUpLS1NoaKitzWq1KjQ0VKmpqRVuk5qaalcvSWFhYab1ubm5ev/99zVlypRy6+bNm6fWrVurX79+WrBggS5fvnwNswEAAI1NE0fu/PTp0yotLZWPj49du4+Pjw4ePFjhNjk5ORXW5+TkVFj/5ptvqmXLlho9erRd+yOPPKL+/fvLy8tLO3bsUExMjLKzsxUfH19hP0VFRSoqKrI9LigoqHR+AACgYXNoULoeli9frgkTJsjV1dWuPTo62vZz37595ezsrAceeEBxcXFycXEp109cXJzmzp1b5+MFAAD1h0MvvXl7e8vJyUm5ubl27bm5ufL19a1wG19f3yrXf/LJJ8rIyND9999f6ViCg4N1+fJlHT16tML1MTExys/Pty3Hjx+vtE8AANCwOTQoOTs7KygoSCkpKba2srIypaSkKCQkpMJtQkJC7OolKTk5ucL6N954Q0FBQQoICKh0LPv27ZPValXbtm0rXO/i4iJ3d3e7BQAANG4Ov/QWHR2tSZMmacCAARo0aJASEhJUWFioyMhISdLEiRPVvn17xcXFSZIeffRRDR06VIsWLdJdd92lNWvWaM+ePXr11Vft+i0oKNC6deu0aNGicvtMTU3Vrl27dOutt6ply5ZKTU3VzJkzdd9996lVq1Z1P2kAANAgODwojR07VqdOnVJsbKxycnIUGBiopKQk2w3bmZmZslr/e+Lrlltu0erVq/XUU0/pySefVPfu3bVhwwb17t3brt81a9bIMAyNHz++3D5dXFy0Zs0azZkzR0VFRercubNmzpxpd98SAACAw4OSJEVFRSkqKqrCdVu3bi3XNmbMGI0ZM+aqfU6bNk3Tpk2rcF3//v21c+fOao8TAAD8sjj8AycBAADqK4ISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACACYISAACAiXoRlJYuXSp/f3+5uroqODhYu3fvvmr9unXr1KNHD7m6uqpPnz7atGmT3frJkyfLYrHYLSNGjLCrOXv2rCZMmCB3d3d5enpqypQpOn/+fK3PDQAANFwOD0pr165VdHS0Zs+erfT0dAUEBCgsLEwnT56ssH7Hjh0aP368pkyZor179yo8PFzh4eH68ssv7epGjBih7Oxs2/LPf/7Tbv2ECRN04MABJScna+PGjdq+fbumTZtWZ/MEAAANj8ODUnx8vKZOnarIyEj16tVLiYmJat68uZYvX15h/YsvvqgRI0Zo1qxZ6tmzp5599ln1799fS5YssatzcXGRr6+vbWnVqpVt3ddff62kpCS9/vrrCg4O1uDBg/Xyyy9rzZo1ysrKqtP5AgCAhsOhQam4uFhpaWkKDQ21tVmtVoWGhio1NbXCbVJTU+3qJSksLKxc/datW9W2bVvdeOONeuihh3TmzBm7Pjw9PTVgwABbW2hoqKxWq3bt2lUbUwMAAI1AE0fu/PTp0yotLZWPj49du4+Pjw4ePFjhNjk5ORXW5+Tk2B6PGDFCo0ePVufOnXXkyBE9+eSTuuOOO5SamionJyfl5OSobdu2dn00adJEXl5edv38VFFRkYqKimyPCwoKqjVXAADQ8Dg0KNWVcePG2X7u06eP+vbtq65du2rr1q0aPnx4jfqMi4vT3Llza2uIAACgAXDopTdvb285OTkpNzfXrj03N1e+vr4VbuPr61uteknq0qWLvL29dfjwYVsfP79Z/PLlyzp79qxpPzExMcrPz7ctx48fr3R+AACgYXNoUHJ2dlZQUJBSUlJsbWVlZUpJSVFISEiF24SEhNjVS1JycrJpvSR9//33OnPmjNq1a2frIy8vT2lpabaajz/+WGVlZQoODq6wDxcXF7m7u9stAACgcXP4u96io6P12muv6c0339TXX3+thx56SIWFhYqMjJQkTZw4UTExMbb6Rx99VElJSVq0aJEOHjyoOXPmaM+ePYqKipIknT9/XrNmzdLOnTt19OhRpaSkaNSoUerWrZvCwsIkST179tSIESM0depU7d69W//5z38UFRWlcePGyc/P7/ofBAAAUC85/B6lsWPH6tSpU4qNjVVOTo4CAwOVlJRku2E7MzNTVut/89wtt9yi1atX66mnntKTTz6p7t27a8OGDerdu7ckycnJSfv379ebb76pvLw8+fn56fbbb9ezzz4rFxcXWz+rVq1SVFSUhg8fLqvVqoiICL300kvXd/IAAKBec3hQkqSoqCjbGaGf27p1a7m2MWPGaMyYMRXWN2vWTB9++GGl+/Ty8tLq1aurNU4AAPDL4vBLbwAA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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# lets try with really small bins, such that the histogram diplays all the details in the data:\n", "plt.hist(x, bins=np.arange(160,200,1), edgecolor='black', color='red', alpha=0.7, density=True)\n", "plt.xlabel('x')\n", "plt.ylabel('Density')\n", "plt.title('Histogram Example')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Empirical Cumulative Distribution Function\n", "\n", "A **cumulative distribution plot (CDF plot)** shows the proportion (or percentage) of data that falls at or below a given value. Some key, simple uses include:\n", "\n", "- **Identifying thresholds and percentiles** (e.g., medians, quartiles). \n", "- **Comparing different distributions** easily on the same figure. \n", "- **Visually estimating probabilities** of data being less than or greater than a specific value. " ] }, { "cell_type": "code", "execution_count": 94, "metadata": {}, "outputs": [ { "data": { "image/png": "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iIhodckqFDQ1NampqUkRES3/s2S32/1nBMPt+RzImtsSLs/nuLg4DRw4UJ999pl27dqlm266SVL4Hedva2/NbQmX4xyIHn9m5NSpU9q3b5///ueff67S0lL1799fw4YN04MPPqgpU6Zo3LhxmjhxogoLC/Xmm29q27Ztkr4+8DNnzpTX61X//v0VGxurOXPmKDMzU1dccYWhVZ3Zua55//79evnll3X99ddrwIAB+uijjzRv3jyNGzdOI0eONLSqM+tozZJUU1Oj9evXa9myZa32HzFihK677jrNmjVLBQUFampq0v3336/bbrtNycnJ3baOYJzrmouLi/X+++9r4sSJOv/881VcXKx58+bpjjvuUHx8fLetIxgdrXn8+PF68MEHFR0drZSUFL3zzjv605/+5H8PTDg+nztaczg+n9evX6+BAwdq2LBh+vjjjzV37lxNnjzZ/6bdcDzOHa05FI9zpzL7yzwd27p1qyWp1W369On+bdasWWNdeOGFVlRUlJWWlmZt2LChxc+or6+3fvGLX1jx8fFWTEyM9dOf/tQ6cuRIN68kcOe65vLycmvcuHFW//79LafTaV144YXWgw8+aFVXVxtYTWACWfNzzz1nRUdHW1VVVW3+jP/+97/W1KlTrb59+1qxsbHWjBkzrJMnT3bTCoJ3rmsuKSmx3G63FRcXZ0VFRVkjRoywHn/8ceurr77qxlUEp6M1HzlyxLrrrrus5ORkKyoqyrr44outZcuWWT6fz/8zwu353NGaw/H5/Lvf/c4aOnSoFRkZaQ0bNsxauHCh1dDQ0OJnhNtx7mjNoXicO5PNssL0HUMAACAkhPR7RgAAQOgjRgAAgFHECAAAMIoYAQAARhEjAADAKGIEAAAYRYwAAACjiBEAAGAUMQIAAIwiRgAAgFHECAAAMOr/ACALanBT6zk7AAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# plot the \"Empirical Cumulative Distribution Function\"\n", "plt.ecdf(x)\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 95, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "[161 166 167 168 179 179 184 187 191 198]\n" ] } ], "source": [ "# compare with values \n", "x.sort()\n", "print(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "In the cumulated distribution all detailed information is kept - but it is another way to visualise the distribution of data. " ] }, { "cell_type": "code", "execution_count": 96, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjcAAAHHCAYAAABDUnkqAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAAA8sUlEQVR4nO3deVyU9f7//+eAMIAIbgguKGapGSWGSVqpFYkds0wts8XlY55TmcdEzSiXjnUiS81uZVGdbD3dJG05HS39GmnLkaOJS4u75ZIKSiooKCC8f3/0Y44jAw44MHDxuN9uc7sx73lf1/V6XzPXzJNrmbEZY4wAAAAswsfbBQAAAHgS4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QYAAFgK4QZ1wurVq2Wz2bR69Wq3+vft21d9+/attnqioqI0atSoapt/bVHZ9e4um82mJ5980qPzrA579uyRzWbT22+/Xe3Levvtt2Wz2bRnzx5HW1RUlG655ZZqX7ZUfc+1VT355JOy2WzeLgPlINygjNI32fJu//3vf71dYp1y+vRpvfDCC4qLi1NoaKgCAgLUsWNHPfzww9qxY4e3y6s2n3/+ea0LMGe/jhs0aKCmTZsqNjZWEyZM0JYtWzy2nFdeeaVGAlFV1Mba+vbtW+77zbZt27xWV35+vp588kkCXx1k47elcK63335bo0eP1qxZs9S+ffsyj/fv31/Nmzev0ZpKSkpUWFgof39/+ficP5MXFhZKkvz9/aulnqioKPXt2/e8HxLZ2dnq37+/MjIydMsttyg+Pl7BwcHavn27Fi1apMzMTEettdHq1at1/fXXa9WqVZXeE/bwww9rwYIFcvUWc/r0aTVo0EANGjTwUKXusdlsuummmzRixAgZY5STk6PNmzdr8eLFysvL0+zZs5WYmOjob4xRQUGB/Pz85Ovr6/ZyoqOj1bx580p9KBYXF6uoqEh2u92xRyAqKkrR0dFaunSp2/Opam2V3cY8qW/fvtq9e7eSk5PLPHbrrbcqJCSkRusplZ2drbCwMM2cObNMUD9z5ozOnDmjgIAAr9SGitXsOwvqlJtvvlndu3f3dhmSJB8fH7feRPLz8xUUFFRtoaayRo0apY0bN2rJkiUaMmSI02NPPfWUnnjiCS9V5l3e/EDo2LGj7r33Xqe2Z599VgMHDtSkSZPUuXNn/elPf5L0Rxiq7lrz8vLUsGFD+fr6VipAeZq721h1CQ0NLfO81GbeCOdwH4elUGWl5yPMmTNHCxYs0EUXXaSgoCD169dP+/fvlzFGTz31lNq0aaPAwEDddtttOnr0qNM8Ss8p+H//7/8pJiZGAQEB6tKliz7++GOnfq7OB+jbt6+io6OVkZGh3r17KygoSI8//rjjsXP3NJw+fVpPPvmkOnbsqICAALVs2VKDBw/W7t27HX3mzJmjXr16qVmzZgoMDFRsbKyWLFlSpfWzdu1aLVu2TGPGjCkTbCTJbrdrzpw5TuNxtXdk1KhRioqKctz3xHov75wXd84l+vbbb3XHHXeobdu2stvtioyM1MSJE3Xq1CmnmhcsWOBYVunN1fKXLFkim82mr7/+usyyXnvtNdlsNv3000+Otm3btmno0KFq2rSpAgIC1L17d3322WcV1nw+zZo106JFi9SgQQP9/e9/d7S7OucmMzNTo0ePVps2bWS329WyZUvddtttjnNloqKi9PPPP+vrr792jLv0eS095Pv111/roYceUosWLdSmTRunx84+56bU+baP8s7/OHeeFdVW3jk3ixcvVmxsrAIDA9W8eXPde++9OnDggFOfUaNGKTg4WAcOHNCgQYMUHByssLAwTZ48WcXFxedZ++dX3rqp6H1hy5Ytuv766xUUFKTWrVvrueeeKzPfit4T9uzZo7CwMEnS3/72N8f6Kn3dulrnZ86c0VNPPaUOHTrIbrcrKipKjz/+uAoKCpz6lb7vfffdd+rRo4cCAgJ00UUX6d13373gdYU/EDtRrpycHGVnZzu12Ww2NWvWzKntn//8pwoLCzV+/HgdPXpUzz33nO68807dcMMNWr16taZOnapdu3bppZde0uTJk7Vw4UKn6Xfu3Klhw4bpgQce0MiRI/XWW2/pjjvu0PLly3XTTTdVWOPvv/+um2++WXfddZfuvfdehYeHu+xXXFysW265RWlpabrrrrs0YcIEnThxQitXrtRPP/2kDh06SJJefPFF3XrrrbrnnntUWFioRYsW6Y477tDSpUs1YMCASq2/0g/c++67r1LTuetC13tVLV68WPn5+XrwwQfVrFkzrVu3Ti+99JJ+++03LV68WJL0l7/8RQcPHtTKlSv13nvvVTi/AQMGKDg4WB9++KH69Onj9Fhqaqouu+wyRUdHS5J+/vlnXXPNNWrdurUee+wxNWzYUB9++KEGDRqkjz76SLfffnuVx9W2bVv16dNHq1atUm5ubrmHQoYMGaKff/5Z48ePV1RUlA4fPqyVK1dq3759ioqK0vz58zV+/HgFBwc79syd+7p86KGHFBYWphkzZigvL6/Cui5k+ziXO7WdrfQQ9VVXXaXk5GRlZWXpxRdf1H/+8x9t3LhRjRs3dvQtLi5WQkKC4uLiNGfOHH355ZeaO3euOnTooAcffPC8tRUXF5d5vwkICFBwcHClxihJx44dU//+/TV48GDdeeedWrJkiaZOnarLL79cN998s2N5Fb0nxMfH69VXX9WDDz6o22+/XYMHD5YkXXHFFeUu9/7779c777yjoUOHatKkSVq7dq2Sk5O1detWffLJJ059d+3apaFDh2rMmDEaOXKkFi5cqFGjRik2NlaXXXZZpceMcxjgHG+99ZaR5PJmt9sd/X799VcjyYSFhZnjx4872pOSkowk07VrV1NUVORoHz58uPH39zenT592tLVr185IMh999JGjLScnx7Rs2dJ069bN0bZq1SojyaxatcrR1qdPHyPJpKSklBlDnz59TJ8+fRz3Fy5caCSZefPmlelbUlLi+Ds/P9/pscLCQhMdHW1uuOEGp/Z27dqZkSNHlpnX2W6//XYjyRw7dqzCfuXVXGrkyJGmXbt2jvueWO+SzMyZM8ss69xxuVrv564jY4xJTk42NpvN7N2719E2btw4U95bzLnLHz58uGnRooU5c+aMo+3QoUPGx8fHzJo1y9F24403mssvv9xpLCUlJaZXr17mkksucbmsc5c7bty4ch+fMGGCkWQ2b95sjPnfun7rrbeMMcYcO3bMSDLPP/98hcu57LLLXD6XpdvWtdde6zTWsx/79ddfHW3ubh8zZ850ua5dzbO82s59rgsLC02LFi1MdHS0OXXqlKPf0qVLjSQzY8YMR9vIkSONJKfnyhhjunXrZmJjY8ss61yl2/K5t9LXoqtxuKr57Hm9++67jraCggITERFhhgwZ4mhz5z3hyJEj5W4r567zTZs2GUnm/vvvd+o3efJkI8l89dVXjrbS5/Wbb75xtB0+fNjY7XYzadKk8lcU3MZhKZRrwYIFWrlypdPtiy++KNPvjjvuUGhoqON+XFycJOnee+91OiYdFxenwsLCMru0W7Vq5fQfd0hIiEaMGKGNGzcqMzOzwhrtdrtGjx593rF89NFHat68ucaPH1/msbN3LQcGBjr+PnbsmHJycnTddddpw4YN513GuXJzcyVJjRo1qvS07rjQ9V5VZ6+jvLw8ZWdnq1evXjLGaOPGjVWa57Bhw3T48GGnwwtLlixRSUmJhg0bJkk6evSovvrqK9155506ceKEsrOzlZ2drd9//10JCQnauXPnBY+xdC/BiRMnXD4eGBgof39/rV69WseOHavycsaOHev2+TUXsn1ciPXr1+vw4cN66KGHnM7FGTBggDp37qxly5aVmeaBBx5wun/dddfpl19+cWt5UVFRZd5vHn300SrVHhwc7HT+jr+/v3r06OFUi7vvCe76/PPPJcnphHRJmjRpkiSVWV9dunTRdddd57gfFhamTp06ub2+UDEOS6FcPXr0cOuE4rZt2zrdL/3AjYyMdNl+7ofCxRdfXObNpGPHjpL+OOchIiKi3GW3bt3arZOHd+/erU6dOp33BMClS5fq6aef1qZNm5yOk1flza70sMaJEyecdt97yoWu96rat2+fZsyYoc8++6zMPHNycqo0z/79+ys0NFSpqam68cYbJf1xSComJsbxWti1a5eMMZo+fbqmT5/ucj6HDx9W69atq1SDJJ08eVJS+YHUbrdr9uzZmjRpksLDw3X11Vfrlltu0YgRIyp8nZ7L1VWI5bmQ7eNC7N27V5LUqVOnMo917txZ3333nVNbQECA4xyVUk2aNHH7ddewYUPFx8dXsVpnbdq0KbPOmjRpoh9++MFx3933BHft3btXPj4+uvjii53aIyIi1LhxY8f6LHXu9ltao6e20/qOcIMLVt5/oOW1Gw9++8DZexEu1Lfffqtbb71VvXv31iuvvKKWLVvKz89Pb731lj744INKz69z586SpB9//NHpP7Ty2Gw2l+umvBMyq2O9n+/kz+LiYt100006evSopk6dqs6dO6thw4Y6cOCARo0apZKSkvMuwxW73a5Bgwbpk08+0SuvvKKsrCz95z//0TPPPOPoUzrvyZMnKyEhweV8zv1gqayffvpJvr6+FYaPRx55RAMHDtSnn36qFStWaPr06UpOTtZXX32lbt26ubUcT75upfLDtydO5nVXdV7pVdnx1cR7T3nc/UfImzXWB4QbeF3pf+RnvymUfrnd2VcJXYgOHTpo7dq1Kioqkp+fn8s+H330kQICArRixQrZ7XZH+1tvvVWlZQ4cOFDJycl6//333Qo3TZo0cblL+tz/+DyhSZMmOn78uFNbYWGhDh06VOF0P/74o3bs2KF33nlHI0aMcLSvXLmyTN/K7u0aNmyY3nnnHaWlpWnr1q0yxjgOSUnSRRddJEny8/Pz2H/4Z9u3b5++/vpr9ezZ87yHEjt06KBJkyZp0qRJ2rlzp2JiYjR37ly9//77kqq2p6887mwfTZo0kSQdP37caS+hq9eOu7W1a9dOkrR9+3bdcMMNTo9t377d8XhNOHt8Z7uQbcOd94TKPI/t2rVTSUmJdu7cqUsvvdTRnpWVpePHj9fo+gKXgqMWOHjwoNOVBLm5uXr33XcVExPjsV3uQ4YMUXZ2tl5++eUyj5X+p+Tr6yubzeb03+CePXv06aefVmmZPXv2VP/+/fWPf/zD5TwKCws1efJkx/0OHTpo27ZtOnLkiKNt8+bN+s9//lOl5VekQ4cO+uabb5zaXn/99fP+p1/63+bZ/10aY/Tiiy+W6duwYUNJZT+QyhMfH6+mTZsqNTVVqamp6tGjh9MelBYtWqhv37567bXXXIaws9dbZR09elTDhw9XcXFxhd89lJ+fr9OnTzu1dejQQY0aNXI6jNmwYUO3x30+7mwfpVf7nf2c5uXl6Z133ikzP3dr6969u1q0aKGUlBSnsX3xxRfaunVrpa8evBCuxldcXKzXX3+9yvN05z0hKChIknuv4dLvRpo/f75T+7x58ySpRtcX2HODCnzxxRcuv/q8V69ejv+iPaFjx44aM2aMvv/+e4WHh2vhwoXKysqq8h4TV0aMGKF3331XiYmJWrduna677jrl5eXpyy+/1EMPPaTbbrtNAwYM0Lx589S/f3/dfffdOnz4sBYsWKCLL77Y6Vh9Zbz77rvq16+fBg8erIEDB+rGG29Uw4YNtXPnTi1atEiHDh1yfNfN//3f/2nevHlKSEjQmDFjdPjwYaWkpOiyyy5znJzsKffff78eeOABDRkyRDfddJM2b96sFStWnPebpzt37qwOHTpo8uTJOnDggEJCQvTRRx+5PE8gNjZWkvTXv/5VCQkJ8vX11V133VXuvP38/DR48GAtWrRIeXl5Tt8BVGrBggW69tprdfnll2vs2LG66KKLlJWVpfT0dP3222/avHnzece+Y8cOvf/++zLGKDc31/ENxSdPnnQ8/xVNe+ONN+rOO+9Uly5d1KBBA33yySfKyspyGltsbKxeffVVPf3007r44ovVokWLMns/3OXO9tGvXz+1bdtWY8aM0ZQpU+Tr66uFCxcqLCxM+/btc5qfu7X5+flp9uzZGj16tPr06aPhw4c7LgWPiorSxIkTqzSeqrjssst09dVXKykpSUePHlXTpk21aNEinTlzpsrzdOc9ITAwUF26dFFqaqo6duyopk2bKjo62vHVBGfr2rWrRo4cqddff13Hjx9Xnz59tG7dOr3zzjsaNGiQrr/++gtZBagsL1yhhVquokvBddZlsaWXyZ57WWzp5ZmLFy92Od/vv//e0dauXTszYMAAs2LFCnPFFVcYu91uOnfuXGba8i75vOyyy1yOwdVl1fn5+eaJJ54w7du3N35+fiYiIsIMHTrU7N6929HnzTffNJdccomjjrfeesvlZbbuXAp+9nLnzJljrrrqKhMcHGz8/f3NJZdcYsaPH2927drl1Pf99983F110kfH39zcxMTFmxYoV5V4KfiHrvbi42EydOtU0b97cBAUFmYSEBLNr1y63LgXfsmWLiY+PN8HBwaZ58+Zm7NixZvPmzU6vDWOMOXPmjBk/frwJCwszNpvNaR2qnMtrV65caSQZm81m9u/f73J97t6924wYMcJEREQYPz8/07p1a3PLLbeYJUuWuOx/trNfxz4+PqZx48amW7duZsKECebnn38u0//cS8Gzs7PNuHHjTOfOnU3Dhg1NaGioiYuLMx9++KHTdJmZmWbAgAGmUaNGRpLjtejquShV3qXg7mwfxhiTkZFh4uLijL+/v2nbtq2ZN2+ey3mWV5ur59oYY1JTU023bt2M3W43TZs2Nffcc4/57bffnPqMHDnSNGzYsExN5V2ifq6KtuVSu3fvNvHx8cZut5vw8HDz+OOPO14v7rwvnLsdGePee8KaNWtMbGys8ff3d3rduhpbUVGR+dvf/uaYX2RkpElKSnL66gJj/ve8uloPri7TR+Xx21Lwqur47RwAQP3GOTcAAMBSCDcAAMBSCDcAAMBSOOcGAABYCntuAACApRBuAACApdS7L/ErKSnRwYMH1ahRI49+RToAAKg+xhidOHFCrVq1ko9Pxftm6l24OXjwYJlfTQYAAHXD/v371aZNmwr71LtwU/qDePv371dISIiX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TZ48WePHj/d0jQAAAG6rUrix2Wx64oknNGXKFO3atUsnT55Uly5dFBwc7On6AAAAKqVKh6VK+fv7q0uXLurRo8cFBZsFCxYoKipKAQEBiouL07p169yabtGiRbLZbBo0aFCVlw0AAKzlgsKNJ6SmpioxMVEzZ87Uhg0b1LVrVyUkJOjw4cMVTrdnzx5NnjzZ8fMPAAAAUi0IN/PmzdPYsWM1evRodenSRSkpKQoKCtLChQvLnaa4uFj33HOP/va3v3F1FgAAcFLln1/whMLCQmVkZCgpKcnR5uPjo/j4eKWnp5c73axZs9SiRQuNGTNG3377bU2UCi8xxuhUUfH5O6LeyC/k9QCgYl4NN9nZ2SouLlZ4eLhTe3h4uLZt2+Zymu+++05vvvmmNm3a5NYyCgoKHD8PIUm5ublVrhc1yxijoSnpyth7zNulAADqEK8flqqMEydO6L777tMbb7yh5s2buzVNcnKyQkNDHbfIyMhqrhKecqqomGCDcnVv10SBfr7eLgNALeTVPTfNmzeXr6+vsrKynNqzsrIUERFRpn/pL5EPHDjQ0VZSUiJJatCggbZv364OHTo4TZOUlKTExETH/dzcXAJOHbR+WryC/Pkgw/8E+vnKZrN5uwwAtZBXw42/v79iY2OVlpbmuJy7pKREaWlpevjhh8v079y5s3788UentmnTpunEiRN68cUXXYYWu90uu91eLfWj5gT5+yrI36svVwBAHeH1T4vExESNHDlS3bt3V48ePTR//nzl5eVp9OjRkqQRI0aodevWSk5OVkBAgKKjo52mb9y4sSSVaQcAAPWT18PNsGHDdOTIEc2YMUOZmZmKiYnR8uXLHScZ79u3Tz4+derUIAAA4EU2Y4zxdhE1KTc3V6GhocrJyVFISIi3y0EF8gvPqMuMFZKkLbMSOCwFAPVYZT6/2SUCAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAspYG3C0D9YozRqaJit/rmF7rXDwCAsxFuUGOMMRqakq6Mvce8XQoAwMI4LIUac6qouErBpnu7Jgr0862G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UlNTndojIiJ0+PBhp7YzZ87o6NGjdfJ5Plt5Y3YlLi5OZ86c0Z49e9SpU6caqM5zTp06pccff1yffPKJBgwYIOmPwLZp0ybNmTNH8fHxltue3RmzK3V9e46NjdWmTZuUk5OjwsJChYWFKS4uznFY2WrP8/nG60pdf44ri3NuzuLv76+rrrpK27dvd2rfsWOH2rVrJ+mPF5Wfn5/S0tIcj2/fvl379u1Tz549a7ReT3BnzK5s2rRJktSyZcvqLK/avfnmm4qNjVXXrl2d2nv27Knjx48rIyPD0fbVV1+ppKTE8SZRV5U3Zlc2bdokHx+fMofo6oKioiIVFRXJx8f5bc7X19exx9Jq27M7Y3bFKttzaGiowsLCtHPnTq1fv1633XabJOs9z6XKG68rVnmO3VXv9tycPHlSu3btctz/9ddftWnTJjVt2lRt27bVlClTNGzYMPXu3VvXX3+9li9frn//+99avXq1pD9eTGPGjFFiYqKaNm2qkJAQjR8/Xj179tTVV1/tpVFV7ELHvHv3bn3wwQf605/+pGbNmumHH37QxIkT1bt3b11xxRVeGlXFzjdmScrNzdXixYs1d+7cMtNfeuml6t+/v8aOHauUlBQVFRXp4Ycf1l133aVWrVrV2Dgq40LHnJ6errVr1+r6669Xo0aNlJ6erokTJ+ree+9VkyZNamwclXG+Mffp00dTpkxRYGCg2rVrp6+//lrvvvuu4xwiK27P5xuzFbfnxYsXKywsTG3bttWPP/6oCRMmaNCgQY6TqOva83yh462Lz7HHefdirZq3atUqI6nMbeTIkY4+b775prn44otNQECA6dq1q/n000+d5nHq1Cnz0EMPmSZNmpigoCBz++23m0OHDtXwSNx3oWPet2+f6d27t2natKmx2+3m4osvNlOmTDE5OTleGI173Bnza6+9ZgIDA83x48ddzuP33383w4cPN8HBwSYkJMSMHj3anDhxooZGUHkXOuaMjAwTFxdnQkNDTUBAgLn00kvNM888Y06fPl2Do6ic84350KFDZtSoUaZVq1YmICDAdOrUycydO9eUlJQ45mG17fl8Y7bi9vziiy+aNm3aGD8/P9O2bVszbdo0U1BQ4DSPuvQ8X+h46+Jz7Gk2Yyx4xhUAAKi3OOcGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGAABYCuEGQJ135MgRRURE6JlnnnG0rVmzRv7+/k6/BA2gfuC3pQBYwueff65BgwZpzZo16tSpk2JiYnTbbbc5fg0bQP1BuAFgGePGjdOXX36p7t2768cff9T3338vu93u7bIA1DDCDQDLOHXqlKKjo7V//35lZGTo8ssv93ZJALyAc24AWMbu3bt18OBBlZSUaM+ePd4uB4CXsOcGgCUUFhaqR48eiomJUadOnTR//nz9+OOPatGihbdLA1DDCDcALGHKlClasmSJNm/erODgYPXp00ehoaFaunSpt0sDUMM4LAWgzlu9erXmz5+v9957TyEhIfLx8dF7772nb7/9Vq+++qq3ywNQw9hzAwAALIU9NwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFL+P9O3v7U4UB7NAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# lets increase the y-range slightly:\n", "plt.ecdf(x)\n", "plt.ylim(-0.1,1.1)\n", "plt.xlabel('x')\n", "plt.ylabel('ecdf(x)')\n", "plt.title('Empirical Cumulative Distribution Function')\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "The y-range goes from 0 to 1 - or 0% to 100%
\n", "\n", "Every vertical line-segment is a datapoint
\n", "\n", "When the plot is \"steep\" there are many datapoints (corresponds to high values in the histogram).
\n", "\n", "The ECDF plot can be used to understand the \"averaged_inverted_cdf\" used for percentiles.
\n", "\n", "OBS: we will talk more about distributions - and cumulative distributions - over the next couple of weeks. " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Other plots in Python: Boxplot and Pie Chart" ] }, { "cell_type": "code", "execution_count": 97, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# make a boxplot\n", "plt.boxplot(x)\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "A **boxplot** provides a quick visual summary of the distribution of a dataset, highlighting:\n", "\n", "1. **Median and Quartiles** – Displays the central tendency and spread via the median, the first quartile (Q1), and the third quartile (Q3). \n", "2. **Range of Data** – Whiskers typically show the data range or a specific cutoff for outliers. \n", "3. **Outlier Detection** – Points lying beyond the whiskers indicate potential outliers. \n", "4. **Comparison Across Groups** – Multiple boxplots can be placed side by side to compare distributions." ] }, { "cell_type": "code", "execution_count": 98, "metadata": {}, "outputs": [ { "data": { "image/png": "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vn379jquBsCFIKAADcjPP/8sSSotLZUk/eMf/5Cvr68++OADjR07VklJSUpMTKz2XC8vL/Xt21czZ87U//7v/+qZZ57RRx99pHXr1lXb/4orrpAkff311+dd78kwcZJlWcrPz3e+4RIVFSVJys3NPe3c3NxcZ7skVVZWavTo0QoMDNSjjz6qxYsXn/a4y51aJGnnzp3y9/dXaGhotefUVF9FRYV2797tUt+5PvYCYCOgAA3EiRMn9OGHH8rb21sxMTGSpEaNGsnhcLjMguzZs0crVqxwOffgwYOnjXfttddKksrLy6u9XmhoqHr37q358+dr7969Lm2/nJ05kzfffFNHjhxx7v/9739XQUGBkpKSJEldu3ZVy5YtNXfuXJc63nvvPeXk5DjfQpKkmTNnauPGjXr99df19NNPq2fPnrr33nv1008/nVMtmzZtclmXs2/fPr399tvq16+fGjVqVO05iYmJ8vb21p///GeXe543b56Ki4td6mvatKnLYzUAZ8ZrxkA99d5772nHjh2SpKKiImVmZiovL0+PPPKIAgMDJdmLSWfOnKkBAwZo+PDhKioqUnp6uq666ipt27bNOdZTTz2lrKwsDRo0SFFRUSoqKtLs2bPVpk0b9erVq8Ya/vznP6tXr16Ki4vTxIkTdfnll2vPnj1atWqVsrOzz3oPISEh6tWrl8aMGaPCwkLNmjVLV111lSZMmCBJatKkiZ577jmNGTNG119/ve68807na8Zt27bVlClTJEk5OTmaNm2aRo8ereTkZEn268nXXnut7rvvPv3tb387ay2dOnVS//79XV4zlqQZM2bUeE5oaKhSU1M1Y8YMDRgwQIMHD1Zubq5mz56tbt26ubzyHR8fr6VLlyolJUXdunVTs2bNnLUCqEbdvkQEwF3VvWbs6+trXXvttdacOXNOe8V33rx5Vrt27SwfHx8rOjraWrBggTV9+nTrl//5r1271hoyZIgVHh5ueXt7W+Hh4dadd95p7dy509mnuteMLcuyvv76a+uWW26xgoODLV9fX6tDhw7WtGnTzngPJ18zXrx4sZWammq1bNnS8vPzswYNGnTaK8uWZVlLly61unTpYvn4+FghISHWiBEjrO+//96yLMv6+eefrW7dullt2rSxDh8+7HLeyy+/bEmyli5desZ6JFmTJk2yFi5c6Py76tKli7Vu3TqX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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" }, { "name": "stdout", "output_type": "stream", "text": [ "[161 166 167 168 179 179 184 187 191 198]\n" ] } ], "source": [ "# Adding some explanation:\n", "plt.boxplot(x)\n", "plt.text(1.1, np.percentile(x, [0]), 'Minimum', color='blue')\n", "plt.text(1.1, np.percentile(x, [25]), 'Q1', color='blue')\n", "plt.text(1.1, np.percentile(x, [50]), 'Median', color='blue')\n", "plt.text(1.1, np.percentile(x, [75]), 'Q3', color='blue')\n", "plt.text(1.1, np.percentile(x,[100]), 'Maximun', color='blue')\n", "plt.title(\"Basic box plot\")\n", "plt.show()\n", "x.sort()\n", "print(x)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Manually Calculate the values required for drawing a boxplot" ] }, { "cell_type": "code", "execution_count": 99, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "Q1 (25th percentile): 167.25\n", "Q3 (75th percentile): 186.25\n", "IQR: 19.0\n", "Lower fence: 138.75\n", "Upper fence: 214.75\n" ] } ], "source": [ "import numpy as np\n", "\n", "# Data\n", "x = [168, 161, 167, 179, 184, 166, 198, 187, 191, 179]\n", "\n", "# Calculate quartiles\n", "Q1 = np.percentile(x, 25)\n", "Q3 = np.percentile(x, 75)\n", "\n", "# Interquartile Range\n", "IQR = Q3 - Q1\n", "\n", "# Calculate fences\n", "lower_fence = Q1 - 1.5 * IQR\n", "upper_fence = Q3 + 1.5 * IQR\n", "\n", "print(\"Q1 (25th percentile):\", Q1)\n", "print(\"Q3 (75th percentile):\", Q3)\n", "print(\"IQR:\", IQR)\n", "print(\"Lower fence:\", lower_fence)\n", "print(\"Upper fence:\", upper_fence)\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "See documentation for definition of box and whiskers: \n", "\n", "https://matplotlib.org/stable/api/_as_gen/matplotlib.axes.Axes.boxplot.html#matplotlib.axes.Axes.boxplot\n", "\n" ] }, { "cell_type": "code", "execution_count": 100, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# Adding an outlier to the data:\n", "plt.boxplot(np.append(x, [235]))\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 101, "metadata": {}, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAxYAAAGGCAYAAADmRxfNAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABAE0lEQVR4nO3de1yUdf7//+eggKDMEIkSKWpWC6ZZkpuoefisoWZ+NK3W1LKy3DZw1ywtO5/Z1Y7bR6s9qWmsm654qmxdNSzDyjFbdcHDpnlEK2MQRER5f//ox/wcTjJcAwPD4367Xbea63pf7+t96VxP5zXXYWzGGCMAAAAAsCDI3wMAAAAA0PhRWAAAAACwjMICAAAAgGUUFgAAAAAso7AAAAAAYBmFBQAAAADLKCwAAAAAWEZhAQAAAMAyCgsAAAAAllFYNBK7d+9WcnKyHA6HbDabli1bVifbGTBggAYMGFAnfdeUzWZTamrqedvNmzdPNptN+/btq3Hf+/btk81m00svvWRhhID3eF/XnYKCArVp00bvvvuuv4dSp3r16qXp06f7exioJTIATQGFhY+UBUHZ1KJFC8XGxmrw4MH6wx/+oBMnTljqf8KECdq2bZteeOEFLViwQNdcc42PRl69w4cP6+mnn9bWrVvP2/a9996TzWZTRkZGhWXdu3eXzWbT+vXrKyyLi4tT7969fTFcwOd4X9ev9PR0vfbaa16t8/rrrysiIkJjxozxmJ+Xl6dJkyYpOjpaLVu21MCBA7Vly5Zaj62goEBPPfWUhgwZoqioKNlsNs2bN6/K9tnZ2RoyZIhatWqlqKgo3X777fruu+8qtCstLdXMmTPVqVMntWjRQldeeaX+9re/VWj38MMPa/bs2crNza31PsB7ZED98jYD/vnPf2rixInq2rWrmjVrpo4dO3q1vY4dO3p8fiub7rvvvhr3sW/fPq++lL3zzjvVqlWrCvONMVqwYIH69eunyMhIhYeHq1u3bnr++ed18uTJCu0HDBjgMeawsDBdeeWVeu2111RaWlrj8fgShYWPPfvss1qwYIHefPNNTZ48WZI0ZcoUdevWTf/+979r1WdRUZGysrI0ceJEpaamavz48WrXrp0vh12lw4cP65lnnqlRYdG3b19J0qeffuoxPz8/X9u3b1fz5s21ceNGj2UHDhzQgQMH3Ot64/bbb1dRUZE6dOjg9bpATfG+rl/efqgoKSnR66+/rnvuuUfNmjVzzy8tLdWwYcOUnp6u1NRUzZw5U8eOHdOAAQO0e/fuWo3t+++/17PPPqvs7Gx179692rYHDx5Uv379tGfPHr344ot66KGH9P777+v666/X6dOnPdo+9thjevjhh3X99dfrjTfeUFxcnMaOHatFixZ5tBsxYoTsdrvmzJlTq/GjdsiA+uVtBqSnpys9PV0Oh0OxsbG12uZVV12lBQsWeEx33313teucOXNGa9eurTD/1KlTyszM9HoMZ8+e1ZgxY3THHXdIkp5++mm99tpruuqqq/TUU0+pV69eOnbsWIX12rVr5x5zWlqaWrRooQceeEBPPPGE12PwCQOfmDt3rpFkvvzyywrL1q5da8LCwkyHDh3MyZMnve7722+/NZLMrFmzfDHUavXv39/079/f/frLL780kszcuXNrtH6nTp3Mz3/+c495q1evNjabzdx2221m8ODBHsvS09ONJLN8+XL3PEkmJSWl1vtQnb1799b5n2VhYWGd9Q3/4H1df+/rYcOGmQ4dOtS4/dKlS40ks2fPHo/5f//7340ks3jxYve8Y8eOmcjISHPbbbfVamynTp0yR44cMcacPxt//etfm7CwMPPtt9+6561Zs8ZIMm+//bZ73sGDB01wcLDHe6O0tNRcd911pl27dubMmTMe/aamppoOHTqY0tLSWu0DaocMaLgZcOjQIXP69OlarWuMMR06dDDDhg3zah1jjDlw4IC5+uqrzdixY80XX3xh+vfvb9avX28SEhLMQw89VO26EyZMMC1btvSY9+KLLxpJla67YsUKExQUZG644QaP+f379zdXXHGFx7yioiLToUMHExERUSE/6gNnLOrB//zP/+iJJ57Qt99+q4ULF3osy8nJ0c0336yoqCi1aNFC11xzjVasWOFe/vTTT7u/tZg2bZpsNpv7NN+3336r+++/Xz/72c8UFhamCy+8ULfcckuF6zKffvpp2Wy2CuM633WcH3/8sXr27ClJuuuuu9yn2qo79d+3b1999dVXKioqcs/buHGjrrjiCg0dOlSbNm3yOD23ceNG2Ww29enTp0Jfy5YtU9euXRUaGqorrrhCq1evPu/4N2/erMGDB6t169YKCwtTp06dzvutgzFGkyZNUkhIiJYuXeqev3DhQiUmJiosLExRUVEaM2aMDhw44LHugAED1LVrVzmdTvXr10/h4eF69NFHaz0WNEy8r62/r5cvX65hw4YpNjZWoaGh6ty5s5577jmdPXvWY7vvv/++vv32W3fenO+yhmXLlqljx47q3Lmzx/wlS5aobdu2GjVqlHtedHS0br31Vi1fvlzFxcXnHXN5oaGhiomJqVHbf/zjH7rxxhsVFxfnnjdo0CBdfvnleu+999zzli9frpKSEt1///3ueTabTb/+9a918OBBZWVlefR7/fXX69tvv63RWWT4DhnQcDMgNjZWwcHB593++Zw+fVqFhYU1bt+uXTtt3rxZgwYN0tixY/XFF1/oxRdf1HvvvadZs2Z5te2ioiLNmjVLl19+udLS0iosHz58uCZMmKAPPvhAX3zxRbV9tWjRQj179tSJEycqPcNR1ygs6sntt98u6adrAcvs2LFDvXr1UnZ2th555BG9/PLLatmypUaOHOm+lnPUqFF69dVXJUm33XabFixY4D5F+OWXX+qzzz7TmDFj9Ic//EH33Xef1q5dqwEDBlR6LZ63EhIS9Oyzz0qSJk2a5D7V1q9fvyrX6du3r0pKSvT555+7523cuFG9e/dW79695XK5tH37do9l8fHxuvDCCz36+fTTT3X//fdrzJgxmjlzpk6dOqXRo0frhx9+qHLbx44dU3Jysvbt26dHHnlEb7zxhsaNG6dNmzZVuc7Zs2d155136p133lFGRob7Q8gLL7ygO+64Q5dddpleeeUVTZkyRWvXrlW/fv2Ul5fn0ccPP/ygoUOH6qqrrtJrr72mgQMH1mosaLh4X1t/X8+bN0+tWrXS1KlT9frrrysxMVFPPvmkHnnkEXebxx57TFdddZVat27tzpvzXRLx2WefqUePHhXmf/XVV+rRo4eCgjz/mfv5z3+ukydPateuXecdc20dOnRIx44dq/ReuJ///Of66quvPMbZsmVLJSQkVGhXtvxciYmJklTh0hvULTKg4WaAL6xbt07h4eFq1aqVOnbsqNdff71G69lsNo+MKSuGvPXpp5/qxx9/1NixY9W8efNK25RdIrVy5crz9ld2M39kZKTXY7Gs3s+RBKjqLoUq43A4zNVXX+1+/Ytf/MJ069bNnDp1yj2vtLTU9O7d21x22WXueVWd4qzssqqsrCwjybzzzjvueU899ZSp7K+6bMx79+51z7N6KdSOHTuMJPPc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nZ577jl16tRJ48aNk/TTqawBAwbo7bffrvRbrcp+nbW8Zs2aVfiW44033qhwJqLses4NGza45xUWFmr+/Pnn3UbLli0lqUKxUp1rrrlGLVq00LvvvqtDhw55fKsTGhqqHj16aPbs2SosLKzVjwdV5ccff6zw51H2j3Jlp2kHDRqkRYsWafXq1br99tvd35iMGjVKzZo10zPPPFOhP2NMtU/vqO1Y0PDxvq79+7rsH8lz1z19+nSlP/TWsmVLry6LSEpKqvQD/M0336yjR496PGbz+++/1+LFizV8+PBK72vwpdGjR2vVqlUej/Fcu3atdu3a5fHBYMSIEQoODvb4szDG6K233tLFF19c4ZebnU6nJPGLzn5ABjTMDKipkpIS5eTkeHzmOn78eIXPTCUlJfrd736nkJAQDRw40OfjqEx4eLimT5+unTt36rHHHquw/P3339e8efM0fPhwdevW7bz9TZ8+XSUlJXrllVfqYrjV4oyFj3344YfKycnRmTNndPToUa1bt05r1qxRhw4dtGLFCo/TkrNnz1bfvn3VrVs33Xvvvbrkkkt09OhRZWVl6eDBg/r666+r3daNN96oBQsWyOFwqEuXLsrKytK//vWvCo+3S05OVlxcnCZOnKhp06apWbNm+utf/6ro6Gjt37+/2m107txZkZGReuuttxQREaGWLVvq2muvVadOnapcJyQkRD179tQnn3yi0NBQ9+MRy/Tu3dt9lsWX4Tt//nzNmTNHN910kzp37qwTJ07oT3/6k+x2e5XfHo0cOVJz587VHXfcIbvdrrfffludO3fW888/rxkzZmjfvn0aOXKkIiIitHfvXmVkZGjSpEl66KGHfD4WNGy8r2v/vu7du7cuuOACTZgwQb/5zW9ks9m0YMGCSi//SExM1N///ndNnTpVPXv2VKtWrTR8+PAq+x4xYoQWLFigXbt2eXwLe/PNN6tXr16666679J///EetW7fWnDlzdPbsWT3zzDMefdx5552aP3++9u7de95n5v/f//2f8vLydPjwYUk/Pfqx7AbPyZMny+FwSJIeffRRLV68WAMHDtRvf/tbFRQUaNasWerWrZvHDbHt2rXTlClTNGvWLJWUlKhnz55atmyZPvnkE7377rsVvrlcs2aN4uLidPXVV1c7TvgeGdAwM+Df//63+/e/9uzZI5fLpeeff16S1L17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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, (ax1, ax2, ax3) = plt.subplots(1, 3, figsize=(8, 4))\n", "\n", "# Boxplot with one extreme value appended\n", "ax1.boxplot(np.append(x, [235]))\n", "ax1.set_title('Default Whiskers')\n", "\n", "# Boxplot with whiskers at min and max of the data (0th and 100th percentiles)\n", "ax2.boxplot(np.append(x, [235]), whis=(0, 100))\n", "ax2.set_title('Whiskers at (0, 100)')\n", "\n", "# Boxplot with whiskers set to 1.5 * IQR\n", "ax3.boxplot(np.append(x, [235]), whis=1.5)\n", "ax3.set_title('Whiskers at 1.5 * IQR')\n", "\n", "plt.tight_layout()\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Working with data - dataframes" ] }, { "cell_type": "code", "execution_count": 41, "metadata": {}, "outputs": [], "source": [ "# import the Pandas library\n", "import pandas as pd " ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "**About the Code**: \n", " - Use `pd.DataFrame()` from **pandas** to create a table-like data structure. \n", " - The dictionary keys (`'males'` and `'females'`) become the DataFrame columns, and the lists are the row entries. \n", " - Missing values (`np.nan`) allow pandas to handle incomplete data gracefully in further analysis." ] }, { "cell_type": "code", "execution_count": 102, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
malesfemales
0152159.0
1171166.0
2173168.0
3173168.0
4178171.0
5179171.0
6180172.0
7180172.0
8182173.0
9182174.0
10182175.0
11185175.0
12185175.0
13185175.0
14185175.0
15185177.0
16186178.0
17187NaN
18190NaN
19190NaN
20192NaN
21192NaN
22197NaN
\n", "
" ], "text/plain": [ " males females\n", "0 152 159.0\n", "1 171 166.0\n", "2 173 168.0\n", "3 173 168.0\n", "4 178 171.0\n", "5 179 171.0\n", "6 180 172.0\n", "7 180 172.0\n", "8 182 173.0\n", "9 182 174.0\n", "10 182 175.0\n", "11 185 175.0\n", "12 185 175.0\n", "13 185 175.0\n", "14 185 175.0\n", "15 185 177.0\n", "16 186 178.0\n", "17 187 NaN\n", "18 190 NaN\n", "19 190 NaN\n", "20 192 NaN\n", "21 192 NaN\n", "22 197 NaN" ] }, "execution_count": 102, "metadata": {}, "output_type": "execute_result" } ], "source": [ "# Make a DataFrame:\n", "data = pd.DataFrame({\n", " 'males': [152, 171, 173, 173, 178, 179, 180, 180, 182, 182, 182, 185, \n", " 185 ,185, 185, 185 ,186 ,187 ,190 ,190, 192, 192, 197], \n", " 'females':[159, 166, 168 ,168 ,171 ,171 ,172, 172, 173, 174 ,175 ,175,\n", " 175, 175, 175, 177, 178, np.nan,np.nan,np.nan,np.nan,np.nan,np.nan]\n", "})\n", "data" ] }, { "cell_type": "code", "execution_count": 103, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(type(data))" ] }, { "cell_type": "code", "execution_count": 104, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 104, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# The DataFrame has a direct method for making a boxplot:\n", "data.boxplot()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Reading data from an external file\n", "\n", "It is very important to learn how to read data from other files. In practice one will never type all the data into Python by hand!" ] }, { "cell_type": "code", "execution_count": 105, "metadata": {}, "outputs": [], "source": [ "csv_data= pd.read_csv(\"studentheights.csv\", sep=';')" ] }, { "cell_type": "code", "execution_count": 106, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "\n" ] } ], "source": [ "print(type(csv_data))" ] }, { "cell_type": "code", "execution_count": 107, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
HeightGender
0152male
1171male
2173male
3173male
4178male
\n", "
" ], "text/plain": [ " Height Gender\n", "0 152 male\n", "1 171 male\n", "2 173 male\n", "3 173 male\n", "4 178 male" ] }, "execution_count": 107, "metadata": {}, "output_type": "execute_result" } ], "source": [ "csv_data.head()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Notice that this DataFrame is differently structured compared to the one from above (which had columns: \"males\" and \"females\").\n", "\n", "If we want to do a boxplot by gender, we need to include the \"by=..\" argument:" ] }, { "cell_type": "code", "execution_count": 108, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 108, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjgAAAHNCAYAAAATwgHBAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABBdUlEQVR4nO3deVyU5f7/8fewyCogpgKpSGJi4UqllIq4Y5qIZmWLnqN5TrmUy6n0tNkpPaW2HLO9pPJYfTUzWzStwCW10tQ0l8Q0LRFXIBZxYK7fHx3m1wQqCArcvJ6PBw+5r/u6r/ncM8zM23u1GWOMAAAALMStqgsAAACobAQcAABgOQQcAABgOQQcAABgOQQcAABgOQQcAABgOQQcAABgOQQcAABgOQQcAABgOQQcoJqy2Wx69NFHq7oMy0tNTZXNZlNqaupZ+z366KOy2Ww6duzYxSmsGirrcwVUBwQc1DrJycmy2WwuPw0bNlR8fLyWLVtW1eVV2I4dO/Too49q//79VV0KKuCjjz7SgAED1KhRI9WpU0fBwcHq2rWrZs+erezs7KouD6j2PKq6AKCqPPbYY4qIiJAxRhkZGUpOTla/fv300UcfqX///lVd3nnbsWOHpk2bpm7duqlZs2ZVXQ7KyeFwaOTIkUpOTlbr1q119913q0mTJvrtt9+0fv16Pfjgg/r000/1xRdfVHWpQLVGwEGtlZCQoKuuuso5PXLkSDVq1EjvvPNOjQ44F1NhYaEcDofq1KlT1aVYxlNPPaXk5GRNmDBBs2fPls1mc8675557lJ6errfeeqsKK6w8ubm58vPzq+oyYFHsogL+JygoSD4+PvLwcM39ubm5mjRpkpo0aSIvLy+1bNlSs2bNkjFGkpSfn6+oqChFRUUpPz/fudyJEycUGhqqa6+9VkVFRZKkESNGyN/fXz/99JP69OkjPz8/hYWF6bHHHnOOdzabN29WQkKCAgIC5O/vrx49emjDhg3O+cnJybrxxhslSfHx8c5dcOc6ZmLhwoW64oor5O3trejoaH3wwQcaMWKEyxag/fv3y2azadasWXr22WfVvHlzeXl5aceOHZKkL7/8Ul26dJGfn5+CgoI0cOBA7dy50+Vx/jxmseLjW/7IZrNp7Nix+u9//6uWLVvK29tbMTExWr16dYnlf/31V/31r39Vo0aN5OXlpSuvvFJvvPFGiX6//PKLEhMT5efnp4YNG2rChAkqKCg463PzZ8eOHdPQoUMVEBCg+vXr65577tGpU6ec8+Pi4tS2bdtSl23ZsqX69OlzxrHz8vL05JNP6sorr9TMmTNLPCeSFBoaqvvvv79E+/z58xUTEyMfHx8FBwfr5ptv1sGDB136dOvWTdHR0dqxY4fi4+Pl6+urSy+9VE899VSJ8crzXH399dfq27evAgMD5evrq7i4OH311VcufYpf4x07dmjYsGGqV6+eOnfufMbnAqgotuCg1srKytKxY8dkjNGRI0c0Z84c5eTk6LbbbnP2McbohhtuUEpKikaOHKl27drps88+0z/+8Q/9+uuveuaZZ+Tj46M333xT1113nf75z3/q6aefliSNGTNGWVlZSk5Olru7u3PMoqIi9e3bV506ddJTTz2l5cuX65FHHlFhYaEee+yxM9b7ww8/qEuXLgoICNB9990nT09Pvfzyy+rWrZtWrVqljh07qmvXrho/frz+85//aOrUqWrVqpUkOf8tzSeffKKbbrpJrVu31owZM3Ty5EmNHDlSl156aan9582bp1OnTmn06NHy8vJScHCwPv/8cyUkJOiyyy7To48+qvz8fM2ZM0fXXXedvvvuu/PeVbZq1Sq99957Gj9+vLy8vPTCCy+ob9+++uabbxQdHS1JysjIUKdOnZyBqEGDBlq2bJlGjhyp7Oxs3XvvvZJ+D6I9evTQgQMHNH78eIWFhentt9/Wl19+Wa6ahg4dqmbNmmnGjBnasGGD/vOf/+jkyZPOrSq333677rzzTm3fvt1ZoyR9++23+vHHH/Xggw+ecey1a9cqMzNTkydPdvmbOZcnnnhCDz30kIYOHapRo0bp6NGjmjNnjrp27arNmzcrKCjI2ffkyZPq27evkpKSNHToUC1atEj333+/WrdurYSEhHI/V19++aUSEhIUExOjRx55RG5ubpo3b566d++uNWvW6JprrnHpf+ONN6pFixaaPn16mUI9cN4MUMvMmzfPSCrx4+XlZZKTk136LlmyxEgyjz/+uEv7kCFDjM1mM2lpac62KVOmGDc3N7N69WqzcOFCI8k8++yzLssNHz7cSDLjxo1ztjkcDnP99debOnXqmKNHjzrbJZlHHnnEOZ2YmGjq1Klj9u7d62w7dOiQqVu3runatauzrfixU1JSyvR8tG7d2jRu3Nj89ttvzrbU1FQjyYSHhzvb9u3bZySZgIAAc+TIEZcx2rVrZxo2bGiOHz/ubNu6datxc3Mzd9xxh8v6/3HMYo888oj588dR8euyceNGZ9vPP/9svL29zaBBg5xtI0eONKGhoebYsWMuy998880mMDDQ5OXlGWOMefbZZ40k83//93/OPrm5uSYyMrJMz1dxjTfccINL+913320kma1btxpjjMnMzDTe3t7m/vvvd+k3fvx44+fnZ3Jycs74GM8995yRZJYsWeLSXlhYaI4ePery43A4jDHG7N+/37i7u5snnnjCZZlt27YZDw8Pl/a4uDgjybz11lvOtoKCAhMSEmIGDx7sbCvrc+VwOEyLFi1Mnz59nPUYY0xeXp6JiIgwvXr1KvH83XLLLWdcf6AysYsKtdbcuXO1cuVKrVy5UvPnz1d8fLxGjRqlxYsXO/t8+umncnd31/jx412WnTRpkowxLmddPfroo7ryyis1fPhw3X333YqLiyuxXLGxY8c6fy/e8nD69Gl9/vnnpfYvKirSihUrlJiYqMsuu8zZHhoaqmHDhmnt2rXndWbNoUOHtG3bNt1xxx3y9/d3tsfFxal169alLjN48GA1aNDAOZ2enq4tW7ZoxIgRCg4Odra3adNGvXr10qefflruuorFxsYqJibGOd20aVMNHDhQn332mYqKimSM0fvvv68BAwbIGKNjx445f/r06aOsrCx99913kn5/LUNDQzVkyBDneL6+vho9enS5ahozZozL9Lhx45zjS1JgYKAGDhyod955x7mFoqioSO+9955zl8+ZFL+Gf3wtJGnbtm1q0KCBy8/x48clSYsXL5bD4dDQoUNd1j8kJEQtWrRQSkqKy1j+/v4uWynr1Kmja665Rj/99JOzrazP1ZYtW7Rnzx4NGzZMx48fdz52bm6uevToodWrV8vhcLgs8/e///2M6w9UJnZRoda65pprXA4yvuWWW9S+fXuNHTtW/fv3V506dfTzzz8rLCxMdevWdVm2eJfPzz//7GyrU6eO3njjDV199dXy9vbWvHnzSj2Gws3NzSWkSNLll18uSWc8tfvo0aPKy8tTy5YtS8xr1aqVHA6HDh48qCuvvLJsK/8/xfVHRkaWmBcZGekMB38UERFR6hhnqu2zzz4774NJW7RoUaLt8ssvV15eno4ePSo3NzdlZmbqlVde0SuvvFLqGEeOHHHWGRkZWeI1Ka3u8tTUvHlzubm5ubx2d9xxh9577z2tWbNGXbt21eeff66MjAzdfvvtZx27+O8sJyfHpT0yMlIrV66UJL311lt6++23nfP27NkjY0ypz5UkeXp6ukw3bty4xHNQr149ff/9987psj5Xe/bskSQNHz78jOuUlZWlevXqOaf//PcDXCgEHOB/3NzcFB8fr+eee0579uwpd1iQpM8++0ySdOrUKe3Zs8eSH+Y+Pj7nvWxpgU+S8yDs8ireOnDbbbed8Uu2TZs25zV2WZW2Tn369FGjRo00f/58de3aVfPnz1dISIh69ux51rGioqIkSdu3b9fAgQOd7f7+/s5l165d67KMw+GQzWbTsmXLSj1u589bg850bI85j+Nhip//mTNnql27dqX2+fPjV+TvBygPAg7wB4WFhZL+//+gw8PD9fnnn+u3335z2Yqza9cu5/xi33//vR577DH95S9/0ZYtWzRq1Cht27ZNgYGBLo/hcDj0008/ObfaSNKPP/4oSWc8GLdBgwby9fXV7t27S8zbtWuX3Nzc1KRJE0lnDhGlKa4/LS2txLzS2s42xplqu+SSS5xbb+rVq6fMzMwS/f64JeyPircQ/NGPP/4oX19f526yunXrqqio6JzhITw8XNu3b5cxxuU5Kq3us/lzcE1LS5PD4XB57dzd3TVs2DAlJyfrySef1JIlS3TnnXee88DhLl26KDAwUO+++66mTJkiN7dzH0XQvHlzGWMUERHh8jdVEWV9rpo3by5JCggIOOfzD1xsHIMD/I/dbteKFStUp04d5y6ofv36qaioSM8//7xL32eeeUY2m8151ondbteIESMUFham5557TsnJycrIyNCECRNKfaw/jmeM0fPPPy9PT0/16NGj1P7u7u7q3bu3PvzwQ5ddIRkZGVqwYIE6d+6sgIAASXKGidKCxJ+FhYUpOjpab731lstukVWrVmnbtm3nXF76/Tigdu3a6c0333R5zO3bt2vFihXq16+fs6158+bKyspy2R2Snp6uDz74oNSx169f77Kb7ODBg/rwww/Vu3dvubu7y93dXYMHD9b777+v7du3l1j+6NGjzt/79eunQ4cOadGiRc62vLy8M+7aOpO5c+e6TM+ZM0eSnH8LxW6//XadPHlSf/vb30qcnXcmvr6+uu+++7R9+3Y98MADpW5V+XNb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1KiRXn31VeXm5uovf/mL6tatq8jISC1btkySVFRUpJEjRzo/N1q2bKnnnnvurI9xrs8aWB8BBxfMc889p8cee0yNGzdWenq6vv32W82YMUNvvfWWXnrpJf3www+aMGGCbrvtNq1atcpl2UcffVTPP/+81q1bp4MHD2ro0KF69tlntWDBAn3yySdasWKF5syZ4+yfm5uriRMnauPGjfriiy/k5uamQYMGyeFwlFpbZmamunfvrvbt22vjxo1avny5MjIyNHTo0Av6nAD43ZtvvqlLLrlE33zzjcaNG6e77rpLN954o6699lp999136t27t26//Xbl5eXJ4XCocePGWrhwoXbs2KGHH35YU6dO1f/93/+dcfyyftbAwgxwAT3zzDMmPDzcGGPMqVOnjK+vr1m3bp1Ln5EjR5pbbrnFGGNMSkqKkWQ+//xz5/wZM2YYSWbv3r3Otr/97W+mT58+Z3zco0ePGklm27Ztxhhj9u3bZySZzZs3G2OM+de//mV69+7tsszBgweNJLN79+7zXl8A5xYXF2c6d+7snC4sLDR+fn7m9ttvd7alp6cbSWb9+vWljjFmzBgzePBg5/Tw4cPNwIEDjTFl+6yB9XEMDi6atLQ05eXlqVevXi7tp0+fVvv27V3a2rRp4/y9UaNG8vX11WWXXebS9s033zin9+zZo4cfflhff/21jh075txyc+DAAUVHR5eoZevWrUpJSSn1Bq979+7V5Zdffn4rCaBM/vged3d3V/369dW6dWtnW/ENmo8cOSJJmjt3rt544w0dOHBA+fn5On36tNq1a1fq2OX5rIF1EXBw0eTk5EiSPvnkE1166aUu8/58XxlPT0/n7zabzWW6uO2Pu58GDBig8PBwvfrqqwoLC5PD4VB0dLROnz59xloGDBigJ598ssS80NDQ8q0YgHIr7T395/e99PuxNO+++64mT56s2bNnKzY2VnXr1tXMmTP19ddflzp2eT5rYF0EHFw0V1xxhby8vHTgwAHFxcVV2rjHjx/X7t279eqrr6pLly6SpLVr1551mQ4dOuj9999Xs2bN5OHB2wCozr766itde+21uvvuu51tZzuJ4EJ91qBm4ZMdF03dunU1efJkTZgwQQ6HQ507d1ZWVpa++uorBQQEaPjw4ec1br169VS/fn298sorCg0N1YEDB/TAAw+cdZkxY8bo1Vdf1S233KL77rtPwcHBSktL07vvvqvXXntN7u7u51ULgMrXokULvfXWW/rss88UERGht99+W99++60iIiJK7X+hPmtQsxBwcFH961//UoMGDTRjxgz99NNPCgoKUocOHTR16tTzHtPNzU3vvvuuxo8fr+joaLVs2VL/+c9/1K1btzMuExYWpq+++kr333+/evfurYKCAoWHh6tv375yc+PkQqA6+dvf/qbNmzfrpptuks1m0y233KK7777beRp5aS7EZw1qFpsxxlR1EQAAAJWJ/6oCAADLIeAAAADLIeAAAADLIeAAAADLIeAAAADLIeAAAADLIeAAAADLIeAAAADLIeAAOG/dunWTzWaTzWbTli1bqrocSVJqaqpsNpsyMzMrPFbxugUFBVV4LAAXFwEHQIXceeedSk9PV3R0tLPt/fffV/fu3VWvXj35+PioZcuW+utf/6rNmzdXYaXll56ermeffbaqywBwHgg4ACrE19dXISEhzruy33///brpppvUrl07LV26VLt379aCBQt02WWXacqUKVVcbdmcPn1akhQSEqLAwMAqrgbA+SDgAKg0GzZs0FNPPaWnn35aTz/9tLp06aKmTZsqJiZGDz74YImbI3744Yfq0KGDvL29ddlll2natGkqLCx0zrfZbHrttdc0aNAg+fr6qkWLFlq6dKnLGJ9++qkuv/xy+fj4KD4+Xvv37y9R19q1a9WlSxf5+PioSZMmGj9+vHJzc53zmzVrpn/961+64447FBAQoNGjR1fuEwPgoiPgAKg077zzjvz9/XX33XeXOt9mszl/X7Nmje644w7dc8892rFjh15++WUlJyfriSeecFlm2rRpGjp0qL7//nv169dPt956q06cOCFJOnjwoJKSkjRgwABt2bJFo0aN0gMPPOCy/N69e9W3b18NHjxY33//vd577z2tXbtWY8eOdek3a9YstW3bVps3b9ZDDz1UGU8HgKpkAOA8xcXFmXvuucc53bdvX9OmTRuXPrNnzzZ+fn7On8zMTGOMMT169DDTp0936fv222+b0NBQ57Qk8+CDDzqnc3JyjCSzbNkyY4wxU6ZMMVdccYXLGPfff7+RZE6ePGmMMWbkyJFm9OjRLn3WrFlj3NzcTH5+vjHGmPDwcJOYmFjqOs6bN88EBgae45kAUN14VHG+AmBxf/3rX3XDDTfo66+/1m233SZjjCRp69at+uqrr1y22BQVFenUqVPKy8uTr6+vJKlNmzbO+X5+fgoICNCRI0ckSTt37lTHjh1dHi82NtZleuvWrfr+++/13//+19lmjJHD4dC+ffvUqlUrSdJVV11ViWsNoKoRcABUmhYtWmjt2rWy2+3y9PSUJAUFBSkoKEi//PKLS9+cnBxNmzZNSUlJJcbx9vZ2/l48TjGbzSaHw1HmmnJycvS3v/1N48ePLzGvadOmzt/9/PzKPCaA6o+AA6DS3HLLLZozZ45eeOEF3XPPPWft26FDB+3evVuRkZHn/XitWrUqcdDxhg0bSjzOjh07KvQ4AGoeAg6AShMbG6tJkyZp0qRJ+vnnn5WUlKQmTZooPT1dr7/+umw2m9zcfj+34eGHH1b//v3VtGlTDRkyRG5ubtq6dau2b9+uxx9/vEyP9/e//12zZ8/WP/7xD40aNUqbNm1ScnKyS5/7779fnTp10tixYzVq1Cj5+flpx44dWrlypZ5//vnKfgoAVBOcRQWgUs2aNUsLFizQ5s2b1b9/f7Vo0UI33nijHA6H1q9fr4CAAElSnz599PHHH2vFihW6+uqr1alTJz3zzDMKDw8v82M1bdpU77//vpYsWaK2bdvqpZde0vTp0136tGnTRqtWrdKPP/6oLl26qH379nr44YcVFhZWqesNoHqxmeIj/gCgnLp166Z27dpZ+mq/ycnJuvfeeyvl1g8ALh4CDoDz1q1bN61bt0516tTR+vXr1bp166ouqVL5+/ursLBQ3t7eBByghiHgADhvv/76q/Lz8yX9vruoTp06VVxR5UpLS5Mkubu7KyIiooqrAVAeBBwAAGA5HGQMAAAsh4ADAAAsh4ADAAAsh4ADAAAsh4ADAAAsh4ADAAAsh4ADAAAsh4ADAAAs5/8B5wErZncEuEwAAAAASUVORK5CYII=", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "csv_data.boxplot(by='Gender')" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Skive fjord" ] }, { "cell_type": "code", "execution_count": 109, "metadata": {}, "outputs": [], "source": [ "SkiveAvg = pd.read_csv(\"skiveAvg.csv\", sep=';')" ] }, { "cell_type": "code", "execution_count": 110, "metadata": {}, "outputs": [ { "data": { "text/html": [ "
\n", "\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
yearmonthTNTPchladindipprimKrIltSvIltSvIIltSvN.loadP.loadQ.loadtempgrvmp
1198211.3120.08870.003960.4150.07750.0189000236.578NaNNaN2.2318.000
2198221.3710.07370.005680.4860.04270.0895000219.673NaNNaN2.1242.320
3198231.5000.06400.002000.8650.02450.1640002222.722NaNNaN3.5091.960
4198241.2000.04500.013000.5880.00450.7290002175.406NaNNaN5.95152.740
5198250.7720.08620.043250.0720.00983.4730202146.009NaNNaN12.36221.350
......................................................
296200680.9750.34100.020430.3610.24802.793390351.537NaNNaN20.13174.183
297200691.0180.23620.029340.2930.14443.835522658.042NaNNaN16.97129.283
2982006100.6610.13750.015790.1980.07721.087252276.244NaNNaN14.4761.053
2992006110.8330.05830.002260.4800.03070.090400687.738NaNNaN8.2825.993
3002006120.8200.07030.001720.5900.02530.0409005103.756NaNNaN6.6712.523
\n", "

300 rows × 17 columns

\n", "
" ], "text/plain": [ " year month TN TP chla din dip prim KrIltSv \\\n", "1 1982 1 1.312 0.0887 0.00396 0.415 0.0775 0.0189 0 \n", "2 1982 2 1.371 0.0737 0.00568 0.486 0.0427 0.0895 0 \n", "3 1982 3 1.500 0.0640 0.00200 0.865 0.0245 0.1640 0 \n", "4 1982 4 1.200 0.0450 0.01300 0.588 0.0045 0.7290 0 \n", "5 1982 5 0.772 0.0862 0.04325 0.072 0.0098 3.4730 2 \n", ".. ... ... ... ... ... ... ... ... ... \n", "296 2006 8 0.975 0.3410 0.02043 0.361 0.2480 2.7933 9 \n", "297 2006 9 1.018 0.2362 0.02934 0.293 0.1444 3.8355 2 \n", "298 2006 10 0.661 0.1375 0.01579 0.198 0.0772 1.0872 5 \n", "299 2006 11 0.833 0.0583 0.00226 0.480 0.0307 0.0904 0 \n", "300 2006 12 0.820 0.0703 0.00172 0.590 0.0253 0.0409 0 \n", "\n", " IltSv IIltSv N.load P.load Q.load temp gr vmp \n", "1 0 0 236.578 NaN NaN 2.23 18.00 0 \n", "2 0 0 219.673 NaN NaN 2.12 42.32 0 \n", "3 0 2 222.722 NaN NaN 3.50 91.96 0 \n", "4 0 2 175.406 NaN NaN 5.95 152.74 0 \n", "5 0 2 146.009 NaN NaN 12.36 221.35 0 \n", ".. ... ... ... ... ... ... ... ... \n", "296 0 3 51.537 NaN NaN 20.13 174.18 3 \n", "297 2 6 58.042 NaN NaN 16.97 129.28 3 \n", "298 2 2 76.244 NaN NaN 14.47 61.05 3 \n", "299 0 6 87.738 NaN NaN 8.28 25.99 3 \n", "300 0 5 103.756 NaN NaN 6.67 12.52 3 \n", "\n", "[300 rows x 17 columns]" ] }, "execution_count": 110, "metadata": {}, "output_type": "execute_result" } ], "source": [ "SkiveAvg" ] }, { "cell_type": "code", "execution_count": 111, "metadata": {}, "outputs": [ { "data": { "image/png": "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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "chla = SkiveAvg[\"chla\"]\n", "fig, ax =plt.subplots(2,3)\n", "ax[0,0].hist(chla)\n", "ax[0,1].ecdf(chla)\n", "ax[0,2].boxplot(chla)\n", "ax[1,0].hist(np.log(chla))\n", "ax[1,1].ecdf(np.log(chla))\n", "ax[1,2].boxplot(np.log(chla))\n", "plt.tight_layout()" ] }, { "cell_type": "code", "execution_count": 112, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "" ] }, "execution_count": 112, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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aGjAtdde6/amyIBIjZHSL1fD9Utnl4ZlL9ZlTabV/23Zi3UcpiEiChnXA5FHH30U55xzDk4++WS3N0UGRGqMLL243NdE1aDlsRARkRyuByJPP/00Nm/e7PZmyIRZjRG/hzyClMdCRETycNG7CMm1Gq7fgpLHQkREcjEQiRij1XD9puexNLUeyZonotc64bozREThwtV3SQlByGMhIiL5GIiQMlTPYyEiIvk4NENKUTmPhYiI5GMgQspRNY+FiIjk49AMERER+YaBCBEREfmGgQgRERH5hoEIERER+YaBCBEREfmGgQgRERH5hoEIERER+YaBCBEREfmGgQgRERH5hoEIERER+YaBCBEREfmGgQgRERH5hoEIERER+YaBCBEREfmGgQgRERH5hoEIERER+eYYv3eAsuvs0vBmQws+PXgExw3qj0llxeiXF/N7t4iIiKRiIKKg9bWNWPZiHRpbj/T8W2miP5ZeXI7KilIf94yIiEguDs1Y1Nmlobq+GWtrdqO6vhmdXZrU919f24jrn9zaKwgBgKbWI7j+ya1YX9sodXtERER+Yo+IBW73VHR2aVj2Yh2yhTYagBiAZS/WYVZ5ksM0REQUCuwREeRFT8WbDS193j+dBqCx9QjebGhxvC0iIiIVMBARYNZTAXT3VDgdpvn0oHEQYud1REREqmMgIsCrnorjBvWX+joiIiLVMRAR4FVPxaSyYpQm+sMo+yOG7pyUSWXFjrZDRESkCgYiArzqqeiXF8PSi8sBoE8wov996cXlTFQlIqLQYCAiwMueisqKUjx41QQkE72DmmSiPx68agLriBARUahw+q4Avafi+ie3Igb0Slp1o6eisqIUs8qTrKxKREShF9M0TW5FLolSqRQSiQRaW1tRVFTk9+6w4ikREZEAK89v9ohYwJ4KIiIiuRiIWNQvL4ap44b6vRtEREShwGRVIiIi8g0DESIiIvINAxEiIiLyDQMRIiIi8g0DESIiIvINAxEiIiLyDQMRIiIi8g0DESIiIvINAxEiIiLyjdKVVfVlcFKplM97QkRERKL057bIcnZKByIHDx4EAIwcOdLnPSEiIiKrDh48iEQikfM1Sq++29XVhT179mDQoEGIxdRZWC6VSmHkyJH45JNPlFgVOOp4PtTC86EWng+1ROV8aJqGgwcPYsSIEcjLy50FonSPSF5eHk444QS/d8NQUVFRqL9IQcPzoRaeD7XwfKglCufDrCdEx2RVIiIi8g0DESIiIvINAxEb4vE4li5ding87veuEHg+VMPzoRaeD7XwfPSldLIqERERhRt7RIiIiMg3DESIiIjINwxEiIiIyDcMRIiIiMg3DEQseuCBBzBmzBj0798fkydPxptvvun3LkXSbbfdhlgs1uvn5JNP9nu3IuX111/HxRdfjBEjRiAWi+H555/v9f+apuFf/uVfUFpaigEDBmDmzJnYvn27PzsbAWbnY86cOX2umcrKSn92NuRWrFiBs88+G4MGDcJxxx2Hb3/72/jggw96vebIkSOYP38+hg4dimOPPRbf/e53sXfvXp/22F8MRCz4zW9+g5tvvhlLly7F1q1bccYZZ+CCCy7Ap59+6veuRdKpp56KxsbGnp9Nmzb5vUuR0tbWhjPOOAMPPPBA1v//t3/7N/zyl7/EQw89hDfeeAOFhYW44IILcOTIEY/3NBrMzgcAVFZW9rpmVq9e7eEeRsdrr72G+fPnY8uWLdiwYQM6OjrwzW9+E21tbT2vWbBgAV588UU888wzeO2117Bnzx585zvf8XGvfaSRsEmTJmnz58/v+XtnZ6c2YsQIbcWKFT7uVTQtXbpUO+OMM/zeDfoSAO25557r+XtXV5eWTCa1O++8s+ffDhw4oMXjcW316tU+7GG0ZJ4PTdO0H/7wh9qll17qy/5E3aeffqoB0F577TVN07qvhfz8fO2ZZ57pec17772nAdCqq6v92k3fsEdE0NGjR/H2229j5syZPf+Wl5eHmTNnorq62sc9i67t27djxIgRGDt2LK688kp8/PHHfu8SfamhoQFNTU29rpdEIoHJkyfzevHRH//4Rxx33HH46le/iuuvvx7Nzc1+71IktLa2AgCKi4sBAG+//TY6Ojp6XR8nn3wyRo0aFcnrg4GIoH379qGzsxPDhw/v9e/Dhw9HU1OTT3sVXZMnT8YTTzyB9evX48EHH0RDQwO+9rWv4eDBg37vGgE91wSvF3VUVlbi17/+NV555RWsXLkSr732Gr71rW+hs7PT710Lta6uLtx0002YNm0aKioqAHRfHwUFBRg8eHCv10b1+lB69V0iI9/61rd6/nz66adj8uTJGD16NH77299i7ty5Pu4ZkZouv/zynj+fdtppOP300zFu3Dj88Y9/xDe+8Q0f9yzc5s+fj9raWuaw5cAeEUHDhg1Dv379+mQ17927F8lk0qe9It3gwYPxla98BTt27PB7VwjouSZ4vahr7NixGDZsGK8ZF91www146aWX8Oqrr+KEE07o+fdkMomjR4/iwIEDvV4f1euDgYiggoICTJw4Ea+88krPv3V1deGVV17B1KlTfdwzAoDPP/8c9fX1KC0t9XtXCEBZWRmSyWSv6yWVSuGNN97g9aKIv/71r2hubuY14wJN03DDDTfgueeeQ1VVFcrKynr9/8SJE5Gfn9/r+vjggw/w8ccfR/L64NCMBTfffDN++MMf4qyzzsKkSZNwzz33oK2tDddcc43fuxY5//zP/4yLL74Yo0ePxp49e7B06VL069cPs2fP9nvXIuPzzz/v1ZpuaGhATU0NiouLMWrUKNx00024/fbbcdJJJ6GsrAxLlizBiBEj8O1vf9u/nQ6xXOejuLgYy5Ytw3e/+10kk0nU19fjZz/7GU488URccMEFPu51OM2fPx9PP/001q5di0GDBvXkfSQSCQwYMACJRAJz587FzTffjOLiYhQVFeEf//EfMXXqVEyZMsXnvfeB39N2gua+++7TRo0apRUUFGiTJk3StmzZ4vcuRdL3v/99rbS0VCsoKNCOP/547fvf/762Y8cOv3crUl599VUNQJ+fH/7wh5qmdU/hXbJkiTZ8+HAtHo9r3/jGN7QPPvjA350OsVzn49ChQ9o3v/lNraSkRMvPz9dGjx6tzZs3T2tqavJ7t0Mp23kAoD3++OM9rzl8+LD2k5/8RBsyZIg2cOBA7bLLLtMaGxv922kfxTRN07wPf4iIiIiYI0JEREQ+YiBCREREvmEgQkRERL5hIEJERES+YSBCREREvmEgQkRERL5hIEJERES+YSBCREREvmEgQkRERL5hIEJERES+YSBCREREvmEgQkRERL75f6eMUVknyXTcAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "plt.scatter(SkiveAvg[\"temp\"],np.log(SkiveAvg[\"chla\"]))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## Pie Chart\n", "\n", "For the CSV file data on students' Gender, make a pie chart." ] }, { "cell_type": "code", "execution_count": 113, "metadata": {}, "outputs": [ { "data": { "image/png": "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bNmCkSNH4s4770RTUxP27duHRx55JLjvY82fPx8mkwm33HILPB5Puz0HDQ0NmDZtGmbNmoWLLroIr7/+Oq655hqYTCZcfvnlYb3GztR2rGXLlmHq1KkoKyvDvffeC5fLhccffxxjx47F2rVrWwxGmzVrFnr37o0FCxZg7dq1eO6555CTk9PlVt3ixYths9lw1VVXQZIkPPTQQzj33HOxc+fOdlvvJSUlWLZsGT7//HNMmjSpze0effRRzJs3D0lJSbjzzjsBALm5uWHXGa33dkev/6qrrsKBAwfw6aef4uWXXw677uPp9XpcdNFFuOuuu7BixQpMnz4dAPD0009j0KBB+MUvfgGDwYB3330X1157LWRZxty5cwG0fyx37tyJt99+GxdccAF69+6N6upqLFq0CBMmTMDmzZtRUFAAAHj22Wdx/fXX4/zzz8cNN9wAt9uN9evXY/Xq1bj44osBANXV1TjllFMgSRKuu+46ZGdn48MPP8QVV1yB5uZm3HjjjRg4cCDuu+8+3H333bjyyisxfvx4AMCYMWO6fYwoTEr/FaF2TU1NAoA4++yzW9zX0NAgDh8+HPxyOp3B+04//XQxZMgQ4Xa7g7fJsizGjBkj+vXrF7ztaKtk8uTJIa3Xm266Sej1+uBf8zU1NcJkMonp06eHbHfHHXcIACGtlfnz5wur1Sq2bdsWUu8f/vAHodfrxZ49e4QQ/2utpKSktGj1t6W9lrgQQjzyyCMCQEiPA45riaempoq5c+e2+zzTp08PaVkedbSFUFZWFnK8j73v+JY4APGXv/wleJvH4xHDhw8XOTk5wuv1CiE63xJvr7bWWuJHn6euri54248//ih0Op349a9/HbztaKv18ssvD9nnOeecIzIzM1s81/HaaolnZmaK+vr64O3vvPOOACDefffddve3ceNGYbFYBAAxfPhwccMNN4i333671V6BQYMGBVuMx+psSzya7+3OvP65c+d22Po+VnstcSGEeOuttwQA8dhjjwVvO/69KsSR3o6ysrKQ29o6lm63O6SnQYgjr9FsNov77rsveNsvf/nLdmsTQogrrrhC5Ofni9ra2pDbf/WrX4nU1NRgrWvWrGHrOwao/yStwpqbmwG03tqaOHEisrOzg19PPvkkAKC+vh6ff/45Zs2aBZvNhtraWtTW1qKurg5nnnkmtm/fjv3794fs68orr4QkScHvx48fj0AggN27dwM40qLzer2YN29eyHY33nhji7qWLFmC8ePHIz09PfjctbW1mDx5MgKBAP773/+GbH/eeechOzu7awfoOEePk81ma3ObtLQ0rF69GgcOHOjy88yePRsWi6VT2xoMBlx11VXB700mE6666irU1NTg+++/73INHTl48CDWrVuHOXPmhPRuDB06FGeccQY++OCDFo+5+uqrQ74fP3486urqgu/DcF144YVIT08P2R9wpGXXnkGDBmHdunW45JJLUFVVhcceewxnn302cnNz8eyzz3aplrZE873d1dffHa39Dhz7Xm1qakJtbS0mTJiAnTt3oqmpqcN9ms3m4JibQCCAuro6JCUloX///li7dm1wu7S0NOzbtw9r1qxpdT9CCLzxxhuYOXMmhBAhx/DMM89EU1NTyP5IeexO76bk5GQAgN1ub3HfokWLYLPZUF1dHTLIZceOHRBC4K677sJdd93V6n5rampQWFgY/L5Xr14h9x/94GloaACAYJj369cvZLvs7OyQDykA2L59O9avX99mMB8/MKl3796tbtcVR4/T0ePWmoceegizZ89GcXExRo0ahWnTpuHXv/41ysrKOv084dRcUFAAq9Uaclt5eTmAI9OoTjnllE7vKxxHf2b9+/dvcd/AgQPx8ccfw+FwhNTW3vsgJSUl7Bo6el+1p7y8HC+//DICgQA2b96M9957Dw899BCuvPJK9O7dG5MnTw67ntZE873dndffVa39DqxcuRL33HMPVq1aBafTGbJ9U1MTUlNT292nLMt47LHH8NRTT2HXrl0IBALB+zIzM4P/v+2227Bs2TKcdNJJ6Nu3L6ZMmYKLL74YY8eOBQAcPnwYjY2NeOaZZ/DMM8+0+lwcuBhbGOLdlJqaivz8/FanKB09R378VCNZlgEAt9xyC84888xW99u3b9+Q79uakiS6MENQlmWcccYZ+P3vf9/q/UcD7KjOtmg74+hxOv71HWvWrFkYP3483nrrLXzyySd4+OGHsXDhQrz55puYOnVqp54nkjUDCGkBHuvYD8ueEMn3QaT2p9frMWTIEAwZMgSjR4/GaaedhldeeaXDEI/GMQ33vR3p49kZx/8OVFZW4vTTT8eAAQPw17/+FcXFxTCZTPjggw/wyCOPBD8v2vPAAw/grrvuwuWXX4758+cjIyMDOp0O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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "# import pandas as pd\n", "# Reload the CSV with the correct delimiter\n", "data = pd.read_csv(\"studentheights.csv\", delimiter=';')\n", "\n", "# Count the occurrences of each gender\n", "gender_counts = data['Gender'].value_counts()\n", "\n", "# Plot a pie chart of gender distribution\n", "# import matplotlib.pyplot as plt\n", "\n", "plt.figure(figsize=(6, 6))\n", "plt.pie(gender_counts, labels=gender_counts.index, autopct='%1.1f%%', startangle=90, colors=['lightblue', 'lightgreen'])\n", "plt.title('Gender Distribution in Student Dataset')\n", "plt.show()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "See the book for more plots (scatterplots, pie charts etc.)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## June 2021" ] }, { "cell_type": "code", "execution_count": 118, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.000712900544833318\n" ] }, { "data": { "text/plain": [ "np.float64(0.0007129005448333059)" ] }, "execution_count": 118, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import scipy.stats as stats\n", "print(4*(4/52)*(3/51)*(2/50)*(48/49) + (4/52)*(3/51)*(2/50)*(1/49)) \n", "1-stats.hypergeom.cdf(2, 52, 4, 4) ## Y = 3 success, N = 52 cards, a = 4 acess, n = 4 cards drawn" ] }, { "cell_type": "code", "execution_count": 55, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.002641056422569028\n" ] }, { "data": { "text/plain": [ "np.float64(0.010480744409433727)" ] }, "execution_count": 55, "metadata": {}, "output_type": "execute_result" } ], "source": [ "p = stats.hypergeom.pmf(4, 52, 13, 4)\n", "print(p)\n", "stats.binom.pmf(1,4,p)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "## June 2024" ] }, { "cell_type": "code", "execution_count": 56, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "0.00021572518449585165\n", "1.0\n", "0.6065306597126334\n" ] } ], "source": [ "lambda1 =10/4\n", "print(stats.poisson.pmf(10,lambda1)) ## Q1\n", "lambda2 = 15/6\n", "print(lambda1/lambda2) ## Q2\n", "lambda2min = 15/60 * 2\n", "print(stats.poisson.pmf(0,lambda2min)) ## Q3\n" ] } ], "metadata": { "kernelspec": { "display_name": "Python 3", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.10.16" } }, "nbformat": 4, "nbformat_minor": 2 }