diff --git a/module2/exo4/data.csv b/module2/exo4/data.csv new file mode 100644 index 0000000000000000000000000000000000000000..e69de29bb2d1d6434b8b29ae775ad8c2e48c5391 diff --git a/module2/exo4/data.txt b/module2/exo4/data.txt new file mode 100644 index 0000000000000000000000000000000000000000..3dc28308c68512f669ddcb0e88cd9e1fa3c5c0ea --- /dev/null +++ b/module2/exo4/data.txt @@ -0,0 +1,100 @@ +1.400000000000000000e+01 +7.599999999999999645e+00 +1.119999999999999929e+01 +1.280000000000000071e+01 +1.250000000000000000e+01 +9.900000000000000355e+00 +1.490000000000000036e+01 +9.400000000000000355e+00 +1.689999999999999858e+01 +1.019999999999999929e+01 +1.490000000000000036e+01 +1.810000000000000142e+01 +7.299999999999999822e+00 +9.800000000000000711e+00 +1.090000000000000036e+01 +1.219999999999999929e+01 +9.900000000000000355e+00 +2.899999999999999911e+00 +2.799999999999999822e+00 +1.540000000000000036e+01 +1.569999999999999929e+01 +9.699999999999999289e+00 +1.309999999999999964e+01 +1.319999999999999929e+01 +1.230000000000000071e+01 +1.169999999999999929e+01 +1.600000000000000000e+01 +1.240000000000000036e+01 +1.789999999999999858e+01 +1.219999999999999929e+01 +1.619999999999999929e+01 +1.869999999999999929e+01 +8.900000000000000355e+00 +1.190000000000000036e+01 +1.209999999999999964e+01 +1.459999999999999964e+01 +1.209999999999999964e+01 +4.700000000000000178e+00 +3.899999999999999911e+00 +1.689999999999999858e+01 +1.680000000000000071e+01 +1.130000000000000071e+01 +1.440000000000000036e+01 +1.569999999999999929e+01 +1.400000000000000000e+01 +1.359999999999999964e+01 +1.800000000000000000e+01 +1.359999999999999964e+01 +1.989999999999999858e+01 +1.369999999999999929e+01 +1.700000000000000000e+01 +2.050000000000000000e+01 +9.900000000000000355e+00 +1.250000000000000000e+01 +1.319999999999999929e+01 +1.610000000000000142e+01 +1.350000000000000000e+01 +6.299999999999999822e+00 +6.400000000000000355e+00 +1.760000000000000142e+01 +1.910000000000000142e+01 +1.280000000000000071e+01 +1.550000000000000000e+01 +1.630000000000000071e+01 +1.519999999999999929e+01 +1.459999999999999964e+01 +1.910000000000000142e+01 +1.440000000000000036e+01 +2.139999999999999858e+01 +1.509999999999999964e+01 +1.960000000000000142e+01 +2.169999999999999929e+01 +1.130000000000000071e+01 +1.500000000000000000e+01 +1.430000000000000071e+01 +1.680000000000000071e+01 +1.400000000000000000e+01 +6.799999999999999822e+00 +8.199999999999999289e+00 +1.989999999999999858e+01 +2.039999999999999858e+01 +1.459999999999999964e+01 +1.639999999999999858e+01 +1.869999999999999929e+01 +1.680000000000000071e+01 +1.580000000000000071e+01 +2.039999999999999858e+01 +1.580000000000000071e+01 +2.239999999999999858e+01 +1.619999999999999929e+01 +2.030000000000000071e+01 +2.339999999999999858e+01 +1.209999999999999964e+01 +1.550000000000000000e+01 +1.540000000000000036e+01 +1.839999999999999858e+01 +1.569999999999999929e+01 +1.019999999999999929e+01 +8.900000000000000355e+00 +2.100000000000000000e+01 diff --git a/module2/exo4/exercice.ipynb b/module2/exo4/exercice.ipynb index 0bbbe371b01e359e381e43239412d77bf53fb1fb..f7d915f22e9be6ad364a6dac95103ea6ec8278d7 100644 --- a/module2/exo4/exercice.ipynb +++ b/module2/exo4/exercice.ipynb @@ -1,5 +1,149 @@ { - "cells": [], + "cells": [ + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "# A report on new breakthrough data" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Storing data on an external file" + ] + }, + { + "cell_type": "code", + "execution_count": 1, + "metadata": {}, + "outputs": [], + "source": [ + "import numpy as np\n", + "\n", + "data = [\n", + " 14.0, 7.6, 11.2, 12.8, 12.5, 9.9, 14.9, 9.4,\\\n", + " 16.9, 10.2, 14.9, 18.1, 7.3, 9.8, 10.9,12.2,\\\n", + " 9.9, 2.9, 2.8, 15.4, 15.7, 9.7, 13.1, 13.2,\\\n", + " 12.3, 11.7, 16.0, 12.4, 17.9, 12.2, 16.2, 18.7,\\\n", + " 8.9, 11.9, 12.1, 14.6, 12.1, 4.7, 3.9, 16.9,\\\n", + " 16.8, 11.3, 14.4, 15.7, 14.0, 13.6, 18.0, 13.6,\\\n", + " 19.9, 13.7, 17.0, 20.5, 9.9, 12.5, 13.2, 16.1,\\\n", + " 13.5, 6.3, 6.4, 17.6, 19.1, 12.8, 15.5, 16.3,\\\n", + " 15.2, 14.6, 19.1, 14.4, 21.4, 15.1, 19.6, 21.7,\\\n", + " 11.3, 15.0, 14.3, 16.8, 14.0, 6.8, 8.2, 19.9,\\\n", + " 20.4, 14.6, 16.4, 18.7, 16.8, 15.8, 20.4, 15.8,\\\n", + " 22.4, 16.2, 20.3, 23.4, 12.1, 15.5, 15.4, 18.4,\\\n", + " 15.7, 10.2, 8.9, 21.0\n", + "]\n", + "\n", + "np.savetxt(\"data.txt\", data)" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Analyzing results" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "metadata": { + "scrolled": true + }, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "Requirement already satisfied: tabulate in /opt/conda/lib/python3.6/site-packages (0.8.7)\r\n" + ] + } + ], + "source": [ + "! pip install tabulate" + ] + }, + { + "cell_type": "code", + "execution_count": 3, + "metadata": {}, + "outputs": [ + { + "data": { + "text/html": [ + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "\n", + "
Mean 14.113
Min 2.8
Max 23.4
Median14.5
Std 4.33409
" + ], + "text/plain": [ + "" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "from IPython.display import HTML, display\n", + "import tabulate\n", + "from typing import List, Any\n", + "\n", + "def display_table(table: List[List[Any]]):\n", + " return display(HTML(tabulate.tabulate(table, tablefmt='html')))\n", + " \n", + " \n", + "display_table([\n", + " [\"Mean\", np.mean(data)],\n", + " [\"Min\", np.min(data)],\n", + " [\"Max\", np.max(data)],\n", + " [\"Median\", np.median(data)],\n", + " [\"Std\", np.std(data, ddof=1)]\n", + "])" + ] + }, + { + "cell_type": "markdown", + "metadata": {}, + "source": [ + "## Display results" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "
" + ] + }, + "metadata": {}, + "output_type": "display_data" + } + ], + "source": [ + "import matplotlib.pyplot as plt\n", + "fig, subs = plt.subplots(2)\n", + "subs[0].plot(data)\n", + "subs[0].grid(True, linestyle=\":\")\n", + "subs[1].hist(data)\n", + "subs[1].grid(True, linestyle=\":\")\n", + "plt.show()" + ] + } + ], "metadata": { "kernelspec": { "display_name": "Python 3", @@ -16,10 +160,9 @@ "name": "python", "nbconvert_exporter": "python", "pygments_lexer": "ipython3", - "version": "3.6.3" + "version": "3.6.4" } }, "nbformat": 4, "nbformat_minor": 2 } -