-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathTango_with_the_pandas.html
685 lines (584 loc) · 32.3 KB
/
Tango_with_the_pandas.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
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
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
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
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
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
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>[Tango with the pandas]</title>
<style type="text/css">
/* Overrides of notebook CSS for static HTML export */
body {
overflow: visible;
padding: 8px;
}
.input_area {
padding: 0.2em;
}
pre {
border: none;
margin: 0px;
font-size: 13px;
}
</style>
<script src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS_HTML" type="text/javascript">
</script>
<script type="text/javascript">
init_mathjax = function() {
if (window.MathJax) {
// MathJax loaded
MathJax.Hub.Config({
tex2jax: {
inlineMath: [ ['$','$'], ["\\(","\\)"] ],
displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
},
displayAlign: 'left', // Change this to 'center' to center equations.
"HTML-CSS": {
styles: {'.MathJax_Display': {"margin": 0}}
}
});
MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
}
}
init_mathjax();
</script>
</head>
<body>
<div class="text_cell_render border-box-sizing rendered_html">
<h1>
<a class="heading-anchor" id="Tango_with_the_pandas" href="#Tango_with_the_pandas">
Tango with the pandas
</a>
</h1>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h3>
<a class="heading-anchor" id="The_indev_work_of_a_few_mad_students." href="#The_indev_work_of_a_few_mad_students.">
The indev work of a few mad students.
</a>
</h3>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>Welcome to the first revision of the statsminusR project, the (hopefully) first project in a range of notebooks, each with the intention of easying the transistion to using python for all the math and engineering stuff. We honestly don't know how far the capabilities of python reach, but the wonderful thing is, of course, that we DO know they'll reach further every month.</p>
<p><i> A fair warning, we sometimes jut stuff down in danish, as the course we're taking at the Technical University of Denmark (DTU) is being taught in just that. We'll get around to translating it as soon as we can.</i></p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>Okay, so let's get down to business. For this all to work, you should have installed on your system the following:
<ul>
<li> Python </li>
<li> IPython </li>
<li> NumPy </li>
<li> SciPy </li>
<li> Matplotlib </li>
<li> Pandas </li>
</ul></p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">In [1]:</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="o">%</span><span class="k">pylab</span> <span class="n">inline</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_stream output_stdout">
<pre>
Welcome to pylab, a matplotlib-based Python environment [backend: module://IPython.zmq.pylab.backend_inline].
For more information, type 'help(pylab)'.
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">In [6]:</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="kn">import</span> <span class="nn">pandas</span> <span class="kn">as</span> <span class="nn">pd</span>
<span class="kn">import</span> <span class="nn">numpy</span> <span class="kn">as</span> <span class="nn">np</span>
<span class="kn">import</span> <span class="nn">scipy</span> <span class="kn">as</span> <span class="nn">sp</span>
<span class="kn">import</span> <span class="nn">scipy.special</span> <span class="kn">as</span> <span class="nn">spec</span>
<span class="kn">import</span> <span class="nn">scipy.stats</span> <span class="kn">as</span> <span class="nn">st</span>
<span class="kn">import</span> <span class="nn">matplotlib.pyplot</span> <span class="kn">as</span> <span class="nn">plt</span>
</pre></div>
</div>
</div>
</div>
Stokastiske variabler:
* Store bogstaver: X,Y,Z osv
* Udfald af stokastiske variabler angives ved små: x,y,z osv
* Vi skelner mellem diskrete og kontinuerte stokastiske variable
* Diskrete - heltal - ex. antal børn.
* Kontinuerte - det andet gøgl.
<div class="text_cell_render border-box-sizing rendered_html">
<h1>
<a class="heading-anchor" id="Diskrete_stokastiske_Variable:" href="#Diskrete_stokastiske_Variable:">
Diskrete stokastiske Variable:
</a>
</h1>
</div>
Hvis der findes n lige sandsynlige udfald, hvorfra et må ske,
og hændelse s betegnes som 'succes' så er sandsynligheden for succes
givet ved: s/n
Tæthedsfunktionen kan skrives som f(x) = P(X = x)
- sandsynligheden for, at en stokastisk variable har udkastet s.
da skal f(x) > 0 for x in S
f(x) = 0 for x not in S
Fordelingsfunktionen for en stokastisk variabel betegnes F(x).
Fordelingsfunktionen er den kumulerede tæthedsfunktion:
F(x) = P(X <= x)
<div class="text_cell_render border-box-sizing rendered_html">
<h1>
<a class="heading-anchor" id="Konkrete_Statistiske_fordelinger" href="#Konkrete_Statistiske_fordelinger">
Konkrete Statistiske fordelinger
</a>
</h1>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h4>
<a class="heading-anchor" id="Binomial_fordeling" href="#Binomial_fordeling">
Binomial fordeling
</a>
</h4>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<ul>
<li>There has to be <i>n</i> independant trials, where <i>n</i> is a constant integer.</li>
<li>Each trial can produce either succes or failure</li>
<li>The probability of succes is <i>p</i>, and the probability of failure <i>1-p</i>. <i>p</i> is constant for all trials.</li>
</ul>
<p>X: Amount of succes' in <i>n</i> trials.</p>
<p>binom(n,x): Ways to chose <i>x</i> from <i>n</i>. </p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>Ex:</p>
<p>We wanna know the probability, that out of 50 people, 4 are colorblind.
The probability of being colorblind is 4%.</p>
<p>X: Amount of colorblind people.</p>
<p>P(X = 4)</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">In [3]:</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">x</span> <span class="o">=</span> <span class="mi">4</span>
<span class="n">n</span> <span class="o">=</span> <span class="mi">50</span>
<span class="n">p</span> <span class="o">=</span> <span class="o">.</span><span class="mo">04</span>
<span class="k">print</span> <span class="n">spec</span><span class="o">.</span><span class="n">binom</span><span class="p">(</span><span class="n">n</span><span class="p">,</span><span class="n">x</span><span class="p">)</span><span class="o">*</span><span class="nb">pow</span><span class="p">(</span><span class="n">p</span><span class="p">,</span><span class="n">x</span><span class="p">)</span><span class="o">*</span><span class="nb">pow</span><span class="p">((</span><span class="mi">1</span><span class="o">-</span><span class="n">p</span><span class="p">),(</span><span class="n">n</span><span class="o">-</span><span class="n">x</span><span class="p">))</span> <span class="c">#The sneaky thing about programming is having both an example, and the actual formula.</span>
<span class="k">print</span> <span class="n">st</span><span class="o">.</span><span class="n">binom</span><span class="o">.</span><span class="n">pmf</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">n</span><span class="p">,</span><span class="n">p</span><span class="p">)</span> <span class="c">#do it the easy way </span>
<span class="k">print</span> <span class="n">st</span><span class="o">.</span><span class="n">binom</span><span class="o">.</span><span class="n">cdf</span><span class="p">(</span><span class="n">x</span><span class="p">,</span><span class="n">n</span><span class="p">,</span><span class="n">p</span><span class="p">)</span> <span class="c">#this is, unlike before where we looked for EXACTLY four, UP TO four.</span>
<span class="k">print</span> <span class="n">st</span><span class="o">.</span><span class="n">binom</span><span class="o">.</span><span class="n">cdf</span><span class="p">(</span><span class="n">n</span><span class="o">-</span><span class="n">x</span><span class="p">,</span><span class="n">n</span><span class="p">,</span><span class="mi">1</span><span class="o">-</span><span class="n">p</span><span class="p">)</span> <span class="c"># and here we flip it, to represent the chance of 4 or more people being colorblind.</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_stream output_stdout">
<pre>0.0901593190831
0.0901593190831
0.951028528115
0.139130790968
</pre>
</div>
</div>
</div>
</div>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>So a little over 9% chance. Huh.</p>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h4>
<a class="heading-anchor" id="Den_hypergeometriske_fordeling" href="#Den_hypergeometriske_fordeling">
Den hypergeometriske fordeling
</a>
</h4>
</div>
* En population af størrelse N
* Vi tager en stikprøve af størrelse n
* Der er a defekte i populationen
* Der er N - a ikke-defekte i populationen
Den stokastiske variabel, X, er hypergeometrisk fordelt.
Tætheden for den hypergeometriske fordeling:
f(x) = P(X = x) = (binom(a,x)*binom(N-a,n-x))/binom(N,n)
Ved stor population kan man snyde med binomialfordeling.
Eks:
tag 3 hardisks fra 15 med 5 defekte
f(1) = P(X = x)
N = 15
a = 5
n = 3
f(1) = (binom(5,1)*binom(10,2))/binom(15,3)
havde det være 'højest 1' havde man lagt f(0) til.
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">In [4]:</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">chance</span> <span class="o">=</span> <span class="p">(</span><span class="n">spec</span><span class="o">.</span><span class="n">binom</span><span class="p">(</span><span class="mi">5</span><span class="p">,</span><span class="mi">1</span><span class="p">)</span><span class="o">*</span><span class="n">spec</span><span class="o">.</span><span class="n">binom</span><span class="p">(</span><span class="mi">10</span><span class="p">,</span><span class="mi">2</span><span class="p">))</span><span class="o">/</span><span class="n">spec</span><span class="o">.</span><span class="n">binom</span><span class="p">(</span><span class="mi">15</span><span class="p">,</span><span class="mi">3</span><span class="p">)</span>
<span class="n">chance</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt output_prompt">
Out[4]:</div>
<div class="box-flex1 output_subarea output_pyout">
<pre>0.49450549450549453</pre>
</div>
</div>
</div>
</div>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h4>
<a class="heading-anchor" id="Poisson_fordelingen" href="#Poisson_fordelingen">
Poisson fordelingen
</a>
</h4>
</div>
* Poisson fordelingen anvendes ofte som en fordeling (model) for tælletal, hvor der ikk er nogen naturlig øvre grænse.
* Poisson fordelingen kan ofte karakteriseres som intensitet, dvs på formen antal/enhed
* Parameteren lambda angiver intensiteten i poisson fordelingen
<div class="text_cell_render border-box-sizing rendered_html">
<h2>
<a class="heading-anchor" id="Kontinuerte_fordelinger" href="#Kontinuerte_fordelinger">
Kontinuerte fordelinger
</a>
</h2>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h4>
<a class="heading-anchor" id="Normalfordeling" href="#Normalfordeling">
Normalfordeling
</a>
</h4>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">In [43]:</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">range1</span> <span class="o">=</span> <span class="n">np</span><span class="o">.</span><span class="n">linspace</span><span class="p">(</span><span class="o">-</span><span class="mi">13</span><span class="p">,</span><span class="mi">17</span><span class="p">,</span><span class="mi">100</span><span class="p">)</span>
<span class="n">plt</span><span class="o">.</span><span class="n">plot</span><span class="p">(</span><span class="n">range1</span><span class="p">,</span> <span class="n">st</span><span class="o">.</span><span class="n">norm</span><span class="o">.</span><span class="n">pdf</span><span class="p">(</span><span class="n">range1</span><span class="p">,</span><span class="mi">0</span><span class="p">,</span><span class="mi">3</span><span class="p">))</span> <span class="c">#Just a sample plot, data just... picked.</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt output_prompt">
Out[43]:</div>
<div class="box-flex1 output_subarea output_pyout">
<pre>[<matplotlib.lines.Line2D at 0xb4ce28c>]</pre>
</div>
</div>
<div class="hbox output_area"><div class="prompt"></div>
<div class="box-flex1 output_subarea output_display_data">
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAXsAAAD9CAYAAABdoNd6AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz
AAALEgAACxIB0t1+/AAAIABJREFUeJzt3X1YVGXeB/DvKKO0UFKmqDMYxqAMaLwEkqbuWBbJrvSi
+4S96Lb4xPosa3a51e7TXle6e6WxbW0kZdi2PbptStu2QopTmc1qIpCJ9oLWWEwNKFYWvuTLwHSe
P+4gQBgYmJl7zpzv57rmkmHOmfmNM3znzO+c+z46RVEUEBFRSBskuwAiIvI/hj0RkQYw7ImINIBh
T0SkAQx7IiINYNgTEWlAr2FvtVqRkJCA+Ph4FBYWnnf7wYMHMWXKFISHh+Oxxx4773a3243U1FTM
mTPHNxUTEZHXwjzd6Ha7UVBQgG3btsFgMCAjIwM5OTkwm83tywwfPhyrV6/Gpk2bur2PoqIiJCYm
4uTJk76tnIiI+szjln1NTQ1MJhNiY2Oh1+uRm5uLsrKyTsuMGDEC6enp0Ov1563f0NCAiooKLFq0
CBy7RUQkj8ewb2xsRExMTPt1o9GIxsbGPt/5vffei0cffRSDBnHXABGRTB7bODqdrt93vHnzZowc
ORKpqamw2Wx+eQwiIi3zpmPicZPbYDDA6XS2X3c6nTAajX2648rKSpSXl2PcuHGYP38+tm/fjgUL
FvRYsFovDz30kPQaWL/8OrRYv5prD4X6veUx7NPT02G32+FwOOByuVBaWoqcnJweA7ujlStXwul0
or6+Hhs3bsQ111yD9evXe10gERENnMc2TlhYGIqLi5GVlQW32428vDyYzWaUlJQAAPLz89HU1ISM
jAycOHECgwYNQlFREerq6hAZGdnpvtiuISKSR6f05/uALwvQ6fr1lSRY2Gw2WCwW2WX0G+uXS831
q7l2QP31e5udDHsiIhXyNjt5TCQRkQYw7ImINIBhT0SkAQx7IiIN8HjoJVEwam0Fdu0CNm8G3G7g
V78C4uJkV0UU3LhlT6qycSMQHQ0sWwZERABDhwJXXQXMnQscPCi7OqLgxUMvSTX+9S+goACwWoHk
5B9+/+23wJo1QFERUFUFGAzyaiQKFG+zk20cUoXNm0W7pmvQA2IL/ze/ES2dOXOAHTuALgO4iTSP
W/YU9PbtA66/XgT+5Mk9L6cowKJFwFdfAa+8AgweHLgaiQKNg6oopCgKsGQJ8PDDnoMeAHQ60c5p
bgb+8pfA1EekFtyyp6D20kvAypXAu+/2fUv9wAFgxgzg44+Biy/2b31EsnBuHAoZZ84AZjOwbh3w
4x97t+6iRcCIEcCqVf6pjUg2hj2FjD/+Edi/H3j5Ze/XbWgQO3Lffx8YM8b3tRHJxrCnkPDFF2Kr
fs8eYNy4/t3H/fcDx48D359+gSikMOwpJDz8MFBfD/z1r/2/j6+/BiZMACorgfh439VGFAwY9qR6
ra1ia768HEhNHdh9PfggcPo0j86h0MNDL0n1Xn0ViIkZeNADYkft3/8OnD078PsiUjOGPQWdp54S
o2V9Ydw4ID1dTLVApGUMewoqBw8CH3wAzJvnu/u8+25g7Vrf3R+RGjHsKag8/bRovQwd6rv7nDNH
DLD66CPf3SeR2nAHLQWNM2fEjJX794uevS/97/8CLhfw5z/79n6JZOEOWlKtrVuBtDTfBz0A5OUB
69cD5875/r6J1KBPYW+1WpGQkID4+HgUFhaed/vBgwcxZcoUhIeH47HHHmv/vdPpxMyZM5GUlISJ
EyfiySef9F3lFHJeegn4r//yz33HxQETJ4oPFCIt6rWN43a7MWHCBGzbtg0GgwEZGRnYsGEDzGZz
+zJffvklPvvsM2zatAkXX3wxli1bBgBoampCU1MTUlJScOrUKVx55ZXYtGlTp3XZxiFAHAs/ejRw
6JCY08Yfnn4a2L1bHIpJpHY+b+PU1NTAZDIhNjYWer0eubm5KCsr67TMiBEjkJ6eDr1e3+n3o0aN
QkpKCgAgMjISZrMZhw8f7nNxpB1btgCZmf4LegC4+WbxOGzlkBb1eqaqxsZGxHRoohqNRlRXV3v9
QA6HA7W1tcjMzDzvtuXLl7f/bLFYYLFYvL5/Ujd/tnDajB4NJCYCb74JZGf797GIfM1ms8Fms/V7
/V7DXqfT9fvO25w6dQrz5s1DUVERIrs5X1zHsCftOXUKeP114Jln/P9Yc+eKAVYMe1KbrhvCK1as
8Gr9Xts4BoMBTqez/brT6YTRaOzzA7S0tGDu3Lm44447cNNNN3lVHGnDli3A1KnA8OH+f6y5c8Wc
O62t/n8somDSa9inp6fDbrfD4XDA5XKhtLQUOTk53S7bdWeBoijIy8tDYmIili5d6puKKeQEooXT
ZuxYMYXCf/4TmMcjChZ9GlS1detWLF26FG63G3l5efjd736Hku8nCc/Pz0dTUxMyMjJw4sQJDBo0
CBdeeCHq6uqwb98+zJgxA1dccUV7O2jVqlW44YYbfiiAR+No2pkzQHQ04HAAl1wSmMcsLBSPt2ZN
YB6PyB84xTGpitUq5q7fuTNwj3noEDBtGtDY2Pfz2hIFG46gJVWpqAj8zlKTCbj0UnEWLCKtYNiT
VDLCHgBmzxbfKoi0gmFP0tjtomd/xRWBf+wbbmDYk7Yw7Emaigqxhe2DoRxemzYN+PBD4NixwD82
kQwMe5JGVgsHEPPl//jHwLZtch6fKNAY9iTFt98ClZXArFnyamArh7SEYU9SvPUWkJEBXHSRvBra
wp5H/pIWMOxJCpktnDZxcUBEBPDee3LrIAoEhj1J8dprYstaNrZySCsY9hRwDoeY6TIpSXYlDHvS
DoY9Bdz27cA118g55LKrmTOBd94RHz5EoYxhTwHXFvbBICICSE0Fdu2SXQmRfzHsKaAURYT9tdfK
ruQHM2eKo4OIQhnDngLqo4+AIUPEnPLBgmFPWsCwp4AKpn59mylTxNQJJ07IroTIfxj2FFDB1K9v
Ex4uBngFck59okBj2FPAfPedaJcEW9gDbOVQ6GPYU8Ds3w+MHAmMGSO7kvMx7CnUMewpYIKxhdNm
8mTg44+Bb76RXQmRfzDsKWDeektsQQejoUOBq64CduyQXQmRfzDsKSDcbjFwacYM2ZX0jK0cCmUM
ewqIDz4AoqNFzz5YXXMNw55CF8OeAmLHDmD6dNlVeHbllcCnn7JvT6Gp17C3Wq1ISEhAfHw8CgsL
z7v94MGDmDJlCsLDw/HYY495tS5px86dwR/2er3YUVtZKbsSIt/zGPZutxsFBQWwWq2oq6vDhg0b
cODAgU7LDB8+HKtXr8ZvfvMbr9clbVAUEfbB3K9vM306B1dRaPIY9jU1NTCZTIiNjYVer0dubi7K
yso6LTNixAikp6dDr9d7vS5pw6FDQFgYcNllsivp3fTpwNtvy66CyPfCPN3Y2NiImJiY9utGoxHV
1dV9umNv1l2+fHn7zxaLBRaLpU+PQerQ1sIJpvlwepKZCezbB5w9K6ZRIAoWNpsNNput3+t7DHvd
AP46vVm3Y9hT6FFLCwcAIiOBxESgpkY9NZM2dN0QXrFihVfre2zjGAwGOJ3O9utOpxNGo7FPdzyQ
dSm0qOFInI7YyqFQ5DHs09PTYbfb4XA44HK5UFpaipycnG6XVRSl3+tS6Dp8GGhuBsxm2ZX03bRp
3ElLocdjGycsLAzFxcXIysqC2+1GXl4ezGYzSkpKAAD5+floampCRkYGTpw4gUGDBqGoqAh1dXWI
jIzsdl3SlrZ+/SAVjeiYNg246y4x6nfwYNnVEPmGTum6SR7oAnS6874VUOgoKBBnpVq2THYl3jGb
gQ0bgJQU2ZUQdc/b7FTR9hap0a5dwNVXy67Ce2zlUKhh2JPfnDwJ2O1AWprsSrzHwVUUahj25DfV
1UBqqjjBuNpMmya+lbDDSKGCYU9+o9YWDiD2M7jdwOefy66EyDcY9uQ3ag57nU7UzknRKFQw7Mkv
3G7RxpkyRXYl/Td1KsOeQgfDnvzigw+A0aOBSy+VXUn/MewplDDsyS927RJhqWZpacDBg8CpU7Ir
IRo4hj35RWWlevv1bYYOFYOqampkV0I0cAx78gs175ztiK0cChUMe/K5w4eBEyeA8eNlVzJwDHsK
FQx78rnKShGSapr8rCdTpwK7dwPffSe7EqKBCYE/Rwo2bWEfCqKjgeHDAZ4+mdSOYU8+F0phD7CV
Q6GBYU8+dfYs8P77QHq67Ep8Z+pUscOZSM0Y9uRTe/cCCQlARITsSnxnyhTRtydSM4Y9+VSotXAA
YOJE4MgR4Ngx2ZUQ9R/Dnnxq9251z4fTncGDgcmTgaoq2ZUQ9R/DnnxGUcSWfaiFPSCeE3fSkpox
7MlnPvtM/BsbK7UMv2g73p5IrRj25DNtLRydTnYlvnfVVcCePUBrq+xKiPqHYU8+E4r9+jYXXwwY
DGLqZiI1YtiTz4TikTgdsZVDatZr2FutViQkJCA+Ph6FhYXdLrNkyRLEx8cjOTkZtbW17b9ftWoV
kpKSMGnSJNx22204d+6c7yqnoHL6tJhS4MorZVfiP9xJS2rmMezdbjcKCgpgtVpRV1eHDRs24ECX
SUIqKipw6NAh2O12rF27FosXLwYAOBwOPPvss9i7dy/ef/99uN1ubNy40X/PhKTas0ccjx4eLrsS
/+HgKlIzj2FfU1MDk8mE2NhY6PV65ObmoqysrNMy5eXlWLhwIQAgMzMTzc3NOHr0KC666CLo9Xqc
Pn0ara2tOH36NAwGg/+eCUkVqodcdmQ2i4FVX3whuxIi74V5urGxsRExMTHt141GI6qrq3tdprGx
EWlpaVi2bBnGjh2LCy64AFlZWZg1a1a3j7N8+fL2ny0WCywWSz+eCsm0ezdw++2yq/CvQYOAzEwx
uConR3Y1pDU2mw02m63f63sMe10fj6FTFOW8333yySd44okn4HA4MGzYMPzsZz/DP/7xD9zeTSJ0
DHtSH0URYV9cLLsS/2vr2zPsKdC6bgivWLHCq/U9tnEMBgOcTmf7dafTCaPR6HGZhoYGGAwG7Nmz
B1OnTsXw4cMRFhaGW265BZXcuxWSPvkEGDIE6PAFL2TxiBxSK49hn56eDrvdDofDAZfLhdLSUuR0
2aTJycnB+vXrAQBVVVWIiopCdHQ0JkyYgKqqKpw5cwaKomDbtm1ITEz03zMhaXbvDu1DLjvKzBQz
e7a0yK6EyDse2zhhYWEoLi5GVlYW3G438vLyYDabUVJSAgDIz89HdnY2KioqYDKZEBERgeeffx4A
kJKSggULFiA9PR2DBg1CWloa7r77bv8/Iwq4UB5M1dVFFwHjxgH794fWnP0U+nRKdw33QBag03Xb
8yf1SEkBnnlGTCmgBfn54jDTX/9adiWkZd5mJ0fQ0oCcPAnY7UBqquxKAoeDq0iNGPY0IO+8I7bs
hw6VXUngcCctqRHDngZEC4OpuoqPB06dAg4fll0JUd8x7GlAtHQkThudjlMnkPow7KnfFEWMJtXa
lj3AsCf1YdhTv338MXDhhcDo0bIrCbypU7mTltSFYU/9psV+fZuMDHGsPWftJrVg2FO/7doFXH21
7CrkiIgAEhLEaFoiNWDYU79VVmo37AEeb0/qwrCnfvn6a6ChAZg0SXYl8rBvT2rCsKd+2b0bmDwZ
CPM4u1Jou/pq0cribB+kBgx76pdQP7l4X4wdKz7sPv1UdiVEvWPYU7/s2sWw1+nE1j1bOaQGDHvy
WkuLOMG4Vma59GTqVPHBRxTsGPbktX37xJzuUVGyK5GvrW9PFOwY9uQ1rR9y2VFyMuBwAM3Nsish
8oxhT15jv/4Her0YTct5cijYMezJK4qi7ZGz3WErh9SAYU9e+fxzoLUVuPxy2ZUEDw6uIjVg2JNX
3n5bbMnqdLIrCR5TpogzdrW0yK6EqGcMe/LK228D06fLriK4REUBsbFiFkyiYMWwJ6/s3Mmw787V
V4sPQqJgxbCnPjt2TPTsU1JkVxJ8pk8XH4REwarXsLdarUhISEB8fDwKCwu7XWbJkiWIj49HcnIy
amtr23/f3NyMefPmwWw2IzExEVVVVb6rnAKushLIzNT25Gc9aQt7TopGwcpj2LvdbhQUFMBqtaKu
rg4bNmzAgQMHOi1TUVGBQ4cOwW63Y+3atVi8eHH7bffccw+ys7Nx4MABvPfeezCbzf55FhQQbOH0
bOxY4IILxKkaiYKRx7CvqamByWRCbGws9Ho9cnNzUVZW1mmZ8vJyLFy4EACQmZmJ5uZmHD16FMeP
H8fOnTvxi1/8AgAQFhaGYcOG+elpUCBw56xnM2awlUPBy+MX8sbGRsTExLRfNxqNqK6u7nWZhoYG
DB48GCNGjMBdd92F/fv348orr0RRURF+9KMfnfc4y5cvb//ZYrHAYrH08+mQv5w5I442ycyUXUnw
mj4d2LEDWLRIdiUUimw2G2w2W7/X9xj2uj4eTK10aVTqdDq0trZi7969KC4uRkZGBpYuXYpHHnkE
f/jDH85bv2PYU3CqrhZnperms5q+N306sGqV7CooVHXdEF6xYoVX63ts4xgMBjidzvbrTqcTRqPR
4zINDQ0wGAwwGo0wGo3IyMgAAMybNw97eXZm1WILp3cJCcCpU+J0jUTBxmPYp6enw263w+FwwOVy
obS0FDk5OZ2WycnJwfr16wEAVVVViIqKQnR0NEaNGoWYmBh8/P0eq23btiEpKclPT4P8jTtne6fT
AdOmsW9PwcljGycsLAzFxcXIysqC2+1GXl4ezGYzSkpKAAD5+fnIzs5GRUUFTCYTIiIi8Pzzz7ev
v3r1atx+++1wuVyIi4vrdBupR2srUFUFvPii7EqCX1vffv582ZUQdaZTujbcA12ATndez5+Cy549
wMKFwIcfyq4k+O3ZA/z858AHH8iuhEKdt9nJEbTUK5sNmDlTdhXqkJIiRhkfOya7EqLOGPbUK5sN
4NGwfRMWJmbB5Dw5FGwY9uRRa6sIrhkzZFeiHhYL8NZbsqsg6oxhTx7t2wcYjcDIkbIrUQ+GPQUj
hj15xBaO99LTgfp69u0puDDsySOGvff0ejG//X/+I7sSoh8w7KlH7Nf338yZbOVQcGHYU4/Yr+8/
hj0FG4Y99YgtnP5LTRVz5HzxhexKiASGPfWIYd9/YWFi6gT27SlYMOypW+zXDxxbORRMGPbUrXfe
AS67jP36geDx9hRMGPbUrW3bgOuuk12FuiUnA0ePAkeOyK6EiGFPPXjjDWDWLNlVqNvgwaKV8+ab
sishYthTN06eBGpr2a/3heuvB15/XXYVRAx76sZ//gNkZPB8s75w3XXiWxJP2UCyMezpPNu2sYXj
K5dfDkRE8GQmJB/Dns7zxhvcOetLbOVQMGDYUyeNjUBTE5CWJruS0MGwp2DAsKdO3nxTHEEyeLDs
SkLHzJlAZSVw9qzsSkjLGPbUCVs4vjdsGHDFFTxVIcnFsKd2333HsPcXtnJINoY9tautBaKixBEk
5FsMe5Kt17C3Wq1ISEhAfHw8CgsLu11myZIliI+PR3JyMmprazvd5na7kZqaijlz5vimYvKbLVuA
7GzZVYSmjAzgs884dQLJ4zHs3W43CgoKYLVaUVdXhw0bNuDAgQOdlqmoqMChQ4dgt9uxdu1aLF68
uNPtRUVFSExMhE6n83315FNbtgA/+YnsKkJTWJjYut+6VXYlpFUew76mpgYmkwmxsbHQ6/XIzc1F
WVlZp2XKy8uxcOFCAEBmZiaam5tx9OhRAEBDQwMqKiqwaNEiKBxCGNS++AI4eFDMwU7+8dOfAps3
y66CtCrM042NjY2IiYlpv240GlFdXd3rMo2NjYiOjsa9996LRx99FCdOnPBYxPLly9t/tlgssPCM
GQFntQLXXgsMGSK7ktA1ezZQUACcOwcMHSq7GlIbm80Gm83W7/U9hn1fWy9dt9oVRcHmzZsxcuRI
pKam9lpgx7AnOdjC8b9LLwUmTRJnAMvKkl0NqU3XDeEVK1Z4tb7HNo7BYIDT6Wy/7nQ6YTQaPS7T
0NAAg8GAyspKlJeXY9y4cZg/fz62b9+OBQsWeFUcBUZrqzhSZPZs2ZWEPrZySBaPYZ+eng673Q6H
wwGXy4XS0lLk5OR0WiYnJwfr168HAFRVVSEqKgqjRo3CypUr4XQ6UV9fj40bN+Kaa65pX46CS2Ul
MG4cMGaM7EpCX1vYcxcWBZrHNk5YWBiKi4uRlZUFt9uNvLw8mM1mlJSUAADy8/ORnZ2NiooKmEwm
RERE4Pnnn+/2vng0TvBiCydwkpJE0NfViZ+JAkWnSD5MRqfT8UgdyZKSgOeeA666SnYl2lBQAMTE
AA88ILsSUjNvs5MjaDXu4EGguRmYPFl2JdrBvj3JwLDXuFdeAW6+GRjEd0LAWCzA+++LsQ1EgcI/
cY3717+AuXNlV6Et4eHiyKd//1t2JaQlDHsNcziAzz/nqFkZ5s0DXn5ZdhWkJQx7DXvlFeDGG8W8
LRRYs2cDNTXAV1/JroS0gmGvYa+8Atxyi+wqtOlHPxKjaDdtkl0JaQXDXqOOHAE+/FDMh0NysJVD
gcSw16hNm8Tc9ZyQS57sbGD3buDrr2VXQlrAsNeof/6TR+HIFhkJzJoFlJfLroS0gGGvQU4nsH8/
z0oVDObNEx+8RP7GsNegF18UW/Xh4bIroZ/+FNi1C/jyS9mVUKhj2GuMogB//ztwxx2yKyEAuPBC
EfgbNsiuhEIdw15j9u8HTp0Cpk2TXQm1WbgQ4Ozf5G8Me4154QXg9ts5F04wueYaoKlJHApL5C/8
k9cQt1v069nCCS6DB4vXZN062ZVQKGPYa8j27eJsVGaz7EqoqwULxLcut1t2JRSqGPYasm4dt+qD
VWIiYDAA27bJroRCFc9UpRFffgnExwOffgpcconsaqg7xcXifMAvvii7ElIDb7OTYa8Rf/qTOO/p
//2f7EqoJ19/DcTFAR99BIwcKbsaCnY8LSGd57vvgJISYPFi2ZWQJ5dcImYhfe452ZVQKGLYa8Ab
bwDDhvE8s2rwq18Ba9YAra2yK6FQw7DXgDVrgF/+EtDpZFdCvUlLA4xG4NVXZVdCoYY9+xDndALJ
yeL0g5GRsquhvnjxRdHKefNN2ZVQMPNLz95qtSIhIQHx8fEoLCzsdpklS5YgPj4eycnJqK2tBQA4
nU7MnDkTSUlJmDhxIp588sk+F0a+8cwzwG23MejVZN48MZr2wAHZlVBIUXrR2tqqxMXFKfX19YrL
5VKSk5OVurq6Tsts2bJFmT17tqIoilJVVaVkZmYqiqIoR44cUWpraxVFUZSTJ08q48ePP2/dPpRA
/XT8uKIMH64ohw7JroS89fvfK8rixbKroGDmbXb2umVfU1MDk8mE2NhY6PV65ObmoqysrNMy5eXl
WLhwIQAgMzMTzc3NOHr0KEaNGoWUlBQAQGRkJMxmMw4fPuzzDyzq3jPPANdfLw7nI3X51a+AjRvF
nDlEvhDW2wKNjY2IiYlpv240GlFdXd3rMg0NDYiOjm7/ncPhQG1tLTIzM897jOXLl7f/bLFYYLFY
vHkO1I2zZ4EnngC2bpVdCfXHqFFiwrrHHxdjJIhsNhtsNlu/1+817HV9PIRD6bKjoON6p06dwrx5
81BUVITIbprHHcOefGPdOiA1VeycJXW6/37x+j3wADB8uOxqSLauG8IrVqzwav1e2zgGgwFOp7P9
utPphNFo9LhMQ0MDDAYDAKClpQVz587FHXfcgZtuusmr4qh/WlvF1uBvfyu7EhqImBixs7aoSHYl
FAp6Dfv09HTY7XY4HA64XC6UlpYiJyen0zI5OTlY//3ZF6qqqhAVFYXo6GgoioK8vDwkJiZi6dKl
/nkGdJ7SUtEGmD5ddiU0UL/9LfD008Dx47IrIbXrNezDwsJQXFyMrKwsJCYm4tZbb4XZbEZJSQlK
SkoAANnZ2bj88sthMpmQn5+Pp59+GgCwa9cuvPDCC3jrrbeQmpqK1NRUWK1W/z4jjTt3Dvj974GH
H5ZdCfnC5ZeLE8PzqGUaKA6qCjGPPw689RZHYIaSTz4BMjOBDz4Q39iIAM56qWnffANMmADYbGJ+
dAod990HNDcDzz4ruxIKFgx7DbvvPtHbXbtWdiXka8ePiw9yqxX4fugKaRzDXqMcDuDKK8VX/dGj
ZVdD/rBmDfDPf4o5czipHXE+ew1SFDFX/bJlDPpQ9t//DRw9CmzaJLsSUiOGfQh44QXgyBHRxqHQ
FRYGPPUU8Otfi/0zRN5gG0flvvgCmDQJqKgQbRwKfQUFwIkTwPdDW0ij2LPXmNxc4LLLgB5mnqYQ
dOqUmEbhL38BuoxvJA1h2GvIhg3AQw8B+/cDF1wguxoKpB07gPnzgffe47w5WsWw14gPPwQsFmDb
Nk52plXLlgEHDwLl5cDgwbKroUDj0TgacPIkMHcu8Oc/M+i17JFHREvnoYdkV0JqwC17lVEU4NZb
gYsvBr6fmog07IsvgIwM0b+/5RbZ1VAgsY0TwhRFzHH+9tti/pvwcNkVUTDYsweYPRt44w2OrtUS
tnFC2KpVYrj8li0MevpBero4BeXs2WJfDlF3ej1TFQWHp58G/vY3YOdO4JJLZFdDwWbuXDG99fXX
A9u3i3l0iDpi2Ac5RRHH0K9ZI1o3nA6BenLbbYDLBcyaJb4BJiXJroiCCcM+iLW2itGS1dXA7t3A
mDGyK6Jg9/OfA3o9MHOmOA/x7NmyK6JgwR20QerLL4EFC8SW/T//CVx4oeyKSE0qK8X5a++/H7jn
Hs6SGYq4gzYEtM1ZPmmSOOMUg568NXWqCPx164AbbxQT5ZG2MeyDyLFjwP/8D3D33WImyz/9SXwl
J+qP2FjRAkxOFhsPL74ovimSNjHsg4DLBTzxBJCQIP4Y9+8XPVeigRoyBPjjH4HNm8XGw9VXiyO6
SHsY9hKdOCFGPo4fD7z2mjh37Jo1YnQskS9lZAB794pvjnfeCfzkJ2JeJW7pawd30AbYd9+JI2te
fFHMWpmVBdx7LzB5suzKSCvOnRNz4a9eDbS0APn5wM9+BhgMsisjb/h8B63VakVCQgLi4+NR2MOk
6UuWLEFdJZr1AAAHtklEQVR8fDySk5NRW1vr1bpqZ7PZel3m5Emxo/Wee4Bx40RPfvRoYN8+Efgy
g74v9Qcz1u+9oUPFKQ737xfzK9XWioMBrr4aePRR4N13Abe79/vh/726eAx7t9uNgoICWK1W1NXV
YcOGDThw4ECnZSoqKnDo0CHY7XasXbsWixcv7vO6oaDrG+abb4CqKuCvfwV++UsxlH3MGKCoSAT8
5s1iSPvvfw+MHSun5o7U/oZn/f2n0wEzZogjdpqagAcfFCeuv/NO4NJLxTH6Dz4IvPyymErZ5eq8
Pv/v1cXjoKqamhqYTCbExsYCAHJzc1FWVgaz2dy+THl5ORYuXAgAyMzMRHNzM5qamlBfX9/rusFO
UYCzZ4FvvxWX48eB5mZx+fJLMeOg1Qq8/z7gdIo/lDNnxI7WxEQR9AsXiiMheHIRCmZDhgDZ2eIC
iPCvrhZb/X//O1BXJ97jY8aIo3wMBvF+HzYMGDFCfDhERYnrw4YBERHiEsZhm0HD40vR2NiImJiY
9utGoxHV1dW9LtPY2IjDhw/3uq4vnTkD3HyzCOiOl+++++Hftovb/cO/LS1ipGpLi7i4XKKnefas
uOj1P7xxhw0Tb+ioKPEGHzlS/O7WW8VW+tixYuudA1hI7UaNEsfn33jjD79raQHq64HPPwcaGsSH
gMMBvPMO8NVXYmOo7XL6tNhAGjRITNo3dKi4DBki/qb0evFBEBYmTrwyeLBYtuNFp+v50qYvP/fE
bhctK1+IjBQt2WDmMex1fUytge5g7evjyHDunLh8/bXYsunO66+vCGxRPrZiBeuXSc31b9/uufa2
DaqTJwNUkJc+/th3//cbN/rsrvzCY9gbDAY4OySc0+mE0Wj0uExDQwOMRiNaWlp6XRcY+AcFERH1
zuMO2vT0dNjtdjgcDrhcLpSWliKny+nsc3JysH79egBAVVUVoqKiEB0d3ad1iYgoMDxu2YeFhaG4
uBhZWVlwu93Iy8uD2WxGyffnw8vPz0d2djYqKipgMpkQERGB559/3uO6REQkgSLJSy+9pCQmJiqD
Bg1S3n333fbf19fXK+Hh4UpKSoqSkpKiLF68WFaJHvVUv6IoysqVKxWTyaRMmDBBee211yRV2HcP
PfSQYjAY2v/Pt27dKrukXm3dulWZMGGCYjKZlEceeUR2OV677LLLlEmTJikpKSlKRkaG7HJ6dddd
dykjR45UJk6c2P67Y8eOKbNmzVLi4+OV6667Tvnmm28kVuhZd/Wr6X3/+eefKxaLRUlMTFSSkpKU
oqIiRVG8ew2khf2BAweUjz76SLFYLOeFfccXJFj1VP+HH36oJCcnKy6XS6mvr1fi4uIUt9stsdLe
LV++XHnsscdkl9Fnra2tSlxcnFJfX6+4XC4lOTlZqaurk12WV2JjY5Vjx47JLqPPduzYoezdu7fT
3+Z9992nFBYWKoqiKI888ojywAMPyCqvV93Vr6b3/ZEjR5Ta2lpFURTl5MmTyvjx45W6ujqvXgNp
c+MkJCRg/Pjxsh5+wHqqv6ysDPPnz4der0dsbCxMJhNqamokVOgdRUU7yjuO/9Dr9e1jONRGTf/n
06dPx8VdJm3qOMZm4cKF2LRpk4zS+qS7+gH1vAajRo1Cyvdnk4+MjITZbEZjY6NXr0FQToRWX1+P
1NRUWCwWvP3227LL8crhw4c7HXXUNu4g2K1evRrJycnIy8tDc3Oz7HI86mlsh5rodDrMmjUL6enp
ePbZZ2WX0y9Hjx5FdHQ0ACA6OhpHjx6VXJH31PS+b+NwOFBbW4vMzEyvXgO/hv11112HSZMmnXd5
9dVXe1xnzJgxcDqdqK2txeOPP47bbrsNJyUdpNuf+rsTDOMIenou5eXlWLx4Merr67Fv3z6MHj0a
y5Ytk12uR8Hw/zlQu3btQm1tLbZu3YqnnnoKO1U+77BOp1Pd66K29z0AnDp1CnPnzkVRUREu7HJW
o95eA78OZn7jjTe8XmfIkCEYMmQIACAtLQ1xcXGw2+1IS0vzdXm96k/93Y07MATBdIJ9fS6LFi3C
nDlz/FzNwPRl/EewG/39meNHjBiBm2++GTU1NZg+fbrkqrwTHR2NpqYmjBo1CkeOHMHIkSNll+SV
jvWq4X3f0tKCuXPn4s4778RNN90EwLvXICjaOB37Zl999RXc30+59+mnn8Jut+Pyyy+XVVqfdKw/
JycHGzduhMvlQn19Pex2OyYH+fzFRzqcs+7f//43Jk2aJLGa3ql9DMfp06fbv61+++23eP3114P+
/7w7OTk5WLduHQBg3bp17QGkFmp63yuKgry8PCQmJmLp0qXtv/fqNfDzTuQevfLKK4rRaFTCw8OV
6Oho5YYbblAURVFefvllJSkpSUlJSVHS0tKUzZs3yyrRo57qVxRFefjhh5W4uDhlwoQJitVqlVhl
39x5553KpEmTlCuuuEK58cYblaamJtkl9aqiokIZP368EhcXp6xcuVJ2OV759NNPleTkZCU5OVlJ
SkpSRf25ubnK6NGjFb1erxiNRuVvf/ubcuzYMeXaa69VxaGXXet/7rnnVPW+37lzp6LT6ZTk5ORO
h4p68xpIP3kJERH5X1C0cYiIyL8Y9kREGsCwJyLSAIY9EZEGMOyJiDSAYU9EpAH/D1dbWMhGnLKu
AAAAAElFTkSuQmCC
">
</div>
</div>
</div>
</div>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p><b>Ex:</b></p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">In [42]:</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">st</span><span class="o">.</span><span class="n">norm</span><span class="o">.</span><span class="n">pdf</span><span class="p">(</span><span class="mi">300</span><span class="p">,</span><span class="mi">290</span><span class="p">,</span><span class="mi">10</span><span class="p">)</span>
<span class="c">#This is the chance of being paid over 300 bucks if the middle is 290, and the variance 10.</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt output_prompt">
Out[42]:</div>
<div class="box-flex1 output_subarea output_pyout">
<pre>0.024197072451914336</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">In [36]:</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="mi">1</span><span class="o">-</span><span class="n">st</span><span class="o">.</span><span class="n">norm</span><span class="o">.</span><span class="n">cdf</span><span class="p">(</span><span class="mi">39</span><span class="p">,</span><span class="mf">34.5</span><span class="p">,</span><span class="mf">2.07</span><span class="p">)</span> <span class="c">#Chance of being late</span>
<span class="c"># Here, it is estimated that a dude has a middle of 34.5 minutes to work, spread 2.07, and is late at 39min+</span>
<span class="c"># We use cdf because we want not ONLY 39, but everything over 39. So we calculate everything under, and substract</span>
<span class="c"># it from 1.</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt output_prompt">
Out[36]:</div>
<div class="box-flex1 output_subarea output_pyout">
<pre>0.014855833143976649</pre>
</div>
</div>
</div>
</div>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h4>
<a class="heading-anchor" id="Log-Normal_distribution" href="#Log-Normal_distribution">
Log-Normal distribution
</a>
</h4>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>X ~ LN(alpha,beta), beta > 0</p>
<p>Typicallly skews to the right.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">In [48]:</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">herp</span> <span class="o">=</span> <span class="n">st</span><span class="o">.</span><span class="n">lognorm</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span> <span class="c">#This is simply a different example of using the stats distributions. Works on the others aswell.</span>
<span class="n">herp</span><span class="o">.</span><span class="n">pdf</span><span class="p">(</span><span class="mi">1</span><span class="p">)</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt output_prompt">
Out[48]:</div>
<div class="box-flex1 output_subarea output_pyout">
<pre>0.3989422804014327</pre>
</div>
</div>
</div>
</div>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">In [56]:</div>
<div class="input_area box-flex1">
<div class="highlight"><pre><span class="n">herp</span> <span class="o">=</span> <span class="n">st</span><span class="o">.</span><span class="n">lognorm</span><span class="p">(</span><span class="mf">0.733</span><span class="p">,</span><span class="mf">0.44</span><span class="p">)</span> <span class="c"># Here, we want to find an interval of particles. We have alpha and beta,</span>
<span class="n">herp</span><span class="o">.</span><span class="n">cdf</span><span class="p">(</span><span class="mi">3</span><span class="p">)</span><span class="o">-</span><span class="n">herp</span><span class="o">.</span><span class="n">cdf</span><span class="p">(</span><span class="mi">2</span><span class="p">)</span> <span class="c"># and want to figure the particles in the interval [2;3]</span>
</pre></div>
</div>
</div>
<div class="vbox output_wrapper">
<div class="output vbox">
<div class="hbox output_area"><div class="prompt output_prompt">
Out[56]:</div>
<div class="box-flex1 output_subarea output_pyout">
<pre>0.17218720184665137</pre>
</div>
</div>
</div>
</div>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<h4>
<a class="heading-anchor" id="Uniform_distribution" href="#Uniform_distribution">
Uniform distribution
</a>
</h4>
</div>
<div class="text_cell_render border-box-sizing rendered_html">
<p>Equal chance of everything. So, if employees get in between 8:00 and 8:30, they have 0% prob of being outside that interval,
and 1/3 prob of hitting between 8:20 and 8:30, and so on.</p>
</div>
<div class="cell border-box-sizing code_cell vbox">
<div class="input hbox">
<div class="prompt input_prompt">In []:</div>
<div class="input_area box-flex1">
<div class="highlight"><pre>
</pre></div>
</div>
</div>
</div>
</body>
</html>