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",
"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"
]
}
],
"source": [
250
251
252
253
254
255
256
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
"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",
503
504
505
506
507
508
509
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
"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/11ltMnjx5VwvmrrvuSkucMebu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\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": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df[\"Presim. Time / s\"].plot(figsize=(10, 3));"
]
},
{
"cell_type": "code",
"metadata": {
"exercise": "solution"
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 720x216 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df[\"Sim. Time / s\"].plot(figsize=(10, 3));"
]
},
{
"cell_type": "code",
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "subslide"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"df[\"Presim. Time / s\"].plot();\n",
"df[\"Sim. Time / s\"].plot();"
]
},
{
"cell_type": "code",
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
"metadata": {
"exercise": "solution",
"slideshow": {
"slide_type": "fragment"
}
},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = df[[\"Presim. Time / s\", \"Sim. Time / s\"]].plot();\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",
"(*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": {