{ "cells": [ { "cell_type": "markdown", "metadata": { "exercise": "task", "tags": [ "task" ] }, "source": [ "# Data Analysis and Plotting in Python with Pandas\n", "\n", " _Carolin Penke, J\u00fclich Supercomputing Centre, Forschungszentrum J\u00fclich, 23 October 2024_\n", " _Based on material by Andreas Herten_" ] }, { "cell_type": "markdown", "metadata": { "exercise": "onlysolution", "slideshow": { "slide_type": "skip" } }, "source": [ "**Version: Solutions**" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "fragment" } }, "source": [ "## Task Outline\n", "\n", "* [Task 1](#task1)\n", "* [Task 2](#task2)\n", "* [Task 3](#task3)\n", "* [Task 4](#task4)\n", "* [Task 5](#task5)\n", "* [Task 6](#task6)\n", "* [Task 7](#task7)\n", "* [Task 7B](#task7b)\n", "* [Task 8](#task8)\n", "* [Task 8B](#task8b)" ] }, { "cell_type": "code", "execution_count": 119, "metadata": { "exercise": "task", "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "import pandas as pd" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "slide" } }, "source": [ "## Task 1\n", "\n", "TASK\n", "\n", "* Create data frame with\n", " - 6 names of dinosaurs, \n", " - their favourite prime number, \n", " - and their favorite color.\n", "* Play around with the frame\n", "* Tell me when you're done with status icon in BigBlueButton: \ud83d\udc4d" ] }, { "cell_type": "markdown", "metadata": { "exercise": "nopresentation", "slideshow": { "slide_type": "skip" } }, "source": [ "Jupyter Notebook 101:\n", "\n", "* Execute cell: `shift+enter`\n", "* New cell in front of current cell: `a`\n", "* New cell after current cell: `b`" ] }, { "cell_type": "code", "execution_count": 143, "metadata": { "exercise": "task", "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "happy_dinos = {\n", " \"Dinosaur Name\": [],\n", " \"Favourite Prime\": [],\n", " \"Favourite Color\": []\n", "}\n", "#df_dinos = " ] }, { "cell_type": "code", "execution_count": 144, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "fragment" } }, "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", "
Dinosaur NameAegyptosaurusTyrannosaurusPanoplosaurusIsisaurusTriceratopsVelociraptor
Favourite Prime4815162342
Favourite Colorbluewhitebluepurplevioletgray
\n", "
" ], "text/plain": [ "Dinosaur Name Aegyptosaurus Tyrannosaurus Panoplosaurus Isisaurus \\\n", "Favourite Prime 4 8 15 16 \n", "Favourite Color blue white blue purple \n", "\n", "Dinosaur Name Triceratops Velociraptor \n", "Favourite Prime 23 42 \n", "Favourite Color violet gray " ] }, "execution_count": 144, "metadata": {}, "output_type": "execute_result" } ], "source": [ "happy_dinos = {\n", " \"Dinosaur Name\": [\"Aegyptosaurus\", \"Tyrannosaurus\", \"Panoplosaurus\", \"Isisaurus\", \"Triceratops\", \"Velociraptor\"],\n", " \"Favourite Prime\": [\"4\", \"8\", \"15\", \"16\", \"23\", \"42\"],\n", " \"Favourite Color\": [\"blue\", \"white\", \"blue\", \"purple\", \"violet\", \"gray\"]\n", "}\n", "df_dinos = pd.DataFrame(happy_dinos).set_index(\"Dinosaur Name\")\n", "df_dinos.T" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "slide" } }, "source": [ "## Task 2\n", "\n", "TASK\n", "\n", "* Read in `data-nest.csv` to `DataFrame`; call it `df` \n", " *(Data was produced with [JUBE](http://www.fz-juelich.de/ias/jsc/EN/Expertise/Support/Software/JUBE/_node.html))*\n", "* Get to know it and play a bit with it\n", "* Tell me when you're done with status icon in BigBlueButton: \ud83d\udc4d" ] }, { "cell_type": "code", "execution_count": 151, "metadata": { "exercise": "task" }, "outputs": [ { "name": "stdout", "output_type": "stream", "text": [ "id,Nodes,Tasks/Node,Threads/Task,Runtime Program / s,Scale,Plastic,Avg. Neuron Build Time / s,Min. Edge Build Time / s,Max. Edge Build Time / s,Min. Init. Time / s,Max. Init. Time / s,Presim. Time / s,Sim. Time / s,Virt. Memory (Sum) / kB,Local Spike Counter (Sum),Average Rate (Sum),Number of Neurons,Number of Connections,Min. Delay,Max. Delay\r\n", "5,1,2,4,420.42,10,true,0.29,88.12,88.18,1.14,1.20,17.26,311.52,46560664.00,825499,7.48,112500,1265738500,1.5,1.5\r\n", "5,1,4,4,200.84,10,true,0.15,46.03,46.34,0.70,1.01,7.87,142.97,46903088.00,802865,7.03,112500,1265738500,1.5,1.5\r\n", "5,1,2,8,202.15,10,true,0.28,47.98,48.48,0.70,1.20,7.95,142.81,47699384.00,802865,7.03,112500,1265738500,1.5,1.5\r\n", "5,1,4,8,89.57,10,true,0.15,20.41,23.21,0.23,3.04,3.19,60.31,46813040.00,821491,7.23,112500,1265738500,1.5,1.5\r\n", "5,2,2,4,164.16,10,true,0.20,40.03,41.09,0.52,1.58,6.08,114.88,46937216.00,802865,7.03,112500,1265738500,1.5,1.5\r\n", "5,2,4,4,77.68,10,true,0.13,20.93,21.22,0.16,0.46,3.12,52.05,47362064.00,821491,7.23,112500,1265738500,1.5,1.5\r\n", "5,2,2,8,79.60,10,true,0.20,21.63,21.91,0.19,0.47,2.98,53.12,46847168.00,821491,7.23,112500,1265738500,1.5,1.5\r\n", "5,2,4,8,37.20,10,true,0.13,10.08,11.60,0.10,1.63,1.24,23.29,47065232.00,818198,7.33,112500,1265738500,1.5,1.5\r\n", "5,3,2,4,96.51,10,true,0.15,26.54,27.41,0.36,1.22,3.33,64.28,52256880.00,813743,7.27,112500,1265738500,1.5,1.5\r\n" ] } ], "source": [ "!head data-nest.csv" ] }, { "cell_type": "code", "execution_count": 152, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "fragment" } }, "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", "
idNodesTasks/NodeThreads/TaskRuntime Program / sScalePlasticAvg. Neuron Build Time / sMin. Edge Build Time / sMax. Edge Build Time / s...Max. Init. Time / sPresim. Time / sSim. Time / sVirt. Memory (Sum) / kBLocal Spike Counter (Sum)Average Rate (Sum)Number of NeuronsNumber of ConnectionsMin. DelayMax. Delay
05124420.4210True0.2988.1288.18...1.2017.26311.5246560664.08254997.4811250012657385001.51.5
15144200.8410True0.1546.0346.34...1.017.87142.9746903088.08028657.0311250012657385001.51.5
25128202.1510True0.2847.9848.48...1.207.95142.8147699384.08028657.0311250012657385001.51.5
3514889.5710True0.1520.4123.21...3.043.1960.3146813040.08214917.2311250012657385001.51.5
45224164.1610True0.2040.0341.09...1.586.08114.8846937216.08028657.0311250012657385001.51.5
\n", "

5 rows \u00d7 21 columns

\n", "
" ], "text/plain": [ " id Nodes Tasks/Node Threads/Task Runtime Program / s Scale Plastic \\\n", "0 5 1 2 4 420.42 10 True \n", "1 5 1 4 4 200.84 10 True \n", "2 5 1 2 8 202.15 10 True \n", "3 5 1 4 8 89.57 10 True \n", "4 5 2 2 4 164.16 10 True \n", "\n", " Avg. Neuron Build Time / s Min. Edge Build Time / s \\\n", "0 0.29 88.12 \n", "1 0.15 46.03 \n", "2 0.28 47.98 \n", "3 0.15 20.41 \n", "4 0.20 40.03 \n", "\n", " Max. Edge Build Time / s ... Max. Init. Time / s Presim. Time / s \\\n", "0 88.18 ... 1.20 17.26 \n", "1 46.34 ... 1.01 7.87 \n", "2 48.48 ... 1.20 7.95 \n", "3 23.21 ... 3.04 3.19 \n", "4 41.09 ... 1.58 6.08 \n", "\n", " Sim. Time / s Virt. Memory (Sum) / kB Local Spike Counter (Sum) \\\n", "0 311.52 46560664.0 825499 \n", "1 142.97 46903088.0 802865 \n", "2 142.81 47699384.0 802865 \n", "3 60.31 46813040.0 821491 \n", "4 114.88 46937216.0 802865 \n", "\n", " Average Rate (Sum) Number of Neurons Number of Connections Min. Delay \\\n", "0 7.48 112500 1265738500 1.5 \n", "1 7.03 112500 1265738500 1.5 \n", "2 7.03 112500 1265738500 1.5 \n", "3 7.23 112500 1265738500 1.5 \n", "4 7.03 112500 1265738500 1.5 \n", "\n", " Max. Delay \n", "0 1.5 \n", "1 1.5 \n", "2 1.5 \n", "3 1.5 \n", "4 1.5 \n", "\n", "[5 rows x 21 columns]" ] }, "execution_count": 152, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df = pd.read_csv(\"data-nest.csv\")\n", "df.head()" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "## Task 3\n", "\n", "TASK\n", "\n", "* Add a column to the Nest data frame form Task 2 called `Threads` which is the total number of threads across all nodes (i.e. the product of threads per task and tasks per node and nodes)\n", "* Tell me when you're done with status icon in BigBlueButton: \ud83d\udc4d" ] }, { "cell_type": "code", "execution_count": 180, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "fragment" }, "tags": [] }, "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", "
idNodesTasks/NodeThreads/TaskRuntime Program / sScalePlasticAvg. Neuron Build Time / sMin. Edge Build Time / sMax. Edge Build Time / s...Presim. Time / sSim. Time / sVirt. Memory (Sum) / kBLocal Spike Counter (Sum)Average Rate (Sum)Number of NeuronsNumber of ConnectionsMin. DelayMax. DelayThreads
05124420.4210True0.2988.1288.18...17.26311.5246560664.08254997.4811250012657385001.51.58
15144200.8410True0.1546.0346.34...7.87142.9746903088.08028657.0311250012657385001.51.516
25128202.1510True0.2847.9848.48...7.95142.8147699384.08028657.0311250012657385001.51.516
3514889.5710True0.1520.4123.21...3.1960.3146813040.08214917.2311250012657385001.51.532
45224164.1610True0.2040.0341.09...6.08114.8846937216.08028657.0311250012657385001.51.516
\n", "

5 rows \u00d7 22 columns

\n", "
" ], "text/plain": [ " id Nodes Tasks/Node Threads/Task Runtime Program / s Scale Plastic \\\n", "0 5 1 2 4 420.42 10 True \n", "1 5 1 4 4 200.84 10 True \n", "2 5 1 2 8 202.15 10 True \n", "3 5 1 4 8 89.57 10 True \n", "4 5 2 2 4 164.16 10 True \n", "\n", " Avg. Neuron Build Time / s Min. Edge Build Time / s \\\n", "0 0.29 88.12 \n", "1 0.15 46.03 \n", "2 0.28 47.98 \n", "3 0.15 20.41 \n", "4 0.20 40.03 \n", "\n", " Max. Edge Build Time / s ... Presim. Time / s Sim. Time / s \\\n", "0 88.18 ... 17.26 311.52 \n", "1 46.34 ... 7.87 142.97 \n", "2 48.48 ... 7.95 142.81 \n", "3 23.21 ... 3.19 60.31 \n", "4 41.09 ... 6.08 114.88 \n", "\n", " Virt. Memory (Sum) / kB Local Spike Counter (Sum) Average Rate (Sum) \\\n", "0 46560664.0 825499 7.48 \n", "1 46903088.0 802865 7.03 \n", "2 47699384.0 802865 7.03 \n", "3 46813040.0 821491 7.23 \n", "4 46937216.0 802865 7.03 \n", "\n", " Number of Neurons Number of Connections Min. Delay Max. Delay Threads \n", "0 112500 1265738500 1.5 1.5 8 \n", "1 112500 1265738500 1.5 1.5 16 \n", "2 112500 1265738500 1.5 1.5 16 \n", "3 112500 1265738500 1.5 1.5 32 \n", "4 112500 1265738500 1.5 1.5 16 \n", "\n", "[5 rows x 22 columns]" ] }, "execution_count": 180, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[\"Threads\"] = df[\"Nodes\"] * df[\"Tasks/Node\"] * df[\"Threads/Task\"]\n", "df.head()" ] }, { "cell_type": "code", "execution_count": 181, "metadata": { "exercise": "solution" }, "outputs": [ { "data": { "text/plain": [ "Index(['id', 'Nodes', 'Tasks/Node', 'Threads/Task', 'Runtime Program / s',\n", " 'Scale', 'Plastic', 'Avg. Neuron Build Time / s',\n", " 'Min. Edge Build Time / s', 'Max. Edge Build Time / s',\n", " 'Min. Init. Time / s', 'Max. Init. Time / s', 'Presim. Time / s',\n", " 'Sim. Time / s', 'Virt. Memory (Sum) / kB', 'Local Spike Counter (Sum)',\n", " 'Average Rate (Sum)', 'Number of Neurons', 'Number of Connections',\n", " 'Min. Delay', 'Max. Delay', 'Threads'],\n", " dtype='object')" ] }, "execution_count": 181, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df.columns" ] }, { "cell_type": "code", "execution_count": 182, "metadata": { "exercise": "task", "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "import matplotlib.pyplot as plt\n", "%matplotlib inline" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "## Task 4\n", "\n", "TASK\n", "\n", "\n", "* Sort the Nest data frame by threads\n", "* Plot `\"Presim. Time / s\"` and `\"Sim. Time / s\"` of our data frame `df` as a function of threads\n", "* Use a dashed, red line for `\"Presim. Time / s\"`, a blue line for `\"Sim. Time / s\"` (see [API description](https://matplotlib.org/api/pyplot_api.html#matplotlib.pyplot.plot))\n", "* Don't forget to label your axes and to add a legend _(1st rule of plotting)_\n", "* Tell me when you're done with status icon in BigBlueButton: \ud83d\udc4d" ] }, { "cell_type": "code", "execution_count": 188, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "fragment" }, "tags": [] }, "outputs": [], "source": [ "df.sort_values([\"Threads\", \"Nodes\", \"Tasks/Node\", \"Threads/Task\"], inplace=True) # multi-level sort" ] }, { "cell_type": "code", "execution_count": 189, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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O6HHHnsM0dHRiIyMhLu7u6UYj4yMxLBhwwDU7jNcQ+ZdkHkBhAZ3/vx5rFy5EocOHYK7uzsSEhLw9NNPV5txhVqmlStXYu/evbh+/TokSULHjh0xfvx4PPzww1bfhKSlpSEpKQnp6ekICQnBI488gsmTJzuw5VQXly9fxtChQ23e995776Ffv34AapdnWZaRkpKCbdu2ISsrCxEREXjmmWfQv3//Rj8Oqpub5T0yMhLPPvssjh8/jpycHKhUKkRHR2POnDlWE/sAzHtLER8fjytXrti8j69153WzvPO17pw2b96MXbt24eLFi5BlGaGhobjnnnswc+ZMeHt7W+Ka8vXOYoyIiIiIiMgBOF6KiIiIiIjIAViMEREREREROQCLMSIiIiIiIgdgMUZEREREROQALMaIiIiIiIgcgMUYERERERGRA7AYIyIiIiIicgAWY0RERERERA6gdHQDiIiIbiYyMrJWce+99x4AYOrUqVizZg1GjBjRmM1qEA8//DAAYOvWrQ5uCRERNTUWY0RE1Ox9+OGHVssbNmzAwYMH8e6771qt79KlC44fP96UTSMiIqo3FmNERNTs9erVy2o5ICAAoihWW98QSkpK4OHh0eD7JSIiqornjBERkVMyGAxITk7GoEGDEBsbi+nTp+PcuXNWMQ8//DASEhLw3//+FxMnTkTPnj3x3HPPAQAKCwvx8ssvIz4+HtHR0Rg8eDBefPFFFBcXW+1j27ZtmDx5MgYMGIBevXohMTERb731FsrKyqziZFnGW2+9hbvvvhsxMTG4//77kZaWVq3dkiRhw4YNuPfee3HbbbehT58+SExMrNYLSERELR97xoiIyCklJSUhNjYWL774IgoLC/Haa69h3rx52LVrFxQKhSUuMzMTzzzzDGbNmoUnn3wSoiiipKQEU6ZMwfXr1zF37lxERkbizJkzWLt2LX7//Xf84x//gCAIAICLFy8iISEB7dq1g0qlwqlTp7Bp0yacO3cOq1evtjzOG2+8gTfeeAMPPvgg7r33Xly/fh3PP/88JElCp06dLHFbtmzBG2+8gXnz5qFPnz4wGAw4d+4cCgoKmu6PR0RETYLFGBEROaUuXbrgtddesyyLoognnngCx44dsxremJeXh9dffx0DBgywrNu8eTNOnz6Njz76CDExMQCAAQMGIDg4GI8//jj27NmDuLg4AMCzzz5r2U6SJPTp0wd+fn547rnnsHTpUvj6+kKr1eKtt97CPffcgxdffNGqjZMmTbIqxg4fPoyIiAgsXLjQsm7w4MEN94chIqJmg8MUiYjIKcXHx1stm2dkvHr1qtV6X19fq0IMAH788Ud07doV3bt3h8FgsPwMGjQIgiDg559/tsSeOHECc+fORb9+/dC9e3f06NEDS5YsgdFoxB9//AEAOHLkCHQ6HRITE60eJzY2FqGhoVbrYmJicOrUKfz1r3/F3r17UVhYeEt/ByIiar7YM0ZERE7Jz8/PalmtVgMASktLrdYHBQVV2zY7OxsXLlxAjx49bO47NzcXgKmwmzx5Mjp16oTnnnsOoaGhcHNzw//+9z+sWLHC8lh5eXkAgFatWlXbV9V1jz76KDw9PfHFF1/ggw8+gEKhQJ8+ffD0009beumIiMg5sBgjIiKXZj73qzJ/f3+4ublh1apVNrfx9/cHAHz33XcoLi7GunXrrHq4Tp06ZRVvLgyzsrKq7SsrK8tqW6VSiUceeQSPPPIItFot9u3bh+TkZMyaNQv//ve/OdMjEZET4TBFIiKiKu666y5cunQJfn5+iImJqfbTrl07ABWFnLnXDTDNmvjRRx9Z7a9Xr15wc3PDl19+abX+8OHDuHLlit12aDQajBgxAg899BDy8vJqjCUiopaHPWNERERVTJs2Dd988w2mTJmC6dOnIzIyEpIk4dq1a/jpp58wY8YM9OzZEwMHDoRKpcJTTz2FWbNmQa/XY/v27dBqtVb78/X1xYwZM7Bx40b85S9/wYgRI3D9+nWsW7eu2jDJuXPnomvXroiOjkZAQACuXLmCd999F6GhoejQoUNT/hmIiKiRsRgjIiKqwtPTE9u2bcPmzZvx4Ycf4vLly3B3d0ebNm0wcOBAy7DC8PBwrFu3Dq+//joWLlwIPz8/JCQkYPr06Zg9e7bVPhctWgRPT0+8//77+Pzzz9G5c2e88MILePvtt63i+vXrh6+//hqpqakoLCxEUFAQBg4ciPnz50OlUjXZ34CIiBqfIMuy7OhGEBERERERuRqeM0ZEREREROQALMaIiIiIiIgcgMUYERERERGRA7AYIyIiIiIicgAWY0RERERERA7AYoyIiIiIiMgBWIwRERERERE5AIsxIiIiIiIiB2AxRkRERERE5AAsxoiIiIiIiByAxRgREREREZED/D8PddTG5QPargAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "fig, ax = plt.subplots(figsize=(10, 3))\n", "ax.plot(df[\"Threads\"], df[\"Presim. Time / s\"], linestyle=\"dashed\", color=\"red\", label=\"Presim. Time / s\")\n", "ax.plot(df[\"Threads\"], df[\"Sim. Time / s\"], \"-b\", label=\"Sim. Time / s\")\n", "ax.set_xlabel(\"Threads\")\n", "ax.set_ylabel(\"Time / s\")\n", "ax.legend(loc='best');" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "slide" } }, "source": [ "## Task 5\n", "\n", "TASK\n", "\n", "Use the Nest data frame `df` to:\n", "\n", "1. Make threads index of the data frame (`.set_index()`)\n", "2. Plot `\"Presim. Time / s\"` and `\"Sim. Time / s`\" individually\n", "3. Plot them onto one common canvas!\n", "4. Make them have the same line colors and styles as before\n", "5. Add a legend, add missing axes labels\n", "6. Tell me when you're done with status icon in BigBlueButton: \ud83d\udc4d" ] }, { "cell_type": "code", "execution_count": 195, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "subslide" } }, "outputs": [], "source": [ "df.set_index(\"Threads\", inplace=True)" ] }, { "cell_type": "code", "execution_count": 196, "metadata": { "exercise": "solution" }, "outputs": [ { "data": { "image/png": "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AACAoxGKAAAAADgaoQgAAACAoxGKAAAAADgaoQgAAACAoxGKAAAAADgaoQgAAACAoxGKAAAAADgaoQgAAACAoxGKAAAAADgaoQgAAACAo3XpULR582bNmDFDI0eO1JgxYzR37lxVVlbaXRbayAsvvKCsrKwGX/Pnz48al5ubq9NPP13Dhw/XCSecoGeeecamitFS3333nW655RaddtppysnJ0aRJkxod19weL1myROPHj9fw4cN11llnadWqVbEsH63UnL7PmTOn0f1/xYoVDcbS987htdde0+zZszVu3DiNHDlSkydP1t/+9jeZphk1jv2962hOz9nXu573339f06ZN0+jRozVs2DBNmDBBd955p0pKSqLGtfe+7mnVszqB4uJiTZ8+XT179tTChQtVUFCgO++8U4WFhQ3+aEbntnjxYnXr1i1ye//994/8/Omnn2r27Nk67bTTNGfOHK1evVpz586Vz+fTOeecY0e5aIENGzYoNzdXI0aMkGmasiyrwZjm9njJkiVasGCBrr76auXk5GjZsmW67LLLtGzZMmVlZbXn28JeNKfvktSnT58G/54PGDAg6jZ97zwef/xx9ezZU7/73e/UvXt3rVq1SvPmzdOWLVt0/fXXS2J/72qa03OJfb2rKSoq0qGHHqrp06crJSVFGzZs0KJFi7RhwwY99thjkmza160u6uGHH7ZGjBhh7dq1K3LfK6+8Yg0ePNjauHGjjZWhrfzjH/+wBg8eHNXj+mbMmGGdffbZUffddNNN1tFHH22FQqFYl4h9VLdH119/vXXqqac2GNOcHldVVVmHH364dffdd0fGBINB6+STT7Z+85vfxKh6tFZz+t7U/XXR986lsX/L77jjDmv48OFWVVWVZVns711Nc3rOvu4Mzz33nDV48GBr+/btlmXZs6932eVzK1as0JgxY5SRkRG576STTpLP51Nubq6NlaG9+P1+rVy5UqeeemrU/ZMnT9aOHTu0du1amypDc7lce/4nqrk9Xr16tUpKSqKWYbndbp1yyinKzc1tciYC9thb35uLvncudf97XSM7O1tVVVUqLCxkf++C9tbz5qLnnV9aWpokKRgM2ravd9lQlJeX12Bq1efzqW/fvsrLy7OpKsTCpEmTlJ2drQkTJujhhx9WKBSSJOXn5ysQCKh///5R4wcOHChJ/B50Ac3tcc33+uMGDBigsrIy/fjjj+1QLdpafn6+Ro0apWHDhunMM8/UW2+9FfU4fe/8PvnkE6Wlpal79+7s7w5Rt+c12Ne7plAopKqqKq1Zs0YPPPCAjjvuOPXq1cu2fb1LH1OUkpLS4P6UlBQVFRXZUBHaWmZmpq644gqNGDFChmHonXfe0b333qsff/xRt9xyS6TP9X8Pam7ze9D5NbfHxcXF8vl8io+PjxqXmpoqSSosLNQBBxwQ63LRhrKzszV8+HANHDhQJSUlWrp0qS6//HLdd999mjhxoiT63tl9+eWXeuGFF3T55ZfL7XazvztA/Z5L7Otd2XHHHRcJLmPHjtU999wjyb7/tnfZUNQUy7JkGIbdZaANjB07VmPHjo3cPuaYYxQXF6cnn3xSM2fOjNzfVL/5Peg6mtPjxsbUTK3zu9D5TJ8+Per2+PHjNWXKFC1cuDDyh5JE3zurHTt26Morr9Tw4cN12WWXRT3G/t41NdVz9vWu65FHHlF5ebk2btyoBx98UDNnztTjjz8eeby99/Uuu3wuJSVFxcXFDe4vKSlpdAYJXcPJJ5+sUCikdevWRf5PQf0ZoZrfC34POr/m9jglJUVVVVWqqqpqdFzNdtB5uVwunXjiicrLy4tceoG+d04lJSW67LLLFB8fr4ceekher1cS+3tX1lTPG8O+3nUMGTJEhx12mM4991zdf//9WrVqld58803b9vUuG4oGDBjQ4JgRv9+v/Pz8BscaoWvq27evvF6vNm3aFHX/xo0bJTU8nSc6n+b2uOZ7/X8T8vLylJSUFHUad3Re9Q+qpe+dT1VVlWbNmqWdO3dq8eLFSk9PjzzG/t417annTWFf73qys7PldruVn59v277eZUPRscceq5UrV2r37t2R+9588035/X6NGzfOxsoQS8uXL5fb7VZOTo58Pp9Gjx6t1157LWrMq6++qszMTOXk5NhUJdpKc3t82GGHqVu3blq+fHlkTCgU0muvvaZx48axtKILME1Tb7zxhgYNGhRZX07fO5dgMKirrrpK69ev1+LFi9WrV6+ox9nfu5699bwx7Otd06effqpQKKTevXvbtq932WOKpkyZor/+9a+aPXu2Zs+erV27dumuu+7S5MmTmSHoImbMmKHRo0dr8ODBkqS3335bzz//vC688EJlZmZKki6//HJNmzZNN910kyZPnqzVq1dr2bJluu2229rstL+InYqKisgp9Ldt26bS0lK9/vrrkqQjjjhCGRkZzeqxz+fTrFmztGDBAmVkZEQu8LZly5bIgZ3oOPbW94qKCs2ZM0eTJk1S3759VVRUpKVLl+qrr77SokWLItuh753LbbfdpnfffVfXXXedKisr9dlnn0UeGzhwoJKTk9nfu5i99byoqIh9vQv69a9/rWHDhikrK0vx8fGRUJyVlaXjjz9eUvP+fmvrvhtWFz55++bNmzV37lx98sknio+P16RJk3Tttdc2OEsFOqe5c+fq/fff1/bt22Wapg466CCdc845uuCCC6L+70Bubq7uuece5eXl6YADDtDFF1+sqVOn2lg5mmvr1q2aMGFCo4899dRTOvLIIyU1r8eWZWnJkiV65plntHPnTg0ePFjXXXedRo8eHfP3gZbZW9+zsrJ0ww03aM2aNSooKJDX69WwYcP0y1/+MurkKxJ970zGjx+vbdu2NfoY+3vXtLees693TY888oiWL1+u/Px8WZalXr166YQTTtCMGTOUnJwcGdfe+3qXDkUAAAAAsDesHwIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI5GKAIAAADgaIQiAAAAAI7msbsAAEDnkZWV1axxTz31lCTpwgsv1H333aeJEyfGsqw2ccEFF0iSnn76aZsrAQC0N0IRAKDZnnvuuajbDz74oFatWqUnn3wy6v6BAwdqzZo17VkaAACtRigCADTbyJEjo25nZGTI5XI1uL8tVFRUKCEhoc23CwBAfRxTBACIqWAwqAULFuiYY47RYYcdposuukibNm2KGnPBBRdo0qRJ+vjjjzVlyhSNGDFCN954oySptLRUd999t8aPH69hw4Zp7NixmjdvnsrLy6O28cwzz2jq1KkaM2aMRo4cqcmTJ+vRRx9VIBCIGmdZlh599FEdd9xxGj58uM444wzl5uY2qNs0TT344IM66aSTdMghh2jUqFGaPHlyg1kxAEDnx0wRACCm7rnnHh122GGaN2+eSktLNX/+fM2aNUvLly+X2+2OjNuxY4euu+46XXrppbr66qvlcrlUUVGhadOmafv27Zo5c6aysrK0YcMGLVy4UN98842eeOIJGYYhScrPz9ekSZPUu3dveb1erV+/Xn/5y1+0adMm3XnnnZHXuf/++3X//ffr7LPP1kknnaTt27fr5ptvlmmaOvjggyPjFi9erPvvv1+zZs3SqFGjFAwGtWnTJpWUlLTfhwcAaBeEIgBATA0cOFDz58+P3Ha5XPrNb36jL7/8MmrZXWFhoe69916NGTMmct8jjzyir7/+Ws8//7yGDx8uSRozZoz2339/XXnllVqxYoXGjRsnSbrhhhsizzNNU6NGjVJaWppuvPFGzZkzR6mpqSouLtajjz6qE044QfPmzYuq8bzzzosKRatXr9bgwYN1xRVXRO4bO3Zs230wAIAOg+VzAICYGj9+fNTtmjPYff/991H3p6amRgUiSXr33Xc1aNAgZWdnKxgMRr6OOeYYGYahjz76KDJ27dq1mjlzpo488khlZ2dr6NChuv766xUKhfTtt99Kkj799FNVVVVp8uTJUa9z2GGHqVevXlH3DR8+XOvXr9cf//hHvf/++yotLd2nzwEA0HExUwQAiKm0tLSo2z6fT5JUWVkZdX9mZmaD5+7atUvfffedhg4d2ui2d+/eLSkcsKZOnaqDDz5YN954o3r16qW4uDh98cUXuu222yKvVVhYKEnq0aNHg23Vv+9Xv/qVEhMT9corr+jZZ5+V2+3WqFGjdO2110ZmrQAAXQOhCADQIdQcG1RXenq64uLidMcddzT6nPT0dEnSW2+9pfLyci1atChqxmf9+vVR42sC2s6dOxtsa+fOnVHP9Xg8uvjii3XxxReruLhYH374oRYsWKBLL71U7733HmfGA4AuhOVzAIAO6+c//7m2bNmitLQ0DR8+vMFX7969JdUGqppZKCl8lrnnn38+ansjR45UXFyc/vnPf0bdv3r1am3btq3JOlJSUjRx4kSdf/75Kiws3ONYAEDnw0wRAKDDmj59uv79739r2rRpuuiii5SVlSXTNPXDDz/ogw8+0CWXXKIRI0boqKOOktfr1TXXXKNLL71Ufr9fS5cuVXFxcdT2UlNTdckll+ihhx7S73//e02cOFHbt2/XokWLGizfmzlzpgYNGqRhw4YpIyND27Zt05NPPqlevXqpX79+7fkxAABijFAEAOiwEhMT9cwzz+iRRx7Rc889p61btyo+Pl4HHnigjjrqqMhytwEDBmjRokW69957dcUVVygtLU2TJk3SRRddpMsuuyxqm1dddZUSExP1t7/9TS+//LL69++vW2+9VY899ljUuCOPPFJvvPGGli1bptLSUmVmZuqoo47S7Nmz5fV62+0zAADEnmFZlmV3EQAAAABgF44pAgAAAOBohCIAAAAAjkYoAgAAAOBohCIAAAAAjkYoAgAAAOBohCIAAAAAjkYoAgAAAOBohCIAAAAAjkYoAgAAAOBohCIAAAAAjkYoAgAAAOBo/w+vNbPLUd7qAQAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df[\"Presim. Time / s\"].plot(figsize=(10, 3), style=\"--\", color=\"red\");" ] }, { "cell_type": "code", "execution_count": 197, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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ub9Gl307B9fzIZya238su1wXjImPdjcGXNTC089+9jN5PB698cYbSklJkSTZbDY9+OCDWr58ubKyss5zBAAAEE2dV3OMNcGQa7dZFeewyeW0y27t/zWOaBd+rWV48Oq22E7AUECdrvHsGBkMXnup4HMFr8dsfy4jfHvnzzWCz6WOduHHtNosGpXokqe+uWNhoE6fFXacjmP38Pk9faY6QqsU/pnq/PkdfQ90/m6d+hro4TtLHduN8P71uP0c37mn7VKX31en79F1e9fvdPZ3071egXN+5/bPHJsUr+RRzj7+6YptUQtPu3bt0uWXXx4KTpJ0/fXX69FHH1V5eTnhCQAAIEaFgrNiLzhLA78wEBAUtfBUWVmp+fPnh21zOp2aMGGCKisr+3Vsu/086xmfg61jHWTb+dZDxohBzc2JupsTdTcn6m5O1N18hqrmUb3mye12d9vudrtVV1fX5+NarRYlJyf2p2tyu0fe/Ex8PWpuTtTdnKi7OVF3c6Lu5jPYNY+5pcoNw+jTvSGCAgFDHk9Tn/a12axyu+Pl8TTL72eI1wyouTlRd3Oi7uZE3c2JuptPTzV3u+MHfCQqauHJ7XbL4/F0215fX9/v6536O7fV7w8wP9ZkqLk5UXdzou7mRN3Nibqbz2DXPGoTQbOysrpd29Ta2qqqqioWiwAAAAAQc6IWnq666irt3r1bZ86cCW17++231draqsLCwmh1CwAAAAB6FLXwdMcdd2j06NFasWKF3n//fb3xxhv60Y9+pOLiYkaeAAAAAMQcixG821UUHD58WGvXrtVHH30kl8uloqIiPfjgg3K5XH0+ZvBmbH1ls1m5sNBkqLk5UXdzou7mRN3NibqbT9eaW62Wfi1E15OohicAAAAAGC64cxgAAAAARIDwBAAAAAARIDwBAAAAQAQITwAAAAAQAcITAAAAAESA8AQAAAAAESA8AQAAAEAECE8AAAAAEAHCEwAAAABEgPAEAAAAABEgPAEAAABABAhPAAAAABABwhMAAAAARIDwJOnw4cNavHixpk2bpssvv1xr165VS0tLtLuFAfL6668rNze328/TTz8d1q68vFy33HKL8vPzNXfuXG3fvj1KPUZvffHFF3rsscd08803Ky8vT0VFRT22i7TG27Zt05w5c5Sfn6/58+drz549g9l99FEkdV+1alWP5/+uXbu6taXusa+srEwrVqxQYWGhpk2bpuLiYr366qsKBAJh7TjXR5ZI6s65PvK8//77WrhwoQoKCjRlyhRdc801evLJJ1VfXx/WbqjPd3uf9hpBPB6PFi1apPHjx+vZZ5/V6dOn9eSTT6q2trbbP64xvG3dulWjR48OvU5LSws937t3r1asWKGbb75Zq1atUkVFhdauXSun06nbbrstGt1FLxw4cEDl5eWaOnWqAoGADMPo1ibSGm/btk0lJSV64IEHlJeXp9LSUi1dulSlpaXKzc0dyq+F84ik7pJ00UUXdfv7PCsrK+w1dR8eXnzxRY0fP14PP/ywxo4dqz179ujxxx/XkSNH9Mgjj0jiXB+JIqm7xLk+0tTV1emyyy7TokWL5Ha7deDAAT333HM6cOCAfvrTn0qK0vlumNxPfvITY+rUqcapU6dC237xi18YOTk5xsGDB6PYMwyU//7v/zZycnLCatzV4sWLje985zth21avXm387d/+reH3+we7i+inzjV65JFHjHnz5nVrE0mNvV6v8e1vf9v48Y9/HGrj8/mMG2+80fj+978/SL1HX0VS93Nt74y6Dx89/T3+xBNPGPn5+YbX6zUMg3N9JIqk7pzr5vDzn//cyMnJMU6cOGEYRnTOd9NP29u1a5cuv/xypaSkhLZdf/31cjqdKi8vj2LPMFRaW1u1e/duzZs3L2x7cXGxqqur9dlnn0WpZ4iU1fr1f5VFWuOKigrV19eHTf+y2Wy66aabVF5efs6RDUTH+eoeKeo+fHT+b3XQ5MmT5fV6VVtby7k+Qp2v7pGi7sPfmDFjJEk+ny9q57vpw1NlZWW3IV2n06kJEyaosrIySr3CYCgqKtLkyZN1zTXX6Cc/+Yn8fr8kqaqqSm1tbZo0aVJY++zsbEniz8EIEGmNg49d22VlZamxsVEnT54cgt5ioFVVVWnGjBmaMmWK/v7v/16/+c1vwt6n7sPbRx99pDFjxmjs2LGc6ybSue5BnOsjk9/vl9fr1aeffqoNGzbo6quvVkZGRtTOd6558njkdru7bXe73aqrq4tCjzDQUlNTde+992rq1KmyWCx699139cwzz+jkyZN67LHHQnXu+ucg+Jo/B8NfpDX2eDxyOp1yuVxh7ZKSkiRJtbW1Sk9PH+zuYgBNnjxZ+fn5ys7OVn19vXbs2KGVK1dq/fr1uuGGGyRR9+Hsk08+0euvv66VK1fKZrNxrptE17pLnOsj2dVXXx0KOLNnz9a6deskRe+/7aYPT+diGIYsFku0u4EBMHv2bM2ePTv0+sorr1RcXJxeeuklLVu2LLT9XPXmz8HIEUmNe2oTHNLnz8Lws2jRorDXc+bM0R133KFnn3029A8qiboPR9XV1brvvvuUn5+vpUuXhr3HuT5ynavunOsj1+bNm9XU1KSDBw/qhRde0LJly/Tiiy+G3h/q89300/bcbrc8Hk+37fX19T2OSGFkuPHGG+X3+/XnP/859P88dB1hCv654M/B8Bdpjd1ut7xer7xeb4/tgsfB8GW1WnXdddepsrIydEsK6j781NfXa+nSpXK5XNq4caMcDockzvWR7lx17wnn+shxySWXaPr06br99tv1/PPPa8+ePXr77bejdr6bPjxlZWV1u6altbVVVVVV3a6Fwsg0YcIEORwOHTp0KGz7wYMHJXVf5hTDT6Q1Dj52/TuhsrJSiYmJYcvbY/jqenEwdR9evF6vli9frpqaGm3dulXJycmh9zjXR66vq/u5cK6PPJMnT5bNZlNVVVXUznfTh6errrpKu3fv1pkzZ0Lb3n77bbW2tqqwsDCKPcNg2rlzp2w2m/Ly8uR0OlVQUKCysrKwNm+++aZSU1OVl5cXpV5ioERa4+nTp2v06NHauXNnqI3f71dZWZkKCwuZ0jECBAIBvfXWW7r44otD89+p+/Dh8/l0//33a//+/dq6dasyMjLC3udcH5nOV/eecK6PTHv37pXf71dmZmbUznfTX/N0xx136L/+67+0YsUKrVixQqdOndJ//Md/qLi4mBGHEWLx4sUqKChQTk6OJOmdd97Ra6+9prvuukupqamSpJUrV2rhwoVavXq1iouLVVFRodLSUq1Zs2bAlkPG4Glubg7dWuDYsWNqaGjQr371K0nSzJkzlZKSElGNnU6nli9frpKSEqWkpIRupHfkyJHQBaqIHeere3Nzs1atWqWioiJNmDBBdXV12rFjh/bt26fnnnsudBzqPnysWbNG7733nh566CG1tLTo448/Dr2XnZ2tUaNGca6PQOere11dHef6CPS9731PU6ZMUW5urlwuVyg85+bm6tprr5UU2b/fBrruFoNF7XX48GGtXbtWH330kVwul4qKivTggw92W5UDw9PatWv1/vvv68SJEwoEAvrGN76h2267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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df[\"Sim. Time / s\"].plot(figsize=(10, 3), style=\"-b\");" ] }, { "cell_type": "code", "execution_count": 198, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "subslide" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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iIhoIBKUQfYFRA6HjNra5m5tq9OJiIuLRF1dc6+OlVz7yr9w4nsz7rttHCZn9+x6LupdfZVzCm3MuzYx79rEvGsT8649vnIeHx/Z6xNGcAxZP3AP3TvD656IiIiIiAYsFk/9IMU1acSZi93rESMiIiIiouBj8dQPRriLJ/Y8ERERERENWCye+kHqUGfxVNPQhlaLPcitISIiIiKi7mDx1A+iwvWIiXLORni2hkP3iIiIiIgGIhZP/YRD94iIiIiIBjYWT/0kVZ00gsUTEREREdFAxOKpn6So05Vz2B4RERER0UDE4qmfuHuezlY3YZB9LzERERERkSaweOonw4dEQBQENLfZUd9kDXZziIiIiIioi1g89RO9TkJSfDgA4DSveyIiIiIiGnBYPPUjz6F7REREREQ0sLB46kep6qQRLJ6IiIiIiAYaFk/9KHWos+fp9EXOuEdERERENNCweOpH7mF75y41w+6Qg9waIiIiIiLqChZP/SghxogwgwSHrOBCbUuwm0NERERERF3A4qkfiYLgcd0Th+4REREREQ0kLJ76mXvoHieNICIiIiIaWFg89TO1eOJ3PRERERERDSgsnvoZh+0REREREQ1MLJ76WYqr5+mSuQ0tbfYgt4aIiIiIiALVpeJp9+7dWL58OQoLCzFhwgSUlJTgtddegyy3T7u9atUqZGVldfrZs2dPp/1t374dRUVFyMvLw5w5c7Bv376eH1GIiwrXIy46DABwtoZD94iIiIiIBgpdV4JfeuklDB8+HI888ggSEhKwb98+PPHEEzh9+jQeffRRNW7EiBF45plnvLZNT0/3Wt6+fTtKS0vx4IMPIicnB2VlZVi6dCnKysqQlZXVg0MKfSmJkahrtOBMdTPGpsYGuzlERERERBSALhVPmzdvRnx8vLpcUFCAlpYW7NixAw8++CAMBgMAwGg0YsKECX73Y7VasWnTJixcuBCLFy8GAEyePBklJSXYvHkzSktLu3EoA0dqYhQOnqjljHtERERERANIl4bteRZObtnZ2bBYLKivrw94PxUVFWhsbERxcbG6TpIk3HrrrSgvL4eiKF1p1oAzwnXd01nOuEdERERENGB0qefJl/379yM2NhYJCQnquqqqKkyaNAltbW3IzMzE8uXLceONN6qPV1ZWAgDGjBnjta/09HQ0NzfjwoULSE5O7nabdLruzYMh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GeSWEBERERFpU5d7nlpbW1FeXg4AOHv2LJqamvDOO+8AcH5PU2trK1atWoXi4mKkpaWhoaEBr7/+Og4ePIj169er+zEYDFi2bBlKS0sRHx+vfknu6dOnsW7dul46vMHD3GwNdhOIiIiIiDSty8XTpUuXsHLlSq917uVXXnkFWVlZiIqKwoYNG1BbWwu9Xo/c3Fxs3boV06dP99pu0aJFUBQFr776KmpqapCZmYktW7YgKyurB4c0OI3PSMA7/6wKdjOIiIiIiDSry8VTamoqjh49etmYTZs2BbQvQRCwZMkSLFmypKvN0Bz3MMbk+Iggt4SIiIiISJs4+T0REREREVEAWDwREREREREFgMUTERERERFRAFg8ERERERERBYDFExERERERUQBYPBEREREREQWAxRMREREREVEAWDwREREREREFgMUTERERERFRAFg8ERERERERBYDFExERERERUQBYPBEREREREQWAxRMREREREVEAWDwREREREREFgMUTERERERFRAFg8DTA2uwy7Qw52M4iIiIiINIfF0wARppcAAJfMbVj1u8/wccUZ2OwsooiIiIiI+guLpwEiLSkKd9+UiZgoA2rNFrz63rdY9bvP8OH+M7DZHcFuHhERERHRoKcLdgMoMIIgYEZ+KqZdPQx7vjyHXXtPoa7Rgh3vf4u3P/sOt0wZicIJw9UeKiIiIiIi6l0sngYYvU7CDdek4vrxw/HpV9/jr3tPodZswe8/PIZde09h1uQ0zJiYgjADiygiIiIiot7E4mmA0utEzMhPxfTxw/H3r8/hr5+dQk1DG978+Dh273MVUfkpMBqYYiIiIiKi3tDla55OnTqFxx9/HLfddhtycnJQXFzsM668vBy333478vLyMHPmTOzYscNn3Pbt21FUVIS8vDzMmTMH+/bt62qTNE0niSickIInf1aAe2+5ComxRjS22FD2t0o8sukz/PWz79BqsQe7mUREREREA16Xi6djx46hvLwcI0eORHp6us+YAwcOYPny5cjJycHWrVtxxx13YO3atSgrK/OK2759O0pLSzF//nxs2bIFI0eOxNKlS3H06NHuHY2G6SQR08cPx5M/K8Di2dlIigtHU6sNfyg/gUc2/QN//vtJtLSxiCIiIiIi6i5BURSlKxvIsgxRdNZcq1atwsGDB/H22297xSxZsgQNDQ1exdKvf/1rfPzxx9izZw9EUYTVasW1116Lu+66C4888ggAwOFwoKSkBFlZWSgtLe3WATkcMmprm7u1rU4nIi4uEnV1zbAP8GnAHbKMf35zEX/5+3c4X9sCAAgP02HmpFTM/MEIRBr1QW5haBhMOafAMe/axLxrE/OuTcy79vjKeXx8JCSpdycX7/Le3IWTP1arFXv37sXs2bO91peUlKC6uhqHDx8GAFRUVKCxsdFr2J8kSbj11ltRXl6OLtZ01IEkipg6Lhlrl0zBz380DsOHRKLVYsef//4dHtn0D7y15wSaWm3BbiYRERER0YDR67MJVFVVwWazYcyYMV7rMzIyAACVlZXIzc1FZWUlAHSKS09PR3NzMy5cuIDk5ORutUGn616F6a5Me7tCDbbrrh6GqXnJ+NeRi/jTJydx+mIT3v7Hd/jgX6dxZ2E6Zk1JC3YTg2aw5pwuj3nXJuZdm5h3bWLetae/ct7rxVNDQwMAwGQyea13L7sfN5vNMBgMMBqNXnExMTEAgPr6+m4VT6IoIC4ussvbebc1vEfbh6qbr43CzILR2HfoHH7/3rc48X0D/lBeiZ/Myg5204JusOacLo951ybmXZuYd21i3rWnr3PeZ/NYC4JwxfW+YtzD9fxtfyWyrMBsbunWtpIkwmQKh9ncCodj8I6PvSo1BvfPycOD6z+FwyGjrq5714gNBlrJOXlj3rWJedcm5l2bmHft8ZVzkym813uier14cvccuXuY3MxmM4D2HiiTyQSLxQKLxYKwsLBOce79dEdPLwx0OORBf3Gh5xvJYD/WQGgh59QZ865NzLs2Me/axLxrT1/nvNcHBaalpUGv1+PEiRNe648fPw4A6vTm7lv3tU9ulZWViIyMRFJSUm83jYiIiIiIqNt6vXgyGAwoKCjA7t27vda//fbbSExMRE5ODgAgPz8f0dHR2LVrlxrjcDiwe/duFBYWdnvYHhERERERUV/o8rC91tZWlJeXAwDOnj2LpqYmvPPOOwCAyZMnIz4+HitWrMCCBQuwevVqlJSUoKKiAmVlZVizZo061bnBYMCyZctQWlqK+Ph45OTkoKysDKdPn8a6det68RCJiIiIiIh6rsvF06VLl7By5Uqvde7lV155BVOmTMHEiROxceNGrFu3Djt37kRycjJWr16NuXPnem23aNEiKIqCV199FTU1NcjMzMSWLVuQlZXVg0MiIiIiIiLqfV0unlJTU3H06NErxhUWFqKwsPCyMYIgYMmSJViyZElXm0FERERERNSv+M1hREREREREAWDxREREREREFAAWT0RERERERAFg8URERERERBQAFk9EREREREQBYPFEREREREQUABZPREREREREAWDxREREREREFAAWT0RERERERAFg8URERERERBQAFk9EREREREQBYPFEREREREQUABZPREREREREAWDxREREREREFAAWT0RERERERAFg8aRxsgx8VXkJ52tbYLPLwW4OEREREVHI0gW7ARQcep2zbpYVBc+WfQkAEADEmcKQGBOOxNhwJMYaXbfOn+gIPQRBCGKriYiIiIiCh8WTRkVHGHD3TZk4eLIW1fWtqK5vg8XmQK3ZglqzBUdP13faJkwvdSqo3EXWkBgj9Dqp/w+EiIiIiKifsHjSsBn5qZiRnwoAUBQFjS02VyHVqhZU1fWtqG5oRZ3ZAovNgTPVzThT3dxpXwKA2OgwXJ2egIU3Z7GHioiIiIgGHRZPBAAQBAGmSANMkQakp8R0etxml3HJ7CymLtZ1KLAaWmGxOlDXaEH5F9/j9mmjERMVFoSjICIiIiLqOyyeKCB6nYjk+Agkx0d0ekxRFDS22vDv6/8OWVEgK0FoIBERERFRH+uT2fbeeustZGVldfp55plnvOLKy8tx++23Iy8vDzNnzsSOHTv6ojnUxwRBgCnCAI7UIyIiIqLBrE97nrZt24bo6Gh1OSkpSb1/4MABLF++HLfddhtWrVqFiooKrF27FgaDAXPnzu3LZhEREREREXVZnxZP48aNQ3x8vM/HNmzYgJycHDz55JMAgIKCApw7dw7PPfcc5syZA1HkV1AREREREVHoCEqFYrVasXfvXsyePdtrfUlJCaqrq3H48OFgNIuIiIiIiMivPu15Ki4uRl1dHYYPH4677roLS5YsgSRJqKqqgs1mw5gxY7ziMzIyAACVlZXIzc3t9vPqdN2rCSVJ9Lql7tHpxG7noL8x59rEvGsT865NzLs2Me/a018575PiKTExEffffz/Gjx8PQRDw0Ucf4dlnn8WFCxfw+OOPo6GhAQBgMpm8tnMvux/vDlEUEBcX2f3GAzCZwnu0vdbFxIQjLmZg/Q6Zc21i3rWJedcm5l2bmHft6euc90nxNH36dEyfPl1dnjZtGsLCwvDy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qe+0traqXy1w9uxZNDU14Z133gEATJ48GfHx8QHl2GAwYNmyZSgtLUV8fLz6RXqnT59WL1Cl0HGlvLe2tmLVqlUoLi5GWloaGhoa8Prrr+PgwYNYv369uh/mfeBYs2YNPv74Yzz88MNoa2vDF198oT6WkZGBqKgonuuD0JXy3tDQwHN9EPrFL36B3NxcZGVlwWg0qsVzVlYWbrzxRgCBfX7r7bwLCie1x8mTJ7F27Vrs378fRqMRxcXFeOihhzrNykED09q1a/HJJ5/g/PnzkGUZo0aNwty5c3H33Xd7/behvLwc69atQ2VlJZKTk3Hvvfdi/vz5QWw5BerMmTO44YYbfD72yiuvYMqUKQACy7GiKNi+fTt27NiBmpoaZGZm4uGHH0ZBQUGfHwd1zZXynpWVhV/96lc4dOgQamtrodfrkZubi5/97Gdek8gAzPtAUVRUhLNnz/p8jOf64HWlvPNcH5y2bNmCXbt2oaqqCoqiICUlBTNnzsTixYsRFRWlxvX3+c7iiYiIiIiIKAAcj0RERERERBQAFk9EREREREQBYPFEREREREQUABZPREREREREAWDxREREREREFAAWT0RERERERAFg8URERERERBQAFk9EREREREQB0AW7AURENLhkZWUFFPfKK68AABYuXIjnnnsOs2bN6stm9Yq7774bAPDqq68GuSVERBQMLJ6IiKhXvfHGG17LGzduxL59+/Dyyy97rc/IyMChQ4f6s2lEREQ9wuKJiIh61YQJE7yW4+PjIYpip/W9obW1FeHh4b2+XyIiIl94zRMREQWd3W5HaWkppk2bhvz8fPz0pz/FiRMnvGLuvvtuFBcX4/PPP8e8efMwfvx4PPbYYwCApqYm/Pa3v0VRURFyc3Mxffp0PPHEE2hpafHax44dOzB//nxMnToVEyZMQElJCbZu3QqbzeYVpygKtm7dihkzZiAvLw933HEHysvLO7VblmVs3LgRN998M66++mpMmjQJJSUlnXrZiIhocGDPExERBd26deuQn5+PJ554Ak1NTXjmmWewbNky7Nq1C5IkqXHV1dV4+OGHsWTJEjz44IMQRRGtra1YsGABzp8/j/vuuw9ZWVk4duwYnn/+eXz77bf47//+bwiCAACoqqpCcXExUlNTodfrceTIEWzevBknTpzAU089pT7PCy+8gBdeeAE//vGPcfPNN+P8+fP49a9/DVmWMXr0aDVu27ZteOGFF7Bs2TJMmjQJdrsdJ06cQGNjY//98oiIqN+weCIioqDLyMjAM888oy6Loohf/vKX+Prrr72G+9XX1+PZZ5/F1KlT1XVbtmzB0aNH8eabbyIvLw8AMHXqVCQlJeGBBx7Anj17UFhYCAD41a9+pW4nyzImTZqE2NhYPPbYY1i1ahViYmJgNpuxdetWzJw5E0888YRXG3/yk594FU8VFRXIzMzE/fffr66bPn167/1iiIgopHDYHhERBV1RUZHXsnvGvu+//95rfUxMjFfhBAAff/wxxo4di+zsbNjtdvVn2rRpEAQB//znP9XYw4cP47777sOUKVOQnZ2NcePG4dFHH4XD4cB3330HADhw4AAsFgtKSkq8nic/Px8pKSle6/Ly8nDkyBH8v//3//DJJ5+gqampR78HIiIKbex5IiKioIuNjfVaNhgMAIC2tjav9YmJiZ22vXTpEk6dOoVx48b53HddXR0AZyE2f/58jB49Go899hhSUlIQFhaGr776CmvWrFGfq76+HgAwZMiQTvvquO7nP/85IiIi8Oc//xm///3vIUkSJk2ahIceekjtBSMiosGDxRMREQ0Y7muXPMXFxSEsLAxPPvmkz23i4uIAAB988AFaWlqwfv16rx6kI0eOeMW7C7mamppO+6qpqfHaVqfT4d5778W9994Ls9mMf/zjHygtLcWSJUvwt7/9jTMBEhENMhy2R0REA9oPf/hDnD59GrGxscjLy+v0k5qaCqC98HL3agHOWfXefPNNr/1NmDABYWFh+Mtf/uK1vqKiAmfPnvXbDpPJhFmzZuHf/u3fUF9ff9lYIiIamNjzREREA9o999yD9957DwsWLMBPf/pTZGVlQZZlnDt3Dp9++ikWLVqE8ePH49prr4Ver8e///u/Y8mSJbBarXj99ddhNpu99hcTE4NFixZh06ZN+I//+A/MmjUL58+fx/r16zsNG7zvvvswduxY5ObmIj4+HmfPnsXLL7+MlJQUjBw5sj9/DURE1A9YPBER0YAWERGBHTt2YMuWLXjjjTdw5swZGI1GDBs2DNdee606zC49PR3r16/Hs88+i/vvvx+xsbEoLi7GT3/6UyxdutRrnytXrkRERARee+01/OlPf8KYMWPwn//5n3jxxRe94qZMmYJ3330XZWVlaGpqQmJiIq699losX74cer2+334HRETUPwRFUZRgN4KIiIiIiCjU8ZonIiIiIiKiALB4IiIiIiIiCgCLJyIiIiIiogCweCIiIiIiIgoAiyciIiIiIqIAsHgiIiIiIiIKAIsnIiIiIiKiALB4IiIiIiIiCgCLJyIiIiIiogCweCIiIiIiIgoAiyciIiIiIqIA/P9fefpSkHqTVAAAAABJRU5ErkJggg==", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df[\"Presim. Time / s\"].plot(style=\"--r\", figsize=(10,3));\n", "df[\"Sim. Time / s\"].plot(style=\"-b\", figsize=(10,3));" ] }, { "cell_type": "code", "execution_count": 199, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "fragment" }, "tags": [] }, "outputs": [ { "data": { "image/png": "iVBORw0KGgoAAAANSUhEUgAAA2MAAAErCAYAAABTpVshAAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjYuMywgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy/P9b71AAAACXBIWXMAAA9hAAAPYQGoP6dpAABiB0lEQVR4nO3deXwTZf4H8M9Mrp7pRQ9oKUehhdIKFOQSqBa82/VAWFwQlGsFRNRVQRf5rSyHB79WQA6R6iqLV3+rrMuCx65uRRFcBZVbKEihQGkpbXomTTK/P9JMmzYpbWk7bfJ5v+DVzsx3Jk/yTdJ88zzzjCBJkgQiIiIiIiJqV6LSDSAiIiIiIvJELMaIiIiIiIgUwGKMiIiIiIhIASzGiIiIiIiIFMBijIiIiIiISAEsxoiIiIiIiBTAYoyIiIiIiEgBLMaIiIiIiIgUoFa6AZ2BJEmwWlt2bWxRFFq8L3VezLtnYt49E/PueZhzz8S8e6b6eRdFAYIgtNrxWYw1gdUqoaiovNn7qdUigoJ8YTBUwGy2tkHLqCNi3j0T8+6ZmHfPw5x7JubdMznLe3CwL1Sq1ivGOEyRiIiIiIhIASzGiIiIiIiIFMBijIiIiIiISAEsxoiIiIiIiBTAYoyIiIiIiEgBnE2RiIiIiFqd1WqFxWJWuhmtwmoVUFWlgslkhMXC6e3dlUqlhii2b18VizEiIiIiajWSJMFgKEJlZZnSTWlVhYUirFZOa+/uvL39oNcHt+q1xBrDYqwTsVZVovpyEXSRkUo3hYiIiMgpeyHm5xcErVbXbh9q25pKJbBXzI1JkgSTyYiysisAgICAkHa5XRZjnciFLZtR/tOP6LF0GXTduyvdHCIiIiIHVqtFLsT8/PRKN6dVqdUiL/js5rRaHQCgrOwK/P2D0B7Ta3ACj87EagUkCZUnjivdEiIiIqIGLBYLgNoPtUSdjf25217nO7IY60R0UbbeMGPeOYVbQkREROSauwxNJM/T3s9dxYux3bt3Y+rUqRgxYgQSEhIwbtw4rFq1CqWlpQ5x2dnZuPvuu5GYmIibb74Z27Ztc3q8zMxMpKSkIDExERMmTMC+ffva4260C21kFADAeI7FGBERERFRZ6d4MVZSUoLBgwfjz3/+MzIzM/HQQw9h+/btWLhwoRxz4MABzJs3D/Hx8Xj99ddxzz33YPny5cjKynI4VmZmJjIyMjBlyhRs3rwZPXr0wOzZs3H8uHsM67P3jJnyzkGSeAIpEREREVFnpvgEHqmpqUhNTZWXhw8fDq1Wi+eeew75+fkIDw/H+vXrER8fj5UrVwIARowYgQsXLmDNmjWYMGECRFGEyWTCxo0bMW3aNMycORMAMGzYMKSlpWHTpk3IyMhQ5P61Jm14OKBSwVpVBfPlQmi6hCrdJCIiIiK3lJn5Gt5883V5OTAwEDExfTFjxhwMHDi4XdowevRQzJu3EL/73QNtflv1768zERFdsW7da5g48Tf4859fwE03jW/zdl3Nvn3f4o9/fAr//Oe/odN1vnMVFS/GnAkMDAQAmM1mmEwm7N27F08++aRDTFpaGj744AMcOXIECQkJ2L9/P0pLSx0KO5VKhTvuuANvvPEGJEnq9OOXBbUa2q7dYDp3FsZz51iMEREREbUhnU6HNWs2AQCKigrwxhtbsHDhXGRm/hUxMX3a/PY3bXoTERFd2/x2ACAt7W4MHz5KXt6xYzs+//wT+f4DgFarQUhIF2za9Caio6PbpV1Xs2fPbgwdOqxTFmJAByrGLBYLzGYzTp48ifXr1+Omm25CZGQkTp48ierqavTu3dshvk8f2wsgJycHCQkJyMnJAYAGcTExMSgvL0d+fj4iIiLa5860IV1UVE0xdhZ+g9rnWxkiIiIiTySKIhISEgHYpraPjY3HxIlp+Pvf/4YnnljUIF6SJFRXV0Or1bbK7dtvuz2EhYUjLCxcXt63b4/D/VeqXVezZ883eOCBB5VuRot1mGLspptuQn5+PgBgzJgxSE9PB2A7pwwA9HrHa1XYl+3bDQYDtFotvLy8HOICAgIAAMXFxddUjKnVzT+9TqUSHX62Bu/oaJTu/RbV5/Na1CZqe22Rd+r4mHfPxLx7Hua8cVZr5x6F5Ip9cFXXrhEICAjEhQvnAQArVvwJx44dwbx5j2LTpvU4c+Y0li5djpSU8Th06Gds3rwBR44cgkqlwsiRo7Fw4R8QFBQsH3fr1r9gx47tKCi4BB8fX8TE9MWiRX9Et26RABoOU3zkkTnw8fHBuHG34I03NqOwsABDhlyPJUueR0VFBV56aQUOHvwJ4eFd8cQTTyMpaWirPxYXLpxvMEzxvvvSMGrUaHTtGokPPngHZWWlGDv2Jjz99B+Rm/sr0tNfxIkTv6Bnz9545pmlDr2KkiTh3Xf/io8//gj5+RfQpUsY7rtvEn772ylXbcupUzm4ePE8Ro0a3WjMhg1rcOTIYRiNVQgLC0dq6l2YMmV6o8dWqYR2eb13mGJs8+bNqKiowMmTJ7FhwwY8/PDDePPNN+XtroYY1l3vLMY+0cW1DFEURQFBQb4t3l+v927xvg3064NLAKov5F1Tm6jttWreqdNg3j0T8+55mHPnqqpUKCwUoVIJDb40NposLvcTRECrVjUtVgC0mpbFNoco2j471r0fVVUVKC01IDQ0DGq1CEEQcPlyIdas+V889NAshIeHIywsAkePHsSCBb/HqFGjsXz5C6isrMRrr23A4sVPIDPzbQDAzp07sGXLJsyZ8zASEq5DeXkZfvzxAIzGSofbrPtYCoKAEyeOo7TUgIUL/4CyslKkp7+EF19cjkuX8nH77amYMuUBvPXWm1iy5Gls374TPj4+rXb/be2pLVDqbvv666/Qp09fPPPMEuTlncOaNenQ6XQ4fPgg7r9/CoKDQ7B+/VosXboY7777fxBF277/+78v4eOPt+PBB2dgwIBEHDz4EzZuXAdvb2/ce+99jbZx796vERfXDxER4S5jnnnmDwgKCsIf/7gUfn5+OHv2LAoK8l12alitAkRRRECAj9zJ05av9w5TjPXr1w8AkJSUhPj4eEyYMAGff/65PBzR3gNmZzAYANT2kOn1ehiNRhiNRocxo/Y4ew9ZS1itEgyGimbvp1KJ0Ou9YTBUwmJpnSu2VwfazhOrzDuPy5eKIWo0rXJcaj1tkXfq+Jh3z8S8ex7mvHEmkxFWqxUWiwSz2fHxmf3Sly73uy4mBI9NHCgvz8/Ihqna+eMb1z0Qi6YkycuPr/saZZXVTmN7Rvhj6YPXN+cuyKxW2xf6VVUmCALkostisSA5OQVmsxWSJMFgMGD16rWIj0+Q9125chn69euP5ctfkjsEevTojenTJ2P37q8wcuRoHDp0EDExfTBlyoPyfqNGjQUAh8eu7mMpSRLKysrwwgvpCAgIBAD88ssveO+9v+LJJxfj7rttxUtQUAimTZuMffv2YsyYG6/p/tfPo/15b7FYG2xbseJlaGo+m/7ww/f4+OOPsHr1WowYYTsXrbragkWLHsfx47+gb99Y5OWdw//93/t48slncNdd9wIAkpKuR3l5OTIzX0Nq6t1y0eaM/bGs3w674uJi5OWdw4IFT+CGG2yP7cCBQ5zer9r7J8FqtaKkpAImk9Tg9a7Xe7dqT1mHKcbq6t+/P1QqFXJzc5GSkgKNRoNTp05h7NixcszJkycB2M4Jq/szJycH8fHxclxOTg58fX0RHu66Ym4KVwlrCmdP1hbzD4Do4wtrRTkqzp6DV3SP1jkutbpWzTt1Gsy7Z2LePQ9z7pzF4l6X3qmsrMSNN46Ql/399Xj88acxfPhIeV1gYKBDIVZVVYWDB3/C/PkLYbHU9tpFR/dASEgXHD16BCNHjkZsbD989NH/Yd26dIwdm4IBAxKgVl/9o3mfPrFyIQYA3bvbJtIYOnR4nXW2z4eXLuU3/0630KBBSXIhZm+DKIoYMuT6Ouui5Xb17RuL//7Xdj3gG29MgdlsluOGDBmGd97ZikuX8l1OYFJSUowjRw5h4cInnW4HbJ0xERFd8dprr6K01IAhQ653OC+uMRaL1Gjh2Vo6ZDF24MABWCwWREVFQavVYsSIEdi1axcefPBBOWbHjh0IDQ2VC6+kpCT4+/tj586d8jqLxYJdu3YhOTm508+kaCcIAnRRUaj85ThMeSzGiIiIqHPY+ESyy231Oz/WLBjjMrb+R7qX545yHugktrl0Oh3Wr38dgICQkCCEhIQ16KkJDAx2WC4tNcBisWDt2nSsXZve4Jj2AumOO9JQUVGBjz/+CO+//w78/Pxw222pmDv3Eeh0Xg32s/P393dYthdAfn7+DdYZjaam39lr5Ofn57CsVquh0+kcCjT77yaTEYCtoJIkCXfe6XyKfNsEfM6LsW+//QaBgUGIi+vnsk2CICA9fR02b96I9PQXUVlZidjYfnj00ScwaFCSy/3ak+LF2COPPIKEhATExcXBy8sLx44dw5YtWxAXF4fx422JmT9/PqZOnYolS5YgLS0N+/fvR1ZWFpYtWya/ILRaLebOnYuMjAwEBwcjPj4eWVlZOHv2rDwZiLvQRtqKMeO5c0o3hYiIiKhJdNqmn7vVVrHNJYoi+vWzfcmvVotOe0fqF3x+fv4QBAEPPPAQxo69sUG8vVdLFEVMmnQ/Jk26HwUFl/Cvf32GTZvWITAwEA8+OKu170qHpNcHQBAEbNiwxaFos4tupNNhz56vMWrU6Kt2uERH98Ty5S/CbDbj4MGfsHnzeixa9Dg++mhXi8+na02KF2PXXXcddu7cic2bN0OSJERGRmLSpEmYOXOmPC3o4MGDsWHDBqSnp2P79u2IiIjAkiVLMHHiRIdjzZgxA5IkYevWrSgsLERsbCw2b96MuLg4Je5am9FFRQEAjHksxoiIiIg6Em9vbyQkJOLMmdPo129ek/YJDQ3D/fdPxeeff4Jffz3dxi3sOOxDGEtKSjB69NirRNcym8347rtvsWTJ803eR61WY/DgIZgy5UEsXvwECgsLGi322ovixdicOXMwZ86cq8YlJycjOdl19zZg64qcNWsWZs1y728TdFHdAQDGc2cVbgkRERER1Tdv3kIsXDgXS5c+g3HjboG/vz8KCi7hv//dhzvuSENS0lC89NIK+PvrMWBAIvz9/XHw4E/IyTlx1RkEW2rVqmX45JN/Ijt7X5scvyWio3vg3nsnYvnypbj//gcQH58As9mMs2dzceDA91i16n+d7vfTTwdgMlU7nCfnzMmTJ/DqqxkYN+4WREZGoaysDFu3vomuXbshMjKqLe5SsylejFHz6SJt156wFBfDUlYGVb0xukRERESknMTEgdiwYQsyM1/DqlXPo7q6GqGh4Rg69HpE1Xypnpg4EB9//BH+8Y/tqKqqQrdukViw4HGkpt7dJm2yzXLp+jIASnnssacQHd0Df//7h/jLX7bAy8sb0dE9kJLi/DwyANizZzeSkoY0uL5wfSEhIQgJCcHWrW+isLAAvr5+GDhwEJYu/TNUqrYb3tocgmS/EBe5ZLFYUVRU3uz91GoRQUG+uHKlvNVnYDm1+EmYCwsR9dRi+DRy4iK1v7bMO3VczLtnYt49D3PeuOpqEy5fvoCQkK7QaLRKN6dVuTpnjNrf5Mn3YtKk+3HvvROvHtxMdZ/D3t5eDV7vwcG+7j+1PV2dLqo7zIWFMJ47y2KMiIiIiDzGe+99qHQTWk3rlXXUrnQ141xNnMSDiIiIiKhTYjHWSdmLMU5vT0RERETUObEY66S08vT2eZCsHL9MRERERNTZsBjrpLThERDUakjGKlRfLlS6OURERERE1EwsxjopQaWCtms3AICJQxWJiIiIiDodFmOdWO1QRRZjRERERESdDYuxToyTeBARERERdV4sxjoxXc0V3E3nzircEiIiIiIiai5e9LkT09UMUzRdyoe12gTRza50T0RERKSkzz7bhaysd5GbewaSBISGhiIxcSB+//v5CAoKBgA88sgc+Pj44KWXXmnz9uzf/z0effThq8ZlZX2MBQt+j1GjRuOJJxa1ebuupqKiHHfeOR6vvLIBAwcOVro5HQqLsU5MFRAI0dcX1vJymC5cgFd0D6WbREREROQWtm79CzZvXo9Jk36HmTMfhigKOHnyBD777BMUFhbIxdgf/rAYKlX7DDaLi+uHTZvelJd/+eUY0tNfxLPP/g+io3vK60NCumDlypfh769vl3ZdzXff7YW3tw8SEq5TuikdDouxTkwQBOgio1D5y3EYz55lMUZERETUSv72t/dx++2pWLDgcQCAWi1i2LCR+N3vpsFa5xqvvXr1brc2+fr6ISEhUV42mYwAgN69Y9CvX7xDbGxsv3Zr19Xs2fM1hg8fCZVKpXRTOhyeM9bJyeeNcUZFIiIiolZTVlaKkJAuTreJYu1H6EcemYOnn35MXs7MfA033zwGx44dxezZ05GScgMeeuh3OHbsKIxGI1avXoXbb0/BPffcgQ8+eKfN2n/ffWlIT39RXl6x4k944IFJ2LfvW0yb9lukpNyAefNm4fz5PBgMJVi69BnccksyJk26C//+92cNjrdnz9fy/UlNHY/Vq1ehsrLyqu2wWq349ttvcMMNY1zGlJaW4sUXl+Puu29HSsoo3Hvvnfif/3mmZXe8k2HPWCfH6e2JiIioo5MkCZLJpNjtC1otBEFo1j5xcf3x979/iG7dIjFq1GiEh4c1eV+z2YxVq5bht7/9HYKCgrBx4zr88Y9P4brrBiE4OBjLlq3E7t3ZWLs2Hf37D0Bi4sDm3qUWuXz5MjZuXIfp02dBrVbhlVdWY9my5+Dt7Y2BAwcjLe0ufPzxdixb9hwGDEhERERXAMCXX/4L//M/z+KOO9Iwc+bvcflyITZtehWlpQY8//yqRm/zyJHDMBhKMHz4KJcx69alY9++PXj44QWIiOiKy5cLsXfvnla97x0Vi7FOjtPbExERUUcmSRLOvrACVTknFWuDV5++6L7o2WYVZH/4wyI8++xTePHF5QBQU5SNwW9/+zt07dqt0X2rq6sxd+4CjBhhK0CsVgmLFj0Oq9WCBQueAAAkJV2PL7/8N7788l/tVoyVlhqwYcMW9OzZCwBQWFiAjIyXMWXKdDz44CwAQL9+A/DVV1/iq6/+g0mT7ockSVi/fg1SUm7G4sXPyccKDg7G008/junTZ6F37xiXt7lnz24kJg6Ev7+/y5ijRw9j/PjbcPvtqfK68eNvvda72ylwmGInZy/GLCXFsJSWKtwaIiIiIiea2SvVEfTu3Qdbt36Al19+BRMn3g8/Pz/83/+9h+nT78eJE8cb3VcURQwZcr283L17NABg6NDh8jqVSoXIyChcupTfNnfAiS5dQuVCzNauHjXtGiav8/f3R2BgkNyus2fP4OLFC0hJuRlms1n+P2jQEAiCgOPHjzZ6m3v2fI0bbhjbaExsbD/s2rUD77yzFadOKVe0K4E9Y52c6OUFTWgoqgsKYMw7B59+/ZVuEhEREZFMEAR0X/RspxumCAAajQYjR47GyJGjoVaL+Oabb/D004/hzTe3YOXKl13up9PpoNFoHI4DAH5+fg5xarUapnZ8XJzdPoAGvVYajUaeHKS4uBgA8OyzTzo9Zn7+RZe3l59/ESdP/oJly1Y22q7HH38aev1reP/9v2LDhjUICwvHAw88hHvuua/R/dwBizE3oI2MshVj51iMERERUccjCAIEnU7pZlyz4cNHIiamL86cOa10U9qNXh8AwFYwDRiQ0GB7ly6hLvfds+drREV1d5h23xk/Pz8sXPgHLFz4B+TknERW1rv43/99Ab169cagQUnX1P6OjsMU3YBOnsTjrMItISIiInIPRUWXG6wzGqtw6VI+goNDFGiRMnr06ImwsHCcP5+Hfv3iG/xvvBjb3egsis7ExPTBo4/azqs7c+bXa2l6p6B4z9iuXbvwj3/8A4cPH0ZJSQm6d++O+++/H5MnT5anDV28eDE++uijBvu+/vrrGDvWcQxqZmYmtm3bhoKCAsTGxuLpp5/G8OHDG+zrTuTp7TmJBxEREVGrmDZtMm64YQyGDRuJLl26oKioEB988B5KSooxceL9bXKbu3btwAsv/BmvvLIBgwcPaZPbaC5BEPDII4/j+ef/iKqqSowcORre3t64ePECvv32a8yZMx/RTq51W1VVhR9++B6TJ0+96m3MnTsDY8bchN69Y6BSifjkk39Co9Fg4MDBbXGXOhTFi7E333wT3bp1w9NPP42QkBDs27cPK1aswNmzZ7Fo0SI5rnv37li9erXDvjExjjO3ZGZmIiMjA48//jji4+ORlZWF2bNnIysrC3Fxce1yf5Qgz6h4Pg+S1QpBZIcnERER0bWYMWMOvvlmN159NQPFxVcQGBiI3r37Ys2ajUhKGtomtylJEiwWCyRJapPjt1RKynj4+/vhrbfewGef7QIARER0xfDho1z2En7//T5oNOomFVSJiQPx6af/xPnz5yGKAnr37oMXX8xwmGzEXQmSwtkuKipCcHCww7pVq1bh3Xffxffffw+tVovFixfj0KFD2LFjh8vjmEwmjBo1CpMmTcLTTz8NALBYLEhLS0NcXBwyMjJa3EaLxYqiovJm76dWiwgK8sWVK+Uwm61X36GFJIsFJ+f/HpLZjJ4rX4I2rOnXwaDW1155p46FefdMzLvnYc4bV11twuXLFxAS0hUajVbp5rQqtVpkzpvhxRdXoKysFH/+8wtKN6VZ6j6Hvb29Grzeg4N9oVK1XseH4j1j9QsxAOjfvz+MRiOKi4sR1sTCYv/+/SgtLUVqau31CVQqFe644w688cYbkCSpRbPodAaCSgVtt0gYc8/AlHeWxRgRERERKWrRoj8q3YROQfFizJkffvgBgYGBCAmp7fbMzc3F0KFDUVVVhdjYWMybNw/jx4+Xt+fk5AAAevfu7XCsmJgYlJeXIz8/HxERES1uk1rd/ArYXjW3ZvXsilf37jDmnkH1+Tyor7/+6jtQm2nPvFPHwbx7Jubd8zDnjbNa3fSLb6H2ZwcbQUhtRKUS2uX13uGKsYMHD+LDDz/E/PnzoVKpANh6yhITE9GnTx+Ulpbi3Xffxfz587FmzRrcdtttAACDwQCtVgsvLy+H4wUE2KbjLC4ubnExJooCgoJ8W3yf9HrvFu/bVBWxMSj55mtY8y9cU1up9bRH3qnjYd49E/PueZhz56qqVCgsFKFSCS36IrujYxHu/qxWAaIoIiDAR64r2vL13qGKsYKCAjz66KNITEzE7Nmz5fXTp093iEtJScHkyZOxdu1auRgD4HQYov2UuGsZomi1SjAYKpq9n0olQq/3hsFQCYulbccYW0NsQxNLT/2KK1eaf34btZ72zDt1HMy7Z2LePQ9z3jiTyQir1QqLRXKr86sEwZZ7i8XKnjE3Z7FIsFqtKCmpgMkkNXi96/Xe7nXOmF1paSlmz54NLy8vbNy40eGq5fWJoohbbrkFL7/8MqqqquDl5QW9Xg+j0Qij0QhdnYsKGgwGALU9ZC11LW8oFou1zd+Q1BGRAABT/kWYKqogat3rpNnOqD3yTh0P8+6ZmHfPw5w7Z7G4Z6ViL8BYiHkOi0WSC7C2fL13iL5Wo9GIuXPnorCwEFu2bEFQUNBV96k/CaR9mnv7uWN2OTk58PX1RXh4eOs1uANSBQRA5ecPSBJM588r3RwiIiLyYB1tanaipmrv567ixZjZbMbChQtx7NgxbNmyBZGRkVfdx2q14tNPP0Xfvn3lsZxJSUnw9/fHzp075TiLxYJdu3YhOTnZbWdStBMEAdqomuuN5Z1VuDVERETkiezn+5tMRoVbQtQy9ueuStU+AwgVH6a4bNkyfPnll3jqqadQVVWFH3/8Ud7Wp08flJSUYPHixUhNTUV0dDRKSkrw7rvv4tChQ1i3bp0cq9VqMXfuXGRkZCA4OFi+6PPZs2eRnp6uwD1rf7rIKFQeOwrTuXNKN4WIiIg8kCiq4O3th7KyKwAArVbnNl+IW62C2w7DJFuPmMlkRFnZFXh7+0EU26fPSvFi7OuvvwYAvPzyyw22vf3224iLi4Ofnx/Wr1+PoqIiaDQaJCQk4PXXX8eYMWMc4mfMmAFJkrB161YUFhYiNjYWmzdvRlxcXLvcF6Xp7D1jLMaIiIhIIXq97Rqy9oLMXYiiCKuV5wm6O29vP/k53B4UL8a++OKLq8Zs3LixSccSBAGzZs3CrFmzrrVZnZI2sjsADlMkIiIi5QiCgICAEPj7B8FiMSvdnFahUgkICPBBSUkFe8fcmEqlbrceMTvFizFqPbrISEAQYDEYYC41QO2vV7pJRERE5KFEUYQousfszmq1CC8vL1RWWjiLJrUqxSfwoNYj6nTQdAkFAJ43RkRERETUwbEYczO6qJqhiuc4VJGIiIiIqCNjMeZmaqe3Z88YEREREVFHxmLMzegiOaMiEREREVFnwGLMzdintzedz4PE6VeJiIiIiDosFmNuRhMWDkGjgWQyobrgktLNISIiIiIiF1iMuRlBFKHtFgmAQxWJiIiIiDoyFmNuyH7emImTeBARERERdVgsxtwQp7cnIiIiIur4WIy5IU5vT0RERETU8bEYc0P2YYrVly7BajQq3BoiIiIiInKGxZgbUgcEQOXvD0gSTBfOK90cIiIiIiJygsWYm+J5Y0REREREHRuLMTelrRmqyOntiYiIiIg6JhZjbkoXxentiYiIiIg6MhZjbkon94xxmCIRERERUUfEYsxNabtFAoIAS2kpzCUlSjeHiIiIiIjqYTHmpkSdDpqwMAC83hgRERERUUfEYsyN2YcqmjiJBxERERFRh8NizI1ped4YEREREVGHpXgxtmvXLsybNw/JyckYNGgQ0tLS8M4778BqtTrEZWdn4+6770ZiYiJuvvlmbNu2zenxMjMzkZKSgsTEREyYMAH79u1rj7vRIcnXGuMwRSIiIiKiDkfxYuzNN9+EVqvF008/jU2bNmH8+PFYsWIFXn75ZTnmwIEDmDdvHuLj4/H666/jnnvuwfLly5GVleVwrMzMTGRkZGDKlCnYvHkzevTogdmzZ+P48ePtfbc6BHl6+/N5kOoVt0REREREpCy10g3YtGkTgoOD5eURI0agoqIC27Ztw+OPPw6tVov169cjPj4eK1eulGMuXLiANWvWYMKECRBFESaTCRs3bsS0adMwc+ZMAMCwYcOQlpaGTZs2ISMjQ5H7pyRNaBgErRaSyYTqS5egjYhQuklERERERFSj1XrGjEZji/arW4jZ9e/fH0ajEcXFxTCZTNi7dy/uvPNOh5i0tDQUFBTgyJEjAID9+/ejtLQUqampcoxKpcIdd9yB7OxsSJLUovZ1ZoIo2qa4B88bIyIiIiLqaJrdM7Zz505cuXIFU6ZMAQCcOXMGc+fOxenTpzF48GBs3LgRAQEB19SoH374AYGBgQgJCcHp06dRXV2N3r17O8T06dMHAJCTk4OEhATk5OQAQIO4mJgYlJeXIz8/HxHX0DOkVje/blWpRIefSvDu3h3GX0+j+kIe1OrhirXDk3SEvFP7Y949E/PueZhzz8S8e6b2yHuzi7HMzEzcfvvt8vJLL70Eg8GAadOm4e9//zs2bdqERYsWtbhBBw8exIcffoj58+dDpVKhpOaCxXq93iHOvmzfbjAYoNVq4eXl5RBnLwyLi4tbXIyJooCgIN8W7Wtrq3eL971WlbExKN79Faz5F67pPlDzKZl3Ug7z7pmYd8/DnHsm5t0ztWXem12MnTt3Dn379gVgG5r49ddf4/nnn8fdd9+NXr164Y033mhxMVZQUIBHH30UiYmJmD17tsM2QRCc7lN3vbMY+/BEV/s3hdUqwWCoaPZ+KpUIvd4bBkMlLBZlJtCwhNgu/Fx2+ldcuVKuSBs8TUfIO7U/5t0zMe+ehzn3TMy7Z3KWd73eu1V7yppdjFVWVsLHxwcA8NNPP8FkMmHs2LEAbEMH8/PzW9SQ0tJSzJ49G15eXti4cSM0Gg2A2p4tew+YncFgAFDbQ6bX62E0GmE0GqHT6RrEXevQSbO55S88i8V6TftfC3VX2zljpkuXYCqvhFjnsaG2pWTeSTnMu2di3j0Pc+6ZmHfP1JZ5b3ZZFxoaiqNHjwIAdu/ejV69esmTcJSUlDQYJtgURqMRc+fORWFhIbZs2YKgoCB5W3R0NDQaDU6dOuWwz8mTJwHYzgmr+9N+7phdTk4OfH19ER4e3ux2uQO1vx4qvR6QJBjz8pRuDhERERER1Wh2MXbLLbcgIyMDCxYswNtvv4077rhD3nb8+HFER0c363hmsxkLFy7EsWPHsGXLFkRGRjps12q1GDFiBHbt2uWwfseOHQgNDUV8fDwAICkpCf7+/ti5c6ccY7FYsGvXLiQnJ1/TMMXOThdpu/izKY8zKhIRERERdRTNHqa4cOFClJeX48CBA0hNTcWsWbPkbf/5z38watSoZh1v2bJl+PLLL/HUU0+hqqoKP/74o7ytT58+8PPzw/z58zF16lQsWbIEaWlp2L9/P7KysrBs2TKIoq2e1Gq1mDt3LjIyMhAcHIz4+HhkZWXh7NmzSE9Pb+7ddCvaqChUHD0M47lzSjeFiIiIiIhqNLsY8/LywrJly5xu++CDD5rdgK+//hoA8PLLLzfY9vbbb2P48OEYPHgwNmzYgPT0dGzfvh0RERFYsmQJJk6c6BA/Y8YMSJKErVu3orCwELGxsdi8eTPi4uKa3S53oouKAgAY81iMERERERF1FM0uxlrbF1980aS45ORkJCcnNxojCAJmzZrl0FtHdYYpnjsHSZI8esgmEREREVFHwSvXeQBtt26AIMBSVgqLoeTqOxARERERUZtjMeYBRK0WmprZJHneGBERERFRx8BizEPoImvOGzvHGRWJiIiIiDoCFmMeQhdln96ePWNERERERB1Bk4qx+fPn4+OPP0ZpaWlbt4faiFbuGWMxRkRERETUETRpNkVBELB06VJYLBaMGDECt956K8aNG4egoKC2bh+1Erln7HweJIsFgkqlcIuIiIiIiDxbk3rGXn31VXz77bd46aWX4O/vj5UrV2LMmDGYPn063nnnHVy6dKmt20nXSNOlCwSdDpLZjOpL+Uo3h4iIiIjI4zX5nDFvb2/cfvvtSE9Px969e/HKK68gIiICr7zyCm688Ubcf//9+Mtf/oK8vLy2bC+1kCCK0HWLBMCLPxMRERERdQQtmsBDq9Vi/PjxePHFF7Fnzx5s3LgRMTExeO211zB+/Hjcd999rd1OagVazqhIRERERNRhNOmcsUYPoFYjOTkZycnJWLZsGfbt24fPPvusNdpGrcx+3hgn8SAiIiIiUt41F2N1iaKIkSNHYuTIka15WGoluihbzxintyciIiIiUh6vM+ZB7Bd+ri4ogLWqSuHWEBERERF5NhZjHkTl7w9VQAAATuJBRERERKQ0FmMeRj5vjMUYEREREZGiWIx5GPtQRRMn8SAiIiIiUtQ1FWNVVVXIz8+H2WxurfZQG5Ont2fPGBERERGRolpUjO3duxe//e1vkZSUhJtuugnHjx8HADz//POc1r6D03W3T29/FpIkKdwaIiIiIiLP1exi7Ntvv8XMmTNhNBoxY8YMWK1WeVtQUBA+/PDDVm0gtS5t166AKMJaXg5LSbHSzSEiIiIi8ljNLsbWrl2LsWPHYvv27XjssccctvXr1w/Hjh1rrbZRGxA1WmjDwgHw4s9EREREREpqdjF29OhRTJ48GQAgCILDtuDgYFy+fLl1WkZtRhvF88aIiIiIiJTW7GJMpVKhurra6bbLly/D19e3Wcc7c+YMli5dirvuugvx8fFITU1tELN48WLExcU1+P/VV181iM3MzERKSgoSExMxYcIE7Nu3r1nt8QTy9PbnzircEiIiIiIiz6Vu7g6JiYn4+OOPMX78+AbbPv30UwwaNKhZxztx4gSys7MxcOBAWK1Wl5NKdO/eHatXr3ZYFxMT47CcmZmJjIwMPP7444iPj0dWVhZmz56NrKwsxMXFNatd7ozT2xMRERERKa/ZxdicOXMwc+ZMzJ8/H3fffTcEQcBPP/2Ev/3tb/j000/x1ltvNet4KSkpcmG3ePFiHDp0yGmcl5dXo4WeyWTCxo0bMW3aNMycORMAMGzYMKSlpWHTpk3IyMhoVrvcmX2YounCeUgWCwSVSuEWERERERF5nmYPUxw1ahReeOEFfP/991iwYAEkScKyZcuwY8cOrFq1CkOHDm1eA8TWue70/v37UVpa6jDMUaVS4Y477kB2djanca9DE9IFgk4HyWyGKf+i0s0hIiIiIvJIze4ZA4C77roLt956Kw4cOIDCwkIEBQUhKSkJPj4+rd0+WW5uLoYOHYqqqirExsZi3rx5DkMlc3JyAAC9e/d22C8mJgbl5eXIz89HREREm7WvMxFEEbrIKFSdyoHp3DnoukUq3SQiIiIiIo/TomIMsA0bHDlyZGu2xaX+/fsjMTERffr0QWlpKd59913Mnz8fa9aswW233QYAMBgM0Gq18PLyctg3ICAAAFBcXHxNxZha3fwePJVKdPjZkXh1746qUzmovpDXovtGrnXkvFPbYd49E/PueZhzz8S8e6b2yHuLi7ETJ07g/PnzMBqNDbbdcsst19So+qZPn+6wnJKSgsmTJ2Pt2rVyMQY0nGofgDw80dm2phJFAUFBzZslsi693rvF+7aVytgYFGf/B9b8C9d038i1jph3anvMu2di3j0Pc+6ZmHfP1JZ5b3Yxlpubi0cffRTHjx8HgAbnYgmCgKNHj7ZO61wQRRG33HILXn75ZVRVVcHLywt6vR5GoxFGoxE6nU6ONRgMAGp7yFrCapVgMFQ0ez+VSoRe7w2DoRIWi7XFt98WrMFhAIDSU6dx5Uq5wq1xLx0579R2mHfPxLx7HubcMzHvnslZ3vV671btKWt2Mfbcc8+hsLAQzzzzDGJiYqDRaFqtMc1Rvwi0T3Ofk5OD+Ph4eX1OTg58fX0RHh5+TbdnNrf8hWexWK9p/7ag7mo7T6y6sBCmsnKIXvymp7V1xLxT22PePRPz7nmYc8/EvHumtsx7s4uxn3/+GcuXL8edd97ZFu1pEqvVik8//RR9+/aVzxFLSkqCv78/du7cKRdjFosFu3btQnJy8jUNU3RHKj8/+feKY8fgN2iwgq0hIiIiIvI8zS7GgoOD4Vfng/y1qqysRHZ2NgAgLy8PZWVl+OSTTwDYrhNWWVmJxYsXIzU1FdHR0SgpKcG7776LQ4cOYd26dfJxtFot5s6di4yMDAQHB8sXfT579izS09Nbrb3uqHD7hyzGiIiIiIjaWbOLsfvvvx9ZWVlITk5ulQZcvnwZCxcudFhnX3777bcRFxcHPz8/rF+/HkVFRdBoNEhISMDrr7+OMWPGOOw3Y8YMSJKErVu3orCwELGxsdi8eTPi4uJapa3uRhMahuqCS9CPHKV0U4iIiIiIPI4gteBqyC+88AK+++47jBkzBoGBgY4HFAQ8+OCDrdS8jsFisaKoqPmTXKjVIoKCfHHlSnmHHF+ct34tyg/sR9gDDyIw+Ualm+M2OnreqW0w756Jefc8zLlnYt49k7O8Bwf7KjuBx08//YSPPvoIJSUlOHLkSIPt7liMERERERERtbZmF2PLli1DUFAQVq5cqehsikRERERERJ1Zs4uxkydPIj09HePGjWuL9hAREREREXmEZg947Nq1a4NrfBEREREREVHzNLsYmzNnDt544w0Yjca2aA8REREREZFHaPYwxSNHjiA/Px/jx4/H8OHDG8ymCABLlixpjbYRERERERG5rWYXY3/961/l33fs2NFguyAILMaIiIiIiIiuotnF2LFjx9qiHURERERERB6l9a5YRkRERERERE3GYoyIiIiIiEgBTRqmOG7cOKxfvx79+vVDSkoKBEFwGSsIAv71r3+1WgOJiIiIiIjcUZOKsWHDhsHX11f+vbFijIiIiIiIiK6uScXYvffei+DgYADACy+80KYNIiIiIiIi8gRNOmds2rRpyMnJaeu2EBEREREReYwmFWOSJLV1O4iIiIiIiDwKZ1MkWKsqlW4CEREREZHHYTHmwUSdDgBQmPU+8tavRdWZX5VtEBERERGRB2nSBB4AMH369CbNoigIAn744YdrahS1jy733gdYrSj973coP7Af5Qf2w/e6gQhJuwtevXor3TwiIiIiIrfW5GJs2LBh8oyK5B40wSHoOmcuglPvQtE//4HS7/ai/OefUP7zT/BJuA4hab+Bd0wfpZtJREREROSWmlyMzZ8/H9ddd11btoUUouvWDV1n/x4habaizLDvW1Qc+hkVh36Gz4AEhKTeBe++fZVuJhERERGRW2lyMUbuTxsRgYiZsxGc+hsU7doBw55vUHH4ECoOH4J3v/4I+c3d8ImNU7qZRERERERuQfEJPM6cOYOlS5firrvuQnx8PFJTU53GZWdn4+6770ZiYiJuvvlmbNu2zWlcZmYmUlJSkJiYiAkTJmDfvn1t2Xy3pA0PR8SDM9FrxYsIGJsMqFSoPHYU515ahbMvrULFsaO83AERERER0TVSvBg7ceIEsrOz0aNHD8TExDiNOXDgAObNm4f4+Hi8/vrruOeee7B8+XJkZWU5xGVmZiIjIwNTpkzB5s2b0aNHD8yePRvHjx9vj7vidjShoQif9hB6rXwRAck32YqyX47j3OoXce6lVSg/fIhFGRERERFRCwmSwp+mrVYrRNFWEy5evBiHDh3Cjh07HGJmzZqFkpISh+Lrueeew5dffomvvvoKoijCZDJh1KhRmDRpEp5++mkAgMViQVpaGuLi4pCRkdHiNlosVhQVlTd7P7VaRFCQL65cKYfZbG3x7XcU1UWXUbRrJwy7syGZzQAAr5g+CEn7DXwGJDZptk1P4G55p6Zh3j0T8+55mHPPxLx7Jmd5Dw72hUrVev1ZiveM2QsxV0wmE/bu3Ys777zTYX1aWhoKCgpw5MgRAMD+/ftRWlrqMMxRpVLhjjvuQHZ2NntwWoEmOAThUx5Az1UvI3D8zRA0GlTlnETeK+nIXbEMZT/9yMeZiIiIiKiJOvwEHrm5uaiurkbv3o7XverTxzblek5ODhISEpCTkwMADeJiYmJQXl6O/Px8REREtLgdanXz61Z71dya1XNHoA4NgffUBxCWmobCXTtx5csvYPz1NM6vewVePXoicu486K7hse7s3DXv1Djm3TMx756HOfdMzLtnao+8d/hirKSkBACg1+sd1tuX7dsNBgO0Wi28vLwc4gICAgAAxcXFLS7GRFFAUJBvi/a1tdW7xft2aEG+CJ03G6bfTcL57X/HhZ2foOrMrzDu/w4RU+5XunWKc9u8U6OYd8/EvHse5twzMe+eqS3z3uGLMTtX5yPVXe8sxj5s7lrOZ7JaJRgMFc3eT6USodd7w2CohMXizuOL1Qi4awIqy6tQ9NmnqCyvwpUrzT/Hzl14Tt6pLubdMzHvnoc590zMu2dylne93rtVe8o6fDFm79my94DZGQwGALU9ZHq9HkajEUajETqdrkGc/TgtdS0na1osVo842dNac7qY1Sp5xP29Gk/JOzli3j0T8+55mHPPxLx7prbMe4cf+BodHQ2NRoNTp045rD958iQAyNPh23/azx2zy8nJga+vL8LDw9uhtURERERERE3T4YsxrVaLESNGYNeuXQ7rd+zYgdDQUMTHxwMAkpKS4O/vj507d8oxFosFu3btQnJyMqddJyIiIiKiDkXxYYqVlZXIzs4GAOTl5aGsrAyffPIJAGDYsGEIDg7G/PnzMXXqVCxZsgRpaWnYv38/srKysGzZMnlqfK1Wi7lz5yIjIwPBwcGIj49HVlYWzp49i/T0dMXuHxERERERkTOKF2OXL1/GwoULHdbZl99++20MHz4cgwcPxoYNG5Ceno7t27cjIiICS5YswcSJEx32mzFjBiRJwtatW1FYWIjY2Fhs3rwZcXFx7XZ/iIiIiIiImkLxYiwqKgrHjx+/alxycjKSk5MbjREEAbNmzcKsWbNaq3lERERERERtosOfM0ZEREREROSOWIwREREREREpgMUYERERERGRAliMERERERERKYDFGBERERERkQJYjBERERERESmAxRgREREREZECWIwREREREREpgMUYERERERGRAliMERERERERKYDFGBERERERkQJYjBERERERESmAxRgREREREZECWIwREREREREpgMUYERERERGRAliMUaurvngRlTknYS4pgSRJSjeHiIiIiKhDUivdAHIfokYDACg78APKDvwAABC0WmhCw6AJDYWmS6jtZ2goNF3CoOnSBaJWq2STiYiIiIgUw2KMWk3AjSmwlJfDdPECqgsKYL5SBMlkginvHEx555zuowoMhDY0zFaohYU5FGwqfQAEQWjne0FERERE1D5YjFGr0QQHI/yB6fKyZDaj+nIhqgsKbP8LL9X+XnAJ1qoqWIqLUVlcjMoTvzQ4nqDVQhMWjrDf3g+f/vHteVeIiIiIiNocizFqM4JaDW14BLThEQ22SZIEa1kZTPWLtEJboWYuqulVO3cWJbuzWYwRERERkdthMUaKEAQBKn9/ePv7w7t37wbbJbMZRbv+ict//wiSlZOAEBEREZH76RSzKX744YeIi4tr8H/16tUOcdnZ2bj77ruRmJiIm2++Gdu2bVOoxXStBLUaoo+P0s0gIiIiImoznapnbMuWLfD395eXw8PD5d8PHDiAefPm4a677sLixYuxf/9+LF++HFqtFhMnTlSiuURERERERC51qmJswIABCA4Odrpt/fr1iI+Px8qVKwEAI0aMwIULF7BmzRpMmDABotgpOgGJiIiIiMhDuEWFYjKZsHfvXtx5550O69PS0lBQUIAjR44o1DIiIiIiIiLnOlXPWGpqKq5cuYJu3bph0qRJmDVrFlQqFXJzc1FdXY3e9SaC6NOnDwAgJycHCQkJ13TbanXz61aVSnT4Sc2jEm3XGBPFlj3+SmHePRPz7pmYd8/DnHsm5t0ztUfeO0UxFhoaigULFmDgwIEQBAFffPEFXnnlFeTn52Pp0qUoKSkBAOj1eof97Mv27S0ligKCgnxbvL9e731Nt++pKn10AACNRn1Nj79SmHfPxLx7Jubd8zDnnol590xtmfdOUYyNGTMGY8aMkZdHjx4NnU6Ht956Cw8//LC8XhAEp/u7Wt9UVqsEg6Gi2fup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A6dPn8bMmTMxaNAgjBw5EsuXL0dVVZXSzaJW8uGHHyIuLq7B/9WrVzvEZWdn4+6770ZiYiJuvvlmbNu2TaEWU0ucOXMGS5cuxV133YX4+HikpqY6jWtqnjMzM5GSkoLExERMmDAB+/bta8vmUws1Je+LFy92+h7w1VdfNYhl3ju+Xbt2Yd68eUhOTsagQYOQlpaGd955B1ar1SGOr3X30pS887Xufnbv3o2pU6dixIgRSEhIwLhx47Bq1SqUlpY6xLXn613dontCLhkMBkyfPh3dunXD2rVrUVRUhFWrVqG4uLjBh3Xq3LZs2QJ/f395OTw8XP79wIEDmDdvHu666y4sXrwY+/fvx/Lly6HVajFx4kQlmkvNdOLECWRnZ2PgwIGwWq2QJKlBTFPznJmZiYyMDDz++OOIj49HVlYWZs+ejaysLMTFxbXn3aKraEreAaB79+4N3tNjYmIclpn3zuHNN99Et27d8PTTTyMkJAT79u3DihUrcPbsWSxatAgAX+vuqCl5B/hadzclJSUYPHgwpk+fDr1ejxMnTmDdunU4ceIE3njjDQAKvN4lalWvvfaaNHDgQOny5cvyuo8//liKjY2VTp48qWDLqLX87W9/k2JjYx1yXN/MmTOl++67z2HdkiVLpBtuuEGyWCxt3URqBXXztGjRIunOO+9sENOUPBuNRmnIkCHSiy++KMeYzWbp9ttvlx577LE2aj21VFPy7mp9Xcx75+HsvXzlypVSYmKiZDQaJUnia90dNSXvfK17hvfff1+KjY2VLl68KElS+7/eOUyxlX311VcYOXIkgoOD5XW33nortFotsrOzFWwZtReTyYS9e/fizjvvdFiflpaGgoICHDlyRKGWUXOIYuNvj03N8/79+1FaWuow3E2lUuGOO+5Adna2y54XUsbV8t5UzHvnUffvtV3//v1hNBpRXFzM17qbulrem4p57/wCAwMBAGazWZHXO4uxVpaTk9Og+1qr1SI6Oho5OTkKtYraQmpqKvr3749x48bhtddeg8ViAQDk5uaiuroavXv3dojv06cPAPB54Caammf7z/pxMTExKC8vR35+fju0llpbbm4uhg4dioSEBNx7773417/+5bCdee/cfvjhBwQGBiIkJISvdQ9SN+92fK27J4vFAqPRiMOHD2P9+vW46aabEBkZqcjrneeMtTKDwQC9Xt9gvV6vR0lJiQItotYWGhqKBQsWYODAgRAEAV988QVeeeUV5OfnY+nSpXKe6z8P7Mt8HriHpubZYDBAq9XCy8vLIS4gIAAAUFxcjIiIiLZuLrWi/v37IzExEX369EFpaSneffddzJ8/H2vWrMFtt90GgHnvzA4ePIgPP/wQ8+fPh0ql4mvdQ9TPO8DXuju76aab5IJpzJgxSE9PB6DM33YWY+1EkiQIgqB0M6gVjBkzBmPGjJGXR48eDZ1Oh7feegsPP/ywvN5Vvvk8cC9NybOzGPsQBj4fOp/p06c7LKekpGDy5MlYu3at/AENYN47o4KCAjz66KNITEzE7NmzHbbxte6+XOWdr3X3tXnzZlRUVODkyZPYsGEDHn74Ybz55pvy9vZ8vXOYYivT6/UwGAwN1peWljrtMSP3cPvtt8NiseDo0aPytyL1e8Dszws+D9xDU/Os1+thNBphNBqdxtmPQ52XKIq45ZZbkJOTI1/GhHnvfEpLSzF79mx4eXlh48aN0Gg0APhad3eu8u4MX+vuo1+/fkhKSsKkSZPw6quvYt++ffj8888Veb2zGGtlMTExDc4JMplMyM3NbXAuGbmn6OhoaDQanDp1ymH9yZMnATScEpc6p6bm2f6z/vtCTk4OfH19HS6JQJ1X/ZO1mffOxWg0Yu7cuSgsLMSWLVsQFBQkb+Nr3X01lndX+Fp3P/3794dKpUJubq4ir3cWY61s7Nix2Lt3L65cuSKv+/zzz2EymZCcnKxgy6gt7dy5EyqVCvHx8dBqtRgxYgR27drlELNjxw6EhoYiPj5eoVZSa2pqnpOSkuDv74+dO3fKMRaLBbt27UJycjKHsLgBq9WKTz/9FH379pXPH2DeOw+z2YyFCxfi2LFj2LJlCyIjIx2287Xunq6Wd2f4WndPBw4cgMViQVRUlCKvd54z1somT56Mv/71r5g3bx7mzZuHy5cv44UXXkBaWhp7RNzEzJkzMWLECMTGxgIA/v3vf+ODDz7AtGnTEBoaCgCYP38+pk6diiVLliAtLQ379+9HVlYWli1b1mpTZ1PbqqyslC9HkZeXh7KyMnzyyScAgGHDhiE4OLhJedZqtZg7dy4yMjIQHBwsXxjy7Nmz8gnD1HFcLe+VlZVYvHgxUlNTER0djZKSErz77rs4dOgQ1q1bJx+Hee88li1bhi+//BJPPfUUqqqq8OOPP8rb+vTpAz8/P77W3dDV8l5SUsLXuht65JFHkJCQgLi4OHh5ecnFeFxcHMaPHw+gaZ/hWjPvgsQLILS606dPY/ny5fjhhx/g5eWF1NRUPPnkkw1mXKHOafny5di9ezcuXrwIq9WKnj17YuLEiXjggQccvgnJzs5Geno6cnJyEBERgYceeghTpkxRsOXUHOfOncO4ceOcbnv77bcxfPhwAE3LsyRJyMzMxLZt21BYWIjY2Fg89dRTGDFiRJvfD2qeq+U9Li4OzzzzDA4fPoyioiJoNBokJCRgzpw5DhP7AMx7Z5GSkoK8vDyn2/had19Xyztf6+5p8+bN2LlzJ3JzcyFJEiIjI3HzzTdj5syZ8PPzk+Pa8/XOYoyIiIiIiEgBHC9FRERERESkABZjRERERERECmAxRkREREREpAAWY0RERERERApgMUZERERERKQAFmNEREREREQKYDFGRERERESkABZjREREREREClAr3QAiIqKriYuLa1Lc22+/DQCYNm0a1qxZg9tuu60tm9UqHnjgAQDA1q1bFW4JERG1NxZjRETU4b3//vsOyxs2bMC+ffvw1ltvOazv06cPDh8+3J5NIyIiajEWY0RE1OENGjTIYTk4OBiiKDZY3xoqKyvh7e3d6sclIiKqj+eMERGRWzKbzcjIyMDo0aORlJSEBx98EKdOnXKIeeCBB5Camor//ve/mDx5MgYOHIhnn30WAFBWVoYXX3wRKSkpSEhIwJgxY7BixQpUVFQ4HGPbtm2YMmUKRo4ciUGDBiEtLQ2vv/46qqurHeIkScLrr7+Om266CYmJibjnnnuQnZ3doN1WqxUbNmzArbfeiuuuuw5Dhw5FWlpag15AIiLq/NgzRkREbik9PR1JSUlYsWIFysrKsHr1asydOxc7d+6ESqWS4woKCvDUU09h1qxZePzxxyGKIiorKzF16lRcvHgRDz/8MOLi4nDixAmsXbsWv/zyC/7yl79AEAQAQG5uLlJTUxEVFQWNRoNjx45h06ZNOHXqFFatWiXfzquvvopXX30V9913H2699VZcvHgRzz33HKxWK3r16iXHbdmyBa+++irmzp2LoUOHwmw249SpUygtLW2/B4+IiNoFizEiInJLffr0werVq+VlURTx2GOP4eDBgw7DG4uLi/HKK69g5MiR8rrNmzfj+PHj+OCDD5CYmAgAGDlyJMLDw/Hoo4/iq6++QnJyMgDgmWeekfezWq0YOnQoAgMD8eyzz2Lx4sUICAiAwWDA66+/jptvvhkrVqxwaOP999/vUIzt378fsbGxWLBggbxuzJgxrffAEBFRh8FhikRE5JZSUlIclu0zMp4/f95hfUBAgEMhBgBffvkl+vbti/79+8NsNsv/R48eDUEQ8N1338mxR44cwcMPP4zhw4ejf//+GDBgABYtWgSLxYJff/0VAHDgwAEYjUakpaU53E5SUhIiIyMd1iUmJuLYsWP405/+hN27d6OsrOyaHgciIuq42DNGRERuKTAw0GFZq9UCAKqqqhzWh4aGNtj38uXLOHPmDAYMGOD02FeuXAFgK+ymTJmCXr164dlnn0VkZCR0Oh1+/vlnLFu2TL6t4uJiAECXLl0aHKv+ut///vfw8fHBxx9/jPfeew8qlQpDhw7Fk08+KffSERGRe2AxRkREHs1+7lddQUFB0Ol0WLlypdN9goKCAAD/+te/UFFRgXXr1jn0cB07dswh3l4YFhYWNjhWYWGhw75qtRoPPfQQHnroIRgMBuzZswcZGRmYNWsW/vOf/3CmRyIiN8JhikRERPXceOONOHv2LAIDA5GYmNjgf1RUFIDaQs7e6wbYZk384IMPHI43aNAg6HQ6/OMf/3BYv3//fuTl5blsh16vx2233Ybf/e53KC4ubjSWiIg6H/aMERER1TN9+nR89tlnmDp1Kh588EHExcXBarXiwoUL+PrrrzFjxgwMHDgQo0aNgkajwRNPPIFZs2bBZDLh3XffhcFgcDheQEAAZsyYgY0bN+KPf/wjbrvtNly8eBHr1q1rMEzy4YcfRt++fZGQkIDg4GDk5eXhrbfeQmRkJHr06NGeDwMREbUxFmNERET1+Pj4YNu2bdi8eTPef/99nDt3Dl5eXujatStGjRolDyuMiYnBunXr8Morr2DBggUIDAxEamoqHnzwQcyePdvhmAsXLoSPjw/eeecd/P3vf0fv3r3x/PPP44033nCIGz58OD799FNkZWWhrKwMoaGhGDVqFObNmweNRtNujwEREbU9QZIkSelGEBEREREReRqeM0ZERERERKQAFmNEREREREQKYDFGRERERESkABZjRERERERECmAxRkREREREpAAWY0RERERERApgMUZERERERKQAFmNEREREREQKYDFGRERERESkABZjRERERERECmAxRkREREREpID/B1Y3eJVaY9nxAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "ax = df[[\"Presim. Time / s\", \"Sim. Time / s\"]].plot(style=[\"--b\", \"-r\"], figsize=(10,3));\n", "ax.set_ylabel(\"Time / s\");" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "slide" } }, "source": [ "## Task 6\n", "\n", "TASK\n", "\n", "* To your `df` Nest data frame, add a column with the unaccounted time (`Unaccounted Time / s`), which is the difference of program runtime, average neuron build time, minimal edge build time, minimal initialization time, presimulation time, and simulation time. \n", "(*I know this is technically not super correct, but it will do for our example.*)\n", "* Plot a stacked bar plot of all these columns (except for program runtime) over the threads\n", "* Tell me when you're done with status icon in BigBlueButton: \ud83d\udc4d" ] }, { "cell_type": "code", "execution_count": 220, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "fragment" } }, "outputs": [], "source": [ "cols = [\n", " 'Avg. Neuron Build Time / s', \n", " 'Min. Edge Build Time / s', \n", " 'Min. Init. Time / s', \n", " 'Presim. Time / s', \n", " 'Sim. Time / s'\n", "]\n", "df[\"Unaccounted Time / s\"] = df['Runtime Program / s']\n", "for entry in cols:\n", " df[\"Unaccounted Time / s\"] = df[\"Unaccounted Time / s\"] - df[entry]" ] }, { "cell_type": "code", "execution_count": 221, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "subslide" } }, "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", "
Runtime Program / sUnaccounted Time / sAvg. Neuron Build Time / sMin. Edge Build Time / sMin. Init. Time / sPresim. Time / sSim. Time / s
Threads
8420.422.090.2988.121.1417.26311.52
16202.152.430.2847.980.707.95142.81
\n", "
" ], "text/plain": [ " Runtime Program / s Unaccounted Time / s \\\n", "Threads \n", "8 420.42 2.09 \n", "16 202.15 2.43 \n", "\n", " Avg. Neuron Build Time / s Min. Edge Build Time / s \\\n", "Threads \n", "8 0.29 88.12 \n", "16 0.28 47.98 \n", "\n", " Min. Init. Time / s Presim. Time / s Sim. Time / s \n", "Threads \n", "8 1.14 17.26 311.52 \n", "16 0.70 7.95 142.81 " ] }, "execution_count": 221, "metadata": {}, "output_type": "execute_result" } ], "source": [ "df[[\"Runtime Program / s\", \"Unaccounted Time / s\", *cols]].head(2)" ] }, { "cell_type": "code", "execution_count": 222, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "-" } }, "outputs": [ { "data": { "image/png": "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BTgRERERERGRBFiAExEREREREUmABTgRERERERGRBFiAExEREREREUmABTgRERERERGRBFiAExEREREREUmABTgRERERERGRBFiAExEREREREUmABTgRERERERGRBFiAExEREREREUmABTgRERERERGRBMzKuwNSc6pUxSBtiYiIiIiIiIqjdQF+584dRERE4OLFi7hx4wbq1KmD/fv3F2gXFRWF0NBQxMTEwN3dHcOHD8fgwYMLtIuIiMD27dsRFxeH+vXr47333kPLli11G00JVCoVug0Yq/U+RERERERERGWldQF+48YNREVFoXHjxlCpVBBFsUCbCxcuYMKECXjzzTcxZ84cREdHY9GiRVAoFOjXr5+6XUREBEJDQzF9+nR4e3sjMjISo0ePRmRkJDw9Pcs2skIIgoBfDlxHwtP0UrV3crZGQA8vvfeDiIiIiIiIXj5aF+ABAQHo0qULAGDOnDm4fPlygTarV6+Gt7c3Fi9eDADw9/fHw4cPsXz5cvTp0weCICA7OxthYWEYOnQoRo0aBQBo0aIFgoKCEB4ejtDQ0LKMq0g3rz/Go/vJpWrrXs2eBTgRERERERHphdaLsAlC8btkZ2fj1KlT6Nmzp8b2oKAgxMXF4erVqwCA6OhopKSkIDAwUN1GLpejR48eiIqKKvTMOhEREREREVFFpfdV0O/evYucnBzUqVNHY3vdunUBADExMRr/fbGdh4cH0tLSEBsbq++uEREREREREZUbva+CnpSUBACwt7fX2J7/OP/55ORkKBQKWFpaarRzcHAAACQmJsLd3V2nPpiZFfxeQS7X/bsGbfY19hxTGktZ9y3sOPo6XnllMIc5UmUwhzlSZTCHOVJlMIc5UmUw5+XOMdhtyGQyWYnbC2uTP/W8qP1LIggyODnZ6LRvUeztrfR6vPLMMaWxGCKH7wFzTCnHlMbCHOPOMaWxMMe4c0xpLMwx7hxTGgtzjCtH7wV4/hns/DPd+ZKT8xY+yz8Tbm9vj6ysLGRlZcHCwqJAu/zjaEulEpGcXHCVc7lc0PkFTE7OgFJZutuRGXuOKY1F25zS9EFfxyuvDOYwR6oM5jBHqgzmMEeqDOYwR6oM5phejr29VanPluu9AK9ZsybMzc1x69YttG/fXr395s2bAPKu8X7+vzExMfD29la3i4mJgY2NDSpXrqxzH3Jz9ftmKJUq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JyIimqN2794NT09PZGRkQKVSYdeuXdi6dSuOHz8OExMTXbubN28iJSUFcXFx+Pjjj2FsbIw7d+4gKioKPT09SExMhLOzM9ra2rB3715cvnwZhYWFMDIyAgB0dnYiNDQUS5cuhampKVpbW5GXl4eOjg7s3LlTl5OTk4OcnBxEREQgKCgIPT09+Pzzz6HRaGBvb69rt2/fPuTk5GDr1q3w8vLCyMgIOjo68Pfffwt38oiIiB4DFuBERERzlKOjI3bt2qV7bWxsjI8++giNjY16Q9f7+/uxZ88eSCQS3bb8/HxcunQJpaWlEIvFAACJRIJFixYhOTkZ1dXV8Pf3BwCkpqbq3qfRaODl5QVLS0ukpaVh+/btEIlEGBgYgEKhQGBgIDIyMvT28d1339UrwOvr67FixQrIZDLdNj8/v+k7MURERLMUh6ATERHNUWvXrtV7PTaTend3t952kUikV3wDwOnTp+Hk5AQXFxeMjIzovnx9fWFkZIRz587p2jY3NyMxMRHe3t5wcXGBq6srPv30U4yOjuLPP/8EAJw/fx7Dw8MICwvTy/H09IStra3eNrFYjNbWVuzYsQNnz56FSqWa0nkgIiKaK3gHnIiIaI6ytLTUez1//nwAwNDQkN52Gxubce/t6+vD1atX4erqOmHft27dAnCvmJdKpbC3t0daWhpsbW1hZmaGhoYGfPHFF7qs/v5+AMCzzz47rq8HtyUkJMDc3Bzl5eUoKSmBiYkJvLy88Mknn+juxhMRERkiFuBEREQGbuxZ7vtZWVnBzMwMX3311YTvsbKyAgBUVlZicHAQcrlc7052a2urXvuxiwG9vb3j+urt7dV777x587B582Zs3rwZAwMDqK2tRVZWFuLi4vDLL79whnYiIjJYHIJORET0BAoICMC1a9dgaWkJsVg87mvp0qUA/q94H7u7Dtyb7by0tFSvPw8PD5iZmaGiokJve319Pbq6uv51P55++mkEBwcjMjIS/f39D21LREQ01/EOOBER0RPovffew88//4yoqCjExMTA2dkZGo0GN27cQE1NDbZs2YLVq1fDx8cHpqam2LZtG+Li4nD37l0cPnwYAwMDev2JRCJs2bIF3377LT777DMEBwejp6cHcrl83BD4xMREODk5wc3NDdbW1ujq6kJRURFsbW1hZ2cn5GkgIiISFAtwIiKiJ5C5uTkOHjyI/Px8HDlyBNevX8eCBQuwePFi+Pj46IaMOzg4QC6XY8+ePZDJZLC0tERoaChiYmIQHx+v1+eHH34Ic3NzHDp0CGVlZVi+fDnS09NRUFCg187b2xsnT57E0aNHoVKpYGNjAx8fH3zwwQcwNTUV7BwQEREJzUir1Wof904QERERERERGTo+A05EREREREQkABbgRERERERERAJgAU5EREREREQkABbgRERERERERAJgAU5EREREREQkABbgRERERERERAJgAU5EREREREQkABbgRERERERERAJgAU5EREREREQkABbgRERERERERAJgAU5EREREREQkABbgRERERERERAL4H1mndGtZJdyYAAAAAElFTkSuQmCC", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df[[\"Unaccounted Time / s\", *cols]].plot(kind=\"bar\", stacked=True, figsize=(12, 4));" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "## Task 7\n", "\n", "TASK\n", "\n", "* Create a pivot table based on the Nest `df` data frame\n", "* Let the `x` axis show the number of nodes; display the values of the simulation time `\"Sim. Time / s\"` for the tasks per node and threads per task configurations\n", "* Please plot a bar plot\n", "* Tell me when you're done with status icon in BigBlueButton: \ud83d\udc4d" ] }, { "cell_type": "code", "execution_count": 231, "metadata": { "exercise": "solution", "slideshow": { "slide_type": "fragment" }, "tags": [] }, "outputs": [ { "data": { "image/png": "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Tk8++bS8vLz03ntr9Pjjj+rFF+eVawjfv3+fXn55jgYPvk9hYeF6//21+vvf/09RUfV0ww0tXPrOnDldbdveomnTpis/P09eXl5asWKZlixZqG7deuq++4br7NmzWrXqdY0ZM1KLF7+ma66pL+nc/fPR0VerY8cuCgoKUkZGut599x2NGDFUb731jgICgiVJBw8e0LhxoxQZWUdTp/5Nfn5+WrPmHX300QcutaSm/qInnhinZs1u0F/+8pQCAgJ14sQJbdnylc6ePesSwDdu/FTt23cq9c/E7PlakQjgAAAAwGXm0UcnOP9st9t1/fU3KCgoWDNnTtcjj4xXUFCQfv75J2VlZWnKlKd02223O/t37Nj5vMfMzs7SlCmPKzX1F82fv0TXXhvr3Pb99ztUv36Mhg9/yNnWunXbEsf4/PNPFBPTQPXqRZfYZrFYNGrUoxo3brTee++f6tu3/3nrSEhYrKKis5o7d5EiIiIlSW3b3qrTp3O0fPkS9e7dVwEBAXr77TeVmXlKy5atdNbatu0tGj9+jI4dS3MeLz8/Xy+99KJuvvlWzZw5y9netu0tGjZssF55ZX65BvDMzEwtWJCgyMhztTdr1lzbtm3VRx99UCKA33hjK02a9KTz9bFjaUpIeEV9+96jceOecLa3atVaAwfepeXLl2j69JmSpPbtO7mEYJvNpptvvk29et2hDRs+cP58X311iRwOh+bOXaiwsPD/vfdbNXSo689/z54fVVhYoNGjH3P57O+4o6tLv3379urIkcO6/faOpf6ZmD1fK5JbAfzLL7/UK6+8ov379+v06dOKiIhQp06d9MgjjygwMNDZb+PGjYqPj1dKSooiIyN1//33a9CgQSWOl5CQoJUrV+rEiROKjY3VpEmT1Lp167K/KwAAAAAXtHfvbiUkvKLvv/+vsrNd1yc6fPiQGjduoqioegoMDNLChfOUkZGuZs1aOM+e/l5q6i966KEH5OPjq1deWV7ict+4uMZKSNikWbP+rttua6cmTZrK3z+gxHGKF+a6kJYtb9JNN7XR8uVLS1xOXiw5+VvdeGMrZ/guduedPbV581faufO/atPmZiUnf6trrqlfInh17txVW7ducb7+/vsdys7O0p139lBRUZFL39at2+rNN1coLy9PNWrUuGDd7rj22lhn+JYkX19f1asXrbS0tBJ9f3+lwDff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sLBQ3t4XPvt9/PgxPf74o4qJaaBp057xaIx58+LVvn1HRUbWUU7OudXh7Xa7zp4tUk5Ojvz9/WUYv14E7ePjq4KCAo/GgmcI4AAAAABQwYKCgpSamnrebVlZmZow4RH5+/tr5swX5evr69EYhw79pG++SdWGDUku7e+//67ef/9drVz5jq666mpne05OtoKDgz0aC54hgAMAAABABYuOvlrJydtKtOfm5mrixLHKzc3VokXLFBQU5PEYTz/9nAoLC37X9qQaN26qfv0GKCIi0mVbauovatnyJo/Hg/sI4AAAAACqpKiIwCozXtOmzbR8+RIdP35MtWtHONunTZukvXv3aPLkaTp+/LiOHz/u3BYb29C5aNuMGU8rKWmdNm369oJjNGnStESbj4+PatWqpRYtWrq0nzlzWocO/axhwx7y+D3BfQRwAAAAAFWK3e6QzWbXxEE3mj62zWaX3e5we7/mzW9USEiINm/+Sr163eVs/+abzZKk554red93YuK/dOWVdSRJeXl5CgsL97DqkjZv/lp+fn5q2/bmcjsmLo4ADgAAAKBKsdsdyszMlWFYKmVsTwK4t7e3unTpro8/3uASwP/ojPZv7dq1U/373+v2uO+88/552z/55EO1b99JNWv6u31MeI4ADgAAAKDK8TQIV6Z77x2i/v37aO/e3YqNva7U+6WlpSk/P1933dWvXOo4evSINm/+Sq+//na5HA+lRwAHAAAAABOEh1+hqVOfVmZmplv7RUZGav36T8qtjvT0E5o8+UnVrRtVbsdE6RDAAQAAAMAkHTp0quwS1KxZczVr1ryyy7gsGRfvAgAAAAAAyooADgAAAACACQjgAAAAAACYgAAOAAAAAIAJCOAAAAAAAJiAAA4AAAAAgAl4DBkAAACAKscwLDIMi+nj2u0O2e0O08dF9UAABwAAAFClGIZFoSE1ZFitpo9tt9l0KjPP4xA+YsRQdenSTf36DZAkrV37T33xxWdKSdmnvLx8RUdfpYEDh6hjx84eHT819RctWvSyvvsuWbm5Z1SvXrQGDBisO+6409lnw4b1WrFimVaseFvWSvgZXs4I4AAAAACqFMOwyLBadXztHBVmHDFtXJ/wKNXuM06GYfEogG/c+KnS0lLVq1cfZ9uKFcvUqlVr9e7dVzVr1tR//vOF/va3vygz85T69r3HreMXFBRo/PhH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8uJ/efDMDz/8cMFtubm5+u6777Rz507Z7XZJUuPGjc0qDZeR9PR05xc9cXFxCg8Pr+SKUB2dPn1ab7/9tvbv3y+LxaJGjRqpX79+8vPzq+zSqg2Lw+FwVHYRuLRs2LBB48aN49t8eMzhcGjWrFlauXKlCgoKFBwcrAceeEAjRoyQ1Wp19tuxYwdnjlAmp0+f1mOPPaavvvpKktShQwe9+OKLeuihh7RlyxZZrVbZbDY1atRIb7zxhvz9/Su5YlRF1113nfNLRIfDUeILxeK24t/5Ow1lMXv2bA0aNEgRERGSJLvdrueee05vvfWWbDabHA6HvLy8NGTIEE2ePLmSq0VVNnr0aNWqVUvPPPOMJGn37t0aNmyYTp8+rfr168vhcOjAgQO64oortHz5cl199dWVW3A1wekAAOXurbfe0muvvabBgwerUaNG+vbbbzVv3jx98cUXWrBggYKDgyu7RFQTL7/8sn744QdNnz5dwcHBWrBggcaOHatDhw7pn//8pxo1aqTk5GSNGzdOy5cv1yOPPFLZJaMKql27tux2u8aOHVviH6BnzpzRqFGjNGXKFDVq1KhyCkS1smTJEnXq1MkZwJcuXao333xT999/v+688045HA6tX79er732mqKiojRo0KBKrhhV1Xfffafp06c7X8+YMUN16tTRwoULVatWLUnSsWPHNGrUKP3973/XokWLKqvUaoUAfhnp2bNnqfqdOXOmgitBdbdq1So99NBDevTRRyVJvXv31j333KOxY8dq0KBBWrp0qSIjIyu5SlQHH3/8sR599FH169dPklS3bl317dtX//d//+e8DLhly5YaPny41qxZQwCHRz744APNnz9fM2fO1L333qvRo0c7r6bIycmRdO6SYG6nQXn4/cWpq1ev1r333qtJkyY5266//nrl5uZq9erVBHB47PTp0woJCXG+3r59u+bPn+8M35IUERGh0aNH64knnqiECqsnFmG7jBw4cECGYahJkyZ/+CsqKqqyS0UVd/jwYbVu3dqlrWnTplq9erW8vLx0zz33aN++fZVUHaqTY8eOKTY21vn62muvdfm92HXXXaejR4+aWhuqj5o1a+qJJ57QO++8o927d6tLly569913K7ssXCZ++eUXdejQoUR7x44d9dNPP5lfEKqNa665Rv/973+dr4OCgnT27NkS/c6ePStvb28z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", "text/plain": [ "
" ] }, "metadata": {}, "output_type": "display_data" } ], "source": [ "df.pivot_table(\n", " index=\"Nodes\",\n", " columns=[\"Tasks/Node\", \"Threads/Task\"],\n", " values=\"Sim. Time / s\",\n", ").plot(kind=\"bar\", figsize=(12, 4));" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "## Task 7B (like Bonus)\n", "\n", "TASK\n", "\n", "- Same pivot table as before (that is, `x` with nodes, and columns for Tasks/Node and Threads/Task)\n", "- But now, use `Sim. Time / s` and `Presim. Time / s` as values to show\n", "- Show them as a **stack** of those two values inside the pivot table\n", "- Use Panda's functionality as much as possible!" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "## Task 8 (Super Bonus)\n", "\n", "TASK\n", "\n", "* Create bar chart of top 10 actors (on `x`) and average ratings of their top movies (`y`) based on IMDb data (only if they play in at least two movies)" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "fragment" }, "tags": [] }, "source": [ "* IMDb provides data sets at [datasets.imdbws.com](https://datasets.imdbws.com)\n", "* Can directly be loaded like\n", "```python\n", "pd.read_table('https://datasets.imdbws.com/dataset.tsv.gz', sep=\"\\t\", low_memory=False, na_values=[\"\\\\N\",\"nan\"])\n", "```\n", "* Needed:\n", " * `name.basics.tsv.gz` (for names of actors and movies they are known for)\n", " * `title.ratings.tsv.gz` (for ratings of titles)\n", "* Strategy _suggestions_:\n", " * Use `df.apply()` with custom function\n", " * Custom function: Compute average rating and determine if this entry is eligible for plotting (this _can_ be done at once, but does not need to be)\n", " * Average rating: Look up title IDs as listed in `knownForTitles` in titles dataframe" ] }, { "cell_type": "markdown", "metadata": { "exercise": "solution", "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "```python\n", "df_names = pd.read_table('imdb-data/name.basics.tsv.gz', sep=\"\\t\", low_memory=False, na_values=[\"\\\\N\",\"nan\"])\n", "df_ratings = pd.read_table('https://datasets.imdbws.com/title.ratings.tsv.gz', sep=\"\\t\", low_memory=False, na_values=[\"\\\\N\",\"nan\"])\n", " \n", "df_names_i = df_names.set_index('nconst')\n", "df_ratings_i = df_ratings.set_index('tconst')\n", " \n", "df_names_i = pd.concat(\n", " [\n", " df_names_i, \n", " df_names_i.apply(lambda line: valid_and_avg_rating(line), axis=1, result_type='expand')\n", " ]\n", " , axis=1\n", ")\n", "df_names_i[df_names_i['toPlot'] == True].sort_values('avgRating', ascending=False).iloc[0:10].reset_index().set_index('primaryName')['avgRating'].plot(kind='bar')\n", "```" ] }, { "cell_type": "markdown", "metadata": { "exercise": "solution", "slideshow": { "slide_type": "subslide" }, "tags": [] }, "source": [ "```python\n", "def valid_and_avg_rating(row):\n", " rating = 0\n", " ntitles = 0\n", " _titles = row['knownForTitles']\n", " _professions = row['primaryProfession']\n", " if not isinstance(_titles, str):\n", " _titles = str(_titles)\n", " if not isinstance(_professions, str):\n", " _professions = str(_professions)\n", " titles = _titles.split(',')\n", " professions = _professions.split(',')\n", " for title in titles:\n", " if title in df_ratings_i.index:\n", " rating += df_ratings_i.loc[title]['averageRating']\n", " ntitles += 1\n", " if ntitles > 0:\n", " plot = False\n", " if ntitles > 2:\n", " if 'actor' in professions:\n", " plot = True\n", " return {'toPlot': plot, 'avgRating': rating / ntitles}\n", " else:\n", " return {'toPlot': False, 'avgRating': pd.NA}\n", "\n", "```" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task", "slideshow": { "slide_type": "slide" }, "tags": [] }, "source": [ "## Task 8B (Bonuseption)\n", "\n", "TASK\n", "\n", "All of the following are ideas for unique sub-tasks, which can be done individually\n", "* In addition to Task 8, restrict the top titles to those with more than 10000 votes\n", "* For 30 top-rated actors, plot rating vs. age\n", "* For 30 top-rated actors, plot rating vs. average runtime of the known-for-titles (using `title.basics.tsv.gz`)" ] }, { "cell_type": "markdown", "metadata": { "exercise": "task" }, "source": [ "Feedback to a.herten@fz-juelich.de\n", "\n", "_Next slide: Further reading_" ] } ], "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.12.3" }, "toc-autonumbering": false, "toc-showcode": false, "toc-showmarkdowntxt": false, "toc-showtags": true }, "nbformat": 4, "nbformat_minor": 4 }