LUNAR
π
Dashboard
Browse
SW09_Theorie_en
JUPYTER
View Source
{ "cells": [ { "cell_type": "markdown", "metadata": {}, "source": [ "# SW09 - Flipped Classroom\n", "\n", "*This Jupyter notebook is intended for practicing the theory accompanying the slides and is used as a βpractical review of the theory inputβ. There are no sample solutions and the file is not corrected and does not have to be handed in.*\n", "\n", "In SW09, the theory notebook includes the code snippets from the lecture notes [SW09_DescriptiveStatistics](SW09_DescriptiveStatistics.pdf) so that they can be easily tested and modified if necessary." ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "\n", "## Chapter 1.1 Descriptive statistics of one-dimensional data\n", "\n", "\n", "### Example 1.1.4\n", "\n", "Determining the mean value of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 1, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "80.02076923076923\n" ] }, { "data": { "text/plain": [ "np.float64(80.02076923076923)" ] }, "execution_count": 1, "metadata": {}, "output_type": "execute_result" } ], "source": [ "from pandas import Series, DataFrame\n", "import pandas as pd\n", "methodeA = Series([79.98, 80.04, 80.02, 80.04, 80.03, 80.03, 80.04, 79.97, 80.05, 80.03, 80.02, 80.00, 80.02])\n", "print(methodeA.mean())\n", "methodeA.mean()\n" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.1.6\n", "\n", "Determining the variance and standard deviation of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 2, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.0005743589743590099)" ] }, "execution_count": 2, "metadata": {}, "output_type": "execute_result" } ], "source": [ "methodeA.var()" ] }, { "cell_type": "code", "execution_count": 3, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(0.023965787580611863)" ] }, "execution_count": 3, "metadata": {}, "output_type": "execute_result" } ], "source": [ "methodeA.std()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.1.7\n", "\n", "Sorting and determining the median of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 4, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "7 79.97\n", "0 79.98\n", "11 80.00\n", "2 80.02\n", "10 80.02\n", "12 80.02\n", "5 80.03\n", "4 80.03\n", "9 80.03\n", "6 80.04\n", "1 80.04\n", "3 80.04\n", "8 80.05\n", "dtype: float64" ] }, "execution_count": 4, "metadata": {}, "output_type": "execute_result" } ], "source": [ "methodeA.sort_values()" ] }, { "cell_type": "code", "execution_count": 5, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(80.03)" ] }, "execution_count": 5, "metadata": {}, "output_type": "execute_result" } ], "source": [ "methodeA.median()" ] }, { "cell_type": "code", "execution_count": 6, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(79.97)" ] }, "execution_count": 6, "metadata": {}, "output_type": "execute_result" } ], "source": [ "methodeB = Series([80.02, 79.94, 79.98, 79.97, 79.97, 80.03, 79.95, 79.97])\n", "methodeB.median()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.1.10\n", "\n", "Determination of lower (`0.25`) and upper (`0.75`) quartiles of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 7, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(80.02)" ] }, "execution_count": 7, "metadata": {}, "output_type": "execute_result" } ], "source": [ "methodeA.quantile(q=.25)" ] }, { "cell_type": "code", "execution_count": 8, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "np.float64(80.04)" ] }, "execution_count": 8, "metadata": {}, "output_type": "execute_result" } ], "source": [ "methodeA.quantile(q=.75)" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.1.11\n", "\n", "Using the different definitions to determine the quartiles of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 9, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "80.02\n", "80.02\n", "80.02\n", "80.02\n", "80.02\n" ] } ], "source": [ "print(methodeA.quantile(q=.25, interpolation=\"linear\"))\n", "print(methodeA.quantile(q=.25, interpolation=\"lower\"))\n", "print(methodeA.quantile(q=.25, interpolation=\"higher\"))\n", "print(methodeA.quantile(q=.25, interpolation=\"midpoint\"))\n", "print(methodeA.quantile(q=.25, interpolation=\"nearest\"))\n" ] }, { "cell_type": "code", "execution_count": 10, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "79.965\n", "79.95\n", "79.97\n", "79.96000000000001\n", "79.97\n" ] } ], "source": [ "print(methodeB.quantile(q=.25, interpolation=\"linear\"))\n", "print(methodeB.quantile(q=.25, interpolation=\"lower\"))\n", "print(methodeB.quantile(q=.25, interpolation=\"higher\"))\n", "print(methodeB.quantile(q=.25, interpolation=\"midpoint\"))\n", "print(methodeB.quantile(q=.25, interpolation=\"nearest\"))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.1.12\n", "\n", "Determination of the quartile difference of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 11, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.020000000000010232" ] }, "execution_count": 11, "metadata": {}, "output_type": "execute_result" } ], "source": [ "q75, q25 = methodeA.quantile(q = [.75, .25])\n", "iqr = q75 - q25\n", "iqr" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Examples 1.1.14 and 1.1.15\n", "\n", "Determination of different quantiles of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 12, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "79.98400000000001\n", "80.034\n" ] } ], "source": [ "print(methodeA.quantile(q=.1))\n", "print(methodeA.quantile(q=.7))" ] }, { "cell_type": "code", "execution_count": 13, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "0.2 3.66\n", "0.4 4.26\n", "0.6 4.98\n", "0.8 5.54\n", "1.0 6.00\n", "dtype: float64" ] }, "execution_count": 13, "metadata": {}, "output_type": "execute_result" } ], "source": [ "import numpy as np\n", "noten = Series([4.2, 2.3, 5.6, 4.5, 4.8, 3.9, 5.9, 2.4, 5.9, 6, 4, 3.7, 5, 5.2, 4.5, 3.6, 5, 6, 2.8, 3.3, 5.5, 4.2, 4.9, 5.1])\n", "noten.quantile(q = np.linspace(start=.2, stop=1, num=5))" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "***\n", "### Chapter 1.1.5 - Graphical method" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.1.17\n", "\n", "Representation of the histogram of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 14, "metadata": {}, "outputs": [ { "data": { "image/png": "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vLR48eIsoevrr7/Wf/7zH8XGxmY5MwfcaVxzAxRQN34cU7x4cVWvXt3h9uZixYpJUpZbedu3b6+MjAy98847DuNTp06VzWZTu3btJElt2rSRJL377rsO82bMmJHrOq//I3fjmYTrdwTlt/bt22d7vClTpkjSTe/8yi+enp56/PHH9emnn2rfvn1Z1p8+fdr+55x+hnnRvn17xcfHa/ny5faxq1evasaMGSpevLgiIiLs865evapZs2bZ52VkZOT6571kyRI99NBDevLJJ/W3v/3NYRk5cqQk6aOPPnK6D8BVOHMDFFC1a9dWixYt1KhRI5UqVUoxMTH65JNPNGTIEPucRo0aSZJefPFFtWnTRp6enurevbs6duyoli1bavTo0frjjz9Ur149ffnll1qzZo2GDRumatWq2bd//PHHNW3aNJ09e1ZNmzbV1q1bdeDAAUm5O6tQokQJNW/eXBMnTlR6eroqVqyoL7/8UkeOHMmHdyWrevXqqU+fPpo7d64SExMVERGhH374QYsWLVLnzp3VsmXLO1LHjSZMmKDNmzerSZMmGjhwoGrXrq1z585p586d2rhxo86dOydJqlatmgIDAzV79mz5+/urWLFiatKkSbbXNuVk0KBBmjNnjvr27asdO3aoSpUq+uSTT/TNN99o2rRp9rN3HTt21AMPPKC///3v+uOPP1S7dm2tXLky2+uibvT999/r0KFDDn///qxixYpq2LChlixZoldffTXXtQP5wn03agHWdf1W8B9//DHb9REREbe8FfyNN94wjRs3NoGBgcbPz8/UrFnTvPnmm+bKlSv2OVevXjUvvPCCKVu2rLHZbA63hV+4cMG89NJLpkKFCsbLy8vUqFHDTJo0yWRmZjocNzU11QwePNiUKlXKFC9e3HTu3Nns37/fSHK4Nfv6bdynT5/O0s/x48dNly5dTGBgoAkICDDdunUzJ0+ezPF28hv3kdMt2tm9T9lJT08348aNM1WrVjVeXl4mJCTEjBo1yly+fDlXx8lOTseuXLlytrfoSzKDBw92GEtISDCDBw82ISEhxsvLywQHB5tHHnnEzJ0712HemjVrTO3atU2RIkUcbsnOqYY+ffqYypUrZzlWv379TJkyZYy3t7epW7dutrd2nz171jz99NOmRIkSJiAgwDz99NNm165dt7wV/IUXXjCSzOHDh3OcM3bsWCPJ7NmzJ8c5wJ1gM8YNV6UBKNB2796tBg0a6MMPP1TPnj3dXQ4A5AnX3AB/cZcuXcoyNm3aNHl4eNzyG3wBoCDimhvgL27ixInasWOHWrZsqSJFimjdunVat26dBg0alOX7XACgMOBjKeAvLioqSuPGjdMvv/yilJQUhYaG6umnn9bo0aNVpAj//QOg8CHcAAAAS+GaGwAAYCmEGwAAYCl/uQ/UMzMzdfLkSfn7++fLs2gAAIDrGWN04cIFVahQIctDYm/0lws3J0+e5A4QAAAKqWPHjqlSpUo3nfOXCzfXv4b82LFjKlGihJurAQAAuZGcnKyQkBCHhwHn5C8Xbq5/FFWiRAnCDQAAhUxuLinhgmIAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGAphBsAAGApbg03s2bN0r333mt/FEJ4eLjWrVt3021WrFihmjVrytfXV3Xr1tXatWvvULUAAKAwcGu4qVSpkiZMmKAdO3YoJiZGDz/8sDp16qSff/452/nffvutevToof79+2vXrl3q3LmzOnfurH379t3hygEAQEFlM8YYdxfxZ6VKldKkSZPUv3//LOuefPJJpaam6vPPP7ePNW3aVPXr19fs2bNztf/k5GQFBAQoKSmJB2cCAFBI5OXf7wJzzU1GRoaWLVum1NRUhYeHZztn+/btatWqlcNYmzZttH379jtRIgAAKASKuLuAn376SeHh4bp8+bKKFy+uVatWqXbt2tnOjY+PV1BQkMNYUFCQ4uPjc9x/Wlqa0tLS7K+Tk5NdUzgAuEhsbKzOnDnj7jLyJC0tTT4+Pu4uI88KY91lypRRaGiou8soVNwebsLCwrR7924lJSXpk08+UZ8+fbR169YcA05eRUZGaty4cS7ZFwC4WmxsrMJq1tLlSxfdXUre2Dwkk+nuKvKuENbt61dU+3/7lYCTB24PN97e3qpevbokqVGjRvrxxx81ffp0zZkzJ8vc4OBgJSQkOIwlJCQoODg4x/2PGjVKw4cPt79OTk5WSEiIi6oHgNtz5swZXb50UaX/Z4S8SheO302Xfo9R0lcfFqqapcJZd/rZYzr7+WSdOXOGcJMHbg83N8rMzHT4GOnPwsPDFR0drWHDhtnHoqKicrxGR5J8fHwK3SlIAH89XqVD5BNc3d1l5Er62WOSClfNUuGtG3nn1nAzatQotWvXTqGhobpw4YKWLl2qLVu2aMOGDZKk3r17q2LFioqMjJQkDR06VBEREZo8ebI6dOigZcuWKSYmRnPnznVnGwAAoABxa7g5deqUevfurbi4OAUEBOjee+/Vhg0b9Oijj0q69lm0h8f/3dDVrFkzLV26VP/85z/1j3/8QzVq1NDq1atVp04dd7UAAAAKGLeGm3nz5t10/ZYtW7KMdevWTd26dcunigAAQGFXYL7nBgAAwBUINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFIINwAAwFLcGm4iIyN1//33y9/fX+XKlVPnzp21f//+m26zcOFC2Ww2h8XX1/cOVQwAAAo6t4abrVu3avDgwfruu+8UFRWl9PR0tW7dWqmpqTfdrkSJEoqLi7MvR48evUMVAwCAgq6IOw++fv16h9cLFy5UuXLltGPHDjVv3jzH7Ww2m4KDg/O7PAAAUAgVqGtukpKSJEmlSpW66byUlBRVrlxZISEh6tSpk37++ecc56alpSk5OdlhAQAA1lVgwk1mZqaGDRumBx54QHXq1MlxXlhYmObPn681a9boww8/VGZmppo1a6bjx49nOz8yMlIBAQH2JSQkJL9aAAAABUCBCTeDBw/Wvn37tGzZspvOCw8PV+/evVW/fn1FRERo5cqVKlu2rObMmZPt/FGjRikpKcm+HDt2LD/KBwAABYRbr7m5bsiQIfr888+1bds2VapUKU/benl5qUGDBjp06FC26318fOTj4+OKMgEAQCHg1jM3xhgNGTJEq1at0qZNm1S1atU87yMjI0M//fSTypcvnw8VAgCAwsatZ24GDx6spUuXas2aNfL391d8fLwkKSAgQH5+fpKk3r17q2LFioqMjJQkvf7662ratKmqV6+uxMRETZo0SUePHtWAAQPc1gcAACg43BpuZs2aJUlq0aKFw/iCBQvUt29fSVJsbKw8PP7vBNP58+c1cOBAxcfHq2TJkmrUqJG+/fZb1a5d+06VDQAACjC3hhtjzC3nbNmyxeH11KlTNXXq1HyqCAAAFHYF5m4pAAAAVyDcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAASyHcAAAAS3FruImMjNT9998vf39/lStXTp07d9b+/ftvud2KFStUs2ZN+fr6qm7dulq7du0dqBYAABQGbg03W7du1eDBg/Xdd98pKipK6enpat26tVJTU3Pc5ttvv1WPHj3Uv39/7dq1S507d1bnzp21b9++O1g5AAAoqIq48+Dr1693eL1w4UKVK1dOO3bsUPPmzbPdZvr06Wrbtq1GjhwpSRo/fryioqL0zjvvaPbs2fleMwAAKNgK1DU3SUlJkqRSpUrlOGf79u1q1aqVw1ibNm20ffv2bOenpaUpOTnZYQEAANZVYMJNZmamhg0bpgceeEB16tTJcV58fLyCgoIcxoKCghQfH5/t/MjISAUEBNiXkJAQl9YNAAAKlgITbgYPHqx9+/Zp2bJlLt3vqFGjlJSUZF+OHTvm0v0DAICCxa3X3Fw3ZMgQff7559q2bZsqVap007nBwcFKSEhwGEtISFBwcHC28318fOTj4+OyWgEAQMHm1jM3xhgNGTJEq1at0qZNm1S1atVbbhMeHq7o6GiHsaioKIWHh+dXmQAAoBBx65mbwYMHa+nSpVqzZo38/f3t180EBATIz89PktS7d29VrFhRkZGRkqShQ4cqIiJCkydPVocOHbRs2TLFxMRo7ty5busDAAAUHG49czNr1iwlJSWpRYsWKl++vH1Zvny5fU5sbKzi4uLsr5s1a6alS5dq7ty5qlevnj755BOtXr36phchAwCAvw63nrkxxtxyzpYtW7KMdevWTd26dcuHigAAQGFXYO6WAgAAcAXCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBTCDQAAsBSnws3vv//u6joAAABcwqlwU716dbVs2VIffvihLl++7OqaAAAAnOZUuNm5c6fuvfdeDR8+XMHBwXr22Wf1ww8/uLo2AACAPHMq3NSvX1/Tp0/XyZMnNX/+fMXFxenBBx9UnTp1NGXKFJ0+fdrVdQIAAOTKbV1QXKRIEXXt2lUrVqzQ22+/rUOHDunll19WSEiIevfurbi4OFfVCQAAkCu3FW5iYmL0/PPPq3z58poyZYpefvllHT58WFFRUTp58qQ6derkqjoBAABypYgzG02ZMkULFizQ/v371b59e33wwQdq3769PDyuZaWqVatq4cKFqlKliitrBQAAuCWnws2sWbP0zDPPqG/fvipfvny2c8qVK6d58+bdVnEAAAB55VS4OXjw4C3neHt7q0+fPs7sHgAAwGlOXXOzYMECrVixIsv4ihUrtGjRotsuCgAAwFlOhZvIyEiVKVMmy3i5cuX01ltv3XZRAAAAznIq3MTGxqpq1apZxitXrqzY2NjbLgoAAMBZToWbcuXKae/evVnG9+zZo9KlS992UQAAAM5yKtz06NFDL774ojZv3qyMjAxlZGRo06ZNGjp0qLp37+7qGgEAAHLNqbulxo8frz/++EOPPPKIihS5tovMzEz17t2ba24AAIBbORVuvL29tXz5co0fP1579uyRn5+f6tatq8qVK7u6PgAAgDxxKtxcd/fdd+vuu+92VS0AAAC3zalwk5GRoYULFyo6OlqnTp1SZmamw/pNmza5pDgAAIC8circDB06VAsXLlSHDh1Up04d2Ww2V9cFAADgFKfCzbJly/Txxx+rffv2rq4HAADgtjh1K7i3t7eqV6/u6loAAABum1PhZsSIEZo+fbqMMa6uBwAA4LY49bHU119/rc2bN2vdunW655575OXl5bB+5cqVLikOAAAgr5wKN4GBgerSpYurawEAALhtToWbBQsWuLoO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Sfb1iYmJxsfHx3z00Uc57rdx48Zm8ODBDvVXqFDBREZG2vfh5eVlVqxYYZ/z66+/Gklm+/btLunNGPf192ebN2/O13BTEHq87uOPPzbe3t4mPT3d2XayKEj97dmzx0gyhw4dcradbLm7x127dpmKFSuauLi4fAk37uwvIiLCDB061EWdGMPHUje4cuWKPvzwQz3zzDOy2WxKS0uTzWZz+DIiX19feXh46Ouvv852H1evXlVGRoZ8fX0dxv38/HLcJiEhQV988YX69+/vumaycSf7a9asmT777DOdOHFCxhht3rxZBw4cUOvWrfOnuf/vTvWYlpZm39d1Hh4e8vHxyXG/zmrWrJmio6N14MABSdKePXv09ddfq127dpKkI0eOKD4+Xq1atbJvExAQoCZNmmj79u3Z7vPKlSvasWOHwzYeHh5q1aqVfZsdO3YoPT3dYU7NmjUVGhqa434LU393UkHqMSkpSSVKlFCRIq77HteC0l9qaqoWLFigqlWrKiQkxFXtSXJvjxcvXtRTTz2lmTNn5vig6Nvl7p/hkiVLVKZMGdWpU0ejRo3SxYsXne6lQHxDcUGyevVqJSYmqm/fvpKkpk2bqlixYnr11Vf11ltvyRijv//978rIyFBcXFy2+/D391d4eLjGjx+vWrVqKSgoSB999JG2b9+u6tWrZ7vNokWL5O/vr65du+ZXa5LubH8zZszQoEGDVKlSJRUpUkQeHh5677331Lx5c0v0eP0f+VGjRmnOnDkqVqyYpk6dquPHj+e4X2f9/e9/V3JysmrWrClPT09lZGTozTffVM+ePSVJ8fHxkmR/bMl1QUFB9nU3OnPmjDIyMrLd5vr1CvHx8fL29s7ysNmb7dcZ7urvTiooPZ45c0bjx4/XoEGDbrclB+7u791339Urr7yi1NRUhYWFKSoqSt7e3q5qT5J7e3zppZfUrFkzderUyZUtOXBnf0899ZQqV66sChUqaO/evXr11Ve1f/9+rVy50qleOHNzg3nz5qldu3b2R6qXLVtWK1as0H//+18VL15cAQEBSkxMVMOGDR2eeXWjxYsXyxijihUrysfHR//5z3/Uo0ePHLeZP3++evbsmeVMgavdyf5mzJih7777Tp999pl27NihyZMna/Dgwdq4caMlevTy8tLKlSt14MABlSpVSkWLFtXmzZvVrl27m+7XGR9//LGW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+7FGjx6tyZMnKyYmRkWKFNEzzzxjX7dq1SoNHTpUI0aM0L59+/Tss8+qX79+2rx5syQpMzNTXbt2lbe3t77//nvNnj1br776qkMv6enpatOmjfz9/fXVV1/pm2++UfHixdW2bVtduXLFPm/z5s26ePGiWrVqpV69emnZsmVKTU3Nz7cZwK04/chNAPiTiIgI8+CDD9pfX7161RQrVsw8/fTT9rG4uDgjyWzfvt2MHz/etG7d2mEfx44dc3iye0REhBk6dKjDnOtPud64caN97IsvvjCSzKVLl4wxxjRr1swMHDjQYbtu3bqZ9u3bG2OuPUG+SJEi5sSJE/b169atc3jS8uLFi01YWJjD0+PT0tKMn5+f2bBhg33sqaeeMsOGDbO/rlevnsufKA4gbzhzA8Bl7r33XvufPT09Vbp0adWtW9c+FhQUJEk6deqU9uzZo82bN6t48eL2pWbNmpKkw4cP5+lY5cuXt+9Xkn799Vc98MADDvMfeOAB/frrr/b1ISEhqlChgn19eHi4w/w9e/bo0KFD8vf3t9dXqlQpXb582V5fYmKiVq5cqV69etm369WrFx9NAW5WxN0FALAOLy8vh9c2m81hzGazSbr2sVBKSoo6duyot99+O8t+roeV3B7rz/t1lZSUFDVq1EhLlizJsq5s2bKSpKVLl+ry5ctq0qSJfZ0xRpmZmTpw4IDuvvtul9UDIPcINwDcomHDhvr0009VpUoVFSmS/a8ib29vZWRk5HnftWrV0jfffKM+ffrYx7755hvVrl3bvv7YsWOKi4uzB6nvvvsuS33Lly9XuXLlVKJEiWyPM2/ePI0YMUJ9+/Z1GH/++ec1f/58TZgwIc+1A7h9fCwFwC0GDx6sc+fOqUePHvrxxx91+PBhbdiwQf369bMHmipVquj777/XH3/8oTNnzuT6zMzIkSO1cOFCzZo1SwcPHtSUKVO0cuVKvfzyy5KkVq1a6e6771afPn20Z88effXVVxo9erTDPnr27KkyZcqoU6dO+uqrr3TkyBFt2bJFL774oo4fP67du3dr586dGjBggOrUqeOw9OjRQ4sWLdLVq1dd+6YByBXCDQC3qFChgr755htlZGSodevWqlu3roYNG6bAwEB5eFz71fTyyy/L09NTtWvXVtmyZRUbG5urfXfu3FnTp0/Xv//9b91zzz2aM2eOFixYoBYtWkiSPDw8tGrVKl26dEmNGzfWgAED9Oabbzrso2jRotq2bZtCQ0PVtWtX1apVS/3799fly5dVokQJzZs3T7Vr17ZfJ/RnXbp00alTp7R27drbe5MAOMVmjDHuLgIAAMBVOHMDAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAshXADAAAs5f8BTE87wyA4r18AAAAASUVORK5CYII=", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "from pandas import DataFrame, Series\n", "import matplotlib.pyplot as plt\n", "\n", "methodeA = Series([79.98, 80.04, 80.02, 80.04, 80.03, 80.03,\n", "80.04, 79.97, 80.05, 80.03, 80.02, 80.00, 80.02])\n", "\n", "methodeB = Series([80.02, 79.94, 79.98, 79.97, 79.97, 80.03,\n", "79.95, 79.97])\n", "\n", "methodeA.plot(kind=\"hist\", edgecolor=\"black\")\n", "\n", "plt.title(\"Histogram of method A\")\n", "plt.xlabel(\"methodeA\")\n", "plt.ylabel(\"Frequency\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.1.18\n", "\n", "Representation of the normalized histogram of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 15, "metadata": {}, "outputs": [ { "data": { "image/png": "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zs3N1ddff60uXbqoRo0a9vaqVauqV69eWrdundLT0yVJy5YtU1xcnBo3bmzvFxISot69exc6dlGvvzOvX2xsrOLi4uzP869mue222xQVFVWg/XL7SbrwHm7WrJluvvlme5u/v78GDhyo/fv36+eff77s+pdz7733Orz2+TX16dNH5cqVc2g/d+6c/UrB4r7HiuP+++9XxYoV7c/z30v5+yX/fdqvXz+FhITY+zVs2FC33367/f94bm6uli9fri5dujjs57p16xZ4TRcvXqy8vDzdd999DvWHh4fr+uuvL1b98+fPV1hYmG699VZJFz46u//++7Vw4ULl5uYWe/4oGwgycJvRo0fr/PnzRZ4rc+DAAXl4eKhWrVoO7eHh4QoODtaBAwcc2mNiYorc1sU/HKX/+2UcGRlZoD0vL8/hF9z333+vdu3a2T/fDw0N1XPPPSdJJQ4yy5Yt09ixYzVy5Eh169bN3r53715JF35xhoaGOjy+/vprHT9+XJLsc7/++usLjF27du1i13HpfpGkihUr6s8//yxynZiYGA0bNkzvvPOOKleurA4dOmjq1KnF2hd//PGHsrKyCq2xbt26ysvLs5/ncODAgQKvvaRC2/LrKowzr58z7xNJl91P+XMoaq75y0uqpLUW9z1WkhryQ03+tvLnV9Q+OHHihDIzM/XHH3/ozJkzxXo/7927V8YYXX/99QXq37179xXrz83N1cKFC3XrrbcqOTlZSUlJSkpKUvPmzXXs2DGtXLmy2PNH2VDuyl2A0lGjRg316dNHM2fO1IgRI4rsV9wvw7r4L+9LFXXlUFHtxhhJ0r59+9S2bVvVqVNHkyZNUmRkpLy9vfXll19q8uTJysvLK1ZtF0tOTlbv3r11++23a/z48Q7L8sebN2+ewsPDC6x78V/arnCl+Rfl9ddfV79+/fTJJ5/o66+/1hNPPKGJEydqw4YNqlatmktrLK7CXn9nX7+Svk/coaS1uvI95o79kpeXJ5vNpq+++qrQ7fv7+192/VWrViklJUULFy7UwoULCyyfP3++2rdv77J6UfoIMnCr0aNH6/3339crr7xSYFl0dLTy8vK0d+9e+1+w0oVvQE1NTVV0dHSp1/fZZ58pOztbn376qcNfn84cfr/YmTNn1LVrVwUHB+uDDz4ocElzzZo1JUlVqlRRu3btihwnf+75f11fbM+ePSWqzVkNGjRQgwYNNHr0aP3www9q1aqVpk+fbg9nhQXQ0NBQlS9fvtAaf/nlF3l4eNiPKERHRxf63R7OfN+Hq18/Z0VHRxc51/zlV1tx32NS8f+IKEr+/IraB5UrV1aFChXk6+srPz+/Yr2fa9asKWOMYmJidMMNNzhd0/z581WlShX7FVkXW7x4sZYsWaLp06df9g8jlC18tAS3qlmzpvr06aMZM2bo6NGjDss6duwoSQW+qn3SpEmSpDvvvLPU68v/i+/ivzDT0tKUmJhYovEeeeQR/frrr1qyZInDuQX5OnTooMDAQE2YMEE5OTkFlv/xxx+SLpxT0rhxY82ZM8fh45EVK1b8pfMuiiM9Pd3hHCLpQqjx8PBwuHS9QoUKSk1Ndejn6emp9u3b65NPPnG4fPrYsWNasGCBbr75ZgUGBkq6sC/Wr1+v7du32/udOnXKqctkXf36Oatjx47atGmT1q9fb2/LzMzUzJkzVb16dafOZ3KV4r7HpAuvoaQCr2NxXfw+vXiMXbt26euvv7b/H/f09FSHDh20dOlSHTx40N5v9+7dWr58ucOYXbt2laenp8aOHVvgyI8xRidPniyynjNnzmjx4sW666671L179wKPxx9/XKdPn9ann35aovnCPTgiA7cbNWqU5s2bpz179qhevXr29kaNGqlv376aOXOmUlNT1bp1a23atElz5sxRly5d7Cfqlab27dvL29tbnTp10j/+8Q9lZGRo1qxZqlKlSpEnKRfliy++0Ny5c9WtWzft3LlTO3futC/z9/dXly5dFBgYqGnTpumBBx7QjTfeqB49eig0NFQHDx7UF198oVatWumtt96SJE2cOFF33nmnbr75Zj300EM6deqUpkyZonr16ikjI8Ol++Fiq1at0uOPP657771XN9xwg86fP6958+bJ09PT4XyfJk2a6JtvvtGkSZMUERGhmJgYNW/eXOPHj9eKFSt0880367HHHlO5cuU0Y8YMZWdn69VXX7Wv/8wzz+j999/X7bffrsGDB6tChQp65513FBUVpVOnThXraIErX7+SGDFihD744AMlJCToiSeeUEhIiObMmaPk5GR9/PHHbvmSQWfeY02aNJEkPfHEE+rQoYM8PT3Vo0cPp7b32muvKSEhQXFxcXr44Yd15swZTZkyRUFBQQ63Pxg7dqyWLVumW265RY899pjO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denSRXv27HHo06ZNG9lsNofHI4884qaKAQBAWeLWILN27VoNGjRIGzZs0IoVK5STk6P27dsrMzPTod+AAQOUkpJif7z66qtuqhgAAJQl5dy58WXLljk8nz17tqpUqaItW7YoPj7e3l6+fHmFh4df7fIAAEAZV6bOkUlLS5MkhYSEOLTPnz9flStXVv369TVy5EhlZWW5ozwAAFDGuPWIzMXy8vI0dOhQtWrVSvXr17e39+rVS9HR0YqIiNDOnTv17LPPas+ePVq8eHGh42RnZys7O9v+PD09vdRrBwAA7lFmgsygQYO0a9curVu3zqF94MCB9n83aNBAVatWVdu2bbVv3z7VrFmzwDgTJ07U2LFjS71eAADgfmXio6XHH39cn3/+uVavXq1q1apdtm/z5s0lSUlJSYUuHzlypNLS0uyPQ4cOubxeAABQNrj1iIwxRoMHD9aSJUu0Zs0axcTEXHGd7du3S5KqVq1a6HIfHx/5+Pi4skwAAFBGuTXIDBo0SAsWLNAnn3yigIAAHT16VJIUFBQkPz8/7du3TwsWLFDHjh1VqVIl7dy5U08++aTi4+PVsGFDd5YOAADKALcGmWnTpkm68KV3F0tMTFS/fv3k7e2tb775Rm+88YYyMzMVGRmpbt26afTo0W6oFgAAlDVu/2jpciIjI7V27dqrVA0AALCaMnGyLwAAQEkQZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGURZAAAgGU5HWT69u2rb7/91iUbnzhxom666SYFBASoSpUq6tKli/bs2ePQ5+zZsxo0aJAqVaokf39/devWTceOHXPJ9gEAgLU5HWTS0tLUrl07XX/99Zow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IAMAACyLIAMAACyLIAMAACyLIAMAACyLIAMAACyLIAMAACyLIAMAACyLIAMAACyrTAeZF198UTabzeFRp04dd5cFAADKiHLuLuBK6tWrp2+++cb+vFy5Ml8yAAC4Ssp8KihXrpzCw8PdXQYAACiDyvRHS5K0d+9eRUREqEaNGurdu7cOHjzo7pIAAEAZUaaPyDRv3lyzZ89W7dq1lZKSorFjx+qWW27Rrl27FBAQUOg62dnZys7Otj9PT0+/WuUCAICrrEwHmYSEBPu/GzZsqObNmys6OlqLFi3Sww8/XOg6EydO1NixY69WiQAAwI3K/EdLFwsODtYNN9ygpKSkIvuMHDlSaWlp9sehQ4euYoUAAOBqslSQycjI0L59+1S1atUi+/j4+CgwMNDhAQAArk1lOsgMHz5ca9eu1f79+/XDDz/onnvukaenp3r27Onu0gAAQBlQps+ROXz4sHr27KmTJ08qNDRUN998szZs2KDQ0FB3lwYAAMqAMh1kFi5c6O4SAABAGVamP1oCAAC4HIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLIIMAACwLEsEmalTp6p69ery9fVV8+bNtWnTJneXBAAAyoAyH2Q+/PBDDRs2TGPGjNHWrVvVqFEjdejQQcePH3d3aQAAwM3KfJCZNGmSBgwYoP79+ys2NlbTp09X+fLl9d5777m7NAAA4GZlOsicO3dOW7ZsUbt27extHh4eateundavX+/GygAAQFlQzt0FXM6JEyeUm5ursLAwh/awsDD98ssvha6TnZ2t7Oxs+/O0tDRJUnp6uktry8jIuLC9o0nKO3fWpWOXppyThyRZq+6cU4clSVu2bLHv97Juz549ktjPV4OHh4fy8vLcXUaxWfK9YcWfG9R8VeT/3MjIyHD579n88Ywxl+9oyrAjR44YSeaHH35waH/66adNs2bNCl1nzJgxRhIPHjx48ODB4xp4HDp06LJZoUwfkalcubI8PT117Ngxh/Zjx44pPDy80HVGjhypYcOG2Z/n5eXp1KlTqlSpkmw2m8tqS09PV2RkpA4dOqTAwECXjVuWXOtzvNbnJ137c2R+1netz5H5lZwxRqdPn1ZERMRl+5XpIOPt7a0mTZpo5cqV6tKli6QLwWTlypV6/PHHC13Hx8dHPj4+Dm3BwcGlVmNgYOA1+ea82LU+x2t9ftK1P0fmZ33X+hyZX8kEBQVdsU+ZDjKSNGzYMPXt21dNmzZVs2bN9MYbbygzM1P9+/d3d2kAAMDNynyQuf/++/XHH3/ohRde0NGjR9W4cWMtW7aswAnAAADgf0+ZDzKS9Pjjjxf5UZK7+Pj4aMyYMQU+xrqWXOtzvNbnJ137c2R+1netz5H5lT6bMVe6rgkAAKBsKtNfiAcAAHA5BBkAAGBZBBkAAGBZBBkAAGBZ/5NBpnr16rLZbAUegwYNkiTt27dP99xzj0JDQxUYGKj77ruvwLcLX+r06dMaOnSooqOj5efnp5YtW+rHH3906FPYNm02m1577bVrYn4ZGRl6/PHHVa1aNfn5+dnvVu5q7prfsWPH1K9fP0VERKh8+fK64447tHfvXpfPT5Jyc3P1/PPPKyYmRn5+fqpZs6bGjRvncM8RY4xeeOEFVa1aVX5+fmrXrl2x6pk6daqqV68uX19fNW/eXJs2bXJYfvbsWQ0aNEiVKlWSv7+/unXrdsX9Z6X5zZw5U23atFFgYKBsNptSU1NdOrd87prjqVOnNHjwYNWuXVt+fn6KiorSE088Yb/vnNXnJ0n/+Mc/VLNmTfn5+Sk0NFSdO3cu8v57VpzfxeMnJCTIZrNp6dKlrpqanTvn2KZNmwI/wx955JGSTaTEN0KysOPHj5uUlBT7Y8WKFUaSWb16tcnIyDA1atQw99xzj9m5c6fZuXOn6dy5s7nppptMbm5ukWPed999JjY21qxdu9bs3bvXjBkzxgQGBprDhw/b+1y8zZSUFPPee+8Zm81m9u3bd03Mb8CAAaZmzZpm9erVJjk52cyYMcN4enqaTz75xPLzy8vLMy1atDC33HKL2bRpk/nll1/MwIEDTVRUlMnIyHDp/Iwx5p///KepVKmS+fzzz01ycrL56KOPjL+/v3nzzTftfV5++WUTFBRkli5danbs2GHuvvtuExMTY86cOVPkuAsXLjTe3t7mvffeM//973/NgAEDTHBwsDl27Ji9zyOPPGIiIyPNypUrzebNm02LFi1My5Ytr5n5TZ482UycONFMnDjRSDJ//vmnS+fm7jn+9NNPpmvXrubTTz81SUlJZuXKleb666833bp1uybmZ4wxM2bMMGvXrjXJyclmy5YtplOnTiYyMtKcP3/+mphfvkmTJpmEhAQjySxZssRlcysLc2zdurUZMGCAw8/ytLS0Es3jfzLIXGrIkCGmZs2aJi8vzyxfvtx4eHg47NDU1FRjs9nMihUrCl0/KyvLeHp6ms8//9yh/cYbbzSjRo0qcrudO3c2t912m2smcRlXa3716tUzL7300mX7lIarMb89e/YYSWbXrl325bm5uSY0NNTMmjXL5XO68847zUMPPeTQ1rVrV9O7d29jzIVgFR4ebl577TX78tTUVOPj42M++OCDIsdt1qyZGTRokP15bm6uiYiIMBMnTrSP4eXlZT766CN7n927dxtJZv369S6ZmzHum9/FVq9eXapBpizMMd+iRYuMt7e3ycnJKel0CihL89uxY4eRZJKSkko6nQLcPb9t27aZ6667zqSkpJRakHHnHFu3bm2GDBniknn8T360dLFz587p/fff10MPPSSbzabs7GzZbDaHL/fx9fWVh4eH1q1bV+gY58+fV25urnx9fR3a/fz8ilzn2LFj+uKLL/Twww+7bjKFuJrza9mypT799FMdOXJExhitXr1av/76q9q3b186k9PVm192drZ9rHweHh7y8fEpcty/omXLllq5cqV+/fVXSdKOHTu0bt06JSQkSJKSk5N19OhRtWvXzr5OUFCQmjdvrvXr1xc65rlz57RlyxaHdTw8PNSuXTv7Olu2bFFOTo5Dnzp16igqKqrIca00v6upLM0xLS1NgYGBKlfOdd+BWlbml5mZqcTERMXExCgyMtJV03Pr/LKystSrVy9NnTq1yBsku4K7X8P58+ercuXKql+/vkaOHKmsrKwSzcMS3+xbmpYuXarU1FT169dPktSiRQtVqFBBzz77rCZMmCBjjEaMGKHc3FylpKQUOkZAQIDi4uI0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AAAW8j99jgwAALA2ggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggwAALAsggyAMmvNmjWy2WxKTU11+dg2m01Lly51+bgAri6CDIAyoU2bNho6dKi7y7iiw4cPy9vbW/Xr13d3KQBEkAEAp8yePVv33Xef/eZ5ANyLIAPAaW3atNHgwYM1dOhQVaxYUWFhYZo1a5YyMzPVv39/BQQEqFatWvrqq6/s6+zatUsJCQny9/dXWFiYHnjgAZ04cUKS1K9fP61du1ZvvvmmbDabbDab9u/fb193y5Ytatq0qcqXL6+WLVtqz549DvVMmzZNNWvWlLe3t2rXrq158+Y5LN+7d6/i4+Pl6+ur2NhYrVixosCcDh06pPvuu0/BwcEKCQlR586dHWqQLtxlOTExUQ888IB69eqld9999y/uSQB/FUEGQInMmTNHlStX1qZNmzR48GA9+uijuvfee9WyZUtt3bpV7du31wMPPKCsrCylpqbqtttu09/+9jdt3rxZy5Yt07Fjx3TfffdJkt58803FxcVpwIABSklJUUpKiiIjI+3bGjVqlF5//XVt3rxZ5cqV00MPPWRftmTJEg0ZMkRPPfWUdu3apX/84x/q37+/Vq9eLUnKy8tT165d5e3trY0bN2r69Ol69tlnHeaSk5OjDh06KCAgQN99952+//57+fv764477tC5c+fs/VavXq2srCy1a9dOffr00cKFC5WZmVmauxnAlZToVpMA/qe1bt3a3Hzzzfbn58+fNxUqVDAPPPCAvS0lJcVIMuvXrzfjxo0z7du3dxjj0KFDDncwb926tRkyZIhDn/w7OX/zzTf2ti+++MJIMmfOnDHGGNOyZUszYMAAh/Xuvfde07FjR2PMhTullytXzhw5csS+/KuvvnK4o/C8efNM7dq1He6Snp2dbfz8/Mzy5cvtbb169TJDhw61P2/UqJHL75oNwDkckQFQIg0bNrT/29PTU5UqVVKDBg3sbWFhYZKk48ePa8eOHVq9erX8/f3tjzp16kiS9u3b59S2qlatah9Xknbv3q1WrVo59G/VqpV2795tXx4ZGamIiAj78ri4OIf+O3bsUFJSkgICAuz1hYSE6OzZs/b6UlNTtXjxYvXp08e+Xp8+ffh4CXCzcu4uAIA1eXl5OTy32WwObTabTdKFj3YyMjLUqVMnvfLKKwXGyQ8mxd3WxeO6SkZGhpo0aaL58+cXWBYaGipJWrBggc6ePavmzZvblxljlJeXp19//VU33HCDy+oBUHwEGQCl7sYbb9THH3+s6tWrq1y5wn/seHt7Kzc31+mx69atq++//159+/a1t33//feKjY21Lz906JBSUlLsoWnDhg0F6vvwww9VpUoVBQYGFrqdd999V0899ZT69evn0P7YY4/pvffe08svv+x07QD+Oj5aAlDqBg0apFOnTqlnz5768ccftW/fPi1fvlz9+/e3h5fq1atr48aN2r9/v06cOFHsIy5PP/20Zs+erWnTpmnv3r2aNGmSFi9erOHDh0uS2rVrpxtuuEF9+/bVjh079N1332nUqFEOY/Tu3VuVK1dW586d9d133yk5OVlr1qzRE088ocOHD2v79u3aunWr/v73v6t+/foOj549e2rOnDk6f/68a3cagGIhyAAodREREfr++++Vm5ur9u3bq0GDBho6dKiCg4Pl4XHhx9Dw4cPl6emp2NhYhYaG6uDBg8Uau0uXLnrzzTf1r3/9S/Xq1dOMGTOUmJioNm3aSJI8PDy0ZMkSnTlzRs2aNdPf//53/fOf/3QYo3z58vr2228VFRWlrl27qm7dunr44Yd19uxZBQYG6t1331VsbKz9vJ6L3XPPPTp+/Li+/PLLv7aTAJSIzRhj3F0EAABASXBEBgAAWBZBBgAAWBZBBgAAWBZBBgAAWBZBBgAAWBZBBgAAWBZBBgAAWBZBBgAAWBZBBgAAWBZBBgAAWBZBBgAAWBZBBgAAWNb/AyQN8ax8EHWFAAAAAElFTkSuQmCC", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "methodeA.plot(kind=\"hist\", density=True, edgecolor=\"black\")\n", "\n", "plt.title(\"Normalized histogram of methode A\")\n", "plt.xlabel(\"methodeA\")\n", "plt.ylabel(\"Relative frequency\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.1.19\n", "\n", "Boxplot of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 16, "metadata": {}, "outputs": [ { "data": { "image/png": "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s33HHXf4PNeF/jz+8Y9/SNIZ7dLS0ny2DcPQm2++qT59+sgwDJ/6U1JS5HK5tH379nPW/H//939au3athg4dau4bMGCAbDabXn/99Qs7caCBYKEwcJm67bbbfBYKDx06VL/61a80duxY9e7dW4GBgTpw4ICcTqeaNm3q0/fGG2+UJB04cMDcFxgYqFdffVVdunRRcHCwFi1aJJvNdsbzBgQE+AQTSbrhhhsk6axXLJWXl6u6ulrt2rU749iNN94or9ergwcPKj4+/sJO/jTBwcHmmpdaYWFhuu666844h7CwMB09etTcLioq0qeffnpG/1plZWUXXcPVV1/t81wX+vM4cOCAAgICFBcX59Pu9NevvLxclZWVWrBggRYsWHBR9S9fvlzfffedfvWrX2nfvn3m/sTERC1dulRPPPHEOfsDDQmhBmggAgIC1L17d/35z39WUVHRRQWEtWvXSpJOnjypoqIixcbGXuoyfxZ2u92v/caPFuV6vV7de++9mjx5cp1tawPbxdbwc6pdyPzb3/5Wqampdba55ZZbzjlG7eXbv/71r+s8/uWXX54RYoGGilADNCDff/+9JOn48eOSpNatW2v9+vU6duyYz+zA7t27zeO1Pv30Uz3//PMaMWKEdu7cqccee0yfffaZwsLCfJ7D6/Xqyy+/9Hmz37t3ryQpJiamzrrCw8N11VVXac+ePWcc2717twICAhQdHS1Jdc4O/Zzi4uJ0/PhxJScnn7PdpajrQn8erVu3ltfrVXFxsc/szOmvX+2VUR6P57z112X//v3asmWLxo4dq7vuusvnmNfr1SOPPKJly5bpD3/4g99jA5cj1tQADcR3332n9957T4GBgebHGffff788Ho/mzJnj0/bll1+WzWZTr169zL7Dhw+X0+nUn//8Zy1evFilpaUaP358nc/14/EMw9CcOXPUuHFj9ejRo872drtdPXv21FtvveXzEVVpaamWLVumbt26KTQ0VJLMe6NUVlZe1Ovgr0GDBqmwsNCcpfqxyspKMyheddVVP7muC/151P45e/Zsn3azZs3y2bbb7RowYIDefPNN7dq164znKy8vP2c9tbM0kydP1sCBA30egwYN0l133cWN+GApzNQAl6l3333X/Bd+WVmZli1bpqKiImVkZJgBoU+fPurevbueffZZffXVV+rYsaPee+89vfXWW0pL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x05XUVEhj8dTZ5/du3eb2+PHj1dSUpI5A3Q+mZmZSk9PN7fdbreio6MvqC+As6udoZk1OEFtWjSp52p+cPI7j745ekLXXe1QcGN7fZdj2ld2XGnLd15Ws1qAlfkVal5//XUtXbpUy5YtU3x8vHbu3Km0tDQ5nU6lpqb+XDXq7bff1saNG7Vjx44L7hMUFKSgoKCfrSbgStemRRPd3DKsvsswdY6p7woA1De/FgpPmjRJGRkZGjJkiDp06KBHHnlE48ePV25uriSZHwuVlpb69CstLT3rR0bNmzeX3W4/Z5+NGzequLhYzZo1U6NGjdSo0Q9ZbMCAAbr77rv9OQUAAGBRfoWa6upqBQT4drHb7fJ6vZKk2NhYRUZGasOGDeZxt9utrVu3qmvXrnWOGRgYqE6dOvn08Xq92rBhg9knIyNDn376qXbu3Gk+JOnll1/WokWL/DkFAABgUX59/NSnTx/l5OSoVatWio+P144dOzRz5kyNHDlSkmSz2ZSWlqbp06erbdu2io2NVVZWlpxOp/r27WuO06NHD/Xr109jx46VJKWnpys1NVWdO3fWbbfdplmzZqmqqsq8GioyMrLOmZ5WrVopNjb2Ys8dAABYiF+hJj8/X1lZWRozZozKysrkdDo1evRoZWdnm20mT56sqqoqjRo1SpWVlerWrZvWrFmj4OBgs01xcbEqKirM7cGDB6u8vFzZ2dkqKSlRQkKC1qxZc8biYQAAgLOxGT++HbCFud1uhYWFyeVyKTQ0tL7LARqsXd+61Dt/s1aP63ZZLRS+HPFaAT+dP+/ffPcTAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBEINAACwBL9CjcfjUVZWlmJjY+VwOBQXF6dp06bJMAyzjWEYys7OVlRUlBwOh5KTk1VUVHTesefOnauYmBgFBwcrMTFRH330kc/x0aNHKy4uTg6HQ+Hh4XrooYe0e/duf8oHAAAW5leomTFjhubNm6c5c+boiy++0IwZM5SXl6f8/HyzTV5enmbPnq358+dr69atCgkJUUpKik6ePHnWcZcvX6709HRNmTJF27dvV8eOHZWSkqKysjKzTadOnbRo0SJ98cUXWrt2rQzDUM+ePeXxeC7itAEAgNXYjB9Ps5xH7969FRERoYULF5r7BgwYIIfDoYKCAhmGIafTqQkTJmjixImSJJfLpYiICC1evFhDhgypc9zExER16dJFc+bMkSR5vV5FR0dr3LhxysjIqLPPp59+qo4dO2rfvn2Ki4s743hNTY1qamrMbbfbrejoaLlcLoWGhl7oKQM4za5vXeoz7x+aPSxOcS2a1Hc5l7XisuN6cmmx3vn/7tfNLcPquxygQXK73QoLC7ug9+9G/gyclJSkBQsWaO/evbrhhhv0ySefaPPmzZo5c6Ykaf/+/SopKVFycrLZJywsTImJiSosLKwz1Jw6dUrbtm1TZmamuS8gIEDJyckqLCyss46qqiotWrRIsbGxio6OrrNNbm6upk6d6s/pAbhAjZtt1TMfvVDfZTQIjZv1kHR/fZcBXBH8CjUZGRlyu91q37697Ha7PB6PcnJyNGzYMElSSUmJJCkiIsKnX0REhHnsdBUVFfJ4PHX2OX3NzCuvvKLJkyerqqpK7dq107p16xQYGFjnuJmZmUpPTze3a2dqAPx031Um6qUHHmam5jxqZ2oA/DL8CjWvv/66li5dqmXLlik+Pl47d+5UWlqanE6nUlNTf64aTcOGDdO9996rw4cP68UXX9SgQYP073//W8HBwWe0DQoKUlBQ0M9eE3AlMr4PVWxoO910LR+pnIv3pEvG9+X1XQZwxfAr1EyaNEkZGRnmx0gdOnTQgQMHlJubq9TUVEVGRkqSSktLFRUVZfYrLS1VQkJCnWM2b95cdrtdpaWlPvtLS0vN8WqFhYUpLCxMbdu21e23366rr75af/vb3zR06FB/TgMAAFiQX1c/VVdXKyDAt4vdbpfX65UkxcbGKjIyUhs2bDCPu91ubd26VV27dq1zzMDAQHXq1Mmnj9fr1YYNG87aR/rh0nHDMHwWAwMAgCuXXzM1ffr0UU5Ojlq1aqX4+Hjt2LFDM2fO1MiRIyVJNptNaWlpmj59utq2bavY2FhlZWXJ6XSqb9++5jg9evRQv379NHbsWElSenq6UlNT1blzZ912222aNWuWqqqqNGLECEnSl19+qeXLl6tnz54KDw/XN998oz/+8Y9yOBy6/34W4AEAAD9DTX5+vrKysjRmzBiVlZXJ6XRq9OjRys7ONtvULuQdNWqUKisr1a1bN61Zs8Zn3UtxcbEqKirM7cGDB6u8vFzZ2dkqKSlRQkKC1qxZYy4eDg4O1gcffKBZs2bp6NGjioiI0J133qktW7aoRYsWP/U1AAAAFuDXfWoaMn+ucwdwdru+dal3/matHteNe6+cB68V8NP58/7Ndz8BAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABLINQAAABL8CvUeDweZWVlKTY2Vg6HQ3FxcZo2bZoMwzDbGIah7OxsRUVFyeFwKDk5WUVFRecde+7cuYqJiVFwcLASExP10UcfmceOHDmicePGqV27dnI4HGrVqpWefPJJuVwuf8oHAAAW5leomTFjhubNm6c5c+boiy++0IwZM5SXl6f8/HyzTV5enmbPnq358+dr69atCgkJUUpKik6ePHnWcZcvX6709HRNmTJF27dvV8eOHZWSkqKysjJJ0qFDh3To0CG9+OKL2rVrlxYvXqw1a9bo0UcfvcjTBgAAVmMzfjzNch69e/dWRESEFi5caO4bMGCAHA6HCgoKZBiGnE6nJkyYoIkTJ0qSXC6XIiIitHjxYg0ZMqTOcRMTE9WlSxfNmTNHkuT1ehUdHa1x48YpIyOjzj4rVqzQb3/7W1VVValRo0ZnHK+pqVFNTY257Xa7FR0dLZfLpdDQ0As9ZQCn+firI/rN/EL9sX8H3dwyrL7LkSSd/M6jb46e0HVXOxTc2F7f5Zj2lR1X2vKdWj2u22XzWgENjdvtVlhY2AW9f5+ZBs4hKSlJCxYs0N69e3XDDTfok08+0ebNmzVz5kxJ0v79+1VSUqLk5GSzT1hYmBITE1VYWFhnqDl16pS2bdumzMxMc19AQICSk5NVWFh41lpqT66uQCNJubm5mjp1qj+nB+ACFJcdlyRlrPysnitpOEKC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", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "methodeA.plot(kind=\"box\", title=\"Boxplot methode A\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.1.20\n", "\n", "Boxplot of the data of a [panda](https://pandas.pydata.org/) [DataFrames](https://pandas.pydata.org/docs/reference/frame.html)." ] }, { "cell_type": "code", "execution_count": 17, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ " methodeA methodeB\n", "0 79.98 80.02\n", "1 80.04 79.94\n", "2 80.02 79.98\n", "3 80.04 79.97\n", "4 80.03 79.97\n", "5 80.03 80.03\n", "6 80.04 79.95\n", "7 79.97 79.97\n", "8 80.05 NaN\n", "9 80.03 NaN\n", "10 80.02 NaN\n", "11 80.00 NaN\n", "12 80.02 NaN\n" ] }, { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAAjUAAAGzCAYAAADXFObAAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjkuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8hTgPZAAAACXBIWXMAAA9hAAAPYQGoP6dpAABB6ElEQVR4nO3dfZyNdR7/8feZM7fmVoy5KcwYcjPUbORmImR2JOQmEm07SHfuGqRMLRKyrKwQan/FLulXSipt5KaEJmtpKpvczCIyZlhmDoMZzvn+/tid69dpjAxTw+X1fDzOg+u6vt/v+VzXnDPnPdfdcRhjjAAAAK5yPpVdAAAAQEUg1AAAAFsg1AAAAFsg1AAAAFsg1AAAAFsg1AAAAFsg1AAAAFsg1AAAAFsg1AAAAFsg1ABXCYfDoWeffbayy/CyZcsWJScnKzg4WA6HQ1lZWZVdUpkWLlwoh8Ohf/7zn7/4c7Vr107t2rX7xZ/nSnMlvkZxbSHU4JpX8mH340eNGjXUvn17ffTRR5Vd3mX79ttv9eyzz2rfvn0VOu7Zs2fVu3dvHTt2TH/+85+1aNEi1a5du0Kf41LMnTtXCxcurOwyKtyOHTvkcDgUGBio/Pz8yi7nku3bt6/U+y0sLExJSUmaM2eO3G53ZZeIq5hvZRcAXCmee+45xcfHyxij3NxcLVy4UHfddZc++OADdenSpbLLu2TffvutJkyYoHbt2ikuLq7Cxs3Oztb+/fv1l7/8RYMGDaqwcS/X3LlzVb16dfXv37+yS6lQixcvVnR0tI4fP6633377itrml6Jv37666667JEkFBQX6+9//rmHDhmn//v3605/+VMnV4WpFqAH+p1OnTmrWrJk1/eCDDyoqKkpvvPHGVR1qfil5eXmSpIiIiMot5BpgjNGSJUvUr18/7d27V6+//vpVH2puueUW/e53v7OmBw8erBYtWmjJkiWEGlwyDj8BZYiIiFBQUJB8fb2zf2FhoUaNGqWaNWsqICBA9evX1/Tp01XyhfenT59WgwYN1KBBA50+fdrqd+zYMcXExCg5Odnaxd6/f3+FhITo3//+tzp27Kjg4GDFxsbqueees8a7kC+//FKdOnVSWFiYQkJC1KFDB33xxRfW8oULF6p3796SpPbt21u7+z/99NMLjrtu3Tq1adNGwcHBioiIULdu3bRjxw5ref/+/dW2bVtJUu/eveVwOC54DknJIb6NGzdq+PDhioyMVEREhB555BEVFxcrPz9fv//971W1alVVrVpVTz75ZKn193g8mjlzphITExUYGKioqCg98sgjOn78uNUmLi5O//rXv7R+/XprXX9aV1FRkUaOHKnIyEgFBwerR48eOnLkSKma586dq8TERAUEBCg2NlZDhgw572GfV155RQkJCQoKClLz5s21YcOG826D2bNnKzExUVWqVFHVqlXVrFkzLVmypMxt9mObNm3Svn37dN999+m+++7TZ599poMHD15U36+//lr9+/dXnTp1FBgYqOjoaA0cOFD/+c9/vNo9++yzcjgc2rNnj/r376+IiAiFh4drwIABOnXqlFfboqIijRgxQpGRkQoNDdXdd9990fWUxeFwKCoqqtT7DSgXA1zjFixYYCSZNWvWmCNHjpi8vDyzfft288gjjxgfHx/z8ccfW209Ho+54447jMPhMIMGDTJz5swxXbt2NZJMenq61e6LL74wTqfTjBgxwpp33333maCgILNz505rXlpamgkMDDT16tUzDzzwgJkzZ47p0qWLkWTGjh3rVackM378eGt6+/btJjg42MTExJiJEyeaP/7xjyY+Pt4EBASYL774whhjTHZ2thk+fLiRZJ5++mmzaNEis2jRInP48OEyt8fq1auNr6+vufHGG820adPMhAkTTPXq1U3VqlXN3r17jTHGfP755+bpp582kszw4cPNokWLvLZTWds4KSnJ3Hnnneall14yDzzwgJFknnzySdO6dWvTr18/M3fuXGv9//rXv3qNMWjQIOPr62seeughM3/+fPPUU0+Z4OBgc+utt5ri4mJjjDHvvvuuueGGG0yDBg2sdS2pq6SG3/zmN+aOO+4ws2fPNqNGjTJOp9Pce++9Xs81fvx4I8mkpKSY2bNnm6FDhxqn0+n1XMYY83/+z/8xkkxycrKZNWuWSU9PNxEREaZOnTqmbdu2VrtXXnnFSDK9evUyL7/8snnxxRfNgw8+aIYPH17mNvuxRx991CQkJBhjjDl16pQJCQkx06ZNu6i+06dPN23atDHPPfeceeWVV8zjjz9ugoKCTPPmzY3H4ym1zr/5zW9Mz549zdy5c82gQYOsn9GP/e53vzOSTL9+/cycOXNMz549zU033VTqNXo+e/fuNZLMhAkTzJEjR8yRI0dMdna2mTNnjvH19S31ugfKg1CDa17Jh91PHwEBAWbhwoVebZcvX24kmUmTJnnN79Wrl3E4HGbPnj3WvIyMDOPj42M+++wzs3TpUiPJzJw506tfWlqakWSGDRtmzfN4PKZz587G39/fHDlyxJr/0w+M7t27G39/f5OdnW3NO3TokAkNDTW33367Na/kuT/55JOL2h5JSUmmRo0a5j//+Y8176uvvjI+Pj7m97//vTXvk08+MZLM0qVLf3bMkm3csWNHrw/SVq1aGYfDYR599FFr3rlz58wNN9zgFQo2bNhgJJnXX3/da9yVK1eWmp+YmOjV96c1pKSkeNUwYsQI43Q6TX5+vjHGmLy8POPv729SU1ON2+222s2ZM8dIMq+99poxxpji4mJTo0YNk5SUZIqKiqx2JQHmxzV069bNJCYm/ux2Op/i4mJTrVo188wzz1jz+vXrZ26++eaL6n/q1KlS89544w0jyXz22WfWvJJQM3DgQK+2PXr0MNWqVbOms7KyjCQzePBgr3b9+vUrV6g53+Oxxx7z+tkA5cXhJ+B/XnrpJa1evVqrV6/W4sWL1b59ew0aNEjLli2z2vz973+X0+nU8OHDvfqOGjVKxhivq6WeffZZJSYmKi0tTYMHD1bbtm1L9SsxdOhQ6/8Oh0NDhw5VcXGx1qxZc972brdbH3/8sbp37646depY82NiYtSvXz9t3LhRLper3NsgJydHWVlZ6t+/v6677jpr/k033aTf/va3+vvf/17uMX/swQcflMPhsKZbtGghY4wefPBBa57T6VSzZs3073//25q3dOlShYeH67e//a2OHj1qPZo2baqQkBB98sknF13Dww8/7FVDmzZt5Ha7tX//fknSmjVrVFxcrPT0dPn4/P9fkQ899JDCwsL04YcfSpL++c9/Ki8vT48++qj8/f2tdv3791d4eLjXc0ZEROjgwYPasmXLRddZ4qOPPtJ//vMf9e3b15rXt29fffXVV/rXv/71s/2DgoKs/585c0ZHjx5Vy5YtJUnbtm0r1f7RRx/1mm7Tpo3+85//WK+nktfAT1/L6enpF7dC//Pwww9b77d33nlHQ4YM0csvv6yRI0eWaxzgxwg1wP80b95cKSkpSklJ0f33368PP/xQjRo1sgKGJO3fv1+xsbEKDQ316tuwYUNreQl/f3+99tpr2rt3r06cOKEFCxZ4fZiW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PTR06FBJ0siRI5WWlqZmzZqpefPmmjlzpgoLCzVgwABJ/z/QnDp1SosXL5bL5bJO/I2MjJTTyQlgAABc68oVambPnq2xY8dq8ODBysvLU2xsrB555BGNGzfOavPkk0+qsLBQDz/8sPLz89W6dWutXLnSa89Kdna2jh49ak336dNHR44c0bhx43T48GElJSVp5cqV1snD27Zt0+bNmyVJdevW9app7969iouLK/eKAwAAe3EY86PbAduYy+VSeHi4dSk47G37DwXqMnsjVz0ANsT7+9pSns9vvvsJAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYAqEGAADYQrlCjdvt1tixYxUfH6+goCAlJCRo4sSJMsZYbYwxGjdunGJiYhQUFKSUlBTt3r37Z8d+6aWXFBcXp8DAQLVo0UL/+Mc/vJafOXNGQ4YMUbVq1RQSEqJ77rlHubm55SkfAADYWLlCzdSpUzVv3jzNmTNHO3bs0NSpUzVt2jTNnj3bajNt2jTNmjVL8+fP1+bNmxUcHKyOHTvqzJkzZY775ptvauTIkRo/fry2bdumm2++WR07dlReXp7VZsSIEfrggw+0dOlSrV+/XocOHVLPnj0vYZUBAIAdlSvUfP755+rWrZs6d+6suLg49erVS6mpqdZeFWOMZs6cqT/84Q/q1q2bbrrpJv3tb3/ToUOHtHz58jLHnTFjhh566CENGDBAjRo10vz581WlShW99tprkqSCggK9+uqrmjFjhu644w41bdpUCxYs0Oeff64vvvji0tceAADYhm95GicnJ+uVV17Rrl27dOONN+qrr77Sxo0bNWPGDEnS3r17dfjwYaWk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", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "methode = DataFrame({\n", "\"methodeA\": methodeA,\n", "\"methodeB\": methodeB\n", "})\n", "print(methode)\n", "\n", "methode.plot(kind=\"box\", title=\"Boxplot of methods A and B\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.1.23\n", "\n", "Cumulative histogram of a [pandas](https://pandas.pydata.org/) [series](https://pandas.pydata.org/docs/reference/series.html) of data." ] }, { "cell_type": "code", "execution_count": 18, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "<Axes: ylabel='Frequency'>" ] }, "execution_count": 18, "metadata": {}, "output_type": "execute_result" }, { "data": { "image/png": "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3KpVK40cOVLLli3Ts88+q127dunhhx9WXFycxo4dq8LCwtOuz87O1oQJE5SWlqZevXpp7ty5io6OVk5OTp3zc3JydPjwYa1YsULXXXedEhISNGjQIPXp0+dc2gAAABY5p3CzYcMG3X///erYsaOys7P18MMPa/fu3VqzZo0OHDig4cOH17u2qqpKBQUFSklJ+UcxISFKSUlRfn5+nWtWrlyp5ORkTZ48WTExMerdu7dmzpyp6urqet+nsrJSpaWlfg8AAGCvVoEsys7O1oIFC7Rjxw4NGTJEb7zxhoYMGaKQkB+yUrdu3bRw4UIlJCTUe4ySkhJVV1crJibGbzwmJkbbt2+vc82ePXu0du1ajRkzRh988IF27dql+++/XydOnFBmZmada7KysvTkk08G0iYAAGiBAgo3r776qu677z7de++96tixY51zOnTooPnz559TcaeqqalRhw4d9Prrrys0NFRJSUnav3+/nn/++XrDzbRp05SRkeF7Xlpaqri4uKDWBQAAmo+Aws2XX355xjnh4eEaN25cva+73W6FhoaquLjYb7y4uFixsbF1runYsaPCwsIUGhrqG/N4PCoqKlJVVZXCw8NrrYmIiFBERMQZ6wUAAHYIaM/NggULtGzZslrjy5Yt06JFi87qGOHh4UpKSlJubq5vrKamRrm5uUpOTq5zzXXXXaddu3appqbGN7Zz50517NixzmADAADOPwGFm6ysLLnd7lrjHTp00MyZM8/6OBkZGZo3b54WLVqkbdu26Ze//KXKy8uVlpYmSRo7dqymTZvmm//LX/5Shw8fVnp6unbu3Kn3339fM2fO1OTJkwNpAwAAWCigy1Jer1fdunWrNd61a1d5vd6zPs6oUaN06NAhTZ8+XUVFRerbt69WrVrl22Ts9Xp9m5QlKS4uTqtXr9ZDDz2kq6++Wp07d1Z6erqmTp0aSBsAAMBCAYWbDh06aOvWrbU+DbVlyxZdcsklDTrWlClTNGXKlDpfW7duXa2x5ORkff755w16DwAAcP4I6LLU3XffrQceeEB5eXmqrq5WdXW11q5dq/T0dP3Lv/xLsGsEAAA4awGduZkxY4b27dunW2+9Va1a/XCImpoajR07tkF7bgAAAIItoHATHh6upUuXasaMGdqyZYuioqJ01VVXqWvXrsGuDwAAoEECCjcnXX755br88suDVQsA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9957rzp16qTo6Gjdfvvt+vLLL4PeX3V1tZ544gl169ZNUVFR6t69u2bMmOF3jxVjjKZPn66OHTsqKipKKSkpZ1XLnDlzlJCQoMjISA0YMEDr16/3e/348eOaPHmyLrnkEl144YX66U9/esafXUvq7/XXX9dNN92kNm3ayOVy6ciRI0Ht7SSnejx8+LD+9V//VT179lRUVJTi4+P1wAMP+O6z19L7k6Rf/OIX6t69u6KiotS+fXsNHz683lv4tNQef3z8wYMHy+Vy1XtPxUA52d9NN91U69/vSZMmBd6MgTl48KApLCz0PdasWWMkmby8PFNWVmYuvfRSM2LECLN161azdetWM3z4cPNP//RPprq6ut5j3nXXXaZXr17m448/Nl9++aXJzMw0bdq0Md98841vzo/fs7Cw0OTk5BiXy2V2795tRX8TJkww3bt3N3l5eWbv3r3mtddeM6Ghoea9994Lan9O9VhTU2OuvfZac8MNN5j169eb7du3m4kTJ5r4+HhTVlYW1P6efvppc8kll5g//elPZu/evWbZsmXmwgsvNC+++KJvzjPPPGPatm1rVqxYYbZs2WLuuOMO061bN/Pdd9/Ve9wlS5aY8PBwk5OTY/72t7+ZCRMmmHbt2pni4mLfnEmTJpm4uDiTm5trNmzYYK699lozcOBAa/p74YUXTFZWlsnKyjKSzLfffhvU3pzu8a9//asZOXKkWblypdm1a5fJzc01PXr0MD/96U+t6M8YY1577TXz8ccfm71795qCggIzbNgwExcXZ77//ntrejwpOzvbDB482Egy7777rjX9DRo0yEyYMMHv3/GjR48G3Avhpg7p6emme/fupqamxqxevdqEhIT4/ZCPHDliXC6XWbNmTZ3rKyoqTGhoqPnTn/7kN56YmGgee+yxet93+PDh5pZbbglOE6fRVP1deeWV5qmnnjrtnMbSFD3u2LHDSDJffPGF7/Xq6mrTvn17M2/evKD2M3ToUHPffff5jY0cOdKMGTPGGPND0IqNjTXPP/+87/UjR46YiIgI8/bbb9d73P79+5vJkyf71d+pUyeTlZXlO0ZYWJhZtmyZb862bduMJJOfnx+U3oxxrr8fy8vLa9Rw0xx6POmdd94x4eHh5sSJE4G2U0tz6m/Lli1Gktm1a1eg7dTJ6R43bdpkOnfubAoLCxsl3DjZ36BBg0x6enqQOjGGy1KnqKqq0uLFi3XffffJ5XKpsrJSLpfL78uIIiMjFRISok8//bTOY3z//feqrq5WZGSk33hUVFS9a4qLi/X+++9r/PjxwWumDk3Z38CBA7Vy5Urt379fxhjl5eVp586duu222xqnuf/XVD1WVlb6jnVSSEiIIiIi6j1uoAYOHKjc3Fzt3LlTkrRlyxZ9+umnGjx4sCRp7969KioqUkpKim9N27ZtNWDAAOXn59d5zKqqKhUUFPitCQkJUUpKim9NQUGBTpw44TfniiuuUHx8fL3HbUn9NaXm1OPRo0fVpk0btWoVvO9xbS79lZeXa8GCBerWrZvi4uKC1Z4kZ3usqKjQ6NGjNWfOnHrvpXiunP4dvvnmm3K73erdu7emTZumioqKgHtx/BuKm5sVK1boyJEjuvfeeyVJ1157rS644AJNnTpVM2fOlDFGjz76qKqrq1VYWFjnMVq3bq3k5GTNmDFDHo9HMTExevvtt5Wfn6/LLruszjWLFi1S69atNXLkyMZqTVLT9vfSSy9p4sSJ6tKli1q1aqWQkBDNmzdPN954oxU9nvwjP23aNL322mu64IIL9MILL+ibb76p97iBevTRR1VaWqorrrhCoaGhqq6u1tNPP60xY8ZIkoqKiiTJ983eJ8XExPheO1VJSYmqq6vrXHNyv0JRUZHCw8Nr3Wz2dMcNhFP9NaXm0mNJSYlmzJihiRMnnmtLfpzu75VXXtEjjzyi8vJy9ezZU2vWrFF4eHiw2pPkbI8PPfSQBg4cqOHDhwezJT9O9jd69Gh17dpVnTp10tatWzV16lTt2LFDy5cvD6gXztycYv78+Ro8eLDvlurt27fXsmXL9J//+Z+68MIL1bZtWx05ckSJiYl+t4U41R//+EcZY9S5c2dFRETo97//ve6+++561+Tk5GjMmDG1zhQEW1P299JLL+nzzz/XypUrVVBQoFmzZmny5Mn66KOPrOgxLCxMy5cv186dO3XxxRcrOjpaeXl5Gjx48GmPG4h33nlHb775pt566y1t3LhRixYt0u9+9zstWrQoqO/jFNv7k5pHj6WlpRo6dKh69eql3/72t0E9ttP9jRkzRps2bdLHH3+syy+/XHfddZeOHz8e1PdwqseVK1dq7dq1mj17dqO+j5O/w4kTJyo1NVVXXXWVxowZozfeeEPvvvuudu/eHdgBg3aBywL79u0zISEhZsWKFXW+fujQId/1+JiYGPPcc8+d8ZhlZWXmwIEDxpgfNqgOGTKk1pxPPvnESDKbN28OvPiz0JT9VVRUmLCwsFp7VsaPH29SU1PPoYvTc+p3eOTIEXPw4EFjzA/Xl++///4AO6hbly5dzMsvv+w3NmPGDNOzZ09jjDG7d+82ksymTZv85tx4443mgQceqPOYlZWVJjQ0tNZ1+7Fjx5o77rjDGGNMbm5unftQ4uPjTXZ2duANncKp/n6ssffcON1jaWmpSU5ONrfeeutpN38Gyun+Tl0XHR1t3nrrrYY3chpO9Zienm5cLpcJDQ31PSSZkJAQM2jQoKD0Zkzz+h2WlZUZSWbVqlUNb8Sw58bPggUL1KFDBw0dOrTO191ut9q1a6e1a9fq4MGDuuOOO854zAsuuEAdO3bUt99+q9WrV9d5SnH+/PlKSkpSnz59zrmH02nK/k6cOKETJ07UOoMRGhqqmpqac2+mHk79Dtu2bav27dvryy+/1IYNG4J+6riiouK0P8tu3bopNjZWubm5vtdLS0v13//930pOTq7zmOHh4UpKSvJbU1NTo9zcXN+apKQkhYWF+c3ZsWOHvF5vvcdtSf01JSd7LC0t1W233abw8HCtXLmyUc4QN6ffofnhwzK+fXHB4lSPjz76qLZu3arNmzf7HpL0wgsvaMGCBS2+v7qc7LFjx46BNRNQJLJQdXW1iY+PN1OnTq31Wk5OjsnPzze7du0yf/zjH83FF19sMjIy/Obccsst5qWXXvI9X7Vqlfnwww/Nnj17zJ///GfTp08fM2DAAFNVVeW37ujRoyY6Otq8+uqrjdPY/3Oiv0GDBpkrr7zS5OXlmT179pgFCxaYyMhI88orr1jT4zvvvGPy8vLM7t27zYoVK0zXrl3NyJEjg97buHHjTOfOnX0f0Vy+fLlxu93mkUce8c155plnTLt27cx7773n+7j7qR/RPLXHJUuWmIiICLNw4ULzv//7v2bixImmXbt2pqioyDdn0qRJJj4+3qxdu9Zs2LDBJCcnm+TkZGv6KywsNJs2bTLz5s0zkswnn3xiNm3aZP7+979b0ePRo0fNgAEDzFVXXWV27drl91HbYH5U2qn+du/ebWbOnGk2bNhgvvrqK/OXv/zFDBs2zFx88cV1fpS6JfZYFzXCp6Wc6m/Xrl3mqaeeMhs2bDB79+417733nrn00kvNjTfeGHAvhJv/t3r1aiPJ7Nixo9ZrU6dONTExMSYsLMz06NHDzJo1y9TU1PjN6dq1q8nMzPQ9X7p0qbn00ktNeHi4iY2NNZMnTzZHjhypdezXXnvNREVF1flaMDnRX2Fhobn33ntNp06dTGRkpOnZs2edx27JPb744oumS5cuJiwszMTHx5vHH3/cVFZWBr230tJSk56ebuLj401kZKS59NJLzWOPPeb3XjU1NeaJJ54wMTExJiIiwtx66621fhan9miMMS+99JKJj4834eHhpn///ubzzz/3e/27774z999/v7noootMdHS0GTFihCksLLSmv8zMTCOp1mPBggVW9Hjycltdj71797b4/vbv328GDx5sOnToYMLCwkyXLl3M6NGjzfbt24PWm9M91qUxwo1T/Xm9XnPjjTeaiy++2ERERJjLLrvM/PrXvz6n77lxGfOjrx4EAABo4dhzAwAArEK4AQAAViHcAAAAqxBuAACAVQg3AADAKoQbAABgFcINAACwCuEGAABYhXADAACsQrgBAABWIdwAAACrEG4AAIBV/g/nwpfmIMwL6AAAAABJRU5ErkJggg==", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "methodeA.plot(kind=\"hist\", cumulative=True, histtype=\"step\",\n", "density=True, bins=8, edgecolor=\"black\")" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Beispiel 1.1.23\n", "\n", "Kumulatives Histogramm einer [pandas](https://pandas.pydata.org/) [Serie](https://pandas.pydata.org/docs/reference/series.html) von Daten." ] }, { "cell_type": "code", "execution_count": 19, "metadata": {}, "outputs": [ { "data": { "image/png": "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48YpPT1dHh4euvLKK9W+fXtt2rRJO3fuPG/9kpISlZSU2O8XFBQoIiJC+fn5CgwMrLW69uUWqt+zaRdcvvLB66sULJgPBgCA8xUUFCgoKOiiv98ufWhJktq2bau0tDQVFhbq4MGDWr9+vU6fPq02bdpUuL6Xl5cCAwMdbnWhtsapMB8MAAA15/JB5iw/Pz+FhYXp+PHjWr58uYYPH+7ski55nIqzx9kAAGB1Lj1GRpKWL18uY4w6dOigrKwsPfTQQ+rYsaPGjh3r7NIueZxKbY+zAQCgoXH5IJOfn69p06bphx9+UPPmzXXzzTfrqaeeUpMmrjN+pKYXgWQ+GAAALo3LB5lbbrlFt9xyi7PLqBNnx9mszspzOLzkYbMpITaYvTEAAFyEZcbIuCvmgwEAoOZcfo+Mu2M+GAAAao4g4yJqOs4GAICGjENLAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAsggyAADAslw6yJSVlemxxx5TTEyMfHx81LZtWz3xxBMyxji7NAAA4AIaO7uAyjz99NN6+eWX9eabb6pz587auHGjxo4dq6CgICUlJTm7PAAA4GQuHWTWrFmj4cOHa+jQoZKk6OhopaSkaP369Rd8TElJiUpKSuz3CwoK6rxOAADgHC59aKlXr15asWKF9uzZI0n67rvvtGrVKg0ZMuSCj0lOTlZQUJD9FhERUV/lAgCAemYzLjzgpLy8XH//+981e/ZseXh4qKysTE899ZSmTZt2wcdUtEcmIiJC+fn5CgwMrI+yAQDAJSooKFBQUNBFf79d+tDSu+++q0WLFmnx4sXq3LmzMjIyNGXKFIWHh2v06NEVPsbLy0teXl71XCkAAHAGlw4yDz30kB555BH9+c9/liR17dpVOTk5Sk5OvmCQAQAADYdLB5ni4mI1auQ4jMfDw0Pl5eVOqujS7MstVM6xYkW38FNMsJ+zywEAwPJcOsgMGzZMTz31lCIjI9W5c2dt2bJFzz33nMaNG+fs0qrlRHGpklIylJ6Z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MzNT4eHhatOmjW6//XYdOHBAkvv2+ZNPPlGPHj00cuRItWzZUnFxcXrttdfsyxvC91lpaanefvttjRs3TjabzW0/60vRoIJMXl6eysrK1KpVK4f2Vq1a6fDhw06qqn6d7ac7vwfl5eWaMmWKEhIS1KVLF0ln+u3p6ammTZs6rOsO/d62bZv8/f3l5eWliRMnaunSpbr88svdus9LlizR5s2blZycfN4yd+13z549tWDBAn3++ed6+eWXlZ2dreuuu04nT5502z7v27dPL7/8stq1a6fly5fr7rvvVlJSkt58801JDeP77KOPPtKJEyc0ZswYSe67fV8Kt7/6NRqexMREbd++3WH8gDvr0KGDMjIylJ+fr/fff1+jR49WWlqas8uqMwcPHtS9996rL7/8Ut7e3s4up94MGTLE/u9u3bqpZ8+eioqK0rvvvisfHx8nVlZ3ysvL1aNHD/3jH/+QJMXFxWn79u2aN2+eRo8e7eTq6scbb7yhIUOGKDw83NmluKwGtUcmODhYHh4e543u/vnnnxUaGuqkqurX2X6663swadIkffbZZ1q5cqVat25tbw8NDVVpaalOnDjhsL479NvT01OxsbG66qqrlJycrO7du+uFF15w2z5v2rRJR44c0ZVXXqnGjRurcePGSktL04svvqjGjRurVatWbtnvczVt2lTt27dXVlaW237WYWFhuvzyyx3aOnXqZD+k5u7fZzk5Ofrqq680YcIEe5u7ftaXokEFGU9PT1111VVasWKFva28vFwrVqxQfHy8EyurPzExMQoNDXV4DwoKCvTtt99a+j0wxmjSpElaunSpvv76a8XExDgsv+qqq9SkSROHfu/evVsHDhywdL8rUl5erpKSErftc//+/bVt2zZlZGTYbz169NDtt99u/7c79vtchYWF2rt3r8LCwtz2s05ISDhvGoU9e/YoKipKkvt+n501f/58tWzZUkOHDrW3uetnfUmcPdq4vi1ZssR4eXmZBQsWmB07dpi77rrLNG3a1Bw+fNjZpdWakydPmi1btpgtW7YYSea5554zW7ZsMTk5OcYYY2bNmmWaNm1qPv74Y7N161YzfPhwExMTY3755RcnV15zd999twkKCjKpqanm0KFD9ltxcbF9nYkTJ5rIyEjz9ddfm40bN5r4+HgTHx/vxKov3SOPPGLS0tJMdna22bp1q3nk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tXTp0mo9h7+/v8aPH6+HHnpIX3/9tbZv364xY8ZUaRu62HZc3b/7s6ZMmaLly5crOztbmzdv1sqVK+2ff21u9998840GDRpUrceg9hFkcMn69u2rX375RbGxsQ4hoE+fPjp58qT9NO1LMWHCBL3++uuaP3++unbtqj59+mjBggWV/s/sscce0wMPPKDHH39cnTp10q233mr/n6uvr6+WL1+uY8eO6eqrr9af/vQn9e/fXy+99FKVa2ratKk+/PBD9evXT506ddK8efOUkpKizp07S5KmTZumPn366A9/+IOGDh2qESNGOIwDuhSxsbG66aab9Pvf/16DBg1St27dHE5L/etf/6oOHTqoR48eCgkJ0erVq897jssuu0z/+9//tH79enXv3l0TJ07U+PHj9eijj15SbS1atNCNN96oRYsWVfkxvXr10sSJE3XrrbcqJCREs2fPlnTmENGdd96pBx54QB06dNCIESO0YcOGi4632rVrl26++Wa1b99ed911lxITE/W3v/2t0hpmzZqlWbNmqXv37lq1apU++eQTBQcHSzpzqHT16tUqKyvToEGD1LVrV02ZMsV+CLG6GjVqpDFjxqisrEx33nmnw7Ju3bopLS1Ne/bs0XXXXae4uDg9/vjjCg8Pl3RmT9+CBQv03nvv6fLLL9esWbP0z3/+s9o1SNIf//hH3XfffZo0aZKuuOIKrVmzRo899li1n+eZZ57Rddddp2HDhmnAgAG69tprqzRe6GLbcU3+7qUz8wklJiaqU6dOuuGGG9S+fXv789bWdr927Vrl5+c7TLkA57CZ6uz/BeB0M2bM0EcffVQvlxqoqa1bt2rgwIHau3evw3gWV7R//37FxMRoy5YtuuKKK+rtdcePH6/c3Fx98skn9faarsQK23Flbr31VnXv3l1///vfnV1Kg8dgXwC1rlu3bnr66aeVnZ3tcAYWpPz8fG3btk2LFy9usCHG6kpLS9W1a1fdd999zi4FIsgAqCNjxoxxdgkuafjw4Vq/fr0mTpyogQMHOrsc1ICnp+clH4JF7eHQEgAAsCwG+wIAAMsiyAAAAMsiyAAAAMsiyAAAAMsiyAAAAMsiyAAAAMsiyAAAAMsiyAAAAMv6/2j4JZ2zwA0EAAAAAElFTkSuQmCC", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "import pandas as pd\n", "from pandas import DataFrame, Series\n", "import numpy as np\n", "\n", "mort = DataFrame({\n", "\"wine\": ([2.8, 3.2, 3.2, 3.4, 4.3, 4.9, 5.1, 5.2, 5.9, 5.9,\n", "6.6, 8.3, 12.6, 15.1, 25.1, 33.1, 75.9, 75.9]),\n", "\"mor\": ([6.2, 9.0, 7.1, 6.8, 10.2, 7.8, 9.3, 5.9, 8.9, 5.5,\n", "7.1, 9.1, 5.1, 4.7, 4.7, 3.1, 3.2, 2.1])\n", "})\n", "\n", "mort.plot(kind=\"scatter\", x=\"wine\", y=\"mor\")\n", "plt.xlabel(\"Wine consumption (liters per year and person)\")\n", "plt.ylabel(\"Mortality\")\n", "\n", "plt.show()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Examples 1.2.3 and 1.2.4\n", "\n", "Scatter plot and linear regression of the data of a [panda](https://pandas.pydata.org/) [DataFrames](https://pandas.pydata.org/docs/reference/frame.html)." ] }, { "cell_type": "code", "execution_count": 20, "metadata": {}, "outputs": [ { "data": { "image/png": "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AKxFkAEAANYiyEBOp1Pz58+X0+n0dSkQ4+FvGA//wnj4F38Yjy4/2RcAAHRdHJEBAADWIsgAAABrEWQAAIC1CDIAAMBaBJkuKi8vTxMmTFBCQoIcDodWr17t0W+M0bx58xQfH6+goCCNHj1aRUVFHuscP35ckydPVnh4uCIiIjRt2jRVVVV14l50HTk5ORo2bJjCwsIUExOjiRMnqrCw0GOdkydPKjs7W7169VJoaKiuv/56HT582GOdgwcPavz48QoODlZMTIweeOABnTp1qjN3pUtYvHixhgwZ4r6JV3p6utauXevuZyx868knn5TD4dA999zjbmNMOs8jjzwih8PhsQwcONDd729jQZDpoqqrq5Wamqo//vGPTfY//fTTeumll/TKK69oy5YtCgkJ0dixY3Xy5En3OpMnT9bf/vY3rVu3TmvWrFFeXp7uuOOOztqFLiU3N1fZ2dn68ssvtW7dOtXX12vMmDGqrq52rzN79mx98MEHevvtt5Wbm6vvv/9e1113nbu/oaFB48ePV11dnf785z/rjTfe0NKlSzVv3jxf7JLVevfurSeffFLbtm3TV199pSuuuELXXHON/va3v0liLHxp69at+q//+i8NGTLEo50x6VwXXHCBDh065F6++OILd5/fjYVBlyfJrFq1yv26sbHRxMXFmWeeecbdVl5ebpxOp1mxYoUxxpivv/7aSDJbt251r7N27VrjcDjMd99912m1d1VHjhwxkkxubq4x5sc//8DAQPP222+71/nmm2+MJLN582ZjjDEfffSRCQgIMKWlpe51Fi9ebMLDw01tbW3n7kAXdM4555jXXnuNsfChEydOmJSUFLNu3Trzu9/9ztx9993GGH4/Otv8+fNNampqk33+OBYckTkLFRcXq7S0VKNHj3a3uVwuDR8+XJs3b5Ykbd68WREREbr44ovd64wePVoBAQHasmVLp9fc1VRUVEiSIiMjJUnbtm1TfX29x5gMHDhQffr08RiTCy+8ULGxse51xo4dq8rKSveRBHivoaFBK1euVHV1tdLT0xkLH8rOztb48eM9/uwlfj98oaioSAkJCerfv78mT56sgwcPSvLPsejyD43EmUpLSyXJ4y/ZT69/6istLVVMTIxHf/fu3RUZGeleB23T2Nioe+65RyNHjtTgwYMl/fjn3aNHD0VERHise/qYNDVmP/XBO7t27VJ6erpOnjyp0NBQrVq1SoMGDVJBQQFj4QMrV67UX//6V23duvWMPn4/Otfw4cO1dOlSDRgwQIcOHdKCBQt06aWXavfu3X45FgQZoJNlZ2dr9+7dHuec0fkGDBiggoICVVRU6J133tGUKVOUm5vr67LOSiUlJbr77ru1bt069ezZ09flnPUyMzPdPw8ZMkTDhw9X37599dZbbykoKMiHlTWNU0tnobi4OEk6Y5b54cOH3X1xcXE6cuSIR/+pU6d0/Phx9zrw3syZM7VmzRpt3LhRvXv3drfHxcWprq5O5eXlHuufPiZNjdlPffBOjx49lJycrKFDhyonJ0epqal68cUXGQsf2LZtm44cOaKLLrpI3bt3V/fu3ZWbm6uXXnpJ3bt3V2xsLGPiQxEREfrNb36jvXv3+uXvB0HmLJSUlKS4uDitX7/e3VZZWaktW7YoPT1dkpSenq7y8nJt27bNvc6GDRvU2Nio4cOHd3rNtjPGaObMmVq1apU2bNigpKQkj/6hQ4cqMDDQY0wKCwt18OBBjzHZtWuXR8Bct26dwsPDNWjQoM7ZkS6ssbFRtbW1jIUPjBo1Srt27VJBQYF7ufjiizV58mT3z4yJ71RVVenbb79VfHy8f/5+tPv0YfiFEydOmO3bt5vt27cbSWbhwoVm+/bt5sCBA8YYY5588kkTERFh3nvvPbNz505zzTXXmKSkJPPDDz+4tzFu3DiTlpZmtmzZYr744guTkpJisrKyfLVLVpsxY4ZxuVxm06ZN5tChQ+6lpqbGvc706dNNnz59zIYNG8xXX31l0tPTTXp6urv/1KlTZvDgwWbMmDGmoKDAfPzxxyY6OtrMmTPHF7tktYceesjk5uaa4uJis3PnTvPQQw8Zh8NhPv30U2MMY+EPfn7VkjGMSWe67777zKZNm0xxcbHJz883o0ePNlFRUebIkSPGGP8bC4JMF7Vx40Yj6YxlypQpxpgfL8GeO3euiY2NNU6n04waNcoUFhZ6bOPYsWMmKyvLhIaGmvDwcHPrrbeaEydO+GBv7NfUWEgyS5Ysca/zww8/mDvvvNOcc845Jjg42Fx77bXm0KFDHtvZv3+/yczMNEFBQSYqKsrcd999pr6+vpP3xn633Xab6du3r+nRo4eJjo42o0aNcocYYxgLf3B6kGFMOs+kSZNMfHy86dGjhzn33HPNpEmTzN69e939/jYWDmOMaf/jPAAAAB2POTIAAMBaBBkAAGAtggwAALAWQQYAAFiLIAMAAKxFkAEAANYiyAAAAGsRZAAAgLUIMgDQgqlTp2rixIm+LgNAMwgyANymTp0qh8Mhh8Phfjr0o48+qlOnTvm6NABoUndfFwDAv4wbN05LlixRbW2tPvroI2VnZyswMFBz5szxdWldhjFGDQ0N6t6df4KBX4sjMgA8OJ1OxcXFqW/fvpoxY4ZGjx6t999/X5K0cOFCXXjhhQoJCVFiYqLuvPNOVVVVebz/v//7v5WYmKjg4GBde+21WrhwoSIiIjzWee+993TRRRepZ8+e6t+/vxYsWNDiUZ+fTu88++yzio+PV69evZSdna36+nr3Og6HQ6tXr/Z4X0REhJYuXSpJ2r9/vxwOh9566y1deumlCgoK0rBhw/T3v/9dW7du1cUXX6zQ0FBlZmaqrKzsjBoWLFig6OhohYeHa/r06aqrq3P3NTY2KicnR0lJSQoKClJqaqreeecdd/+mTZvkcDi0du1aDR06VE6nU1988UWL4wCgdfjvAIAWBQUF6dixY5KkgIAAvfTSS0pKStK+fft055136sEHH9TLL78sScrPz9f06dP11FNP6eqrr9Znn32muXPnemzv888/1y233KKXXnpJl156qb799lvdcccdkqT58+c3W8fGjRsVHx+vjRs3au/evZo0aZL+6Z/+SbfffrtX+zN//ny98MIL6tOnj2677TbddNNNCgsL04svvqjg4GDdeOONmjdvnhYvXux+z/r169WzZ09t2rRJ+/fv16233qpevXrpiSeekCTl5OTof//3f/XKK68oJSVFeXl5uvnmmxUdHa3f/e537u089NBDevbZZ9W/f3+dc845XtUNoBkd8kxtAFaaMmWKueaaa4wxxjQ2Npp169YZp9Np7r///ibXf/vtt02vXr3crydNmmTGjx/vsc7kyZONy+Vyvx41apT5j//4D491/vSnP5n4+PgW6+rbt685deqUu+1f/uVfzKRJk9yvJZlVq1Z5vM/lcpklS5YYY4wpLi42ksxrr73m7l+xYoWRZNavX+9uy8nJMQMGDPD47MjISFNdXe1uW7x4sQkNDTUNDQ3m5MmTJjg42Pz5z3/2+Oxp06aZrKwsY4wxGzduNJLM6tWrm91HAG3DERkAHtasWaPQ0FDV19ersbFRN910kx555BFJ0meffaacnBzt2bNHlZWVOnXqlE6ePKmamhoFBwersLBQ1157rcf2LrnkEq1Zs8b9eseOHcrPz3cfzZCkhoYGj+005YILLlC3bt3cr+Pj47Vr1y6v92/IkCHun2NjYyVJF154oUfbkSNHPN6TmprqUVd6erqqqqpUUlKiqqoq1dTU6Morr/R4T11dndLS0jzaLr74Yq/rBdAyggwAD5dffrkWL16sHj16KCEhwT0hdf/+/brqqqs0Y8YMPfHEE4qMjNQXX3yhadOmqa6urtkAcrqqqiotWLBA11133Rl9PXv2bPZ9gYGBHq8dDocaGxs9XhtjPNb5+RyaprbjcDiabPv5dn/JT3OEPvzwQ5177rkefU6n0+N1SEhIq7cLoHUIMgA8hISEKDk5+Yz2bdu2qbGxUc8995wCAn68TuCtt97yWGfAgAHaunWrR9vpry+66CIVFhY2+Rm/RnR0tA4dOuR+XVRUpJqamnbZ9o4dO/TDDz8oKChIkvTll18qNDRUiYmJioyMlNPp1MGDBz3mwwDoHAQZAK2SnJys+vp6LVq0SBMmTFB+fr5eeeUVj3VmzZqljIwMLVy4UBMmTNCGDRu0du1a95EPSZo3b56uuuoq9enTRzfccIMCAgK0Y8cO7d69W48//nib67viiiv0n//5n0pPT1dDQ4P+8Ic/nHEUp63q6uo0bdo0Pfzww9q/f7/mz5+vmTNnKiAgQGFhYbr//vs1e/ZsNTY26re//a0qKiqUn5+v8PBwTZkypV1qANA0Lr8G0CqpqalauHChnnrqKQ0ePFhvvvmmcnJyPNYZOXKkXnnlFS1cuFCpqan6+OOPNXv2bI9TRmPHjtWaNWv06aefatiwYRoxYoSef/559e3b91fV99xzzykxMVGXXnqpbrrpJt1///2tPt31S0aNGqWUlBRlZGRo0qRJuvrqq93zhiTpscce09y5c5WTk6Pzzz9f48aN04cffqikpKR2+XwAzXOY008qA0A7uv3227Vnzx59/vnnvi4FQBfEqSUA7erZZ5/VlVdeqZCQEK1du1ZvvPGG+z4zANDeOCIDoF3deOON2rRpk06cOKH+/ftr1qxZmj59uq/LAtBFEWQAAIC1mOwLAACsRZABAADWIsgAAABrEWQAAIC1CDIAAMBaBBkAAGAtggwAALAWQQYAAFjr/wGD6sabdDUuUgAAAABJRU5ErkJggg==", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "book = DataFrame({\n", "\"pages\" : np.linspace(50,500,10),\n", "\"price\" : [6.4, 9.5, 15.6, 15.1, 17.8, 23.4,\n", "23.4, 22.5, 26.1, 29.1]\n", "})\n", "book.plot(kind=\"scatter\", x=\"pages\", y=\"price\")\n", "plt.xlabel(\"Page number\")\n", "plt.ylabel(\"Book price\")\n", "plt.show()" ] }, { "cell_type": "code", "execution_count": 21, "metadata": {}, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "6.039999999999996 0.046727272727272735\n" ] } ], "source": [ "b, a = np.polyfit(book[\"pages\"], book[\"price\"], deg=1)\n", "print(a, b)" ] }, { "cell_type": "code", "execution_count": 22, "metadata": {}, "outputs": [ { "data": { "image/png": "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n5deegmAdevWMWnSJJ588kmuvPJKvvrqK2bOnFnr9b755hvGjRvHCy+8wIUXXsju3bu57bbbAJg9e/Zpc6xatYqYmBhWrVpFdnY2N9xwAxdccAETJ06s1/uZPXs28+bNo0OHDtx6663ceOONBAcH8/zzzxMQEMD111/PrFmzWLBggeM5K1eupGXLlqxevZq9e/dyyy230Lp1a5544gkAUlJS+L//+z9efvllEhISWLNmDX/+85+JjIzkoosucrzOgw8+yDPPPEPnzp1p1apVvXKLyGk0ypzaIuKWxo8fb1x11VWGYRiG3W43VqxYYfj5+Rn33nvvKbd/5513jNatWzvGN9xwgzFq1Kha29x0001GaGioYzxkyBDj73//e61t/vWvfxkxMTFnzNWxY0ejurrasex//ud/jBtuuMExBoz333+/1vNCQ0ONhQsXGoZhGDk5OQZgvPbaa471y5YtMwBj5cqVjmUpKSlGly5dav3s8PBwo7S01LFswYIFRlBQkFFTU2OUl5cbAQEBxrffflvrZ0+YMMEYO3asYRiGsWrVKgMwPvjgg9O+RxFpGB2REZFali9fTlBQEFVVVdjtdm688UYefvhhAL766itSUlLYuXMnRUVFVFdXU15eTllZGQEBAWRlZXHNNdfUer3+/fuzfPlyx3jr1q2sW7fOcTQDoKamptbrnMr555+Pt7e3YxwTE8P27dvr/f4SExMdf46KigKgR48etZYdOXKk1nN69uxZK1dSUhIlJSXk5uZSUlJCWVkZl112Wa3nVFZW0qtXr1rL+vbtW++8InJmKjIiUssll1zCggUL8PX1pW3bto4TUvfu3csVV1zB5MmTeeKJJwgPD2ft2rVMmDCBysrK0xaQXyspKeGRRx7h2muv/c26li1bnvZ5Pj4+tcY2mw273V5rbBhGrW1OPofmVK9js9lOuezk1/09v5wj9Mknn9CuXbta6/z8/GqNAwMD6/y6IlI3KjIiUktgYCDx8fG/Wb5p0ybsdjvPPvssXl7mdQJvv/12rW26dOlCenp6rWW/Hvfu3ZusrKxT/oyzERkZyaFDhxzjXbt2UVZW5pTX3rp1KydOnMDf3x+A9evXExQURGxsLOHh4fj5+bF///5a58OISNNQkRGROomPj6eqqor58+czevRo1q1bx8svv1xrm6lTpzJ48GDmzp3L6NGj+frrr/nss88cRz4AZs2axRVXXEGHDh247rrr8PLyYuvWrWRmZvL44483ON+ll17KP/7xD5KSkqipqeGBBx74zVGchqqsrGTChAnMmDGDvXv3Mnv2bKZMmYKXlxfBwcHce++9TJs2Dbvdzh//+EcKCwtZt24dISEhjB8/3ikZROTUdPm1iNRJz549mTt3Lk8++STdu3fnzTffJCUlpdY2gwYN4uWXX2bu3Ln07NmTzz//nGnTptX6ymj48OEsX76cL7/8kn79+jFw4ECee+45OnbseFb5nn32WWJjY7nwwgu58cYbuffee+v8ddfvGTJkCAkJCQwePJgbbriBK6+80nHeEMBjjz3GzJkzSUlJoWvXrowYMYJPPvmEuLg4p/x8ETk9m/HrL5VFRJxo4sSJ7Ny5k2+++cbqKCLigfTVkog41TPPPMNll11GYGAgn332GYsXL3bcZ0ZExNl0REZEnOr6669n9erVFBcX07lzZ6ZOncqkSZOsjiUiHkpFRkRERNyWTvYVERERt6UiIyIiIm5LRUZERETcloqMiIiIuC0VGREREXFbKjIiIiLitlRkRERExG2pyIiIiIjb+v8bFx0iu8/T7AAAAABJRU5ErkJggg==", "text/plain": [ "<Figure size 640x480 with 1 Axes>" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "book.plot(kind=\"scatter\", x=\"pages\", y=\"price\")\n", "b, a = np.polyfit(book[\"pages\"], book[\"price\"], deg=1)\n", "\n", "x = np.linspace(book[\"pages\"].min() ,book[\"pages\"].max())\n", "\n", "plt.plot(x, a+b*x, c=\"orange\")\n", "plt.xlabel(\"Page number\")\n", "plt.ylabel(\"Book price\")\n", "\n", "plt.show()\n" ] }, { "cell_type": "code", "execution_count": 23, "metadata": {}, "outputs": [ { "data": { "text/plain": [ "array([ 50. , 59.18367347, 68.36734694, 77.55102041,\n", " 86.73469388, 95.91836735, 105.10204082, 114.28571429,\n", " 123.46938776, 132.65306122, 141.83673469, 151.02040816,\n", " 160.20408163, 169.3877551 , 178.57142857, 187.75510204,\n", " 196.93877551, 206.12244898, 215.30612245, 224.48979592,\n", " 233.67346939, 242.85714286, 252.04081633, 261.2244898 ,\n", " 270.40816327, 279.59183673, 288.7755102 , 297.95918367,\n", " 307.14285714, 316.32653061, 325.51020408, 334.69387755,\n", " 343.87755102, 353.06122449, 362.24489796, 371.42857143,\n", " 380.6122449 , 389.79591837, 398.97959184, 408.16326531,\n", " 417.34693878, 426.53061224, 435.71428571, 444.89795918,\n", " 454.08163265, 463.26530612, 472.44897959, 481.63265306,\n", " 490.81632653, 500. ])" ] }, "execution_count": 23, "metadata": {}, "output_type": "execute_result" } ], "source": [ "x = np.linspace(book[\"pages\"].min(), book[\"pages\"].max())\n", "x" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.2.10\n", "\n", "Importing and determining the empirical covariance of the data of a [pandas](https://pandas.pydata.org/) [DataFrames](https://pandas.pydata.org/docs/reference/frame.html)." ] }, { "cell_type": "code", "execution_count": 40, "metadata": {}, "outputs": [ { "ename": "FileNotFoundError", "evalue": "[Errno 2] No such file or directory: 'Herald.dat'", "output_type": "error", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m", "\u001b[0;31mFileNotFoundError\u001b[0m Traceback (most recent call last)", "Cell \u001b[0;32mIn[40], line 6\u001b[0m\n\u001b[1;32m 3\u001b[0m \u001b[38;5;28;01mimport\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mas\u001b[39;00m \u001b[38;5;21;01mpd\u001b[39;00m\n\u001b[1;32m 4\u001b[0m \u001b[38;5;28;01mfrom\u001b[39;00m \u001b[38;5;21;01mpandas\u001b[39;00m \u001b[38;5;28;01mimport\u001b[39;00m Series, DataFrame\n\u001b[0;32m----> 6\u001b[0m df \u001b[38;5;241m=\u001b[39m \u001b[43mpd\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mread_table\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mHerald.dat\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\n\u001b[1;32m 8\u001b[0m \u001b[38;5;28mprint\u001b[39m(df\u001b[38;5;241m.\u001b[39mhead())\n", "File \u001b[0;32m/opt/conda/lib/python3.11/site-packages/pandas/io/parsers/readers.py:1405\u001b[0m, in \u001b[0;36mread_table\u001b[0;34m(filepath_or_buffer, sep, delimiter, header, names, index_col, usecols, dtype, engine, converters, true_values, false_values, skipinitialspace, skiprows, skipfooter, nrows, na_values, keep_default_na, na_filter, verbose, skip_blank_lines, parse_dates, infer_datetime_format, keep_date_col, date_parser, date_format, dayfirst, cache_dates, iterator, chunksize, compression, thousands, decimal, lineterminator, quotechar, quoting, doublequote, escapechar, comment, encoding, encoding_errors, dialect, on_bad_lines, delim_whitespace, low_memory, memory_map, float_precision, storage_options, dtype_backend)\u001b[0m\n\u001b[1;32m 1392\u001b[0m kwds_defaults \u001b[38;5;241m=\u001b[39m _refine_defaults_read(\n\u001b[1;32m 1393\u001b[0m dialect,\n\u001b[1;32m 1394\u001b[0m delimiter,\n\u001b[0;32m (...)\u001b[0m\n\u001b[1;32m 1401\u001b[0m dtype_backend\u001b[38;5;241m=\u001b[39mdtype_backend,\n\u001b[1;32m 1402\u001b[0m )\n\u001b[1;32m 1403\u001b[0m kwds\u001b[38;5;241m.\u001b[39mupdate(kwds_defaults)\n\u001b[0;32m-> 1405\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m \u001b[43m_read\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilepath_or_buffer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m/opt/conda/lib/python3.11/site-packages/pandas/io/parsers/readers.py:620\u001b[0m, in \u001b[0;36m_read\u001b[0;34m(filepath_or_buffer, kwds)\u001b[0m\n\u001b[1;32m 617\u001b[0m _validate_names(kwds\u001b[38;5;241m.\u001b[39mget(\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mnames\u001b[39m\u001b[38;5;124m\"\u001b[39m, \u001b[38;5;28;01mNone\u001b[39;00m))\n\u001b[1;32m 619\u001b[0m \u001b[38;5;66;03m# Create the parser.\u001b[39;00m\n\u001b[0;32m--> 620\u001b[0m parser \u001b[38;5;241m=\u001b[39m \u001b[43mTextFileReader\u001b[49m\u001b[43m(\u001b[49m\u001b[43mfilepath_or_buffer\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[38;5;241;43m*\u001b[39;49m\u001b[43mkwds\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 622\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m chunksize \u001b[38;5;129;01mor\u001b[39;00m iterator:\n\u001b[1;32m 623\u001b[0m \u001b[38;5;28;01mreturn\u001b[39;00m parser\n", "File \u001b[0;32m/opt/conda/lib/python3.11/site-packages/pandas/io/parsers/readers.py:1620\u001b[0m, in \u001b[0;36mTextFileReader.__init__\u001b[0;34m(self, f, engine, **kwds)\u001b[0m\n\u001b[1;32m 1617\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39moptions[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhas_index_names\u001b[39m\u001b[38;5;124m\"\u001b[39m] \u001b[38;5;241m=\u001b[39m kwds[\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mhas_index_names\u001b[39m\u001b[38;5;124m\"\u001b[39m]\n\u001b[1;32m 1619\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles: IOHandles \u001b[38;5;241m|\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[0;32m-> 1620\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39m_engine \u001b[38;5;241m=\u001b[39m \u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43m_make_engine\u001b[49m\u001b[43m(\u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mengine\u001b[49m\u001b[43m)\u001b[49m\n", "File \u001b[0;32m/opt/conda/lib/python3.11/site-packages/pandas/io/parsers/readers.py:1880\u001b[0m, in \u001b[0;36mTextFileReader._make_engine\u001b[0;34m(self, f, engine)\u001b[0m\n\u001b[1;32m 1878\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m mode:\n\u001b[1;32m 1879\u001b[0m mode \u001b[38;5;241m+\u001b[39m\u001b[38;5;241m=\u001b[39m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m\"\u001b[39m\n\u001b[0;32m-> 1880\u001b[0m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles \u001b[38;5;241m=\u001b[39m \u001b[43mget_handle\u001b[49m\u001b[43m(\u001b[49m\n\u001b[1;32m 1881\u001b[0m \u001b[43m \u001b[49m\u001b[43mf\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1882\u001b[0m \u001b[43m \u001b[49m\u001b[43mmode\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1883\u001b[0m \u001b[43m \u001b[49m\u001b[43mencoding\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mencoding\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1884\u001b[0m \u001b[43m \u001b[49m\u001b[43mcompression\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mcompression\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1885\u001b[0m \u001b[43m \u001b[49m\u001b[43mmemory_map\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mmemory_map\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mFalse\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1886\u001b[0m \u001b[43m \u001b[49m\u001b[43mis_text\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[43mis_text\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1887\u001b[0m \u001b[43m \u001b[49m\u001b[43merrors\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mencoding_errors\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstrict\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1888\u001b[0m \u001b[43m \u001b[49m\u001b[43mstorage_options\u001b[49m\u001b[38;5;241;43m=\u001b[39;49m\u001b[38;5;28;43mself\u001b[39;49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43moptions\u001b[49m\u001b[38;5;241;43m.\u001b[39;49m\u001b[43mget\u001b[49m\u001b[43m(\u001b[49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[38;5;124;43mstorage_options\u001b[39;49m\u001b[38;5;124;43m\"\u001b[39;49m\u001b[43m,\u001b[49m\u001b[43m \u001b[49m\u001b[38;5;28;43;01mNone\u001b[39;49;00m\u001b[43m)\u001b[49m\u001b[43m,\u001b[49m\n\u001b[1;32m 1889\u001b[0m \u001b[43m\u001b[49m\u001b[43m)\u001b[49m\n\u001b[1;32m 1890\u001b[0m \u001b[38;5;28;01massert\u001b[39;00m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles \u001b[38;5;129;01mis\u001b[39;00m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;28;01mNone\u001b[39;00m\n\u001b[1;32m 1891\u001b[0m f \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mself\u001b[39m\u001b[38;5;241m.\u001b[39mhandles\u001b[38;5;241m.\u001b[39mhandle\n", "File \u001b[0;32m/opt/conda/lib/python3.11/site-packages/pandas/io/common.py:873\u001b[0m, in \u001b[0;36mget_handle\u001b[0;34m(path_or_buf, mode, encoding, compression, memory_map, is_text, errors, storage_options)\u001b[0m\n\u001b[1;32m 868\u001b[0m \u001b[38;5;28;01melif\u001b[39;00m \u001b[38;5;28misinstance\u001b[39m(handle, \u001b[38;5;28mstr\u001b[39m):\n\u001b[1;32m 869\u001b[0m \u001b[38;5;66;03m# Check whether the filename is to be opened in binary mode.\u001b[39;00m\n\u001b[1;32m 870\u001b[0m \u001b[38;5;66;03m# Binary mode does not support 'encoding' and 'newline'.\u001b[39;00m\n\u001b[1;32m 871\u001b[0m \u001b[38;5;28;01mif\u001b[39;00m ioargs\u001b[38;5;241m.\u001b[39mencoding \u001b[38;5;129;01mand\u001b[39;00m \u001b[38;5;124m\"\u001b[39m\u001b[38;5;124mb\u001b[39m\u001b[38;5;124m\"\u001b[39m \u001b[38;5;129;01mnot\u001b[39;00m \u001b[38;5;129;01min\u001b[39;00m ioargs\u001b[38;5;241m.\u001b[39mmode:\n\u001b[1;32m 872\u001b[0m \u001b[38;5;66;03m# Encoding\u001b[39;00m\n\u001b[0;32m--> 873\u001b[0m handle \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mopen\u001b[39m(\n\u001b[1;32m 874\u001b[0m handle,\n\u001b[1;32m 875\u001b[0m ioargs\u001b[38;5;241m.\u001b[39mmode,\n\u001b[1;32m 876\u001b[0m encoding\u001b[38;5;241m=\u001b[39mioargs\u001b[38;5;241m.\u001b[39mencoding,\n\u001b[1;32m 877\u001b[0m errors\u001b[38;5;241m=\u001b[39merrors,\n\u001b[1;32m 878\u001b[0m newline\u001b[38;5;241m=\u001b[39m\u001b[38;5;124m\"\u001b[39m\u001b[38;5;124m\"\u001b[39m,\n\u001b[1;32m 879\u001b[0m )\n\u001b[1;32m 880\u001b[0m \u001b[38;5;28;01melse\u001b[39;00m:\n\u001b[1;32m 881\u001b[0m \u001b[38;5;66;03m# Binary mode\u001b[39;00m\n\u001b[1;32m 882\u001b[0m handle \u001b[38;5;241m=\u001b[39m \u001b[38;5;28mopen\u001b[39m(handle, ioargs\u001b[38;5;241m.\u001b[39mmode)\n", "\u001b[0;31mFileNotFoundError\u001b[0m: [Errno 2] No such file or directory: 'Herald.dat'" ] } ], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "from pandas import Series, DataFrame\n", "\n", "df = pd.read_table(\"Herald.dat\")\n", "\n", "print(df.head())" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "import numpy as np\n", "import pandas as pd\n", "from pandas import Series, DataFrame\n", "\n", "df = pd.read_table(\"Herald.dat\")\n", "\n", "df.plot(kind=\"scatter\", x=\"CO\", y=\"Benzoa\")\n", "\n", "plt.plot((2.5, 20), (df[\"Benzoa\"].mean(), df[\"Benzoa\"].mean()), c=\"orange\")\n", "\n", "plt.plot((df[\"CO\"].mean(), df[\"CO\"].mean()), (0, 10), c=\"orange\")\n", "\n", "plt.ylabel(\"Benzoapyrene\")\n", "plt.show()\n", "\n", "df.cov()" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "### Example 1.2.11\n", "\n", "Determination of the empirical correlation of the data of a [panda](https://pandas.pydata.org/) [DataFrames](https://pandas.pydata.org/docs/reference/frame.html)." ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "book.corr().iloc[0,1]\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "book.corr()" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [ "df.corr()\n" ] }, { "cell_type": "code", "execution_count": null, "metadata": {}, "outputs": [], "source": [] } ], "metadata": { "kernelspec": { "display_name": "Python 3 (ipykernel)", "language": "python", "name": "python3" }, "language_info": { "codemirror_mode": { "name": "ipython", "version": 3 }, "file_extension": ".py", "mimetype": "text/x-python", "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", "version": "3.11.9" } }, "nbformat": 4, "nbformat_minor": 4 }