{ "metadata": { "name": "", "signature": "sha256:32d269a9eb1a6cf723cd428185cf9a104fcc1481c1ca9f3a60e7182a0b48c68d" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "from __future__ import print_function, division\n", "\n", "%matplotlib inline\n", "\n", "import pandas as pd\n", "import thinkstats2\n", "import thinkplot" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "# http://schools.nyc.gov/AboutUs/schools/data/classsize/classsize_2014_11_14.htm\n", "df = pd.read_excel('CityLevelDistributionSummaryPreliminary2015.xlsx', skiprows=6)\n", "df" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "
\n", "\n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
GRADE LEVELPROGRAM TYPECORE SUBJECT \n", "(MS CORE and \n", "09-12 ONLY)SERVICE CATEGORY\n", "(0K-08 ONLY)CLASS SIZENUMBER OF CLASSESNUMBER OF STUDENTSPERCENT OF STUDENTS IN BOROUGH / PROGRAM / GRADE / SUBJECT
0 0K GEN ED / ICT / G&T - - <15 86 1002 0.014110
1 0K GEN ED / ICT / G&T - - 15 29 435 0.006126
2 0K GEN ED / ICT / G&T - - 16 35 560 0.007886
3 0K GEN ED / ICT / G&T - - 17 59 1003 0.014124
4 0K GEN ED / ICT / G&T - - 18 95 1710 0.024080
5 0K GEN ED / ICT / G&T - - 19 98 1862 0.026221
6 0K GEN ED / ICT / G&T - - 20 177 3540 0.049851
7 0K GEN ED / ICT / G&T - - 21 232 4872 0.068608
8 0K GEN ED / ICT / G&T - - 22 298 6556 0.092322
9 0K GEN ED / ICT / G&T - - 23 364 8372 0.117896
10 0K GEN ED / ICT / G&T - - 24 444 10656 0.150059
11 0K GEN ED / ICT / G&T - - 25 865 21625 0.304526
12 0K GEN ED / ICT / G&T - - 26 191 4966 0.069932
13 0K GEN ED / ICT / G&T - - 27 68 1836 0.025855
14 0K GEN ED / ICT / G&T - - 28 42 1176 0.016561
15 0K GEN ED / ICT / G&T - - 29 10 290 0.004084
16 0K GEN ED / ICT / G&T - - 30 12 360 0.005070
17 0K GEN ED / ICT / G&T - - 31 3 93 0.001310
18 0K GEN ED / ICT / G&T - - 32 1 32 0.000451
19 0K GEN ED / ICT / G&T - - 33 2 66 0.000929
20 01 GEN ED / ICT / G&T - - <15 46 582 0.008027
21 01 GEN ED / ICT / G&T - - 15 25 375 0.005172
22 01 GEN ED / ICT / G&T - - 16 37 592 0.008165
23 01 GEN ED / ICT / G&T - - 17 35 595 0.008206
24 01 GEN ED / ICT / G&T - - 18 41 738 0.010178
25 01 GEN ED / ICT / G&T - - 19 75 1425 0.019653
26 01 GEN ED / ICT / G&T - - 20 107 2140 0.029514
27 01 GEN ED / ICT / G&T - - 21 147 3087 0.042575
28 01 GEN ED / ICT / G&T - - 22 198 4356 0.060077
29 01 GEN ED / ICT / G&T - - 23 210 4830 0.066614
...........................
474 09-12 SPEC ED Math - 11 55 605 0.087719
475 09-12 SPEC ED Math - 12 52 624 0.090474
476 09-12 SPEC ED Math - 13 67 871 0.126287
477 09-12 SPEC ED Math - 14 80 1120 0.162389
478 09-12 SPEC ED Math - 15 101 1515 0.219661
479 09-12 SPEC ED Math - >15 41 685 0.099319
480 09-12 SPEC ED Science - <6 18 90 0.015169
481 09-12 SPEC ED Science - 6 33 198 0.033373
482 09-12 SPEC ED Science - 7 27 189 0.031856
483 09-12 SPEC ED Science - 8 20 160 0.026968
484 09-12 SPEC ED Science - 9 28 252 0.042474
485 09-12 SPEC ED Science - 10 41 410 0.069105
486 09-12 SPEC ED Science - 11 37 407 0.068599
487 09-12 SPEC ED Science - 12 41 492 0.082926
488 09-12 SPEC ED Science - 13 51 663 0.111748
489 09-12 SPEC ED Science - 14 64 896 0.151020
490 09-12 SPEC ED Science - 15 85 1275 0.214900
491 09-12 SPEC ED Science - >15 53 901 0.151862
492 09-12 SPEC ED Social Studies - <6 32 160 0.022679
493 09-12 SPEC ED Social Studies - 6 39 234 0.033168
494 09-12 SPEC ED Social Studies - 7 50 350 0.049610
495 09-12 SPEC ED Social Studies - 8 35 280 0.039688
496 09-12 SPEC ED Social Studies - 9 60 540 0.076541
497 09-12 SPEC ED Social Studies - 10 42 420 0.059532
498 09-12 SPEC ED Social Studies - 11 55 605 0.085755
499 09-12 SPEC ED Social Studies - 12 59 708 0.100354
500 09-12 SPEC ED Social Studies - 13 66 858 0.121616
501 09-12 SPEC ED Social Studies - 14 60 840 0.119064
502 09-12 SPEC ED Social Studies - 15 93 1395 0.197732
503 09-12 SPEC ED Social Studies - >15 40 665 0.094259
\n", "

504 rows \u00d7 8 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ " GRADE LEVEL PROGRAM TYPE CORE SUBJECT \\n(MS CORE and \\n09-12 ONLY) \\\n", "0 0K GEN ED / ICT / G&T - \n", "1 0K GEN ED / ICT / G&T - \n", "2 0K GEN ED / ICT / G&T - \n", "3 0K GEN ED / ICT / G&T - \n", "4 0K GEN ED / ICT / G&T - \n", "5 0K GEN ED / ICT / G&T - \n", "6 0K GEN ED / ICT / G&T - \n", "7 0K GEN ED / ICT / G&T - \n", "8 0K GEN ED / ICT / G&T - \n", "9 0K GEN ED / ICT / G&T - \n", "10 0K GEN ED / ICT / G&T - \n", "11 0K GEN ED / ICT / G&T - \n", "12 0K GEN ED / ICT / G&T - \n", "13 0K GEN ED / ICT / G&T - \n", "14 0K GEN ED / ICT / G&T - \n", "15 0K GEN ED / ICT / G&T - \n", "16 0K GEN ED / ICT / G&T - \n", "17 0K GEN ED / ICT / G&T - \n", "18 0K GEN ED / ICT / G&T - \n", "19 0K GEN ED / ICT / G&T - \n", "20 01 GEN ED / ICT / G&T - \n", "21 01 GEN ED / ICT / G&T - \n", "22 01 GEN ED / ICT / G&T - \n", "23 01 GEN ED / ICT / G&T - \n", "24 01 GEN ED / ICT / G&T - \n", "25 01 GEN ED / ICT / G&T - \n", "26 01 GEN ED / ICT / G&T - \n", "27 01 GEN ED / ICT / G&T - \n", "28 01 GEN ED / ICT / G&T - \n", "29 01 GEN ED / ICT / G&T - \n", ".. ... ... ... \n", "474 09-12 SPEC ED Math \n", "475 09-12 SPEC ED Math \n", "476 09-12 SPEC ED Math \n", "477 09-12 SPEC ED Math \n", "478 09-12 SPEC ED Math \n", "479 09-12 SPEC ED Math \n", "480 09-12 SPEC ED Science \n", "481 09-12 SPEC ED Science \n", "482 09-12 SPEC ED Science \n", "483 09-12 SPEC ED Science \n", "484 09-12 SPEC ED Science \n", "485 09-12 SPEC ED Science \n", "486 09-12 SPEC ED Science \n", "487 09-12 SPEC ED Science \n", "488 09-12 SPEC ED Science \n", "489 09-12 SPEC ED Science \n", "490 09-12 SPEC ED Science \n", "491 09-12 SPEC ED Science \n", "492 09-12 SPEC ED Social Studies \n", "493 09-12 SPEC ED Social Studies \n", "494 09-12 SPEC ED Social Studies \n", "495 09-12 SPEC ED Social Studies \n", "496 09-12 SPEC ED Social Studies \n", "497 09-12 SPEC ED Social Studies \n", "498 09-12 SPEC ED Social Studies \n", "499 09-12 SPEC ED Social Studies \n", "500 09-12 SPEC ED Social Studies \n", "501 09-12 SPEC ED Social Studies \n", "502 09-12 SPEC ED Social Studies \n", "503 09-12 SPEC ED Social Studies \n", "\n", " SERVICE CATEGORY\\n(0K-08 ONLY) CLASS SIZE NUMBER OF CLASSES \\\n", "0 - <15 86 \n", "1 - 15 29 \n", "2 - 16 35 \n", "3 - 17 59 \n", "4 - 18 95 \n", "5 - 19 98 \n", "6 - 20 177 \n", "7 - 21 232 \n", "8 - 22 298 \n", "9 - 23 364 \n", "10 - 24 444 \n", "11 - 25 865 \n", "12 - 26 191 \n", "13 - 27 68 \n", "14 - 28 42 \n", "15 - 29 10 \n", "16 - 30 12 \n", "17 - 31 3 \n", "18 - 32 1 \n", "19 - 33 2 \n", "20 - <15 46 \n", "21 - 15 25 \n", "22 - 16 37 \n", "23 - 17 35 \n", "24 - 18 41 \n", "25 - 19 75 \n", "26 - 20 107 \n", "27 - 21 147 \n", "28 - 22 198 \n", "29 - 23 210 \n", ".. ... ... ... \n", "474 - 11 55 \n", "475 - 12 52 \n", "476 - 13 67 \n", "477 - 14 80 \n", "478 - 15 101 \n", "479 - >15 41 \n", "480 - <6 18 \n", "481 - 6 33 \n", "482 - 7 27 \n", "483 - 8 20 \n", "484 - 9 28 \n", "485 - 10 41 \n", "486 - 11 37 \n", "487 - 12 41 \n", "488 - 13 51 \n", "489 - 14 64 \n", "490 - 15 85 \n", "491 - >15 53 \n", "492 - <6 32 \n", "493 - 6 39 \n", "494 - 7 50 \n", "495 - 8 35 \n", "496 - 9 60 \n", "497 - 10 42 \n", "498 - 11 55 \n", "499 - 12 59 \n", "500 - 13 66 \n", "501 - 14 60 \n", "502 - 15 93 \n", "503 - >15 40 \n", "\n", " NUMBER OF STUDENTS \\\n", "0 1002 \n", "1 435 \n", "2 560 \n", "3 1003 \n", "4 1710 \n", "5 1862 \n", "6 3540 \n", "7 4872 \n", "8 6556 \n", "9 8372 \n", "10 10656 \n", "11 21625 \n", "12 4966 \n", "13 1836 \n", "14 1176 \n", "15 290 \n", "16 360 \n", "17 93 \n", "18 32 \n", "19 66 \n", "20 582 \n", "21 375 \n", "22 592 \n", "23 595 \n", "24 738 \n", "25 1425 \n", "26 2140 \n", "27 3087 \n", "28 4356 \n", "29 4830 \n", ".. ... \n", "474 605 \n", "475 624 \n", "476 871 \n", "477 1120 \n", "478 1515 \n", "479 685 \n", "480 90 \n", "481 198 \n", "482 189 \n", "483 160 \n", "484 252 \n", "485 410 \n", "486 407 \n", "487 492 \n", "488 663 \n", "489 896 \n", "490 1275 \n", "491 901 \n", "492 160 \n", "493 234 \n", "494 350 \n", "495 280 \n", "496 540 \n", "497 420 \n", "498 605 \n", "499 708 \n", "500 858 \n", "501 840 \n", "502 1395 \n", "503 665 \n", "\n", " PERCENT OF STUDENTS IN BOROUGH / PROGRAM / GRADE / SUBJECT \n", "0 0.014110 \n", "1 0.006126 \n", "2 0.007886 \n", "3 0.014124 \n", "4 0.024080 \n", "5 0.026221 \n", "6 0.049851 \n", "7 0.068608 \n", "8 0.092322 \n", "9 0.117896 \n", "10 0.150059 \n", "11 0.304526 \n", "12 0.069932 \n", "13 0.025855 \n", "14 0.016561 \n", "15 0.004084 \n", "16 0.005070 \n", "17 0.001310 \n", "18 0.000451 \n", "19 0.000929 \n", "20 0.008027 \n", "21 0.005172 \n", "22 0.008165 \n", "23 0.008206 \n", "24 0.010178 \n", "25 0.019653 \n", "26 0.029514 \n", "27 0.042575 \n", "28 0.060077 \n", "29 0.066614 \n", ".. ... \n", "474 0.087719 \n", "475 0.090474 \n", "476 0.126287 \n", "477 0.162389 \n", "478 0.219661 \n", "479 0.099319 \n", "480 0.015169 \n", "481 0.033373 \n", "482 0.031856 \n", "483 0.026968 \n", "484 0.042474 \n", "485 0.069105 \n", "486 0.068599 \n", "487 0.082926 \n", "488 0.111748 \n", "489 0.151020 \n", "490 0.214900 \n", "491 0.151862 \n", "492 0.022679 \n", "493 0.033168 \n", "494 0.049610 \n", "495 0.039688 \n", "496 0.076541 \n", "497 0.059532 \n", "498 0.085755 \n", "499 0.100354 \n", "500 0.121616 \n", "501 0.119064 \n", "502 0.197732 \n", "503 0.094259 \n", "\n", "[504 rows x 8 columns]" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "grouped = df.groupby('GRADE LEVEL')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "for name, group in grouped:\n", " print(name)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "01\n", "02\n", "03\n", "04\n", "05\n", "06\n", "07\n", "08\n", "09-12\n", "0K\n", "0K-09\n", "MS Core\n" ] } ], "prompt_number": 4 }, { "cell_type": "code", "collapsed": false, "input": [ "grade8 = grouped.get_group('08')" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 5 }, { "cell_type": "code", "collapsed": false, "input": [ "size = grade8['CLASS SIZE'].replace(['<15', '>34'], [14, 35]).astype(int)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "classes = grade8['NUMBER OF CLASSES']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "pmf = thinkstats2.Pmf(dict(zip(size, classes)))" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 8 }, { "cell_type": "code", "collapsed": false, "input": [ "thinkplot.Pmf(pmf)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 9 }, { "cell_type": "code", "collapsed": false, "input": [ "pmf.Mean()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 10, "text": [ "27.406021505376348" ] } ], "prompt_number": 10 }, { "cell_type": "code", "collapsed": false, "input": [ "def BiasPmf(pmf, label):\n", " new_pmf = pmf.Copy(label=label)\n", "\n", " for x, p in pmf.Items():\n", " new_pmf.Mult(x, x)\n", " \n", " new_pmf.Normalize()\n", " return new_pmf" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 11 }, { "cell_type": "code", "collapsed": false, "input": [ "biased = BiasPmf(pmf, 'biased')\n", "thinkplot.Pmf(pmf)\n", "thinkplot.Pmf(biased)" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 12 }, { "cell_type": "code", "collapsed": false, "input": [ "biased.Mean()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "28.088749038748254" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "# https://www.purdue.edu/datadigest/2013-14/InstrStuLIfe/DistUGClasses.html\n", "sizes = [1, 5, 15, 25, 35, 45, 75, 125]\n", "counts = [138, 635, 1788, 1979, 796, 354, 487, 333]\n", "xlim = [-5, 130]\n", "formats=['png', 'pdf']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "pmf = thinkstats2.Pmf(dict(zip(sizes, counts)), label='actual')\n", "thinkplot.PrePlot(2)\n", "thinkplot.Hist(pmf)\n", "thinkplot.Config(xlabel='class size', ylabel='PMF', xlim=xlim, loc='upper right')\n", "thinkplot.Save('purdue1', formats=formats)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Writing purdue1.png\n", "Writing" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " purdue1.pdf\n" ] }, { "metadata": {}, "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "biased = BiasPmf(pmf, 'biased')\n", "thinkplot.PrePlot(2)\n", "thinkplot.Hist(pmf, align='right')\n", "thinkplot.Hist(biased, color='orange', align='left')\n", "thinkplot.Config(xlabel='class size', ylabel='PMF', xlim=xlim, loc='upper right')\n", "thinkplot.Save('purdue2', formats=formats)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Writing purdue2.png\n", "Writing" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " purdue2.pdf\n" ] }, { "metadata": {}, "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "thinkplot.PrePlot(2)\n", "thinkplot.Cdf(pmf.MakeCdf())\n", "thinkplot.Cdf(biased.MakeCdf(), color='orange')\n", "thinkplot.Config(xlabel='class size', ylabel='CDF', xlim=xlim, loc='lower right')\n", "thinkplot.Save('purdue3', formats=formats)" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stdout", "text": [ "Writing purdue3.png\n", "Writing" ] }, { "output_type": "stream", "stream": "stdout", "text": [ " purdue3.pdf\n" ] }, { "metadata": {}, "output_type": "display_data", "text": [ "" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "pmf.Mean(), biased.Mean()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": [ "(30.959754224270352, 56.01463671185027)" ] } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 18 } ], "metadata": {} } ] }