Newer
Older
{
"cells": [
{
"cell_type": "markdown",
"metadata": {
"exercise": "task",
"tags": [
"task"
]
},
"source": [
"# Data Analysis and Plotting in Python with Pandas\n",
"\n",
"_Andreas Herten, J\u00fclich Supercomputing Centre, Forschungszentrum J\u00fclich, 2 June 2021_"
]
},
{
"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",
]
},
{
"cell_type": "code",
"execution_count": 2,
"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",
"<a name=\"task1\"></a>\n",
"<span class=\"task\" style=\"padding: 2px 8px; color: white; background-color: #b9d25f; float: right; text-weight: bolder;\">TASK</em></span>\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",
"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",
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th>Dinosaur Name</th>\n",
" <th>Aegyptosaurus</th>\n",
" <th>Tyrannosaurus</th>\n",
" <th>Panoplosaurus</th>\n",
" <th>Isisaurus</th>\n",
" <th>Triceratops</th>\n",
" <th>Velociraptor</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>Favourite Prime</th>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>15</td>\n",
" <td>16</td>\n",
" <td>23</td>\n",
" <td>42</td>\n",
" </tr>\n",
" <tr>\n",
" <th>Favourite Color</th>\n",
" <td>blue</td>\n",
" <td>white</td>\n",
" <td>blue</td>\n",
" <td>purple</td>\n",
" <td>violet</td>\n",
" <td>gray</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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 "
]
},
"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",
"<a name=\"task2\"></a>\n",
"<span class=\"task\" style=\"padding: 2px 8px; color: white; background-color: #b9d25f; float: right; text-weight: bolder;\">TASK</em></span>\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",
"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\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\n",
Andreas Herten
committed
"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\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\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\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\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\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\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\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\n"
Andreas Herten
committed
"!head data-nest.csv"
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>id</th>\n",
" <th>Nodes</th>\n",
" <th>Tasks/Node</th>\n",
" <th>Threads/Task</th>\n",
" <th>Runtime Program / s</th>\n",
" <th>Scale</th>\n",
" <th>Plastic</th>\n",
" <th>Avg. Neuron Build Time / s</th>\n",
" <th>Min. Edge Build Time / s</th>\n",
" <th>Max. Edge Build Time / s</th>\n",
" <th>...</th>\n",
" <th>Max. Init. Time / s</th>\n",
" <th>Presim. Time / s</th>\n",
" <th>Sim. Time / s</th>\n",
" <th>Virt. Memory (Sum) / kB</th>\n",
" <th>Local Spike Counter (Sum)</th>\n",
" <th>Average Rate (Sum)</th>\n",
" <th>Number of Neurons</th>\n",
" <th>Number of Connections</th>\n",
" <th>Min. Delay</th>\n",
" <th>Max. Delay</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>420.42</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.29</td>\n",
" <td>88.12</td>\n",
" <td>88.18</td>\n",
" <td>...</td>\n",
" <td>1.20</td>\n",
" <td>17.26</td>\n",
" <td>311.52</td>\n",
" <td>46560664.0</td>\n",
" <td>825499</td>\n",
" <td>7.48</td>\n",
" <td>112500</td>\n",
" <td>1265738500</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>200.84</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.15</td>\n",
" <td>46.03</td>\n",
" <td>46.34</td>\n",
" <td>...</td>\n",
" <td>1.01</td>\n",
" <td>7.87</td>\n",
" <td>142.97</td>\n",
" <td>46903088.0</td>\n",
" <td>802865</td>\n",
" <td>7.03</td>\n",
" <td>112500</td>\n",
" <td>1265738500</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>202.15</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.28</td>\n",
" <td>47.98</td>\n",
" <td>48.48</td>\n",
" <td>...</td>\n",
" <td>1.20</td>\n",
" <td>7.95</td>\n",
" <td>142.81</td>\n",
" <td>47699384.0</td>\n",
" <td>802865</td>\n",
" <td>7.03</td>\n",
" <td>112500</td>\n",
" <td>1265738500</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>89.57</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.15</td>\n",
" <td>20.41</td>\n",
" <td>23.21</td>\n",
" <td>...</td>\n",
" <td>3.04</td>\n",
" <td>3.19</td>\n",
" <td>60.31</td>\n",
" <td>46813040.0</td>\n",
" <td>821491</td>\n",
" <td>7.23</td>\n",
" <td>112500</td>\n",
" <td>1265738500</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>164.16</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.20</td>\n",
" <td>40.03</td>\n",
" <td>41.09</td>\n",
" <td>...</td>\n",
" <td>1.58</td>\n",
" <td>6.08</td>\n",
" <td>114.88</td>\n",
" <td>46937216.0</td>\n",
" <td>802865</td>\n",
" <td>7.03</td>\n",
" <td>112500</td>\n",
" <td>1265738500</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows \u00d7 21 columns</p>\n",
"</div>"
],
"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]"
]
},
"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"
}
},
"source": [
"## Task 3\n",
"<a name=\"task3\"></a>\n",
"<span class=\"task\" style=\"padding: 2px 8px; color: white; background-color: #b9d25f; float: right; text-weight: bolder;\">TASK</em></span>\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",
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>id</th>\n",
" <th>Nodes</th>\n",
" <th>Tasks/Node</th>\n",
" <th>Threads/Task</th>\n",
" <th>Runtime Program / s</th>\n",
" <th>Scale</th>\n",
" <th>Plastic</th>\n",
" <th>Avg. Neuron Build Time / s</th>\n",
" <th>Min. Edge Build Time / s</th>\n",
" <th>Max. Edge Build Time / s</th>\n",
" <th>...</th>\n",
" <th>Presim. Time / s</th>\n",
" <th>Sim. Time / s</th>\n",
" <th>Virt. Memory (Sum) / kB</th>\n",
" <th>Local Spike Counter (Sum)</th>\n",
" <th>Average Rate (Sum)</th>\n",
" <th>Number of Neurons</th>\n",
" <th>Number of Connections</th>\n",
" <th>Min. Delay</th>\n",
" <th>Max. Delay</th>\n",
" <th>Threads</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>420.42</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.29</td>\n",
" <td>88.12</td>\n",
" <td>88.18</td>\n",
" <td>...</td>\n",
" <td>17.26</td>\n",
" <td>311.52</td>\n",
" <td>46560664.0</td>\n",
" <td>825499</td>\n",
" <td>7.48</td>\n",
" <td>112500</td>\n",
" <td>1265738500</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" <td>8</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>4</td>\n",
" <td>200.84</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.15</td>\n",
" <td>46.03</td>\n",
" <td>46.34</td>\n",
" <td>...</td>\n",
" <td>7.87</td>\n",
" <td>142.97</td>\n",
" <td>46903088.0</td>\n",
" <td>802865</td>\n",
" <td>7.03</td>\n",
" <td>112500</td>\n",
" <td>1265738500</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>2</td>\n",
" <td>8</td>\n",
" <td>202.15</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.28</td>\n",
" <td>47.98</td>\n",
" <td>48.48</td>\n",
" <td>...</td>\n",
" <td>7.95</td>\n",
" <td>142.81</td>\n",
" <td>47699384.0</td>\n",
" <td>802865</td>\n",
" <td>7.03</td>\n",
" <td>112500</td>\n",
" <td>1265738500</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" <td>16</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td>5</td>\n",
" <td>1</td>\n",
" <td>4</td>\n",
" <td>8</td>\n",
" <td>89.57</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.15</td>\n",
" <td>20.41</td>\n",
" <td>23.21</td>\n",
" <td>...</td>\n",
" <td>3.19</td>\n",
" <td>60.31</td>\n",
" <td>46813040.0</td>\n",
" <td>821491</td>\n",
" <td>7.23</td>\n",
" <td>112500</td>\n",
" <td>1265738500</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" <td>32</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>2</td>\n",
" <td>4</td>\n",
" <td>164.16</td>\n",
" <td>10</td>\n",
" <td>True</td>\n",
" <td>0.20</td>\n",
" <td>40.03</td>\n",
" <td>41.09</td>\n",
" <td>...</td>\n",
" <td>6.08</td>\n",
" <td>114.88</td>\n",
" <td>46937216.0</td>\n",
" <td>802865</td>\n",
" <td>7.03</td>\n",
" <td>112500</td>\n",
" <td>1265738500</td>\n",
" <td>1.5</td>\n",
" <td>1.5</td>\n",
" <td>16</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows \u00d7 22 columns</p>\n",
"</div>"
],
"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]"
]
},
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[\"Threads\"] = df[\"Nodes\"] * df[\"Tasks/Node\"] * df[\"Threads/Task\"]\n",
"df.head()"
]
},
{
"cell_type": "code",
"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')"
]
},
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df.columns"
]
},
{
"cell_type": "code",
"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"
}
},
"source": [
"## Task 4\n",
"<a name=\"task4\"></a>\n",
"<span class=\"task\" style=\"padding: 2px 8px; color: white; background-color: #b9d25f; float: right; text-weight: bolder;\">TASK</em></span>\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",
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [],
"source": [
"df.sort_values([\"Threads\", \"Nodes\", \"Tasks/Node\", \"Threads/Task\"], inplace=True) # multi-level sort"
"metadata": {
"exercise": "solution"
},
"outputs": [
{
"data": {
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEGCAYAAAB2EqL0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAo60lEQVR4nO3de3hU1b3/8feXEAiYyC2pIqABRS3XgPGKKBW5iFa09dbjBc6xxedYa9WK1Z9tRR+1VY/aY21FW3nQ2ot4qVLvl4JK9YABERFEUFFBlJugICIJ398faw+ZJDPJkGQyk+Tzep797D1r7dnz3dnJfLPW3nttc3dERETq0ibTAYiISPOghCEiIilRwhARkZQoYYiISEqUMEREJCVtMx1AQxQWFnpxcXGmwxARaVbmz5+/3t2Ldvd9zTphFBcXU1ZWlukwRESaFTP7sD7vU5eUiIikRAlDRERSooQhIiIpadbnMEQkPXbs2MGqVav4+uuvMx2KNEBeXh49e/YkNze3UbanhCEiNaxatYqCggKKi4sxs0yHI/Xg7mzYsIFVq1bRu3fvRtmmuqREpIavv/6abt26KVk0Y2ZGt27dGrWVqIQhIgkpWTR/jX0MW2XCWLwYrr4aNmzIdCQiIs1Hq0wYy5fDjTfCRx9lOhIRSSYnJ4eSkhIGDBjA6aefzldffdXgbY4bN45NmzY1aBsbNmygpKSEkpIS9t57b3r06LHr9bx587j44osbHGcia9asYfTo0WnZdqpa5UnvwsIwX7cus3GISHIdOnRg4cKFAJx99tlMnTqVyy67bFd9eXk5bdvu3lfYU0891eC4unXrtiuuKVOmkJ+fz+WXX76r/rDDDmvwZyTyzDPPMGbMmLRsO1WtsoVRFI2gooQh0jwMHz6cFStWMHv2bIYPH87JJ59Mv379qKioYPLkyRx66KEMGjSIu+++Gwj/jR9zzDG7WiivvPIKEIYTWr9+PStXruTggw9m4sSJHHjggZx99tm88MILDBs2jL59+zJv3rx6xTl79mxOOukkICSTCRMmMHz4cPbbbz8effRRrrjiCgYOHMjYsWPZsWMHAPPnz+fYY4/lkEMOYcyYMaxZsybhtp955hlOOOGEKmVbt27lxBNPZPDgwQwYMIAHH3ywXnGnqlW2MGIJY/36zMYh0myMGFGz7Iwz4MIL4auvYNy4mvUTJ4Zp/Xo47bSqdbNnp/zR5eXlPP3004wdOxaABQsWsHjxYnr37s0999xDp06deP3119m+fTvDhg1j9OjRPProo4wZM4arr76aioqKhN1ZK1as4KGHHmLatGkceuih/PWvf2XOnDnMnDmTG2+8kcceeyzlGJN57733mDVrFkuWLOHII4/kkUce4eabb+bUU0/lySef5MQTT+QnP/kJjz/+OEVFRTz44INcffXVTJs2rcp2KioqWLZsGf369atS/swzz7DPPvvw5JNPArB58+YGx1ybtCUMM8sDXgbaR5/zsLtfY2a9gb8D3YD5wLnu/o2ZtQfuBw4BNgBnuvvKdMTWpQvk5KiFIZLNtm3bRklJCRBaGOeffz6vvvoqhx122K77Cp577jkWLVrEww8/DIQvzOXLl3PooYfyX//1X+zYsYNTTjll13bi9e7dm4EDBwLQv39/Ro4ciZkxcOBAVq5c2Sj7cMIJJ5Cbm8vAgQOpqKjYlfRin7Fs2TIWL17MqFGjgJAYunfvXmM7c+fO5fDDD69RPnDgQH72s5/x85//nJNOOonhw4c3StzJpLOFsR04zt23mFkuMMfMngYuA25397+b2VTgfOCuaP65ux9gZmcBNwFnpiOwNm2gWzclDJGU1dYi6Nix9vrCwt1qUcTEn8OIt8cee+xadnd+97vfJezbf/nll3nyySeZOHEil112Geedd16V+vbt2+9abtOmza7Xbdq0oby8fLfjTSR+m7m5ubsuc419hrvTv39/XnvttVq3E9/CinfggQeyYMECnnrqKX7xi18wcuRIfvWrXzVK7Imk7RyGB1uil7nR5MBxwMNR+X3AKdHy+Og1Uf1IS+OF4IWFShgizd2YMWO46667dp0PePfdd9m6dSsffvghe+21Fz/60Y/44Q9/yIIFCzIcaWIHHXQQ69at25UwduzYwdtvv11jvRdffJHjjz++Rvknn3xCx44dOeecc5g8eXLa9zOt5zDMLIfQ7XQA8HvgPWCTu8fS9yqgR7TcA/gYwN3LzWwzodsqLWcaioqUMESaux/+8IesXLmSoUOH4u4UFRXx2GOPMXv2bG655RZyc3PJz8/n/vvvr9f2y8rKmDp1Kn/6058aOfKgXbt2PPzww1x88cVs3ryZ8vJyLrnkEvr3779rnXXr1pGXl0dBQUGN97/11ltMnjx5VwvmrrvuSkucMebuaf0AADPrDPwD+CUw3d0PiMp7AU+7+wAzWwyMdfdVUd17wOHuvr7atiYBkwD23XffQz78sF7PAeH008MNfEuX1nOnRFqwpUuX8u1vfzvTYQjwwAMPsGrVKq688sp6vT/RsTSz+e5eurvbapKrpNx9k5nNAo4EOptZ26iV0RNYHa22GugFrDKztkAnwsnv6tu6B7gHoLS0tN7ZTi0MEWkOzjnnnEyHsEvazmGYWVHUssDMOgCjgKXALCB2jd0E4PFoeWb0mqj+X57G5k9hIWzcCBUV6foEEZGWJZ0tjO7AfdF5jDbADHd/wsyWAH83s+uBN4B7o/XvBf5sZiuAjcBZaYyNoiJwD+NJfetb6fwkEZGWIW0Jw90XAUMSlL8P1Lh33t2/Bk5PVzzVxd+8p4QhIlK3Vjk0CGh4EBGR3aWEoYQhIpKSVpswNGKtSHa74YYb6N+/P4MGDaKkpIS5c+cC4d6LJUuWNHj7hx9+OCUlJey7774UFRXtGqL81Vdf5bTqY181kh07djB06NC0bLsptMrBB0EJQySbvfbaazzxxBMsWLCA9u3bs379er755huARruJLpaApk+fTllZGXfeeeeuuqOOOqpRPqO6OXPmMGzYsLRsuym02hZGu3bQqZNGrBXJRmvWrKGwsHDXWEyFhYXss88+AIwYMYKysjIA8vPzmTx5Mv379+f4449n3rx5jBgxgj59+jBz5sx6ffbKlSsZMGAAEJLJKaecwqhRoyguLubOO+/ktttuY8iQIRxxxBFs3LgRCKPSjh07lkMOOYThw4fzzjvvJNx2oiHKKyoqmDhxIgMGDGDgwIHcfvvt9Yq7KbTaFgbo5j2RVFxyCSQYA7BBSkrgt79NXj969Giuu+46DjzwQI4//njOPPNMjj322Brrbd26leOOO45bbrmFU089lV/84hc8//zzLFmyhAkTJnDyySc3ONbFixfzxhtv8PXXX3PAAQdw00038cYbb3DppZdy//33c8kllzBp0iSmTp1K3759mTt3LhdeeCH/+te/amxr1qxZXHPNNVXKFi5cyOrVq1m8eDFAg58ImE6tOmFoAEKR7JSfn8/8+fN55ZVXmDVrFmeeeSa/+c1vmDhxYpX12rVrV2XI8Pbt2+8aTryxhij/zne+Q0FBAQUFBXTq1Invfve7uz5v0aJFbNmyhVdffZXTT6+8K2D79u01trN69Wq6du1Kx44dq5T36dOH999/n5/85CeceOKJGX8Ma21adcIoKoJ6DkUl0mrU1hJIp5ycHEaMGMGIESMYOHAg9913X42EUX3I8HQOUZ7sM3bu3Ennzp0TDsUeL9kjVrt06cKbb77Js88+y9SpU5kxY0aNByhli1Z7DgNCwtA5DJHss2zZMpYvX77r9cKFC9lvv/0yGFFye+65J7179+ahhx4CwjM63nzzzRrrJTp/AbB+/Xp27tzJ97//fa6//vqsHYodlDBYty4MESIi2WPLli1MmDCBfv36MWjQIJYsWcKUKVPqta1PPvmEcYkeIduI/vKXv3DvvfcyePBg+vfvz+OPP16lvqKighUrVnDwwQfXeO/q1asZMWIEJSUlnHPOOfz6179Oa6wN0STDm6dLaWmpx66WqI9bb4XLL4dNm8IVUyISaHjzxjVnzhweeOABpk6d2uSf3eyGN89W8fdiKGGISLocffTRHH300ZkOo8FafZcU6EopEZFUKGGgE98iiTTn7moJGvsYKmGgFoZIdXl5eWzYsEFJoxlzdzZs2EBeXl6jbbNVn8NQwhBJrGfPnqxatYp1+uNo1vLy8ujZs2ejba9VJ4yOHSEvTwlDpLrc3Fx69+6d6TAky7TqLikz3bwnIpKqVp0wQAMQioikSglDCUNEJCWtPmFoxFoRkdS0+oShFoaISGqUMIpg61bYti3TkYiIZLe0JQwz62Vms8xsiZm9bWY/jcqnmNlqM1sYTePi3nOVma0ws2VmVnPg+DTQ3d4iIqlJ530Y5cDP3H2BmRUA883s+ajudnf/n/iVzawfcBbQH9gHeMHMDnT3ijTGWOXmvV690vlJIiLNW9paGO6+xt0XRMtfAkuBHrW8ZTzwd3ff7u4fACuAw9IVX0z8iLUiIpJck5zDMLNiYAgwNyq6yMwWmdk0M+sSlfUAPo572yoSJBgzm2RmZWZW1hjDFqhLSkQkNWlPGGaWDzwCXOLuXwB3AfsDJcAa4Nbd2Z673+Pupe5eWhT7tm8AjSclIpKatCYMM8slJIu/uPujAO7+mbtXuPtO4I9UdjutBuLPIvSMytKqc2fIyVHCEBGpSzqvkjLgXmCpu98WV949brVTgcXR8kzgLDNrb2a9gb7AvHTFF9OmDXTrpoQhIlKXdF4lNQw4F3jLzBZGZf8P+IGZlQAOrAQuAHD3t81sBrCEcIXVj9N9hVSMbt4TEalb2hKGu88BLEHVU7W85wbghnTFlIxGrBURqVurv9Mb1MIQEUmFEgZKGCIiqVDCINy8t3EjlJdnOhIRkeylhEHlvRgbN2Y2DhGRbKaEgW7eExFJhRIGShgiIqlQwkADEIqIpEIJA7UwRERSoYRBZQtDN++JiCSnhAHk5oZBCNXCEBFJTgkjopv3RERqp4QRKSxUwhARqY0SRkQDEIqI1E4JI6IuKRGR2ilhRGItDPdMRyIikp2UMCKFhbBjB2zenOlIRESykxJGRDfviYjUTgkjEksYOvEtIpKYEkZELQwRkdopYUSUMEREaqeEEdGItSIitVPCiOyxB3TooHMYIiLJKGHE0c17IiLJpS1hmFkvM5tlZkvM7G0z+2lU3tXMnjez5dG8S1RuZnaHma0ws0VmNjRdsSWjhCEiklw6WxjlwM/cvR9wBPBjM+sHXAm86O59gRej1wAnAH2jaRJwVxpjS0gJQ0QkubQlDHdf4+4LouUvgaVAD2A8cF+02n3AKdHyeOB+D/4P6Gxm3dMVXyIasVZEJLkmOYdhZsXAEGAusJe7r4mqPgX2ipZ7AB/HvW1VVFZ9W5PMrMzMytY18re7RqwVEUku7QnDzPKBR4BL3P2L+Dp3d2C3hvtz93vcvdTdS4tiN080kqIi2LoVtm1r1M2KiLQIaU0YZpZLSBZ/cfdHo+LPYl1N0XxtVL4a6BX39p5RWZPRzXsiIsml8yopA+4Flrr7bXFVM4EJ0fIE4PG48vOiq6WOADbHdV01Cd28JyKSXNs0bnsYcC7wlpktjMr+H/AbYIaZnQ98CJwR1T0FjANWAF8B/5nG2BJSC0NEJLm0JQx3nwNYkuqRCdZ34MfpiicVGrFWRCQ53ekdRy0MEZHklDDidO4MOTlKGCIiiShhxDHTzXsiIskoYVSjm/dERBJTwqhG40mJiCRWZ8Iws9PNrCBa/oWZPZqJkWSbihKGiEhiqbQwfunuX5rZ0cDxhJvxmnwk2aaicxgiIomlkjAqovmJwD3u/iTQLn0hZVZREXz+OezYkelIRESySyoJY7WZ3Q2cCTxlZu1TfF+zFLsXY+PGzMYhIpJtUvniPwN4Fhjj7puArsDkdAaVSbp5T0QksTqHBnH3r4BH416vAZp0UMCmpIQhIpJYi+1aqi+NWCsikpgSRjUagFBEJLGkCcPMnjWzS83s4KYMKNO6dQtztTBERKqqrYUxAfgcmGJmC8zsLjMbb2Z7NFFsGZGbC126KGGIiFSX9KS3u38KTAemm1kb4HDgBOAKM9sGPOfuNzdJlE1MN++JiNSU0gOU3H0n8Fo0/crMCoEx6QwskzQ8iIhITfU66e3u6939L40dTLbQiLUiIjXpKqkE1MIQEalJCSOBWAvDPdORiIhkj1SGN9/LzO41s6ej1/3M7Pz0h5Y5hYVQXg6bNmU6EhGR7JFKC2M6YSypfaLX7wKXpCmerKCb90REakolYRS6+wxgJ4C7l1M55HmLpPGkRERqSiVhbDWzboADmNkRwOa63mRm08xsrZktjiubYmarzWxhNI2Lq7vKzFaY2TIzy+glu0oYIiI1pXIfxmXATGB/M/s3UASclsL7pgN3AvdXK7/d3f8nvsDM+gFnAf0JXV8vmNmB7p6RlowGIBQRqSmV4c0XmNmxwEGAAcvcvc7n0bn7y2ZWnGIc44G/u/t24AMzWwEcRrhRsMmphSEiUlMqV0nlAOOAkcBo4CdmdlkDPvMiM1sUdVl1icp6AB/HrbMqKksUzyQzKzOzsnVp+kbv2DFMOuktIlIplXMY/wQmAt2AgripPu4C9gdKCA9hunV3N+Du97h7qbuXFsWaAmmgm/dERKpK5RxGT3cf1Bgf5u6fxZbN7I/AE9HL1UCv+M+MyjJGCUNEpKpUWhhPm9noxvgwM+se9/JUIHYF1UzgLDNrb2a9gb7AvMb4zPpauBCeeSaTEYiIZJdUWhj/B/wjGuJ8B+HEt7v7nrW9ycz+BowACs1sFXANMMLMSgiX6K4ELiBs7G0zmwEsAcqBH2fqCqmY8vJMfrqISPYxr2PAJDP7gHAV01te18pNrLS01MvKytKy7R/8AObMgY8/rntdEZHmxMzmu3vp7r4vlS6pj4HF2ZYs0q1tW2jXLtNRiIhkj1S6pN4HZkeDD26PFbr7bWmLSkREsk4qCeODaGoXTSIi0gqlcqf3tU0RiIiIZLekCcPM7nT3i8zsn0QDD8Zz95PTGpmIiGSV2loY5wEXAf9TyzoiItJK1JYw3gNw95eaKBYREclitSWMotoGGdRVUiIirUttCSMHyCfc2S0iIq1cbQljjbtf12SRiIhIVqvtTm+1LEREZJfaEsbIJotCRESyXtKE4e4bmzIQERHJbqkMPigiIqKEISIiqVHCqEV5ObSuQd1FRJJTwkhi8GD46CO44YZMRyIikh1SGd68VbrsMli0CH75S+jSBX7840xHJCKSWUoYSbRpA/feC5s3w0UXQefOcPbZmY5KRCRz1CVVi9xcePBBGDECJkyAJ57IdEQiIpmjhFGHvDx4/HEoKYHTT4eXX850RCIimaGEkYI994Snn4biYvjud2HBgkxHJCLS9NKWMMxsmpmtNbPFcWVdzex5M1sezbtE5WZmd5jZCjNbZGZD0xVXfRUVwXPPhXMZY8fCsmWZjkhEpGmls4UxHRhbrexK4EV37wu8GL0GOAHoG02TgLvSGFe99eoFzz8flkeNCpfdioi0FmlLGO7+MlB9PKrxwH3R8n3AKXHl93vwf0BnM+uertga4sAD4dlnw9VTo0bB2rWZjkhEpGk09TmMvdx9TbT8KbBXtNwD+DhuvVVRWVYaMiRcMbViBdxxR6ajERFpGhk76e3uDuz2wBtmNsnMysysbN26dWmILDXDh0N+PmzdmrEQRESaVFMnjM9iXU3RPNahsxroFbdez6isBne/x91L3b20qKgorcGKiEilpk4YM4EJ0fIE4PG48vOiq6WOADbHdV2JiEgWSNvQIGb2N2AEUGhmq4BrgN8AM8zsfOBD4Ixo9aeAccAK4CvgP9MVl4iI1E/aEoa7/yBJVY1Hv0bnMzS8n4hIFtOd3iIikhIlDBERSYkShoiIpEQJQ0REUqKEISIiKVHCEBGRlChhiIhISpQwREQkJUoYIiKSEiUMERFJiRKGiIikRAlDRERSooQhIiIpUcIQEZGUKGGIiEhKlDBERCQlShgNtHo1fPFFpqMQEUk/JYwG2H9/eOghKCyEkSPh1lth6VJwz3RkIiKNTwmjAebOhZdegksvhbVr4fLLoV+/kEguugieegq2bct0lCIijcO8Gf87XFpa6mVlZZkOY5ePPoKnnw6J4oUX4KuvID8fFiyAvn0zHZ2ISGBm8929dHffpxZGI9p3X7jgAnj8cdiwAX73O9iyBT7+ONORiYg0nBJGmuTlwaBBmY5CRKTxKGGIiEhK2mbiQ81sJfAlUAGUu3upmXUFHgSKgZXAGe7+eSbiExGRmjLZwviOu5fEnXi5EnjR3fsCL0avRUQkS2RTl9R44L5o+T7glMyFIiIi1WUqYTjwnJnNN7NJUdle7r4mWv4U2CvRG81skpmVmVnZunXrmiJWEREhQ+cwgKPdfbWZfQt43szeia90dzezhDeIuPs9wD0Q7sNIf6giIgIZamG4++povhb4B3AY8JmZdQeI5mszEZuIiCTW5AnDzPYws4LYMjAaWAzMBCZEq00AHm/q2EREJLlMdEntBfzDzGKf/1d3f8bMXgdmmNn5wIfAGRmIrVEVFIT53XfDEUdAx46ZjUdEpCGaPGG4+/vA4ATlG4CRTR1POpWUwHXXwTXXwDvvwKOPhoEJRUSao2y6rLbFMYNf/hKefDKMJ1VaGgYmFBFpjpQwmsAJJ0BZGRQXw0knwbXXws6dmY5KRGT3KGE0kT594N//hnPPhSlT4OST4fMUBz6ZNw8++CCt4YmI1ClT92G0Sh07wvTpcPjhcMkloYvqH/+oOart9u3w/vuwYgUsXw4/+1kob8aPLhGRFkAJo4mZwYUXwpAhcNpp4eqpyy4LrY3ly8P00UfqshKR7KOEkSFHHhmexHfmmXDDDdC5c3gq31FHwXnnheXYdMQRoTUiIpJJShgZtNdeMGsWfPEF7LlnaH2IiGQrJYwMM4NOnTIdhYhI3XSVVDNRUaGT3iKSWWphNAPt2sGMGTBzJnTvDnvvHabYcvWyb30LcnMzHbWItDRKGM3A9Onw0kvw6aewZk2Yv/tuKNu4seb6ZlBYWDOxDB0aTrKLiNSHEkYzUFqa/Cqp7dvhs89CEolPKNWTy5o18M03MH485OU1bfwi0jIoYTRz7dvDvvuGqTY33ww//zlcfz20bRsSzTffhHn8cnExnHoqHHaYrtoSkaqUMFqJWEK54YYwz80NyaZdu8p5u3bwyCNw003Qsyd873vw/e/DsGGQk5O52EUkO5g340tvSktLvaysrH5vfucdyM8P34ytxFdfhS/+du2Stx4+/xyeeCIkjmefha+/DifRTzklJI/vfEcn1EWaOzOb7+67fTtw60wY7nD00fD223DHHWFEQPW/1LBlSxiO/ZFHwhDtW7eGZDN+fEgcHTtChw5hHr9cfZ6Xpx+vSDZRwthd770HEyfCnDnhG/Duu8Ot15LQtm0haZx+ev3e36FD1URy2mlw442NG6OIpEYJoz4qKuC3v4Wrrw7dU7NmwcCBjRZfS1RREVoa27aFLq7YPH65rvm0aWFbf/hD5bmT+PMo8VOi8viy3Fy1XkR2V30TRus+6Z2TE8YOP+GEcBnRQQeFcnd9CyWRkxPGvdpzz/pvo1MnuP32MGpvY8jNrT3ptG0b1qk+xcoLCqBr1zB16VK5HP+6oEC/EiKtu4WRyKZNMGZMeBD3uHGNu20BQj7+/HPYsaPykt74KVFZQ8rLy8NnVZ/Ky0P9l1+GGyC3b08ec05O8oTy6quwZEno0czPhz32qP+8Q4dwzqd9+zCv7QIFkfpSC6OxrF8f+k1OPDEkjSlTMh1Ri2MWvmyzzbZtIXHEps8/T/76009Dkvj8c9i8Obz/mGPChQJbt4b5hg1VX2/dWr/nnOTlVU0i8VMqZbv7vu3b4b77KltuiVpvdXUV1vZal2g3X0oY1R1wQHgA92GHhSuounaFiy8OdWVl4dshPz/0URQUhMty9S9gi9ChA/ToEabdUV4e5m3r+GtyD5cpxyeQ6vOvv048bd+evPyLL2Dt2uTrZlsnQps2u59k6pOYEnVNtmkTElb1qbHKW/pXgbqkkrnpJrjqqjAI0yefhLLvfjfcpFB9vSuuSE8MIg3kHrrfkiWdZIkoPz+MOxZ7f23df9XL6nrdWOvEXu/YkemfclXpTEjx5aefHi70rI8W0yVlZmOB/wVygD+5+28yEsjPfw6TJ4e/npjbbgvJ4csvwzRjBnTrFv7FO/nkyqMZm593Hpx1Vuib0A0JkgFmlf9h1/f97duHKVvFJ7VkSWX79tAdWFFRc2qs8sbcVqLy6vvw5ZdN/7POqoRhZjnA74FRwCrgdTOb6e5LMhJQmzbhiz4m9szUmNjQr7FO7NhZ3NgR/+qrUD5iBCxeHP5qO3cO06hRcOedof6KK8IIguXl4b3l5WE8jksvDfVmYbr++srX3/teuKrr/ffhoYcqY4olpDPOCANDLVsG//wnrFwZutQuvDAks5NPDl1qy5aFGxjbtKma8I47LnxLfPABrFpVWVdeHsoPPTR8zrvvhvr42CG0xgBeeQVWrAjlsXXat4cf/Sj8jLZsqRl7rE8h/mcYXx+7nnbnzqoJPSbW/7BzZ/i2qC43N+xLRUXVf09jP+dY38XOnZX9ObG6hiT8+Na8Wdh+7KRGfF3btpX18futfzYSik+K+fmZjqaFc/esmYAjgWfjXl8FXJVs/UMOOcSbhfvvd7/xRvcrrnCfNMn9jDPcr7uusn7wYPfiYvf993c/6CD3fv3cJ0+urA9fJ1WnRx4JdU8/nbj+uedC/YwZievffz/U33hj4vq1a0P9VVclrq+oCPUXXFCzrkOHytjPPrtm/be+Feo+/TTxtm++OdQvX564/g9/CPULFiSu//OfQ/1LLyWuf+yxUP/kk4nrX3wx1P/tb4nr584N9X/6k3ubNu45OVWnpUtD/W23JX7/xx+H+muvTVy/aVOov/zyxPXl5aH+v/+76ue3beveqVPlz37CBPf27d3z8sLUoUP4PYs56yz3goIw7blnmIYMqaw/+WT3Ll0qp65d3Y89trJ+1Cj3wsKq00knVdYPGxaOdfz0H/9RWT9kiPvee4epe/cwXXBBZf1BB7nvs0+YevQI0+WXV9bvt597r15Vp2uvDXVbt4b6+Km42P3WW0P9unXuvXvXnO6+O9R/8IF7nz41pwceCPVvv+1+wAE1p9jv1rx57n371pyefz7Uz54d9q/69Nprlb+bBx9cc1q0KNS/+643BFDm9fiOzqoWBtAD+Dju9Srg8PgVzGwSMAlg37qGaM0W555be/3ChbXX79xZ+Z+wR/+Jxs6wjhpV+V94rA4q+xBOPTW0Xd3DFWCx/2pjY2idf364IizW1o3NO3eurB85srIdvG5dZR2EVtAPfhDiiZ9ibrstjHiYk1OzPj8fbr21ZuzHHBPm3brBLbfUrD/iiDDfZ59wDqm6IUPCvLgYfv3rmvXf/naYH3RQZX3s6xigT58wHzgQrruu6tc1VJ4VHzw4nOeKvT/WAujWrTLOX/0qLMe3EmI3sYwYEbZfvQURO3ajR1f+yxz/+bH1xo6tvNwsVh8/0NfYsZWjF8Tq4/8FP/748LCU2Hbdw4NU4uv326+yLn7fIfxexLe4Afbfv3J51KiaN8L271+1ftOmqsd26NDK5dGjw6Vr8fXx7x85suYZ/Vg8OTnh5xsTW6+4OMxzc8PwQNXF9q9DBzjqqJr1sZ9nx47hwpjqYsc+Pz/xMwlifzsFBVBSUrM+dnw6d4ZBg2rWd+gQ5hnqI8yqk95mdhow1t1/GL0+Fzjc3S9KtH5aT3qLiLRQ9T3pnW3P9F4N9Ip73TMqExGRDMu2hPE60NfMeptZO+AsYGaGYxIREbLsKil3Lzezi4BnCZfVTnP3tzMcloiIkGUJA8DdnwKeynQcIiJSVbZ1SYmISJZSwhARkZQoYYiISEqUMEREJCVZdePe7jKzdcCHSaoLgfVNGE5T0X41Py1137RfzU9s3/Zz96LdfXOzThi1MbOy+tzJmO20X81PS9037Vfz09B9U5eUiIikRAlDRERS0pITxj2ZDiBNtF/NT0vdN+1X89OgfWux5zBERKRxteQWhoiINCIlDBERSUmLSxhmNtbMlpnZCjO7MtPxNJSZrTSzt8xsoZmVRWVdzex5M1sezbtkOs66mNk0M1trZovjyhLuhwV3RMdwkZkNTb7lzEqyX1PMbHV0zBaa2bi4uqui/VpmZmMyE3XdzKyXmc0ysyVm9raZ/TQqbwnHLNm+NevjZmZ5ZjbPzN6M9uvaqLy3mc2N4n8wenQEZtY+er0iqi+u80Pq81zXbJ0IQ6K/B/QB2gFvAv0yHVcD92klUFit7Gbgymj5SuCmTMeZwn4cAwwFFte1H8A44GnAgCOAuZmOfzf3awpweYJ1+0W/k+2B3tHvak6m9yHJfnUHhkbLBcC7Ufwt4Zgl27dmfdyin31+tJwLzI2OxQzgrKh8KvDf0fKFwNRo+Szgwbo+o6W1MA4DVrj7++7+DfB3YHyGY0qH8cB90fJ9wCmZCyU17v4ysLFacbL9GA/c78H/AZ3NrHuTBLqbkuxXMuOBv7v7dnf/AFhB+J3NOu6+xt0XRMtfAkuBHrSMY5Zs35JpFsct+tlviV7mRpMDxwEPR+XVj1nsWD4MjDSLPTA+sZaWMHoAH8e9XkXtvwjNgQPPmdl8M5sUle3l7mui5U+BvTITWoMl24+WcBwvirpmpsV1GTbL/Yq6KoYQ/mNtUces2r5BMz9uZpZjZguBtcDzhNbQJncvj1aJj33XfkX1m4FutW2/pSWMluhodx8KnAD82MyOia/00J5s9tdGt5T9iNwF7A+UAGuAWzMaTQOYWT7wCHCJu38RX9fcj1mCfWv2x83dK9y9BOhJaAUd3Jjbb2kJYzXQK+51z6is2XL31dF8LfAPwi/BZ7HmfjRfm7kIGyTZfjTr4+jun0V/uDuBP1LZfdGs9svMcglfqH9x90ej4hZxzBLtW0s5bgDuvgmYBRxJ6B6MPV01PvZd+xXVdwI21LbdlpYwXgf6RlcFtCOcyJmZ4Zjqzcz2MLOC2DIwGlhM2KcJ0WoTgMczE2GDJduPmcB50ZU3RwCb47pBsl61vvtTCccMwn6dFV2d0hvoC8xr6vhSEfVl3wssdffb4qqa/TFLtm/N/biZWZGZdY6WOwCjCOdnZgGnRatVP2axY3ka8K+o1Zhcps/sp+FKgXGEqx7eA67OdDwN3Jc+hKsz3gTeju0PoZ/xRWA58ALQNdOxprAvfyM083cQ+lHPT7YfhKs9fh8dw7eA0kzHv5v79eco7kXRH2X3uPWvjvZrGXBCpuOvZb+OJnQ3LQIWRtO4FnLMku1bsz5uwCDgjSj+xcCvovI+hAS3AngIaB+V50WvV0T1fer6DA0NIiIiKWlpXVIiIpImShgiIpISJQwREUmJEoaIiKRECUNERFLStu5VRFo+M4tdLgqwN1ABrAOKgU/cvV8TxLDF3fPT/Tki9aUWhgjg7hvcvcTDsApTgduj5RJgZ13vj7uTVqTFUsIQqVuOmf0xesbAc9FdtJjZbDP7rYXnlPzUzA4xs5eigSKfjRtC40dm9nr0nIJHzKxjVN7bzF6z8LyT62MfZmbdzezl6JkMi81seEb2WqQaJQyRuvUFfu/u/YFNwPfj6tq5eylwB/A74DR3PwSYBtwQrfOoux/q7oMJQzWcH5X/L3CXuw8k3C0e8x/As1ELZzDhTmSRjFMzWqRuH7j7wmh5PuG8RsyD0fwgYADwfPRIgRwqk8CAqAXRGcgHno3Kh1GZfP4M3BQtvw5MiwbIeyzus0UySi0Mkbptj1uuoOo/WlujuQFvx86DuPtAdx8d1U0HLopaEtcSxvCJqTE2j4eHMh1DGE10upmd1zi7IdIwShgijWMZUGRmR0IYPtvM+kd1BcCaqMVwdtx7/k0YUZn4cjPbD/jM3f8I/InwCFiRjFPCEGkEHh4JfBpwk5m9STjvcFRU/UvCE93+DbwT97afEh6K9RZVn+A2AnjTzN4AziSc6xDJOI1WKyIiKVELQ0REUqKEISIiKVHCEBGRlChhiIhISpQwREQkJUoYIiKSEiUMERFJyf8HH0kGLm0W06gAAAAASUVORK5CYII=\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, ax = plt.subplots()\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_ylabel(\"Time / s\")\n",
"ax.legend(loc='best');"
]
},
{
"cell_type": "markdown",
"metadata": {
"exercise": "task",
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Task 5\n",
"<a name=\"task5\"></a>\n",
"<span class=\"task\" style=\"padding: 2px 8px; color: white; background-color: #b9d25f; float: right; text-weight: bolder;\">TASK</em></span>\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",
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [],
"source": [
"df.set_index(\"Threads\", inplace=True)"
]
},
{
"cell_type": "code",
"metadata": {
"exercise": "solution"
},
"outputs": [
{
"data": {
Andreas Herten
committed
"image/png": "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\n",
"text/plain": [
"<Figure size 720x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
Andreas Herten
committed
"df[\"Presim. Time / s\"].plot(figsize=(10, 3), style=\"--\", color=\"red\");"
"metadata": {
"exercise": "solution"
},
"outputs": [
{
"data": {
Andreas Herten
committed
"image/png": "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\n",
"text/plain": [
"<Figure size 720x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
Andreas Herten
committed
"df[\"Sim. Time / s\"].plot(figsize=(10, 3), style=\"-b\");"
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
Andreas Herten
committed
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
Andreas Herten
committed
"df[\"Presim. Time / s\"].plot(style=\"--r\");\n",
"df[\"Sim. Time / s\"].plot(style=\"-b\");"
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"data": {
Andreas Herten
committed
"image/png": "iVBORw0KGgoAAAANSUhEUgAAAYwAAAEGCAYAAAB2EqL0AAAAOXRFWHRTb2Z0d2FyZQBNYXRwbG90bGliIHZlcnNpb24zLjQuMiwgaHR0cHM6Ly9tYXRwbG90bGliLm9yZy8rg+JYAAAACXBIWXMAAAsTAAALEwEAmpwYAAAo7UlEQVR4nO3de3hU1b3/8feXEAiYyC2pIqABRS2IBIxXRKnIRbSgrbceL3COLT7HWqtWrP5sK/qorXrUHmsr2soD1l7ES5V6vxRUqgcMiIgggooKotwEBRFJ+P7+WHvIJJlJhiSTmSSf1/PsZ+9Za8+e785O5pu19t5rm7sjIiJSlzaZDkBERJoHJQwREUmJEoaIiKRECUNERFKihCEiIilpm+kAGqKwsNCLi4szHYaISLMyf/789e5etLvva9YJo7i4mLKyskyHISLSrJjZh/V5n7qkREQkJUoYIiKSEiUMERFJSbM+hyEi6bFjxw5WrVrF119/nelQpAHy8vLo2bMnubm5jbI9JQwRqWHVqlUUFBRQXFyMmWU6HKkHd2fDhg2sWrWK3r17N8o21SUlIjV8/fXXdOvWTcmiGTMzunXr1qitRCUMEUlIyaL5a+xj2DoTxuLFcM01sGFDpiMREWk2WmfCWL4cbroJPvoo05GISBI5OTmUlJRwyCGHcMYZZ/DVV181eJtjxoxh06ZNDdrGhg0bKCkpoaSkhL333psePXrsej1v3jwuueSSBseZyJo1axg5cmRatp2q1nnSu7AwzNety2wcIpJUhw4dWLhwIQDnnHMOU6ZM4fLLL99VX15eTtu2u/cV9tRTTzU4rm7duu2Ka/LkyeTn53PFFVfsqj/iiCMa/BmJPPPMM4waNSot205V62xhFEVDqChhiDQLQ4cOZcWKFcyePZuhQ4cyduxY+vXrR0VFBZMmTeLwww/n0EMP5Z577gHCf+PHHXfcrhbKK6+8AoThhNavX8/KlSs5+OCDmTBhAgceeCDnnHMOL7zwAkOGDKFv377MmzevXnHOnj2bU045BQjJZPz48QwdOpT99tuPRx99lCuvvJIBAwYwevRoduzYAcD8+fM5/vjjOeywwxg1ahRr1qxJuO1nnnmGk046qUrZ1q1bOfnkkxk4cCCHHHIIDz74YL3iTlXrbGHEEsb69ZmNQ6SZGDasZtmZZ8JFF8FXX8GYMTXrJ0wI0/r1cPrpVetmz079s8vLy3n66acZPXo0AAsWLGDx4sX07t2be++9l06dOvH666+zfft2hgwZwsiRI3n00UcZNWoU11xzDRUVFQm7s1asWMFDDz3E1KlTOfzww/nrX//KnDlzmDlzJjfddBOPPfZY6kEm8d577zFr1iyWLFnC0UcfzSOPPMItt9zCaaedxpNPPsnJJ5/MT37yEx5//HGKiop48MEHueaaa5g6dWqV7VRUVLBs2TL69etXpfyZZ55hn3324cknnwRg8+bNDY65NmlLGGaWB7wMtI8+52F3v9bMegN/B7oB84Hz3P0bM2sP3A8cBmwAznL3lWkJrksXyMlRC0Mki23bto2SkhIgtDAuuOACXn31VY444ohd9xU899xzLFq0iIcffhgIX5jLly/n8MMP57/+67/YsWMHp5566q7txOvduzcDBgwAoH///gwfPhwzY8CAAaxcubJR9uGkk04iNzeXAQMGUFFRsSvpxT5j2bJlLF68mBEjRgAhMXTv3r3GdubOncuRRx5Zo3zAgAH87Gc/4+c//zmnnHIKQ4cObZS4k0lnC2M7cIK7bzGzXGCOmT0NXA7c4e5/N7MpwAXA3dH8c3c/wMzOBm4GzkpLZG3aQLduShgiKaqtRdCxY+31hYW716KIiT+HEW+PPfbYtezu/O53v0vYt//yyy/z5JNPMmHCBC6//HLOP//8KvXt27fftdymTZtdr9u0aUN5efnuB5xA/DZzc3N3XeYa+wx3p3///rz22mu1bie+hRXvwAMPZMGCBTz11FP84he/YPjw4fzqV79qlNgTSds5DA+2RC9zo8mBE4CHo/LpwKnR8rjoNVH9cEvnheCFhUoYIs3cqFGjuPvuu3edD3j33XfZunUrH374IXvttRc/+tGP+OEPf8iCBQsyHGliBx10EOvWrduVMHbs2MHbb79dY70XX3yRE088sUb5J598QseOHTn33HOZNGlS2vczrecwzCyH0O10APB74D1gk7vH0vcqoEe03AP4GMDdy81sM6HbKj0nGoqKlDBEmrkf/vCHrFy5ksGDB+PuFBUV8dhjjzF79mxuvfVWcnNzyc/P5/7776/X9svKypgyZQp/+tOfGjnyoF27djz88MNccsklbN68mfLyci699FL69++/a51169aRl5dHQUFBjfe/9dZbTJo0aVcL5u67705LnDHm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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
Andreas Herten
committed
"ax = df[[\"Presim. Time / s\", \"Sim. Time / s\"]].plot(style=[\"--b\", \"-r\"]);\n",
"ax.set_ylabel(\"Time / s\");"
]
},
{
"cell_type": "markdown",
"metadata": {
"exercise": "task",
"slideshow": {
"slide_type": "slide"
}
},
"source": [
"## Task 6\n",
"<a name=\"task6\"></a>\n",
"<span class=\"task\" style=\"padding: 2px 8px; color: white; background-color: #b9d25f; float: right; text-weight: bolder;\">TASK</em></span>\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",
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
"(*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": 102,
"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": 103,
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Runtime Program / s</th>\n",
" <th>Unaccounted Time / s</th>\n",
" <th>Avg. Neuron Build Time / s</th>\n",
" <th>Min. Edge Build Time / s</th>\n",
" <th>Min. Init. Time / s</th>\n",
" <th>Presim. Time / s</th>\n",
" <th>Sim. Time / s</th>\n",
" </tr>\n",
" <tr>\n",
" <th>Threads</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>8</th>\n",
" <td>420.42</td>\n",
" <td>2.09</td>\n",
" <td>0.29</td>\n",
" <td>88.12</td>\n",
" <td>1.14</td>\n",
" <td>17.26</td>\n",
" <td>311.52</td>\n",
" </tr>\n",
" <tr>\n",
" <th>16</th>\n",
" <td>202.15</td>\n",
" <td>2.43</td>\n",
" <td>0.28</td>\n",
" <td>47.98</td>\n",
" <td>0.70</td>\n",
" <td>7.95</td>\n",
" <td>142.81</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"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": 103,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"df[[\"Runtime Program / s\", \"Unaccounted Time / s\", *cols]].head(2)"
]
},
{
"cell_type": "code",
"execution_count": 104,
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "-"
}
},
"outputs": [
{
"data": {
"image/png": "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GVau9EHVqtUwbtwE1T7Xrl1FmzZtc+T89dcFnDx5DF5eS9GhQwdcu3YV8fExMDMzzfP9eZ9Yf25i/vkXRU16enoafe7Vao5DQ0MxadIkzJo1Cz179sT9+/cRERGBbt26AQAEQYBUKkWlSpUQFxen2i8mJgYWFhZqFwMA8fHJUCoF1ffqnkxsrOa/AjE3L1Og/YoySxdrEjOLNWk3R1ezWJP2s1iT9rM+lZqUSiXkcqVqe3paWuaya+JKT0vLdpzctGrVGqNHj8O0aZMgl8sBAG3b2mDUqLGqfRUKJZRKAYIgZMvL+loQBFUfMnmyG8aOnQBLy0Y5jqVQKLPt9+72d/OzmrT382vVqovRo8dh4sTxEAQB9eo1wNCho7LlBQVdxIABg1XbpFI9yOVKtGljgzNn/sCQIf0hk8nQufOXqFmzTr7vz7uysgpLrBwxs97PUSqVOT73enqSD16Qzbc5joqKwsSJE7Fq1SrY2NgAePsHu2TJErRr1w4mJibYt28f+vbti+bNmyM8PByPHz9GtWrVcPToUfTr168w50dERETFyNsHdWj2sA4xG6wePRzRo4djrq/5+x8BAFSp8hkcHJxU2wMDQ1Rfz549X/V1Xku/VanymSqvoPlOTn3g5NTng8eYMcMz1+1SqRRz5iz84H5UOPk2x5s3b0ZaWhp8fHxU2wYPHozx48djyJAhkMvlsLe3h6Pj2w+ij48P3N3dkZaWBltb21ynWhARERER6aJ8m2NPT094eub+k8uwYcNybLOxscHhw4cLXxkRERERkZZpZwY9ERERlViCIOQ/iOgjKMhnk80xERERFZhUKsPr14lskEnnCIKA168TIZXKNNpP3EX9iIiI6JNiZmaOhIRYJCe/LHCGnp4elMrC35AnVo6YWbpYk5hZul6TVCqDmZl5Pntkx+aYiIiICkxfX4qKFasUKkOXl6rTlRxdzSqJNXFaBRERERFRJjbHRERERESZ2BwTEREREWVic0xERERElInNMRERERFRJjbHRERERESZ2BwTEREREWVic0xERERElInNMRERERFRJjbHRERERESZ2BwTEREREWVic0xERERElEmt5njdunXo2bMnevbsiWXLlgEAgoKC4OTkBHt7e6xatUo19u7du+jXrx+6deuG2bNnQy6XF03lREREREQiy7c5DgoKQmBgIA4ePIiAgADc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\n",
"text/plain": [
"<Figure size 864x288 with 1 Axes>"
]
},
"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"
}
},
"source": [
"## Task 7\n",
"<a name=\"task7\"></a>\n",
"<span class=\"task\" style=\"padding: 2px 8px; color: white; background-color: #b9d25f; float: right; text-weight: bolder;\">TASK</em></span>\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",
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"data": {
"image/png": "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IiLVnd6QVwKjyZ1T8/qUWK/xtM2U9OpIo7s7+0OLb6vdts2g5FhERESkUtzUnGMRERERkVuRkmMRERERERslxyIiIiIiNkqORURERERslByLiIiIiNgoORYRERERsVFyLCIiIiJio+RYRERERMRGybGIiIiIiI2SYxERERERGyXHIiIiIiI2So5FRERERGyUHIuIiIiI2Cg5FhERERGxUXIsIiIiImKj5FhERERExEbJsYiIiIiIjamyAxC5Wb61auLpUfyPcHaOmfS0rAqKSERERFydkmNxWZ4eJkImbiu2zo43Q0mvoHhERETE9WlahYiIiIiIjZJjEREREREbJcciIiIiIjZKjkVEREREbBxKjjMyMujRowfnzp0DIC4ujpCQELp06cLixYvt9Y4fP06fPn3o2rUr06ZNw2w2l0/UIiIiIiLloMTk+OjRowwcOJAzZ84AkJ2dzdSpU1m2bBk7d+7k+++/Z+/evQBMmjSJ6dOns3v3bqxWK5GRkeUavIiIiIiIM5WYHEdGRjJjxgz8/f0BOHbsGI0aNaJhw4aYTCZCQkKIjY3ll19+ITs7m5YtWwLQu3dvYmNjyzV4ERERERFnKnGd43nz5hX6npSUhJ+fn/27v78/iYmJRcr9/PxITEx0YqhVW25+Hn5+vpUdhoiIiIiUQalfAmK1WouUGQyGG5aXVp06PqXepypwd6vBU5tGFlsnsv9yh9pSku1czrqe6hfXpv5zbeo/16W+c23Vsf9KnRzXrVuX5ORk+/ekpCT8/f2LlF+6dMk+FaM0UlIysFiKJtrloap2+KVLeqebIxztP2dcTz8/X/WLC1P/uTb1n+tS37m2W7n/jEbDDQdkS72U2/3338/p06eJj48nPz+fmJgYOnToQEBAAB4eHhw5cgSA6OhoOnToULbIRUREREQqUKlHjj08PAgPD2fMmDHk5OQQHBzM448/DkBERARhYWFcu3aNe++9l6FDhzo9YBERERGR8uJwcrxnzx7756CgILZv316kTvPmzYmKinJOZCIiIiIiFUxvyBMRERERsVFyLCIiIiJio+RYRERERMRGybGIiIiIiI2SYxERERERGyXHIiIiIiI2So5FRERERGyUHIuIiIiI2Cg5FhERERGxUXIsIiIiImKj5FhERERExEbJsYiIiIiIjZJjEREREREbJcciIiIiIjZKjkVE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\n",
"text/plain": [
"<Figure size 864x288 with 1 Axes>"
]
},
"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": []
"## Task 7B (like <em>B</em>onus)\n",
"<a name=\"task7b\"></a>\n",
"<span class=\"task\" style=\"padding: 2px 8px; color: white; background-color: #b9d25f; float: right; text-weight: bolder;\">TASK</em></span>\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!\n",
"\n",
"Impossible?\n",
"* I gave up!\n",
"* Person who does this best / first: Personal certificate with my recommendation \ud83d\ude04"
]
},
{
"cell_type": "markdown",
"metadata": {
"exercise": "task"
},
"source": [
"<span class=\"feedback\">Feedback to <a href=\"mailto:a.herten@fz-juelich.de\">a.herten@fz-juelich.de</a></span>\n",
"\n",
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.9.5"
},
"toc-autonumbering": false,
"toc-showcode": true,
"toc-showmarkdowntxt": false,
"toc-showtags": true
},
"nbformat": 4,
"nbformat_minor": 4
}