Skip to content

Instantly share code, notes, and snippets.

@nilshg
Created September 23, 2014 15:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nilshg/253bceebe7f9f9aa2bef to your computer and use it in GitHub Desktop.
Save nilshg/253bceebe7f9f9aa2bef to your computer and use it in GitHub Desktop.
{
"metadata": {
"name": ""
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "heading",
"level": 1,
"metadata": {},
"source": [
"MSc Pre-Sessionals Statistics"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"import numpy as np\n",
"import pandas as pd\n",
"import matplotlib.pyplot as plt\n",
"from __future__ import division\n",
"\n",
"%matplotlib inline"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 1
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"A1. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_coffee = pd.DataFrame({'excess': [0.7,1.9,1.1,2.3,1,0.5,1.4,3,1.3,1.7,0.7,1.3,1.5,2.8,2.7,1.6,1.4,0.2,\n",
" 2.8,2.1,3,1.6,1.6,0.7,2.2,2,1.3,0.9,3.2,2.2,2.2,1.8,1.6,2.3,0.3,1.5,\n",
" 4,0.9,1.1,2.9,0.8,3.1,1.6,1,2.1,1.2,1.7,1.7,1.2,0.6,3.3,1.2,0.9,3.7,\n",
" 1.3,2.2,3.2,2.7,0.4,2,1.8,1.8,3.4,1.3,2.3,2.9,0.6,0.8,3.5,2,1.7,2.5,\n",
" 4.4,2.8,5.7,0.7,3.5,4,3.1,2.7] })"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 2
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_coffee.head()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>excess</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0</th>\n",
" <td> 0.7</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1</th>\n",
" <td> 1.9</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2</th>\n",
" <td> 1.1</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3</th>\n",
" <td> 2.3</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4</th>\n",
" <td> 1.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
" excess\n",
"0 0.7\n",
"1 1.9\n",
"2 1.1\n",
"3 2.3\n",
"4 1.0"
]
}
],
"prompt_number": 3
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(a) Arrange the data into an array from lowest to greatest"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_coffee.excess.order()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 4,
"text": [
"17 0.2\n",
"34 0.3\n",
"58 0.4\n",
"5 0.5\n",
"49 0.6\n",
"66 0.6\n",
"0 0.7\n",
"75 0.7\n",
"23 0.7\n",
"10 0.7\n",
"67 0.8\n",
"40 0.8\n",
"37 0.9\n",
"52 0.9\n",
"27 0.9\n",
"...\n",
"7 3.0\n",
"20 3.0\n",
"41 3.1\n",
"78 3.1\n",
"56 3.2\n",
"28 3.2\n",
"50 3.3\n",
"62 3.4\n",
"76 3.5\n",
"68 3.5\n",
"53 3.7\n",
"36 4.0\n",
"77 4.0\n",
"72 4.4\n",
"74 5.7\n",
"Name: excess, Length: 80, dtype: float64"
]
}
],
"prompt_number": 4
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(b) Construct a frequency table with columns for absolute, relative and cumulative frequency"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For absolute frequency, we simply count the data:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"absolute = data_coffee.excess.value_counts()"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 5
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For relative frequency, we divide the absolute frequency of each unique excess level by the number of total observations:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"relative = data_coffee.excess.value_counts()/len(data_coffee)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 6
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"For cumulative frequency, we sum up the absolute frequency of each unique excess level:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"cumulative = np.cumsum(absolute)"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 7
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"freq_table = pd.DataFrame({'Absolute': absolute, 'Relative': relative, 'Cumulative': cumulative})"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 8
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"freq_table.head(n=8)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Absolute</th>\n",
" <th>Cumulative</th>\n",
" <th>Relative</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>1.6</th>\n",
" <td> 5</td>\n",
" <td> 5</td>\n",
" <td> 0.0625</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.3</th>\n",
" <td> 5</td>\n",
" <td> 10</td>\n",
" <td> 0.0625</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.2</th>\n",
" <td> 4</td>\n",
" <td> 14</td>\n",
" <td> 0.0500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.7</th>\n",
" <td> 4</td>\n",
" <td> 18</td>\n",
" <td> 0.0500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.7</th>\n",
" <td> 4</td>\n",
" <td> 22</td>\n",
" <td> 0.0500</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.9</th>\n",
" <td> 3</td>\n",
" <td> 25</td>\n",
" <td> 0.0375</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.8</th>\n",
" <td> 3</td>\n",
" <td> 28</td>\n",
" <td> 0.0375</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.3</th>\n",
" <td> 3</td>\n",
" <td> 31</td>\n",
" <td> 0.0375</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 9,
"text": [
" Absolute Cumulative Relative\n",
"1.6 5 5 0.0625\n",
"1.3 5 10 0.0625\n",
"2.2 4 14 0.0500\n",
"0.7 4 18 0.0500\n",
"1.7 4 22 0.0500\n",
"0.9 3 25 0.0375\n",
"1.8 3 28 0.0375\n",
"2.3 3 31 0.0375"
]
}
],
"prompt_number": 9
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(c) Construct a histogram for the data"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_coffee.hist(bins=10);"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAW4AAAEKCAYAAAAyx7/DAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAEyZJREFUeJzt3X+QXWddx/H3JhukJUk3GQpNaXErDEil41aLFop2RcVS\nseAfMoMywxZE/mAKioO06JgqzvDDQTLoOCr9sa1itUMBKQIDOBwpCC3FpC1Nf0DtYmvStJCkSQs6\ntF3/OGezm9ts7snZ++xzn+99v2Z29j737r3P99tsv3v2c8+9C5IkSZIkSZIkSZIkSZIkSZIkSZIk\nSZJW38nAdcCDwH8BFwGbgfuAVzZfsx74NvC6Zn0q8LHmPt8F/nLJ470B2AnsBT4LPHvJbR8E9gAP\nA7cCP9Fcfz5wO3AAuB/4/UE1J0nRrAG+AfwRMA6cBtwDvBz4ZWA3cCLwYeDa5j5rgVuADwDHAT8C\nnNPc9irgW8Dzm8f+Q+ArzW2/AtwMbGzWzwdOai7vXvIYJwBnDq5FSYrlZ4Hv9Fx3CXBFc/lDwG3U\nR9+bmuteTH2kveYIj/cZ6iPuBWuAR6mPun8BuKvZs/e+3wF+h8WhLklaxmuAHwL7lnwcAD7V3H4G\n8ATw7p77fH2Zx9sJHOx5vEeBs5vbL6I+6n4I+FtgQ3P9WcAnqOOVasnXS5J6nA3cvcxta4GvArPU\nA/U5zfUvps6p1x7hPp8FXtti3xOBLwJ/eoQ9fxf47xaPIQ3UkX6FlIbRTdRHyH9AnVevBV4IvAh4\nF/A4cCHw58DV1N/bN1Fn0u8FjgeeCrykeby/ae53erM+AfiN5vJZ1DHJOuD7wP82j78O+K3max9v\n6nk8Qa+SFMYW4B+ph/Fe4D+oB/n3gB9rvmYN8GXq/Bvqs0o+Tn1GyUPAtiWP9zrqM0Yepj5yvqy5\n/mXUT2oebO7z99SDfx11Nr63uc+NLP4gkIbGqdS/Jt4OfBN4a3P9pdSnQm1vPs7LUZwk6clOAqaa\ny+upn2l/AbAVeHuuoiRplI33uf2B5gPgEeAO4FnNeixVUZKkwZikPod1PfUR9xx1Dng5MJGtKknS\nEa2nPqf11c36GdRH3GPAn1EPb0nSKmgTd6yjfpHDZzj8GfkFk8D11C+AOOTkk0+e37Vr10rrk6RR\ncw/w3KN9Qb/zuMeoj6Z3cvjQ3rLk8q9Tv9T4MLt27WJ+fj7sx9atW7PXYH/2N4r9Re5tfn4eFl9A\ntqx+T06ew+K5rtub695F/YqzKWAeuBd4c7+Nopmbm8tdQlL2V7bI/UXura1+g/vLLP8GPZKkDHzJ\ne0czMzO5S0jK/soWub/IvbWV8lzs+SavkSS1NDY2Bn1ms0fcHVVVlbuEpOyvbJH7i9xbWw5uSSqM\nUYkkDRGjEkkKyMHdUfSczf7KFrm/yL215eCWpMKYcUvSEDHjlqSAHNwdRc/Z7K9skfuL3FtbDm5J\nKowZtyQNETNuSQrIwd1R9JzN/soWub/IvbXl4JakwphxS9IQMeOWpIAc3B1Fz9nsr2yR+4vcW1sO\nbkkqjBm3JA0RM25JCsjB3VH0nM3+yha5v8i9teXglqTCmHFL0hAx45akgBzcHUXP2eyvbJH7i9xb\nWw5uSSqMGbckDREzbkkKyMHdUfSczf7KFrm/yL21NZ67gFG2ceNmDh7cl2XvDRs2ceDA3ix7S1oZ\nM+6M6iwr13+jMfz3kYaPGbckBeTg7ih6zmZ/ZYvcX+Te2nJwS1Jh+mXcpwJXA8+gDmP/DvgQsBn4\nZ+BHgTngNcD+nvuacfdhxi2pV5uMu9/gPqn52AGsB74BvBq4EPgu8H7gncAm4OKe+zq4+3BwS+o1\niCcnH6Ae2gCPAHcAzwIuAK5qrr+KepiPlOg5m/2VLXJ/kXtr61gy7kngTOBG4JnAnub6Pc1akrQK\n2r4AZz1wHfA24GDPbfMs8/v+zMwMk5OTAExMTDA1NcX09DSw+FOz1PXCdSt9vEUL6+lVWh+9/n63\nl762v3LX09PTQ1XPStdVVTE7OwtwaF720+YFOOuATwGfAbY1191JPQEeALYAXwR+vOd+Ztx9mHFL\n6jWIjHsMuBzYyeLQBvgk8Prm8uuBT3QrsVxPPmKOxf7KFrm/yL211S8qOQd4HXArsL257hLgvcC1\nwBtZPB1QkrQKfK+SjIxKJPXyvUokKSAHd0fRczb7K1vk/iL31paDW5IKY8adkRm3pF5m3JIUkIO7\no+g5m/2VLXJ/kXtry8EtSYUx487IjFtSLzNuSQrIwd1R9JzN/soWub/IvbXl4JakwphxZ2TGLamX\nGbckBeTg7ih6zmZ/ZYvcX+Te2nJwS1JhzLgzMuOW1MuMW5ICcnB3FD1ns7+yRe4vcm9tObglqTBm\n3BmZcUvqZcYtSQE5uDuKnrPZX9ki9xe5t7Yc3JJUGDPujMy4JfUy45akgBzcHUXP2eyvbJH7i9xb\nWw5uSSqMGXdGZtySeplxS1JADu6Oouds9le2yP1F7q0tB7ckFcaMOyMzbkm9zLglKSAHd0fRczb7\nK1vk/iL31paDW5IK0ybjvgL4VeBB4IzmukuB3wYeataXAJ/tuZ8Zdx9m3JJ6DSrjvhI4r+e6eeAv\ngDObj96hLUlKpM3gvgHYd4TrU56RMvSi52z2V7bI/UXura2VZNwXAbcAlwMTgylHktRP26PmSeB6\nFjPuZ7CYb78b2AK8sec+Ztx9mHFL6tUm4x7v+NgPLrl8GfVQf5KZmRkmJycBmJiYYGpqiunpaWDx\n151RXy9aWE+v0rquIXf/rl2P+rqqKmZnZwEOzct+uh5xbwF2N5d/D3gR8Js99wl9xL106HU1zEfc\ng+hvmNlfuSL3BoM74r4GOBd4OnAfsJX6sG2KeurcC7x5BXVKko6B71WS0TAfcUvKw/cqkaSAHNwd\nPfnJxVjsr2yR+4vcW1sObkkqjBl3RmbcknqZcUtSQA7ujqLnbPZXtsj9Re6tLQe3JBXGjDsjM25J\nvcy4JSkgB3dH0XM2+ytb5P4i99aWg1uSCmPGnZEZt6ReZtySFJCDu6PoOZv9lS1yf5F7a6vrX8BR\n8cYXfiVbVRs2bOLAgb2rvq8UiRl3Rrkz7jx7m61LR2PGLUkBObg7ip+zVbkLSCr6v1/k/iL31paD\nW5IKY8adkRm3pF5m3JIUkIO7o/g5W5W7gKSi//tF7i9yb205uCWpMCOfcW/cuJmDB/dlrMCMW9Ki\nNhn3yA/u0XyCMOfeDm7paHxyMqkqdwGJVbkLSCp6Thq5v8i9teXglqTCGJUYlaz6viV8X0i5GJVI\nUkAO7s6q3AUkVuUuIKnoOWnk/iL31paDW5IKY8Ztxr3q+5bwfSHlYsYtSQE5uDurcheQWJW7gKSi\n56SR+4vcW1sObkkqjBm3Gfeq71vC94WUy6Ay7iuAPcBtS67bDHweuBv4HDDRrURJ0rFqM7ivBM7r\nue5i6sH9PODfmvWIqXIXkFiVu4CkouekkfuL3FtbbQb3DUDv+55eAFzVXL4KePUgi5IkLa9txj0J\nXA+c0az3AZuWPMbeJesFZtz9dx/Bvc24paNpk3GPD2CfeVY4AU4//ae5665bB1CKJMXXdXDvAU4C\nHgC2AA8e6YtmZmaYnJwEYGJigqmpKaanp4HFnGp6eprdu/fwxBNXAycC5zb3/vfmc8r13cBbmnXV\nfJ5uud4GTB3D1y+3ps/tqdYL1y13+6D66103qyX//qu1Pv/8X+MHP3iEHI47bj2f/vT1q9bvtm3b\nlv3/rfT10ox7GOoZRD+zs7MAh+ZlP12jkvcD3wPeR/3E5ARPfoKydVSyadMp7N//NeCUluUMyjeA\ns+j2C0PF4UOwi2GOSipW3t+R980VlRwei1Wk6W/Z3Ve176qqDg2JaCL3BoP702XXUB+mPp36SPuP\ngX8BrgWeDcwBrwH299wv+OAehGEe3On2HY7Bveq7m+2rlUFl3K9d5vpfOtaCJEkr50veO6tyF5BY\nlbuAxKrcBSQV+VznyL215eCWpMIMxXuVmHGP0t5m3NLR+H7ckhSQg7uzKncBiVWJHnecsbGxLB+r\n099wiJwDR+6trUG8clI6Bo+RNx6SymfGbcY9Ivvm39uMW22YcUtSQA7uzqrcBSRW5S4gsSp3AUlF\nzoEj99aWg1uSCmPGbcY9Ivvm39uMW22YcUtSQA7uzqrcBSRW5S4gsSp3AUlFzoEj99aWg1uSCmPG\nbcY9Ivvm39uMW22YcUtSQA7uzqrcBSRW5S4gsSp3AUlFzoEj99aWg1uSCmPGbcY9Ivvm39uMW22Y\ncUtSQA7uzqrcBSRW5S4gsSp3AUlFzoEj99aWg1uSCmPGbcY9Ivvm39uMW22YcUtSQA7uzqrcBSRW\n5S4gsSp3AUlFzoEj99aWg1uSCmPGbcY9Ivvm39uMW22YcUtSQA7uzqrcBSRW5S4gsSp3AUlFzoEj\n99aWg1uSCmPGbcY9Ivvm39uMW22YcUtSQA7uzqrcBSRW5S4gsSp3AUlFzoEj99aWg1uSCmPGbcY9\nIvvm39uMW22YcUtSQCsd3HPArcB24KYVV1OUKncBiVW5C0isyl1AUpFz4Mi9tTW+wvvPA9PA3pWX\nIklqY6UZ973UIfH3jnCbGXdfo5j3jmLP9d5m3GpjNTLueeALwM3Am1b4WJKkFlYalZwD7AZOBD4P\n3AncsHDjzMwMk5OTAExMTDA1NcX09DSwmFMtrOGrzcMsrKvmc8r1XUtaOdb7bwOmBlBP1/1Xul64\nbrnbB9Vf75o+t6deL0jV33Lr+nt+ue//Qa+3bdt21P/fSl4vzbiHoZ5B9DM7OwtwaF72M8jTAbcC\njwAfaNbBo5KKw4dgF8McG1SsvL8u+6a0dO+KNP0tv/dqRiVLf0hEE7k3aBeVrGRwHw+sBQ4CTwM+\nB/xJ8xnCD+5BGJYhNgr75t/bjFtttBncK4lKngl8fMnjfITFoS1JSmQlT07eSx0STgEvBN4zkIqK\nUeUuILEqdwGJVbkLSCryuc6Re2vLV05KUmF8rxIz7hHZN//eZtxqw/cqkaSAHNydVbkLSKzKXUBi\nVe4CkoqcA0furS0HtyQVxozbjHtE9s2/txm32jDjlqSAHNydVbkLSKzKXUBiVe4CkoqcA0furS0H\ntyQVxozbjHtE9s2/txm32jDjlqSAHNydVbkLSKzKXUBiVe4CkoqcA0furS0HtyQVxozbjHtE9s29\n9zrgsVXfdcOGTRw44N/yLknq9+OW1Npj5PihcfBgymMz5WJU0lmVu4DEqtwFJFblLiCxKncByZhx\nO7glqThm3GbcI7LvqO7t+eOl8TxuSQrIwd1ZlbuAxKrcBSRW5S4gsSp3AcmYcTu4Jak4Ztxm3COy\n76jubcZdGjNuSQrIwd1ZlbuAxKrcBSRW5S4gsSp3AcmYcTu4Jak4Ztxm3COy76jubcZdGjNuSQrI\nwd1ZlbuAxKrcBSRW5S4gsSp3AcmYcTu4Jak4Ztxm3COy76jubcZdGjNuSQrIwd1ZlbuAxKrcBSRW\n5S4gsar5PM7Y2FiWj40bN6fprEXGvXHj5nB9L+VfwJFCy/OXdyDvX985eHAfkfs24zbjHpF9R3Xv\nvD3nytfrnLjMvs24JSmglQzu84A7gW8B7xxMOSWpcheQWJW7gMSq3AUkVuUuIBnP4+4+uNcCf0U9\nvE8HXgu8YFBFlWFH7gISs7+yxe1vx464vbXVdXD/DPBtYA74IfBPwKsGVFMh9ucuIDH7K1vc/vbv\nj9tbW10H97OA+5as72+ukyQl1vV0wIE+XTs+voYNG2YYGztukA/b1+OP7+fRR7vee26AlQyjudwF\nJDaXu4DE5nIXkMzc3FzuErLrejrg2cCl1Bk3wCXAE8D7lnzNt4HndK5MkkbTPcBzUzzwePPgk8BT\nqJ8JGbEnJyWpPK8A7qI+sr4kcy2SJEnSaIn84pwrgD3AbbkLSeRU4IvA7cA3gbfmLWegngrcSB3t\n7QTek7ecZNYC24HrcxeSwBxwK3V/N+UtJYkJ4KPAHdTfo2ev1sZrqeOTSWAd8fLvnwPOJO7gPgmY\nai6vp47DIv37Hd98Hge+Brw0Yy2pvB34CPDJ3IUkcC+Q/u338rkKeENzeRw44UhflOK9SqK/OOcG\nYF/uIhJ6gMWX3T1C/ZP/5HzlDNz3m89PoT7I2JuxlhROAc4HLiPtm8jlFLWvE6gPDK9o1o8BDx/p\nC1MMbl+cE8ck9W8XN2auY5DWUP9g2kMdCe3MW87AfRB4B/XpuRHNA18AbgbelLmWQTsNeAi4EvhP\n4MMs/oZ4mBSD27+TFMN66qztbdRH3lE8QR0FnQL8PDCdtZrBeiXwIHX+G/Wo9Bzqg4lXAG+hPkKN\nYhz4KeCvm8+PAhcf6QtTDO7/oX6Ca8Gp1EfdKsc64DrgH4BPZK4llYeBf6V+Q/YoXgJcQJ0DXwO8\nDLg6a0WDt7v5/BDwcepoNor7m4+vN+uPUg/wVTEKL86ZJO6Tk2PU/7N/MHchCTyd+ll7gOOALwG/\nmK+cpM4l3lklxwMbmstPA74CvDxfOUl8CXhec/lSDn81enKRX5xzDbAL+D/qLP/CvOUM3Eup44Qd\n1L9yb2fxrQ1KdwZ1driD+pSyd+QtJ6lziXdWyWnU/3Y7qE9VjTZbAH6S+oj7FuBjLHNWiSRJkiRJ\nkiRJkiRJkiRJkiRJkqSj+H/4tFgK0BwB9QAAAABJRU5ErkJggg==\n",
"text": [
"<matplotlib.figure.Figure at 0xc5f3fd0>"
]
}
],
"prompt_number": 18
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(d) Calculate the range and inter-quartile range"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"range_coffee = data_coffee.excess.max() - data_coffee.excess.min()\n",
"print \"The range of the data is %.2f\\n\" % range_coffee"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"The range of the data is 5.50\n",
"\n"
]
}
],
"prompt_number": 14
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"int_q_range = data_coffee.excess.quantile(q = 0.75)- data_coffee.excess.quantile(q = 0.25)\n",
"print \"The inter quartile range is %.2f\" % int_q_range"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"The inter quartile range is 1.53\n"
]
}
],
"prompt_number": 16
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(e) Calculate the mean and standard deviation"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_coffee.excess.mean()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 18,
"text": [
"1.9587499999999998"
]
}
],
"prompt_number": 18
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_coffee.excess.std()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
"1.067315780209187"
]
}
],
"prompt_number": 19
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(f) Calculate the median and the mode, comment on symmetry of distribution"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_coffee.excess.median()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 20,
"text": [
"1.75"
]
}
],
"prompt_number": 20
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_coffee.excess.mode()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
"0 1.3\n",
"1 1.6\n",
"dtype: float64"
]
}
],
"prompt_number": 21
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"fig, ax = plt.subplots(figsize = (9, 7))\n",
"plt.bar(np.arange(0, 80), data_coffee.excess.order())\n",
"plt.suptitle('Cumulative Distribution Function', fontsize = 16);"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAhMAAAHLCAYAAAByJhr7AAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xt0lPWdx/HPMyYQAgkQLuESmmCUQCCSAIpQWIdGwIKI\nAbwgZAGV3T09uhVYe1qtEulWvOwpoquHs7aVixR06UqLclMbRIGURUCpeqACsahAl6sQREjy2z8w\nI5O5ZCa/ZJKZeb/OmaP5zeT3fH8zCc8nzzPfeRxjjBEAAEA9uZq6AAAAEN0IEwAAwAphAgAAWCFM\nAAAAK4QJAABghTABAACsECbgsW3bNt1+++3q3r27WrZsqY4dO2rUqFFatmyZqqurm7o8vzZt2iSX\ny6XNmzeH/b0lJSUqLS31GZ8+fbp69uzZEOWFVYvL5fLcUlNT1atXL02ZMkUbN270eXx91r169Wot\nWLCgXnVdzuVy6ZFHHglrnvrUZfPa2qj9Wlx+O3DgQERrqXH69GmVlJRo165dPve53W6NGDGiCaoC\nvpPQ1AWgeXjmmWc0Z84cFRYW6qmnnlJmZqZOnjypDRs26F/+5V/Url07jRs3rqnLbFDz5s3Tz3/+\nc59/iB999FGdOXOmSWrasmWLrrjiCp07d04HDhzQqlWrdNNNN2nq1KlasmSJHMeRJA0cOFBlZWXq\n06dPyHOvXr1ab7/9tmbNmhXy98ycOVNjxozxGa+poyEEqqs+a2xINa/F5TIyMpqklpMnT2revHn6\n3ve+p4KCAq/7Fi1a1CQ1AZcjTECbN2/W7Nmz9a//+q965plnvO4bN26c/u3f/q3Jdq6Nzd9ntl15\n5ZVNUMklgwcP9hwJcLvduvvuu/XMM89o9uzZys/P1+zZsyVJKSkpuu666xqtjm+++UYtW7ZU9+7d\n1b1790bbTjCNvca6XP5aNBf+fl579+7dBJUA3prXbwqaxJNPPqmOHTvqqaee8nt/VlaW8vLyJPk/\n7C35nhooLy+Xy+XSokWL9NOf/lRdunRRamqqiouLde7cOe3du1cjR45USkqKrr76ai1btizofDVC\nOaS7ceNGjRkzRt26dVPr1q2Vl5enX/3qV16namrW8Mtf/tJzCHvevHk+2/7mm2+UlpamOXPm+Gzn\n1Vdflcvl0gcffOAZe+edd1RYWKjU1FS1adNGN910kz766KOg9dblgQceUEFBgRYuXOgZ83cKYMOG\nDRo6dKjatWunlJQU9e7dW7/4xS88a1q6dKm++OILz3prQlPNXK+99ppmzpypTp06qUuXLpICv97V\n1dX65S9/qYyMDCUnJ+uGG27weh6kSz83M2bM8Pne2s91XXXVPs2xYMEC5eTkqGXLlurWrZvuv/9+\nn7Bbcyrm2WefVc+ePZWamiq3262PP/44tCc9iMWLF8vlculvf/ub13iwU0Kh1PHaa6/p+9//vlJS\nUtS2bVsNHjxYa9asUXl5uec5mTlzpud5Wrp0qST/vxN79+5VUVGR2rdvr+TkZA0ZMkQbNmzwW++n\nn36qsWPHKiUlRVlZWfrFL37hN7QAwRAm4lxVVZVKS0s1atQotWjRIqTvCXSI29/4/PnzdfToUS1b\ntkzz5s3TK6+8onvvvVdFRUUaP368Vq9erWuuuUbTp0/3+QfW33yO49R5iP3gwYP6wQ9+oF//+tda\nu3atpk2bppKSEj388MOex2zbtk2SNGPGDJWVlamsrEz33nuvz7ZbtmypO+64QytWrPB538iyZcuU\nl5en/v37S5LeeOMNT5BYvny5fve73+nMmTMaPny4Pv/886A11+Wmm27SoUOHAs5z4MAB3XLLLcrO\nztarr76qNWvWaPbs2Tp37pykS6duxowZo06dOnnW+9prr3nNcf/998txHC1fvlxLlizxeS4ut3Tp\nUq1fv14vvPCCFi9erKNHj6qwsFAnT570+r66XqtQ6rrcQw89pDlz5mj06NF6/fXX9ZOf/ESLFy/W\n2LFjfXaAL7/8statW6fnnntOL730kv72t79p/PjxqqqqClpTjcrKSq9bKDtYf+sNpY7nnntOEydO\nVJcuXbR06VKtWrVKRUVF+uyzz9StWzf9z//8j2f9Nc/T2LFj/W73yy+/1LBhw7Rnzx49//zzevXV\nV9WuXTuNHTtW69ev96mvqKhIN954o/7whz/o1ltv1dy5c71efyAkBnHtyJEjxnEc89BDD4X0+Llz\n5xrHcXzGp02bZrKysjxfHzx40DiOYwoLC70eN2HCBOM4jlm+fLln7OTJkyYhIcE89thjAeerccMN\nN5gRI0Z4vi4tLTWO45h33nnHb73V1dXm4sWL5t///d9N+/btve5zHMc88sgjda5ly5YtxnEcs2HD\nBs/Y3//+d5OYmGiefvppz1h2dra58cYbveb66quvTMeOHc0DDzzgt74aNc9rVVWV3/sXLVpkHMcx\n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\nQPhitpujPhfUqt9FuAAAiG8xe2QCAABEBmECAABYIUwAAAArhAkAAGCFMAEAAKxETZigbRMAgOYp\nalpDadtm9DJQAAAH+0lEQVQEAKB5ipojEwAAoHkiTAAAACuECQAAYIUwAQAArDSrMEFnBgAA0adZ\ndXME79gAAADNUbM6MgEAAKIPYQIAAFghTAAAACuECQAAYIUwAQAArDRJmKAFFACA2NEkraG0gAIA\nEDs4zQEAAKwQJgAAgBXCBAAAsEKYAAAAVho1TNC1AQBA7GvUbg66NgAAiH2c5gAAAFYIEwAAwAph\nAgAAWCFMAAAAK4QJAABgpUG6ORzHt0MjJaV9Q0wNAACauQZqDTU+I7SAAgAQHzjNAQAArBAmAACA\nFcIEAACwQpgAAABWCBMAAMAKYQIAAFipM0ysX79evXv31tVXX60nn3wyEjUBAIAoEjRMVFVV6b77\n7tP69ev18ccfa8WKFfrkk08iVRsAAIgCQcPE9u3bddVVVykrK0uJiYm688479Yc//CFStQEAgCgQ\nNEx88cUX6tGjh+frjIwMffHFF41eFAAAiB5Bw4S/a24AAABcLui1Obp3765Dhw55vj506JAyMjK8\nHpOdna39+4OFjkD3hT7+XaixnysS24i2eoOPN8xc0facRFu9wccbZq5oe06ird7g4w0zV7Q9J9FW\nbyS2Eal6s7OzAzw+wCzGGN+rdH2rsrJSOTk5evvtt9WtWzddd911WrFihfr06RPWRgAAQOwKemQi\nISFB//mf/6nRo0erqqpK99xzD0ECAAB4CXpkAgAAoC5Wn4AZTx9odffddys9PV15eXmesRMnTmjk\nyJHq1auXRo0apVOnTjVhhY3j0KFDGjFihPr27at+/frp2WeflRQfaz9//rwGDx6s/Px85ebm6mc/\n+5mk+Fh7jaqqKhUUFGjcuHGS4mftWVlZuuaaa1RQUKDrrrtOUvys/dSpU5o0aZL69Omj3Nxc/fnP\nf475te/du1cFBQWeW9u2bfXss8/G/LprzJ8/X3379lVeXp7uuusuffPNN2Gvvd5hIt4+0GrGjBla\nv36919gTTzyhkSNHat++fSosLNQTTzzRRNU1nsTERC1YsEAfffSRysrK9Pzzz+uTTz6Ji7UnJSWp\ntLRUu3fv1ocffqjS0lK99957cbH2GgsXLlRubq7nTV/xsnbHcbRp0ybt2rVL27dvlxQ/a//xj3+s\nMWPG6JNPPtGHH36o3r17x/zac3JytGvXLu3atUvvv/++kpOTVVRUFPPrlqTy8nK9+OKL2rlzp/bs\n2aOqqiqtXLky/LWbetq6dasZPXq05+v58+eb+fPn13e6qHDw4EHTr18/z9c5OTnmyJEjxhhjDh8+\nbHJycpqqtIgZP368efPNN+Nu7RUVFWbQoEHmL3/5S9ys/dChQ6awsND86U9/MjfffLMxJn5+5rOy\nssyxY8e8xuJh7adOnTI9e/b0GY+HtdfYsGGDGTZsmDEmPtZ9/Phx06tXL3PixAlz8eJFc/PNN5uN\nGzeGvfZ6H5ngA62ko0ePKj09XZKUnp6uo0ePNnFFjau8vFy7du3S4MGD42bt1dXVys/PV3p6uud0\nT7ysfdasWXr66aflcn33z0S8rN1xHN14440aNGiQXnzxRUnxsfaDBw+qU6dOmjFjhgYMGKCZM2eq\noqIiLtZeY+XKlZo8ebKk+HjN09LSNGfOHH3ve99Tt27d1K5dO40cOTLstdc7TPCBVt4cx4np5+Ts\n2bOaOHGiFi5cqJSUFK/7YnntLpdLu3fv1ueff67NmzertLTU6/5YXfvrr7+uzp07q6CgQCbAe7Rj\nde2StGXLFu3atUvr1q3T888/r3fffdfr/lhde2VlpXbu3Kkf/ehH2rlzp1q3bu1zeDtW1y5JFy5c\n0Jo1a3Tbbbf53Ber696/f7+eeeYZlZeX68svv9TZs2f18ssvez0mlLXXO0yE8oFWsS49PV1HjhyR\nJB0+fFidO3du4ooax8WLFzVx4kQVFxfr1ltvlRQ/a6/Rtm1bjR07Vu+//35crH3r1q364x//qJ49\ne2ry5Mn605/+pOLi4rhYuyR17dpVktSpUycVFRVp+/btcbH2jIwMZWRk6Nprr5UkTZo0STt37lSX\nLl1ifu2StG7dOg0cOFCdOnWSFB//zu3YsUNDhw5Vhw4dlJCQoAkTJmjbtm1hv+b1DhODBg3SX//6\nV5WXl+vChQt65ZVXdMstt9R3uqh0yy23aMmSJZKkJUuWeHa0scQYo3vuuUe5ubl64IEHPOPxsPZj\nx4553sH89ddf680331RBQUFcrP3xxx/XoUOHdPDgQa1cuVI/+MEPtGzZsrhY+7lz53TmzBlJUkVF\nhTZu3Ki8vLy4WHuXLl3Uo0cP7du3T5L01ltvqW/fvho3blzMr12SVqxY4TnFIcXHv3O9e/dWWVmZ\nvv76axlj9NZbbyk3Nzf819zmjRtr1641vXr1MtnZ2ebxxx+3marZu/POO03Xrl1NYmKiycjIML/9\n7W/N8ePHTWFhobn66qvNyJEjzcmTJ5u6zAb37rvvGsdxTP/+/U1+fr7Jz88369ati4u1f/jhh6ag\noMD079/f5OXlmaeeesoYY+Ji7ZfbtGmTGTdunDEmPtZ+4MAB079/f9O/f3/Tt29fz79t8bB2Y4zZ\nvXu3GTRokLnmmmtMUVGROXXqVFys/ezZs6ZDhw7mq6++8ozFw7qNMebJJ580ubm5pl+/fuYf//Ef\nzYULF8JeOx9aBQAArFh9aBUAAABhAgAAWCFMAAAAK4QJAABghTABAACsECYAAIAVwgQAALBCmAAA\nAFb+H9uvUh/lDd+LAAAAAElFTkSuQmCC\n",
"text": [
"<matplotlib.figure.Figure at 0xd2332e8>"
]
}
],
"prompt_number": 23
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(g) Calculate the skewness and kurtosis"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_coffee.excess.skew()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 24,
"text": [
"0.77756435303347637"
]
}
],
"prompt_number": 24
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_coffee.excess.kurtosis()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 25,
"text": [
"0.73131914545024934"
]
}
],
"prompt_number": 25
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"A2 - 40 Observations Day, 40 Observations Night"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_day = data_coffee.iloc[0:40]\n",
"data_night = data_coffee.iloc[40:80]"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 27
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(a) Construct a frequency table to compare the two groups"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"absolute_day = data_day.excess.value_counts()\n",
"relative_day = absolute_day/len(data_day)\n",
"cumulative_day = np.cumsum(absolute_day)\n",
"absolute_night = data_night.excess.value_counts()\n",
"relative_night = absolute_night/len(data_night)\n",
"cumulative_night = np.cumsum(absolute_night)\n",
"\n",
"freq_table_2 = pd.DataFrame( {'Day: Absolute': absolute_day, 'Day: Relative': relative_day,\n",
" 'Day: Cumulative': cumulative_day, 'Night: Absolute': absolute_night,\n",
" 'Night: Relative': relative_night, 'Night: Cumulative': cumulative_night} )\n",
"\n",
"freq_table_2"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Day: Absolute</th>\n",
" <th>Day: Cumulative</th>\n",
" <th>Day: Relative</th>\n",
" <th>Night: Absolute</th>\n",
" <th>Night: Cumulative</th>\n",
" <th>Night: Relative</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>0.2</th>\n",
" <td> 1</td>\n",
" <td> 39</td>\n",
" <td> 0.025</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.3</th>\n",
" <td> 1</td>\n",
" <td> 28</td>\n",
" <td> 0.025</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.4</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 1</td>\n",
" <td> 34</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.5</th>\n",
" <td> 1</td>\n",
" <td> 40</td>\n",
" <td> 0.025</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.6</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 2</td>\n",
" <td> 20</td>\n",
" <td> 0.050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.7</th>\n",
" <td> 3</td>\n",
" <td> 7</td>\n",
" <td> 0.075</td>\n",
" <td> 1</td>\n",
" <td> 26</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.8</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 2</td>\n",
" <td> 22</td>\n",
" <td> 0.050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>0.9</th>\n",
" <td> 2</td>\n",
" <td> 19</td>\n",
" <td> 0.050</td>\n",
" <td> 1</td>\n",
" <td> 39</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.0</th>\n",
" <td> 1</td>\n",
" <td> 30</td>\n",
" <td> 0.025</td>\n",
" <td> 1</td>\n",
" <td> 23</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.1</th>\n",
" <td> 2</td>\n",
" <td> 25</td>\n",
" <td> 0.050</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.2</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 3</td>\n",
" <td> 6</td>\n",
" <td> 0.075</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.3</th>\n",
" <td> 3</td>\n",
" <td> 10</td>\n",
" <td> 0.075</td>\n",
" <td> 2</td>\n",
" <td> 12</td>\n",
" <td> 0.050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.4</th>\n",
" <td> 2</td>\n",
" <td> 21</td>\n",
" <td> 0.050</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.5</th>\n",
" <td> 2</td>\n",
" <td> 15</td>\n",
" <td> 0.050</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.6</th>\n",
" <td> 4</td>\n",
" <td> 4</td>\n",
" <td> 0.100</td>\n",
" <td> 1</td>\n",
" <td> 35</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.7</th>\n",
" <td> 1</td>\n",
" <td> 34</td>\n",
" <td> 0.025</td>\n",
" <td> 3</td>\n",
" <td> 3</td>\n",
" <td> 0.075</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.8</th>\n",
" <td> 1</td>\n",
" <td> 32</td>\n",
" <td> 0.025</td>\n",
" <td> 2</td>\n",
" <td> 14</td>\n",
" <td> 0.050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>1.9</th>\n",
" <td> 1</td>\n",
" <td> 38</td>\n",
" <td> 0.025</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.0</th>\n",
" <td> 1</td>\n",
" <td> 31</td>\n",
" <td> 0.025</td>\n",
" <td> 2</td>\n",
" <td> 18</td>\n",
" <td> 0.050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.1</th>\n",
" <td> 1</td>\n",
" <td> 37</td>\n",
" <td> 0.025</td>\n",
" <td> 1</td>\n",
" <td> 38</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.2</th>\n",
" <td> 3</td>\n",
" <td> 13</td>\n",
" <td> 0.075</td>\n",
" <td> 1</td>\n",
" <td> 33</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.3</th>\n",
" <td> 2</td>\n",
" <td> 27</td>\n",
" <td> 0.050</td>\n",
" <td> 1</td>\n",
" <td> 40</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.5</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 1</td>\n",
" <td> 24</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.7</th>\n",
" <td> 1</td>\n",
" <td> 35</td>\n",
" <td> 0.025</td>\n",
" <td> 2</td>\n",
" <td> 10</td>\n",
" <td> 0.050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.8</th>\n",
" <td> 2</td>\n",
" <td> 23</td>\n",
" <td> 0.050</td>\n",
" <td> 1</td>\n",
" <td> 28</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2.9</th>\n",
" <td> 1</td>\n",
" <td> 33</td>\n",
" <td> 0.025</td>\n",
" <td> 1</td>\n",
" <td> 32</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3.0</th>\n",
" <td> 2</td>\n",
" <td> 17</td>\n",
" <td> 0.050</td>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3.1</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 2</td>\n",
" <td> 16</td>\n",
" <td> 0.050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3.2</th>\n",
" <td> 1</td>\n",
" <td> 36</td>\n",
" <td> 0.025</td>\n",
" <td> 1</td>\n",
" <td> 31</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3.3</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 1</td>\n",
" <td> 30</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3.4</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 1</td>\n",
" <td> 29</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3.5</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 2</td>\n",
" <td> 8</td>\n",
" <td> 0.050</td>\n",
" </tr>\n",
" <tr>\n",
" <th>3.7</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 1</td>\n",
" <td> 36</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4.0</th>\n",
" <td> 1</td>\n",
" <td> 29</td>\n",
" <td> 0.025</td>\n",
" <td> 1</td>\n",
" <td> 25</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>4.4</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 1</td>\n",
" <td> 27</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" <tr>\n",
" <th>5.7</th>\n",
" <td>NaN</td>\n",
" <td>NaN</td>\n",
" <td> NaN</td>\n",
" <td> 1</td>\n",
" <td> 37</td>\n",
" <td> 0.025</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>36 rows \u00d7 6 columns</p>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 28,
"text": [
" Day: Absolute Day: Cumulative Day: Relative Night: Absolute \\\n",
"0.2 1 39 0.025 NaN \n",
"0.3 1 28 0.025 NaN \n",
"0.4 NaN NaN NaN 1 \n",
"0.5 1 40 0.025 NaN \n",
"0.6 NaN NaN NaN 2 \n",
"0.7 3 7 0.075 1 \n",
"0.8 NaN NaN NaN 2 \n",
"0.9 2 19 0.050 1 \n",
"1.0 1 30 0.025 1 \n",
"1.1 2 25 0.050 NaN \n",
"1.2 NaN NaN NaN 3 \n",
"1.3 3 10 0.075 2 \n",
"1.4 2 21 0.050 NaN \n",
"1.5 2 15 0.050 NaN \n",
"1.6 4 4 0.100 1 \n",
"1.7 1 34 0.025 3 \n",
"1.8 1 32 0.025 2 \n",
"1.9 1 38 0.025 NaN \n",
"2.0 1 31 0.025 2 \n",
"2.1 1 37 0.025 1 \n",
"2.2 3 13 0.075 1 \n",
"2.3 2 27 0.050 1 \n",
"2.5 NaN NaN NaN 1 \n",
"2.7 1 35 0.025 2 \n",
"2.8 2 23 0.050 1 \n",
"2.9 1 33 0.025 1 \n",
"3.0 2 17 0.050 NaN \n",
"3.1 NaN NaN NaN 2 \n",
"3.2 1 36 0.025 1 \n",
"3.3 NaN NaN NaN 1 \n",
"3.4 NaN NaN NaN 1 \n",
"3.5 NaN NaN NaN 2 \n",
"3.7 NaN NaN NaN 1 \n",
"4.0 1 29 0.025 1 \n",
"4.4 NaN NaN NaN 1 \n",
"5.7 NaN NaN NaN 1 \n",
"\n",
" Night: Cumulative Night: Relative \n",
"0.2 NaN NaN \n",
"0.3 NaN NaN \n",
"0.4 34 0.025 \n",
"0.5 NaN NaN \n",
"0.6 20 0.050 \n",
"0.7 26 0.025 \n",
"0.8 22 0.050 \n",
"0.9 39 0.025 \n",
"1.0 23 0.025 \n",
"1.1 NaN NaN \n",
"1.2 6 0.075 \n",
"1.3 12 0.050 \n",
"1.4 NaN NaN \n",
"1.5 NaN NaN \n",
"1.6 35 0.025 \n",
"1.7 3 0.075 \n",
"1.8 14 0.050 \n",
"1.9 NaN NaN \n",
"2.0 18 0.050 \n",
"2.1 38 0.025 \n",
"2.2 33 0.025 \n",
"2.3 40 0.025 \n",
"2.5 24 0.025 \n",
"2.7 10 0.050 \n",
"2.8 28 0.025 \n",
"2.9 32 0.025 \n",
"3.0 NaN NaN \n",
"3.1 16 0.050 \n",
"3.2 31 0.025 \n",
"3.3 30 0.025 \n",
"3.4 29 0.025 \n",
"3.5 8 0.050 \n",
"3.7 36 0.025 \n",
"4.0 25 0.025 \n",
"4.4 27 0.025 \n",
"5.7 37 0.025 \n",
"\n",
"[36 rows x 6 columns]"
]
}
],
"prompt_number": 28
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(b) Compare the two groups using a frequency polygon"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"bins = np.linspace(data_coffee.excess.min(), data_coffee.excess.max(), 15)\n",
"night_hist, bins = np.histogram(data_night.excess, bins = bins)\n",
"day_hist, bins = np.histogram(data_day.excess, bins = bins)\n",
"center = (bins[:-1] + bins[1:]) / 2\n",
"\n",
"fig, ax = plt.subplots(figsize = (9,7))\n",
"ax.bar(center, night_hist, align='center', width=0.1, color = 'cornflowerblue', label='Night')\n",
"ax.bar(center+0.1, day_hist, align='center', width=0.1, color = 'blanchedalmond', label='Day')\n",
"ax.set_xlabel('Value')\n",
"ax.set_ylabel('Frequency')\n",
"ax.legend(loc=0)\n",
"fig.suptitle('Histogram by Time of Day', fontsize=14);"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAh8AAAHaCAYAAACgkCtLAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAAIABJREFUeJzt3Xl0FFXexvGnQsISsmMIS2CCKJBAJJFtFBya1QVBERQD\nSNgUFcflxRmH8VUSVMQFFQReFwYcFAQ3XFgFNWyOQMIiCogISMImkBCWwEDS9f7hsTVC0glQt+n4\n/ZyTc7qrbtX9Vaehn9xbVW3Ztm0LAADAkABfFwAAAP5YCB8AAMAowgcAADCK8AEAAIwifAAAAKMI\nHwAAwCjCByBp586dCggI0Nq1a31dis+lpaUpMTHxD9NvWX300Ue6/PLLFRQUpMGDB/u6HMCvET5Q\noQ0cOFDdu3c/Y3lmZqYCAgK0a9cuSVL9+vW1b98+NW/evEz7jYuL07hx4y5orRXVL8GutJ/Ro0fr\n73//u5YtW+brcks0ZMgQ3Xrrrdq1a5fGjx9/1jYul8tzTFWqVFGdOnV0/fXXa8aMGYarBS5ugb4u\nAHCSZVmyLMtru4CAANWsWbNc+zXl9OnTCgoKMtbfhfZLsPvF5MmTNW3aNK1Zs8azrHr16goODlZw\ncLAvSvQqLy9Pubm56tq1q2rXrl1iO8uyNHjwYI0ZM0aFhYXau3ev5s2bp2HDhum9997T+++/r4AA\n/uYD+FeACq2sN/D9/bTL6dOndf/996tu3bqqWrWq6tevr5EjR0r6+a/bH3/8UX/7298UEBCgSpUq\nefbzwQcfKDEx0bPNmDFjivWzf/9+9ejRQ8HBwWrQoIGmT5+uZs2aKT093dMmICBAkydP1i233KKQ\nkBA9+uijcrvdGjJkiC699FIFBwerUaNGeu6554od3y+jPM8884xq166tiIgIjRw5Um63W4899phq\n1qyp2rVrl3nEZsqUKapfv76Cg4PVs2dPHTp0SJK0bNkyVa5cWfv37y/W/tFHHz3ryNEvwe6Xn5CQ\nkDOWVa9e/Yxpl3M9nvz8fN11112KiYlRWFiYXC6XsrKySj3WvLw8paamKioqSsHBwerSpYs2bdok\nScrIyFCNGjUkSR07dlRAQECpIzTBwcGqWbOm6tSpoxYtWujxxx/XBx98oI8++kjTp0/3tHvhhRfU\nvHlzhYSEKDY2Vnfeeafy8/MlScePH1dYWJjef//9YvtevHixKleurAMHDpR6PMDFjvCBCu9cvkFg\nwoQJ+vDDDzV79mxt27ZNs2fPVpMmTSRJc+bMUWxsrEaNGqV9+/Zp7969kqSsrCzddttt6t27t775\n5huNHTtWTz/9tCZOnOjZb2pqqrKzs/XFF1/oww8/1PTp07Vr164zRlLS09N144036ptvvtHw4cPl\ndrsVGxurd999V1u2bNFTTz2lMWPGaNq0acW2W7ZsmX788UctXbpUr7zyip599lldd911crvd+vLL\nL5WWlqa//e1vWr9+fanHv3PnTs2cOVOffPKJlixZou+//95znsNf/vIXNWzYsNgHqdvt1vTp0zV0\n6NByv9alKe/x2Latbt26eUYc1q9fr7/85S/q2LFjsdGX3xs4cKDWrFmjjz/+WKtXr1ZwcLCuu+46\nnTx5Um3bttW3334r6edwuW/fPl111VXlOo6uXbsqMTGxWJioVKmSxo8fr02bNmnmzJlavXq1/vrX\nv0r6eSSob9++mjp1arH9TJ06Vd27d1d0dHS5+gcuOjZQgaWmptqBgYF2SEhIsZ/g4GA7ICDA/vHH\nH23btu0dO3bYlmXZWVlZtm3b9v3332936tSpxP3GxcXZ48aNK7asb9++Z2yTlpZmx8bG2rZt21u2\nbLEty7JXrVrlWZ+dnW1XqlTJTk9P9yyzLMu+//77vR7bI488Ynfu3LnYsdavX992u92eZS1btrST\nkpLOqP35558vcb+jRo2yK1WqZGdnZ3uWrVixwrYsy962bZtt27b9/PPP2/Hx8Z718+fPt6tUqWLn\n5uZ6rfu5556z4+Liztpvs2bNzut4PvvsMzskJMQ+ceJEsTZJSUn2s88+e9Z6tm7daluWZS9fvtyz\nLD8/3w4PD7enTJli27ZtHzhwwLYsy166dGmpx+Zyuey//vWvZ13Xp08fOyEhocRtFyxYYFepUsXz\nPDMz0w4MDLR3795t27Zt5+bm2tWqVbPnzZtXag2AP2DkAxVe+/bttWHDhmI/M2fOLHVEZODAgVq/\nfr0aNWqk++67T/Pnz/c6grJlyxa1bdu22LK2bdtq9+7dOnbsmLZs2aKAgAC1bNnSsz42NlZ16tQ5\nY1+/bfOLV155RS1btlTNmjUVGhqql156SdnZ2cXaJCQkFBtFiYmJUbNmzYq1iYmJ8TpsX7duXcXG\nxnqet27dWgEBAdq8ebMkacCAAdq+fbu++uorST//Rd6zZ09FRkaWut/yKu/xZGVlqaCgQNHR0QoN\nDfX8fPvtt9q+fftZ+9i8ebMCAgKKjWaEhYUpMTHRM/VyIdi2Xex8j88//1xdunRRvXr1FBYWpl69\neun06dOeEZoWLVooMTFR//73vyVJM2fOVI0aNXT99ddfsJoAX+GEU1R41apV06WXXlpsWW5ubqnb\nJCcna+fOnVq0aJE+++wzpaamqnnz5lq8eHGpJ5uWFFDKe4Jq9erViz2fPXu2HnroIY0bN05XX321\nwsLCNHHiRM2ZM6dYu8DA4v+kLcs642RVy7LkdrvLVc/vRUdHq0ePHvrXv/6lyy+/XJ988onmzp17\nXvs8m/Iej9vtVkxMjFasWHHGvsLCwsrV9+/DwvnatGmT5334448/qlu3bho2bJiefPJJ1ahRQ1lZ\nWUpJSdGpU6c82wwdOlTjx4/XyJEjNXXqVKWmpho92RlwCiMfQAlCQkLUq1cvTZ48WfPmzdPnn3+u\nH374QZJUuXJlFRUVFWsfHx+vlStXFlu2YsUK1atXT9WrV1eTJk3kdruVmZnpWZ+Tk6M9e/Z4rWXF\nihVq06aN7r33XiUlJenSSy/Vtm3bzvggulAfTLt371ZOTo7n+erVq+V2uxUfH+9Zduedd+qdd97R\nq6++qtq1a6tz584XpO/fKu/xXHnlldq/f78sy9Kll15a7OeSSy456zbx8fGec0h+ceTIEX3zzTdK\nSEg4r/p/sWjRIn377bfq3bu3pJ8v9T59+rRefPFFtWnTRpdddpl27959xnZ9+/ZVTk6OJk6cqHXr\n1mnQoEEXpB7A1wgfwFm88MILmjVrljZv3qxt27ZpxowZCg8P90xFxMXFadmyZdqzZ48OHjwoSRox\nYoSWLl2q9PR0bd26VTNmzNALL7ygv//975Kkxo0b69prr9Xdd9+tVatWaf369Ro0aJCqVavm9UO2\ncePGWrt2rRYuXKjvv/9eTzzxhJYtW3bGSMvZnpdl2e9Vq1ZNqamp2rBhg/7zn//o7rvv1o033qiG\nDRt62nTp0kU1atTQ6NGjNXDgwFL3d67KezxdunRR27ZtddNNN2nhwoXasWOH/vOf/2jUqFFnHQ2R\npMsvv1w33XSThg0bphUrVmjjxo3q37+/wsPD1bdv33LXe/z4ce3bt085OTlas2aN0tPT1atXL918\n883q37+/JKlRo0Zyu9168cUXtWPHDr399ttnvXdIRESEbr31Vj388MNq3759sdcf8GeED1Ropd3n\n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\nRK5CYII=\n",
"text": [
"<matplotlib.figure.Figure at 0xd1a6898>"
]
}
],
"prompt_number": 29
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(c) Calculate mean and standard deviation in each group"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print 'Mean during the day is %.2f, the standard deviation is %.2f' % (data_day.excess.mean(), data_day.excess.std())\n",
"print 'Mean during the night is %.2f, the standard deviation is %.2f' % (data_night.excess.mean(), data_night.excess.std())"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Mean during the day is 1.73, the standard deviation is 0.87\n",
"Mean during the night is 2.18, the standard deviation is 1.20\n"
]
}
],
"prompt_number": 30
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"A3. "
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_grades = pd.DataFrame( {'grade': [87,77,67,67,47,60,77,67,57,77,\n",
" 73,75,63,97,75,77,80,80,77,63,\n",
" 87,93,63,60,75,20,97,90,73,33,\n",
" 60,67,90,60,42,67,67,57,73,80]} )"
],
"language": "python",
"metadata": {},
"outputs": [],
"prompt_number": 18
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(a) Arrange the data from lowest to highest"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"data_grades.grade.order()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 19,
"text": [
"25 20\n",
"29 33\n",
"34 42\n",
"4 47\n",
"8 57\n",
"37 57\n",
"30 60\n",
"23 60\n",
"5 60\n",
"33 60\n",
"22 63\n",
"12 63\n",
"19 63\n",
"7 67\n",
"31 67\n",
"2 67\n",
"36 67\n",
"35 67\n",
"3 67\n",
"10 73\n",
"28 73\n",
"38 73\n",
"11 75\n",
"24 75\n",
"14 75\n",
"9 77\n",
"6 77\n",
"18 77\n",
"15 77\n",
"1 77\n",
"39 80\n",
"17 80\n",
"16 80\n",
"20 87\n",
"0 87\n",
"32 90\n",
"27 90\n",
"21 93\n",
"26 97\n",
"13 97\n",
"Name: grade, dtype: int64"
]
}
],
"prompt_number": 19
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"absolute = data_grades.grade.value_counts()\n",
"relative = data_grades.grade.value_counts()/len(data_grades)\n",
"cumulative = np.cumsum(absolute)\n",
"freq_table = pd.DataFrame({'Absolute': absolute, 'Relative': relative, 'Cumulative': cumulative})\n",
"freq_table.head(n=8)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"<div style=\"max-height:1000px;max-width:1500px;overflow:auto;\">\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Absolute</th>\n",
" <th>Cumulative</th>\n",
" <th>Relative</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>67</th>\n",
" <td> 6</td>\n",
" <td> 6</td>\n",
" <td> 0.150</td>\n",
" </tr>\n",
" <tr>\n",
" <th>77</th>\n",
" <td> 5</td>\n",
" <td> 11</td>\n",
" <td> 0.125</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60</th>\n",
" <td> 4</td>\n",
" <td> 15</td>\n",
" <td> 0.100</td>\n",
" </tr>\n",
" <tr>\n",
" <th>63</th>\n",
" <td> 3</td>\n",
" <td> 18</td>\n",
" <td> 0.075</td>\n",
" </tr>\n",
" <tr>\n",
" <th>80</th>\n",
" <td> 3</td>\n",
" <td> 21</td>\n",
" <td> 0.075</td>\n",
" </tr>\n",
" <tr>\n",
" <th>75</th>\n",
" <td> 3</td>\n",
" <td> 24</td>\n",
" <td> 0.075</td>\n",
" </tr>\n",
" <tr>\n",
" <th>73</th>\n",
" <td> 3</td>\n",
" <td> 27</td>\n",
" <td> 0.075</td>\n",
" </tr>\n",
" <tr>\n",
" <th>57</th>\n",
" <td> 2</td>\n",
" <td> 29</td>\n",
" <td> 0.050</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 21,
"text": [
" Absolute Cumulative Relative\n",
"67 6 6 0.150\n",
"77 5 11 0.125\n",
"60 4 15 0.100\n",
"63 3 18 0.075\n",
"80 3 21 0.075\n",
"75 3 24 0.075\n",
"73 3 27 0.075\n",
"57 2 29 0.050"
]
}
],
"prompt_number": 21
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(c) Construct a histogram"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"plt.hist(data_grades.grade);"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "display_data",
"png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAEACAYAAACj0I2EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlz\nAAALEgAACxIB0t1+/AAADg1JREFUeJzt3X+QXeVdx/H3QvgVkk1YOyWtaWcxlZa2mRZkFC01pxow\nMNA62mnLAFWY1j/EKejIj1Sn7F9a6jhW6/QPwTCIBbVQKRmrU2g5IzO0lB8J5VdEUmgpGKgQyMpU\nocn6x3M2e7OTzd499+w+z373/ZrZ2XtPzp7z4bL3c5889+Y5IEmSJEmSJEmSJEmSJEmSVIQtwPPA\nwz3b/gx4HHgI+AqwKkMuSdIcvR84mQML/QzgsOb2Z5svSVJmh83y53cDu6dtuwPY19y+F1jbdShJ\n0tzNVuizuRj4WhdBJEmDGaTQ/wh4DbipoyySpAEsa/lzvw2cDfzqTDusW7duYufOnS0PL0lL1k7g\nbW1+sM0IfRNwOfAh4H9nTLRzJxMTE8V/XX311dkzmNOM5jTn5Bewrk2Zw+yFfjNwD/B24BnSnPkX\ngBWkN0e3AV9se3JJUndmm3I57yDbtsxHEEnSYAb9lMuiV1VV7gh9MWd3FkNGMGfXFkvOQQzN47En\nmvkgSVKfhoaGoGU3L/kRuiRFYaFLUhAWuiQFYaFLUhAWuiQFYaFLUhAWuiQFYaFLUhAWuiQFYaFL\nUhAWuiQFYaFLUhBtr1gkaREYHh5hfHz6dd4XzsqVx7Fnz0vZzr/UuNqiFFhauS/n83AIe2BuXG1R\nkmShS1IUFrokBWGhS1IQFrokBWGhS1IQFrokBWGhS1IQFrokBWGhS1IQFrokBWGhS1IQsxX6FuB5\n4OGebSPAHcATwNeB1fMTTZI0F7MV+vXApmnbriIV+onAN5r7kqTM+lmicRTYCqxv7u8ANpBG7muA\nGnjHQX7O5XOlzFw+d/FZ6OVzjyeVOc3349ucWJLUrUHfFJ0g78u/JKnR5hJ0k1Mtu4A3AS/MtOPY\n2Nj+21VVUVVVi9NJUlx1XVPXdSfHajOH/jngReAa0huiqzn4G6POoUuZOYe++Awyhz7bD91MegP0\nDaSR+WeArwL/BLwVeBr4CPDyQX7WQpcys9AXn/ks9EFY6FJmFvri40WiJUkWuiRFYaFLUhAWuiQF\nYaFLUhAWuiQFYaFLUhAWuiQFYaFLUhAWuiQFYaFLUhAWuiQFYaFLUhAWuiQF0eaKRZL6MDw8wvj4\n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\n",
"text": [
"<matplotlib.figure.Figure at 0x403dac8>"
]
}
],
"prompt_number": 22
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(d) Range and Interquartile Range"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"range_grades = data_grades.grade.max() - data_grades.grade.min()\n",
"int_q_range_grades = data_grades.grade.quantile(q=0.75) - data_grades.grade.quantile(q=0.25)\n",
"print \"The range of the data is %.1f\" % range_grades\n",
"print \"The interquartile range is %.1f\" % int_q_range_grades"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"The range of the data is 77.0\n",
"The interquartile range is 15.5\n"
]
}
],
"prompt_number": 25
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(e) Mean and Standard Deviation"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print \"The mean of the data is %.2f, the standard deviation is %.2f\" %(data_grades.grade.mean(), data_grades.grade.std())"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"The mean of the data is 69.92, the standard deviation is 16.12\n"
]
}
],
"prompt_number": 26
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(f) Median and Mode"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print \"The median is %.1f, the mode is %.1f\" % (data_grades.grade.median(), data_grades.grade.mode())"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"The median is 73.0, the mode is 67.0\n"
]
}
],
"prompt_number": 27
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"(g) Skewness and Kurtosis"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"print \"The skewness is %.2f, the kurtosis is %.2f\" % (data_grades.grade.skew(), data_grades.grade.kurt())"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"The skewness is -0.87, the kurtosis is 1.61\n"
]
}
],
"prompt_number": 28
},
{
"cell_type": "heading",
"level": 2,
"metadata": {},
"source": [
"B3."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Probability of drawing a student with a grade between 50 and 59 at random:\n",
"\n",
"We count the number of students with a grade below sixty and above 49 and divide by the total number of students:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(data_grades[(data_grades.grade < 60) & (data_grades.grade > 49)])/len(data_grades)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 29,
"text": [
"0.05"
]
}
],
"prompt_number": 29
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Probability of drawing a student with a grade between 70 and 99 at random:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(data_grades[(data_grades.grade < 99) & (data_grades.grade >= 70)])/len(data_grades)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 48,
"text": [
"0.525"
]
}
],
"prompt_number": 48
},
{
"cell_type": "heading",
"level": 3,
"metadata": {},
"source": [
"B4."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Probability of drawing a jar with excess weight between 0 and 1.99g:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(data_coffee[data_coffee.excess < 2])/len(data_coffee)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 49,
"text": [
"0.55"
]
}
],
"prompt_number": 49
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Probability of drawing a jar with excess weight between 4 and 5.99g:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"len(data_coffee[(data_coffee.excess >= 4) & (data_coffee.excess < 6)])/len(data_coffee)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 50,
"text": [
"0.05"
]
}
],
"prompt_number": 50
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Probability of drawing two jars at random between 0 and 0.99g with replacement:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"below_one = len(data_coffee[data_coffee.excess < 1])\n",
"total_jars = len(data_coffee)\n",
"\n",
"prob = (below_one / total_jars) * (below_one / total_jars)\n",
"\n",
"print 'Probability with replacement is %.3f' % prob"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Probability with replacement is 0.035\n"
]
}
],
"prompt_number": 23
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"Probability of drawing two jars at random between 0 and 0.99g without replacement:"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"prob = (below_one / total_jars) * ( (below_one-1) / (total_jars-1) )\n",
"print 'Probability without replacement is %.3f' % prob"
],
"language": "python",
"metadata": {},
"outputs": [
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Probability without replacement is 0.033\n"
]
}
],
"prompt_number": 24
}
],
"metadata": {}
}
]
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment