{ "metadata": { "name": "", "signature": "sha256:885d42dabfc9cb65e51321a8e5a6aa4bc3ad0046a55152e73c29628e66e0d4d0" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "code", "collapsed": false, "input": [ "%matplotlib inline\n", "\n", "import pandas as pd\n", "import datetime as dt\n", "\n", "base = '/home/ovis/cr/dvto'\n", "df = pd.read_csv(\"%s/Parking_Tags_Data_2012.csv\" % base)\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", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", " \n", "
tag_number_maskeddate_of_infractioninfraction_codeinfraction_descriptionset_fine_amounttime_of_infractionlocation1location2location3location4province
0 ***78746 20120101 192 STAND SIGNED TRANSIT STOP 60 0 NR 355 PARKSIDE DR NaN NaN ON
1 ***31670 20120101 5 PARK HWY PROHIBED TIME/DAY 40 1 NR 220 KING ST W NaN NaN ON
2 ***47870 20120101 5 PARK HWY PROHIBED TIME/DAY 40 1 N/S ELM ST W/O ELIZABETH ST ON
3 ***68489 20120101 8 STD VEH HWY PROHIB TIME/DAY 60 1 N/S WALTON ST E/O BAY ST ON
4 ***98802 20120101 337 PARK - ON BOULEVARD 50 1 S/S SHEPPARD AVE E E/O NEILSON AVE ON
5 ***85083 20120101 8 STD VEH HWY PROHIB TIME/DAY 60 2 N/S WALTON ST E/O BAY ST ON
6 ***98803 20120101 337 PARK - ON BOULEVARD 50 2 S/S SHEPPARD AVE E E/O NEILSON AVE ON
7 ***08841 20120101 15 PARK - 3 M OF FIRE HYDRANT 100 2 NR 35 THORNCLIFFE PARK DR NaN NaN NJ
8 ***47871 20120101 5 PARK HWY PROHIBED TIME/DAY 40 3 N/S ELM ST E/O UNIVERSITY AVE ON
9 ***98804 20120101 337 PARK - ON BOULEVARD 50 3 S/S SHEPPARD AVE E E/O NEILSON AVE ON
10 ***98805 20120101 337 PARK - ON BOULEVARD 50 3 S/S SHEPPARD AVE E E/O NEILSON AVE ON
11 ***99287 20120101 5 PARK HWY PROHIBED TIME/DAY 40 3 NR 968 QUEEN ST W NaN NaN ON
12 ***47872 20120101 5 PARK HWY PROHIBED TIME/DAY 40 4 N/S ELM ST E/O UNIVERSITY AVE ON
13 ***98806 20120101 337 PARK - ON BOULEVARD 50 4 S/S SHEPPARD AVE E E/O NEILSON AVE ON
14 ***13375 20120101 192 STAND SIGNED TRANSIT STOP 60 4 NR 193 PARKSIDE DR NaN NaN UT
15 ***13376 20120101 192 STAND SIGNED TRANSIT STOP 60 5 NR 193 PARKSIDE DR NaN NaN ON
16 ***13377 20120101 192 STAND SIGNED TRANSIT STOP 60 5 NR 193 PARKSIDE DR NaN NaN ON
17 ***98807 20120101 337 PARK - ON BOULEVARD 50 6 S/S SHEPPARD AVE E E/O NEILSON AVE ON
18 ***68490 20120101 384 STOP VEH OTR THN BCYCL-BYCL LN 60 7 OPP 86 GERRARD ST E NaN NaN ON
19 ***85084 20120101 384 STOP VEH OTR THN BCYCL-BYCL LN 60 8 OPP 86 GERRARD ST E NaN NaN ON
20 ***98808 20120101 337 PARK - ON BOULEVARD 50 8 S/S SHEPPARD AVE E E/O NEILSON AVE ON
21 ***68491 20120101 384 STOP VEH OTR THN BCYCL-BYCL LN 60 9 NR 101 GERRARD ST E NaN NaN GA
22 ***86155 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 9 AT 361 FRONT ST W NaN NaN ON
23 ***98809 20120101 337 PARK - ON BOULEVARD 50 9 S/S SHEPPARD AVE E E/O NEILSON AVE ON
24 ***99288 20120101 5 PARK HWY PROHIBED TIME/DAY 40 9 NR 942 QUEEN ST W NaN NaN ON
25 ***47873 20120101 9 STOP HWY PROHIBITED TIME/DAY 60 10 W/S ELIZABETH ST N/O EDWARD ST ON
26 ***47874 20120101 5 PARK HWY PROHIBED TIME/DAY 40 12 NR 150 ELIZABETH ST NaN NaN ON
27 ***68492 20120101 192 STAND SIGNED TRANSIT STOP 60 14 W/S PARLIAMENT ST S/O VERNER LANE ON
28 ***99289 20120101 5 PARK HWY PROHIBED TIME/DAY 40 14 NR 723 QUEEN ST W NaN NaN ON
29 ***47875 20120101 5 PARK HWY PROHIBED TIME/DAY 40 16 OPP 77 ELM ST NaN NaN ON
30 ***47876 20120101 5 PARK HWY PROHIBED TIME/DAY 40 17 OPP 77 ELM ST NaN NaN ON
31 ***86156 20120101 15 PARK 3M OF FIRE HYDRANT 100 20 AT 361 FRONT ST W NaN NaN ON
32 ***99290 20120101 5 PARK HWY PROHIBED TIME/DAY 40 22 NR 801 KING ST W NaN NaN ON
33 ***08842 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 22 AT 177 REDPATH AVE NaN NaN ON
34 ***08843 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 23 AT 177 REDPATH AVE NaN NaN ON
35 ***47877 20120101 15 PARK 3M OF FIRE HYDRANT 100 25 NR 13 ELM ST NaN NaN ON
36 ***99291 20120101 5 PARK HWY PROHIBED TIME/DAY 40 26 NR 901 KING ST W NaN NaN ON
37 ***08844 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 26 AT 200 ROEHAMPTON AVE NaN NaN ON
38 ***08845 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 26 AT 200 ROEHAMPTON AVE NaN NaN ON
39 ***98810 20120101 14 PARK OBSTRUCT DRIVE/LANE 40 28 NR 11 PROTEA GDNS NaN NaN ON
40 ***08846 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 28 AT 200 ROEHAMPTON AVE NaN NaN ON
41 ***08847 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 31 AT 200 ROEHAMPTON AVE NaN NaN ON
42 ***94096 20120101 192 STAND SIGNED TRANSIT STOP 60 37 NR 922 PAPE AVE NaN NaN ON
43 ***99292 20120101 5 PARK-HWY DRNG PROH TIMES/DAYS 40 39 NR 1366 DUNDAS ST W NaN NaN ON
44 ***47878 20120101 369 STAND STR DISABL LDG NO DROPOF 450 41 NR 32 GRENVILLE ST NaN NaN ON
45 ***47879 20120101 369 STAND STR DISABL LDG NO DROPOF 450 43 NR 18 GRENVILLE ST NaN NaN ON
46 ***47880 20120101 5 PARK HWY PROHIBED TIME/DAY 40 47 NR 7 BREADALBANE ST NaN NaN ON
47 ***37886 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 48 AT 735 COLLEGE ST NaN NaN ON
48 ***37887 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 49 AT 735 COLLEGE ST NaN NaN ON
49 ***86157 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 49 AT 37 GROSVENOR ST NaN NaN ON
50 ***08848 20120101 5 PARK HWY PROHIBED TIME/DAY 40 50 E/S MOUNT PLEASANT RD S/O GARFIELD AVE ON
51 ***54745 20120101 3 PARK/LEAVE ON PRIVATE PROPERTY 30 51 AT 1 SCOTT ST NaN NaN ON
52 ***37888 20120101 30 STOP ON/OVER SIDEWALK/FOOTPATH 60 52 NR 178 BEATRICE ST NaN NaN ON
53 ***44968 20120101 5 PARK HWY PROHIBED TIME/DAY 40 55 OPP 168 SIMCOE ST NaN NaN ON
54 ***47881 20120101 5 PARK HWY PROHIBED TIME/DAY 40 56 NR 27 CARLTON ST NaN NaN ON
55 ***47882 20120101 5 PARK HWY PROHIBED TIME/DAY 40 58 NR 27 CARLTON ST NaN NaN ON
56 ***47883 20120101 5 PARK HWY PROHIBED TIME/DAY 40 59 NR 27 CARLTON ST NaN NaN ON
57 ***44969 20120101 5 PARK HWY PROHIBED TIME/DAY 40 103 NR 100 SIMCOE ST NaN NaN ON
58 ***09737 20120101 356 STAND IN DISABLED NO PERMIT 450 110 AT 11 BRUNEL CT NaN NaN ON
59 ***47884 20120101 9 STOP HWY PROHIBITED TIME/DAY 60 111 OPP 86 GERRARD ST E NaN NaN ON
.................................
\n", "

2746154 rows \u00d7 11 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 1, "text": [ " tag_number_masked date_of_infraction infraction_code \\\n", "0 ***78746 20120101 192 \n", "1 ***31670 20120101 5 \n", "2 ***47870 20120101 5 \n", "3 ***68489 20120101 8 \n", "4 ***98802 20120101 337 \n", "5 ***85083 20120101 8 \n", "6 ***98803 20120101 337 \n", "7 ***08841 20120101 15 \n", "8 ***47871 20120101 5 \n", "9 ***98804 20120101 337 \n", "10 ***98805 20120101 337 \n", "11 ***99287 20120101 5 \n", "12 ***47872 20120101 5 \n", "13 ***98806 20120101 337 \n", "14 ***13375 20120101 192 \n", "15 ***13376 20120101 192 \n", "16 ***13377 20120101 192 \n", "17 ***98807 20120101 337 \n", "18 ***68490 20120101 384 \n", "19 ***85084 20120101 384 \n", "20 ***98808 20120101 337 \n", "21 ***68491 20120101 384 \n", "22 ***86155 20120101 3 \n", "23 ***98809 20120101 337 \n", "24 ***99288 20120101 5 \n", "25 ***47873 20120101 9 \n", "26 ***47874 20120101 5 \n", "27 ***68492 20120101 192 \n", "28 ***99289 20120101 5 \n", "29 ***47875 20120101 5 \n", "30 ***47876 20120101 5 \n", "31 ***86156 20120101 15 \n", "32 ***99290 20120101 5 \n", "33 ***08842 20120101 3 \n", "34 ***08843 20120101 3 \n", "35 ***47877 20120101 15 \n", "36 ***99291 20120101 5 \n", "37 ***08844 20120101 3 \n", "38 ***08845 20120101 3 \n", "39 ***98810 20120101 14 \n", "40 ***08846 20120101 3 \n", "41 ***08847 20120101 3 \n", "42 ***94096 20120101 192 \n", "43 ***99292 20120101 5 \n", "44 ***47878 20120101 369 \n", "45 ***47879 20120101 369 \n", "46 ***47880 20120101 5 \n", "47 ***37886 20120101 3 \n", "48 ***37887 20120101 3 \n", "49 ***86157 20120101 3 \n", "50 ***08848 20120101 5 \n", "51 ***54745 20120101 3 \n", "52 ***37888 20120101 30 \n", "53 ***44968 20120101 5 \n", "54 ***47881 20120101 5 \n", "55 ***47882 20120101 5 \n", "56 ***47883 20120101 5 \n", "57 ***44969 20120101 5 \n", "58 ***09737 20120101 356 \n", "59 ***47884 20120101 9 \n", " ... ... ... \n", "\n", " infraction_description set_fine_amount time_of_infraction \\\n", "0 STAND SIGNED TRANSIT STOP 60 0 \n", "1 PARK HWY PROHIBED TIME/DAY 40 1 \n", "2 PARK HWY PROHIBED TIME/DAY 40 1 \n", "3 STD VEH HWY PROHIB TIME/DAY 60 1 \n", "4 PARK - ON BOULEVARD 50 1 \n", "5 STD VEH HWY PROHIB TIME/DAY 60 2 \n", "6 PARK - ON BOULEVARD 50 2 \n", "7 PARK - 3 M OF FIRE HYDRANT 100 2 \n", "8 PARK HWY PROHIBED TIME/DAY 40 3 \n", "9 PARK - ON BOULEVARD 50 3 \n", "10 PARK - ON BOULEVARD 50 3 \n", "11 PARK HWY PROHIBED TIME/DAY 40 3 \n", "12 PARK HWY PROHIBED TIME/DAY 40 4 \n", "13 PARK - ON BOULEVARD 50 4 \n", "14 STAND SIGNED TRANSIT STOP 60 4 \n", "15 STAND SIGNED TRANSIT STOP 60 5 \n", "16 STAND SIGNED TRANSIT STOP 60 5 \n", "17 PARK - ON BOULEVARD 50 6 \n", "18 STOP VEH OTR THN BCYCL-BYCL LN 60 7 \n", "19 STOP VEH OTR THN BCYCL-BYCL LN 60 8 \n", "20 PARK - ON BOULEVARD 50 8 \n", "21 STOP VEH OTR THN BCYCL-BYCL LN 60 9 \n", "22 PARK/LEAVE ON PRIVATE PROPERTY 30 9 \n", "23 PARK - ON BOULEVARD 50 9 \n", "24 PARK HWY PROHIBED TIME/DAY 40 9 \n", "25 STOP HWY PROHIBITED TIME/DAY 60 10 \n", "26 PARK HWY PROHIBED TIME/DAY 40 12 \n", "27 STAND SIGNED TRANSIT STOP 60 14 \n", "28 PARK HWY PROHIBED TIME/DAY 40 14 \n", "29 PARK HWY PROHIBED TIME/DAY 40 16 \n", "30 PARK HWY PROHIBED TIME/DAY 40 17 \n", "31 PARK 3M OF FIRE HYDRANT 100 20 \n", "32 PARK HWY PROHIBED TIME/DAY 40 22 \n", "33 PARK/LEAVE ON PRIVATE PROPERTY 30 22 \n", "34 PARK/LEAVE ON PRIVATE PROPERTY 30 23 \n", "35 PARK 3M OF FIRE HYDRANT 100 25 \n", "36 PARK HWY PROHIBED TIME/DAY 40 26 \n", "37 PARK/LEAVE ON PRIVATE PROPERTY 30 26 \n", "38 PARK/LEAVE ON PRIVATE PROPERTY 30 26 \n", "39 PARK OBSTRUCT DRIVE/LANE 40 28 \n", "40 PARK/LEAVE ON PRIVATE PROPERTY 30 28 \n", "41 PARK/LEAVE ON PRIVATE PROPERTY 30 31 \n", "42 STAND SIGNED TRANSIT STOP 60 37 \n", "43 PARK-HWY DRNG PROH TIMES/DAYS 40 39 \n", "44 STAND STR DISABL LDG NO DROPOF 450 41 \n", "45 STAND STR DISABL LDG NO DROPOF 450 43 \n", "46 PARK HWY PROHIBED TIME/DAY 40 47 \n", "47 PARK/LEAVE ON PRIVATE PROPERTY 30 48 \n", "48 PARK/LEAVE ON PRIVATE PROPERTY 30 49 \n", "49 PARK/LEAVE ON PRIVATE PROPERTY 30 49 \n", "50 PARK HWY PROHIBED TIME/DAY 40 50 \n", "51 PARK/LEAVE ON PRIVATE PROPERTY 30 51 \n", "52 STOP ON/OVER SIDEWALK/FOOTPATH 60 52 \n", "53 PARK HWY PROHIBED TIME/DAY 40 55 \n", "54 PARK HWY PROHIBED TIME/DAY 40 56 \n", "55 PARK HWY PROHIBED TIME/DAY 40 58 \n", "56 PARK HWY PROHIBED TIME/DAY 40 59 \n", "57 PARK HWY PROHIBED TIME/DAY 40 103 \n", "58 STAND IN DISABLED NO PERMIT 450 110 \n", "59 STOP HWY PROHIBITED TIME/DAY 60 111 \n", " ... ... ... \n", "\n", " location1 location2 location3 location4 province \n", "0 NR 355 PARKSIDE DR NaN NaN ON \n", "1 NR 220 KING ST W NaN NaN ON \n", "2 N/S ELM ST W/O ELIZABETH ST ON \n", "3 N/S WALTON ST E/O BAY ST ON \n", "4 S/S SHEPPARD AVE E E/O NEILSON AVE ON \n", "5 N/S WALTON ST E/O BAY ST ON \n", "6 S/S SHEPPARD AVE E E/O NEILSON AVE ON \n", "7 NR 35 THORNCLIFFE PARK DR NaN NaN NJ \n", "8 N/S ELM ST E/O UNIVERSITY AVE ON \n", "9 S/S SHEPPARD AVE E E/O NEILSON AVE ON \n", "10 S/S SHEPPARD AVE E E/O NEILSON AVE ON \n", "11 NR 968 QUEEN ST W NaN NaN ON \n", "12 N/S ELM ST E/O UNIVERSITY AVE ON \n", "13 S/S SHEPPARD AVE E E/O NEILSON AVE ON \n", "14 NR 193 PARKSIDE DR NaN NaN UT \n", "15 NR 193 PARKSIDE DR NaN NaN ON \n", "16 NR 193 PARKSIDE DR NaN NaN ON \n", "17 S/S SHEPPARD AVE E E/O NEILSON AVE ON \n", "18 OPP 86 GERRARD ST E NaN NaN ON \n", "19 OPP 86 GERRARD ST E NaN NaN ON \n", "20 S/S SHEPPARD AVE E E/O NEILSON AVE ON \n", "21 NR 101 GERRARD ST E NaN NaN GA \n", "22 AT 361 FRONT ST W NaN NaN ON \n", "23 S/S SHEPPARD AVE E E/O NEILSON AVE ON \n", "24 NR 942 QUEEN ST W NaN NaN ON \n", "25 W/S ELIZABETH ST N/O EDWARD ST ON \n", "26 NR 150 ELIZABETH ST NaN NaN ON \n", "27 W/S PARLIAMENT ST S/O VERNER LANE ON \n", "28 NR 723 QUEEN ST W NaN NaN ON \n", "29 OPP 77 ELM ST NaN NaN ON \n", "30 OPP 77 ELM ST NaN NaN ON \n", "31 AT 361 FRONT ST W NaN NaN ON \n", "32 NR 801 KING ST W NaN NaN ON \n", "33 AT 177 REDPATH AVE NaN NaN ON \n", "34 AT 177 REDPATH AVE NaN NaN ON \n", "35 NR 13 ELM ST NaN NaN ON \n", "36 NR 901 KING ST W NaN NaN ON \n", "37 AT 200 ROEHAMPTON AVE NaN NaN ON \n", "38 AT 200 ROEHAMPTON AVE NaN NaN ON \n", "39 NR 11 PROTEA GDNS NaN NaN ON \n", "40 AT 200 ROEHAMPTON AVE NaN NaN ON \n", "41 AT 200 ROEHAMPTON AVE NaN NaN ON \n", "42 NR 922 PAPE AVE NaN NaN ON \n", "43 NR 1366 DUNDAS ST W NaN NaN ON \n", "44 NR 32 GRENVILLE ST NaN NaN ON \n", "45 NR 18 GRENVILLE ST NaN NaN ON \n", "46 NR 7 BREADALBANE ST NaN NaN ON \n", "47 AT 735 COLLEGE ST NaN NaN ON \n", "48 AT 735 COLLEGE ST NaN NaN ON \n", "49 AT 37 GROSVENOR ST NaN NaN ON \n", "50 E/S MOUNT PLEASANT RD S/O GARFIELD AVE ON \n", "51 AT 1 SCOTT ST NaN NaN ON \n", "52 NR 178 BEATRICE ST NaN NaN ON \n", "53 OPP 168 SIMCOE ST NaN NaN ON \n", "54 NR 27 CARLTON ST NaN NaN ON \n", "55 NR 27 CARLTON ST NaN NaN ON \n", "56 NR 27 CARLTON ST NaN NaN ON \n", "57 NR 100 SIMCOE ST NaN NaN ON \n", "58 AT 11 BRUNEL CT NaN NaN ON \n", "59 OPP 86 GERRARD ST E NaN NaN ON \n", " ... ... ... ... ... \n", "\n", "[2746154 rows x 11 columns]" ] } ], "prompt_number": 1 }, { "cell_type": "code", "collapsed": false, "input": [ "df.dtypes" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 2, "text": [ "tag_number_masked object\n", "date_of_infraction int64\n", "infraction_code int64\n", "infraction_description object\n", "set_fine_amount int64\n", "time_of_infraction float64\n", "location1 object\n", "location2 object\n", "location3 object\n", "location4 object\n", "province object\n", "dtype: object" ] } ], "prompt_number": 2 }, { "cell_type": "code", "collapsed": false, "input": [ "pd.isnull(df['date_of_infraction']).value_counts()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 3, "text": [ "False 2746154\n", "dtype: int64" ] } ], "prompt_number": 3 }, { "cell_type": "code", "collapsed": false, "input": [ "date_format = '%Y%m%d'\n", "\n", "def create_weekday(x):\n", " d = dt.datetime.strptime(str(x['date_of_infraction']), date_format)\n", " return d.strftime('%A')\n", "\n", "df['weekday'] = df.apply(create_weekday, axis=1)\n", "weekday_counts = df['weekday'].value_counts()\n", "weekday_counts" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 6, "text": [ "Thursday 432138\n", "Wednesday 430728\n", "Friday 428295\n", "Tuesday 424923\n", "Monday 379130\n", "Saturday 368239\n", "Sunday 282701\n", "dtype: int64" ] } ], "prompt_number": 6 }, { "cell_type": "code", "collapsed": false, "input": [ "weekdays = pd.DataFrame({ 'weekday': weekday_counts.keys(), 'count': weekday_counts.values })\n", "weekdays" ], "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", "
countweekday
0 432138 Thursday
1 430728 Wednesday
2 428295 Friday
3 424923 Tuesday
4 379130 Monday
5 368239 Saturday
6 282701 Sunday
\n", "

7 rows \u00d7 2 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 7, "text": [ " count weekday\n", "0 432138 Thursday\n", "1 430728 Wednesday\n", "2 428295 Friday\n", "3 424923 Tuesday\n", "4 379130 Monday\n", "5 368239 Saturday\n", "6 282701 Sunday\n", "\n", "[7 rows x 2 columns]" ] } ], "prompt_number": 7 }, { "cell_type": "code", "collapsed": false, "input": [ "weekdays = weekdays.reindex_axis(sorted(weekdays.columns, reverse=True), axis=1)\n", "weekdays" ], "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", "
weekdaycount
0 Thursday 432138
1 Wednesday 430728
2 Friday 428295
3 Tuesday 424923
4 Monday 379130
5 Saturday 368239
6 Sunday 282701
\n", "

7 rows \u00d7 2 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 26, "text": [ " weekday count\n", "0 Thursday 432138\n", "1 Wednesday 430728\n", "2 Friday 428295\n", "3 Tuesday 424923\n", "4 Monday 379130\n", "5 Saturday 368239\n", "6 Sunday 282701\n", "\n", "[7 rows x 2 columns]" ] } ], "prompt_number": 26 }, { "cell_type": "code", "collapsed": false, "input": [ "weekdays.to_csv(\"%s/weekdays.csv\" % base, index=False)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 27 }, { "cell_type": "code", "collapsed": false, "input": [ "fine_counts = df['set_fine_amount'].value_counts()\n", "fine_counts" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 13, "text": [ "30 1549135\n", "40 608474\n", "60 358798\n", "15 125582\n", "100 39852\n", "250 21410\n", "50 18215\n", "450 12257\n", "105 9662\n", "90 1365\n", "300 1125\n", "55 157\n", "150 81\n", "0 35\n", "200 6\n", "dtype: int64" ] } ], "prompt_number": 13 }, { "cell_type": "code", "collapsed": false, "input": [ "fines = pd.DataFrame({ 'amount': fine_counts.keys(), 'count': fine_counts.values })\n", "fines" ], "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", "
amountcount
0 30 1549135
1 40 608474
2 60 358798
3 15 125582
4 100 39852
5 250 21410
6 50 18215
7 450 12257
8 105 9662
9 90 1365
10 300 1125
11 55 157
12 150 81
13 0 35
14 200 6
\n", "

15 rows \u00d7 2 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 14, "text": [ " amount count\n", "0 30 1549135\n", "1 40 608474\n", "2 60 358798\n", "3 15 125582\n", "4 100 39852\n", "5 250 21410\n", "6 50 18215\n", "7 450 12257\n", "8 105 9662\n", "9 90 1365\n", "10 300 1125\n", "11 55 157\n", "12 150 81\n", "13 0 35\n", "14 200 6\n", "\n", "[15 rows x 2 columns]" ] } ], "prompt_number": 14 }, { "cell_type": "code", "collapsed": false, "input": [ "fines.to_csv(\"%s/fines.csv\" % base, index=False)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 15 }, { "cell_type": "code", "collapsed": false, "input": [ "province_counts = df['province'].value_counts()\n", "province_counts" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 16, "text": [ "ON 2612317\n", "QC 36620\n", "AB 12267\n", "NY 10919\n", "BC 7019\n", "NS 6008\n", "FL 5464\n", "MI 5008\n", "MB 3909\n", "NB 3459\n", "AZ 3412\n", "CA 3235\n", "IL 2734\n", "PA 2676\n", "MD 2505\n", "...\n", "XX 78\n", "NT 73\n", "NE 63\n", "MS 61\n", "AK 49\n", "NM 48\n", "ND 41\n", "DC 35\n", "ID 34\n", "SD 32\n", "NU 23\n", "WY 12\n", "HI 11\n", "VI 2\n", "PW 1\n", "Length: 68, dtype: int64" ] } ], "prompt_number": 16 }, { "cell_type": "code", "collapsed": false, "input": [ "top_provinces = province_counts[province_counts > province_counts[9]].keys()\n", "top_provinces" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 17, "text": [ "Index([u'ON', u'QC', u'AB', u'NY', u'BC', u'NS', u'FL', u'MI', u'MB'], dtype='object')" ] } ], "prompt_number": 17 }, { "cell_type": "code", "collapsed": false, "input": [ "top_provinces = map(lambda x: str(x), top_provinces)\n", "top_provinces" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 18, "text": [ "['ON', 'QC', 'AB', 'NY', 'BC', 'NS', 'FL', 'MI', 'MB']" ] } ], "prompt_number": 18 }, { "cell_type": "code", "collapsed": false, "input": [ "def create_trimmed_provinces(x):\n", " if x['province'] in top_provinces:\n", " return x['province']\n", " else:\n", " return 'Other'\n", "\n", "df['trimmed_provinces'] = df.apply(create_trimmed_provinces, axis=1)\n", "trimmed_provinces = df['trimmed_provinces'].value_counts()\n", "trimmed_provinces" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 19, "text": [ "ON 2612317\n", "Other 46623\n", "QC 36620\n", "AB 12267\n", "NY 10919\n", "BC 7019\n", "NS 6008\n", "FL 5464\n", "MI 5008\n", "MB 3909\n", "dtype: int64" ] } ], "prompt_number": 19 }, { "cell_type": "code", "collapsed": false, "input": [ "provinces = pd.DataFrame({ 'province': trimmed_provinces.keys(), 'count': trimmed_provinces.values })\n", "provinces" ], "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", "
countprovince
0 2612317 ON
1 46623 Other
2 36620 QC
3 12267 AB
4 10919 NY
5 7019 BC
6 6008 NS
7 5464 FL
8 5008 MI
9 3909 MB
\n", "

10 rows \u00d7 2 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 21, "text": [ " count province\n", "0 2612317 ON\n", "1 46623 Other\n", "2 36620 QC\n", "3 12267 AB\n", "4 10919 NY\n", "5 7019 BC\n", "6 6008 NS\n", "7 5464 FL\n", "8 5008 MI\n", "9 3909 MB\n", "\n", "[10 rows x 2 columns]" ] } ], "prompt_number": 21 }, { "cell_type": "code", "collapsed": false, "input": [ "provinces = provinces.reindex_axis(sorted(provinces.columns, reverse=True), axis=1)\n", "provinces" ], "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", "
provincecount
0 ON 2612317
1 Other 46623
2 QC 36620
3 AB 12267
4 NY 10919
5 BC 7019
6 NS 6008
7 FL 5464
8 MI 5008
9 MB 3909
\n", "

10 rows \u00d7 2 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 24, "text": [ " province count\n", "0 ON 2612317\n", "1 Other 46623\n", "2 QC 36620\n", "3 AB 12267\n", "4 NY 10919\n", "5 BC 7019\n", "6 NS 6008\n", "7 FL 5464\n", "8 MI 5008\n", "9 MB 3909\n", "\n", "[10 rows x 2 columns]" ] } ], "prompt_number": 24 }, { "cell_type": "code", "collapsed": false, "input": [ "provinces.to_csv(\"%s/provinces.csv\" % base, index=False)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 25 }, { "cell_type": "code", "collapsed": false, "input": [ "infraction_counts = df['infraction_description'].value_counts()\n", "infraction_counts" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 29, "text": [ "PARK PROHIBITED TIME NO PERMIT 428459\n", "PARK HWY PROHIBED TIME/DAY 370808\n", "PARK FAIL TO DISPLAY RECEIPT 341828\n", "PARK/LEAVE ON PRIVATE PROPERTY 332709\n", "PARK FAIL TO DEP. FEE MACHINE 226683\n", "PARK-HWY DRNG PROH TIMES/DAYS 104625\n", "STOP HWY PROHIBITED TIME/DAY 104556\n", "PARK HWY IN EXCESS PRMTD TIME 78527\n", "PARK LONGER THAN 3 HOURS 76466\n", "STD VEH HWY PROHIB TIME/DAY 69418\n", "STOP-HWY-PROHIBITED TIMES/DAYS 64990\n", "PARK HWY AT PROHIB TIME/DAY 42379\n", "STAND VEH-HWY-PROH TIME/DAYS 35148\n", "PARK ON 2AM-6AM DEC 1-MAR 31 34720\n", "PARK OVER 3 HOURS 32540\n", "...\n", "LEAVE OVERNIGHT WITHOUT PERMIT 1\n", "STOP-ON ELEVATED STRUCTURE 1\n", "PARK-HWY-INTFR FORM FUNRL PROC 1\n", "PARK-HWY WITHIN TURING BASIN 1\n", "PARK SIGNALZD XWALK 15M SM SDE 1\n", "PARK-FRONT OF VEH NOT OPP MTR 1\n", "PARK AUTOMOBILE - IN SPACE 1\n", "FAIL TO PARK PARA LEFT CURB 1\n", "STAND VEHICLE SIGNED HIGHWAY 2 1\n", "ANGLE PARK-METERED SPACE-FRONT 1\n", "PARK/STOP/STAND FOR VENDING 1\n", "PARK PRO VEH ON PEDESTRIAN WAY 1\n", "PARK - METER NOT USED 1\n", "PARK IN 30.5M SIGNAL X WALK 1\n", "PARK ON-STREET HANDICAP SPACE 1\n", "Length: 302, dtype: int64" ] } ], "prompt_number": 29 }, { "cell_type": "code", "collapsed": false, "input": [ "infraction_counts = df['infraction_code'].value_counts()\n", "infraction_counts" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 30, "text": [ "5 569772\n", "29 428476\n", "210 341828\n", "3 332757\n", "207 226683\n", "9 184219\n", "2 114809\n", "8 110473\n", "6 102709\n", "15 39711\n", "28 34720\n", "30 25447\n", "134 24246\n", "347 21410\n", "312 19502\n", "...\n", "129 1\n", "34 1\n", "115 1\n", "90 1\n", "89 1\n", "66 1\n", "54 1\n", "52 1\n", "51 1\n", "45 1\n", "44 1\n", "43 1\n", "36 1\n", "35 1\n", "144 1\n", "Length: 161, dtype: int64" ] } ], "prompt_number": 30 }, { "cell_type": "code", "collapsed": false, "input": [ "df[df['infraction_code'] == 5].head()" ], "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", "
tag_number_maskeddate_of_infractioninfraction_codeinfraction_descriptionset_fine_amounttime_of_infractionlocation1location2location3location4provinceweekdaytrimmed_provinces
1 ***31670 20120101 5 PARK HWY PROHIBED TIME/DAY 40 1 NR 220 KING ST W NaN NaN ON Sunday ON
2 ***47870 20120101 5 PARK HWY PROHIBED TIME/DAY 40 1 N/S ELM ST W/O ELIZABETH ST ON Sunday ON
8 ***47871 20120101 5 PARK HWY PROHIBED TIME/DAY 40 3 N/S ELM ST E/O UNIVERSITY AVE ON Sunday ON
11 ***99287 20120101 5 PARK HWY PROHIBED TIME/DAY 40 3 NR 968 QUEEN ST W NaN NaN ON Sunday ON
12 ***47872 20120101 5 PARK HWY PROHIBED TIME/DAY 40 4 N/S ELM ST E/O UNIVERSITY AVE ON Sunday ON
\n", "

5 rows \u00d7 13 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 34, "text": [ " tag_number_masked date_of_infraction infraction_code \\\n", "1 ***31670 20120101 5 \n", "2 ***47870 20120101 5 \n", "8 ***47871 20120101 5 \n", "11 ***99287 20120101 5 \n", "12 ***47872 20120101 5 \n", "\n", " infraction_description set_fine_amount time_of_infraction location1 \\\n", "1 PARK HWY PROHIBED TIME/DAY 40 1 NR \n", "2 PARK HWY PROHIBED TIME/DAY 40 1 N/S \n", "8 PARK HWY PROHIBED TIME/DAY 40 3 N/S \n", "11 PARK HWY PROHIBED TIME/DAY 40 3 NR \n", "12 PARK HWY PROHIBED TIME/DAY 40 4 N/S \n", "\n", " location2 location3 location4 province weekday \\\n", "1 220 KING ST W NaN NaN ON Sunday \n", "2 ELM ST W/O ELIZABETH ST ON Sunday \n", "8 ELM ST E/O UNIVERSITY AVE ON Sunday \n", "11 968 QUEEN ST W NaN NaN ON Sunday \n", "12 ELM ST E/O UNIVERSITY AVE ON Sunday \n", "\n", " trimmed_provinces \n", "1 ON \n", "2 ON \n", "8 ON \n", "11 ON \n", "12 ON \n", "\n", "[5 rows x 13 columns]" ] } ], "prompt_number": 34 }, { "cell_type": "code", "collapsed": false, "input": [ "descriptions = {}\n", "\n", "def create_sane_infraction_description(x):\n", " code = x['infraction_code']\n", " if code not in descriptions:\n", " descriptions[code] = x['infraction_description']\n", " return descriptions[code]\n", " \n", "df['sane_infraction_description'] = df.apply(create_sane_infraction_description, axis=1)\n", "infraction_counts = df['sane_infraction_description'].value_counts()\n", "infraction_counts" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 35, "text": [ "PARK HWY PROHIBED TIME/DAY 569772\n", "PARK PROHIBITED TIME NO PERMIT 428476\n", "PARK FAIL TO DISPLAY RECEIPT 341828\n", "PARK/LEAVE ON PRIVATE PROPERTY 332757\n", "PARK FAIL TO DEP. FEE MACHINE 226683\n", "STOP HWY PROHIBITED TIME/DAY 184219\n", "PARK OVER 3 HOURS 114809\n", "STD VEH HWY PROHIB TIME/DAY 110473\n", "PARK HWY OVER PERMITTED TIME 102709\n", "PARK - 3 M OF FIRE HYDRANT 39711\n", "PARK ON 2AM-6AM DEC 1-MAR 31 34720\n", "STOP ON/OVER SIDEWALK/FOOTPATH 25447\n", "PARK IN PUBLIC LANE 24246\n", "PARK IN A FIRE ROUTE 21410\n", "PARKING MACH-NOT USED/NO FEE 19502\n", "...\n", "PARK METERED SPACE PARK LOT 1\n", "STAND VEHICLE-SIGNED HIGHWAY-3 1\n", "STAND VEHICLE-SIGNED HIGHWAY-W 1\n", "PARK AUTOMOBILE - IN SPACE 1\n", "PARK ON-STREET HANDICAP SPACE 1\n", "STAND VEH HWY 30.5 BUS STOP 1\n", "PARK/STOP/STAND FOR VENDING 1\n", "PARK - METER NOT USED 1\n", "STAND VEHICLE SIGNED HIGHWAY 2 1\n", "PARK/STOP OVER 30CM FROM CURB 1\n", "PARK MOTORCYCLE - IN SPACE 1\n", "FAIL ANGLE PARK/STOP-DSGNTD SP 1\n", "STOP-ON ELEVATED STRUCTURE 1\n", "STOP PROH TIME MAITLAND ST. 1\n", "ANGLE PARK-METERED SPACE-FRONT 1\n", "Length: 152, dtype: int64" ] } ], "prompt_number": 35 }, { "cell_type": "code", "collapsed": false, "input": [ "infractions = pd.DataFrame({ 'infraction': infraction_counts.keys(), 'count': infraction_counts.values })\n", "infractions = infractions.reindex_axis(sorted(infractions.columns, reverse=True), axis=1)\n", "infractions" ], "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", "
infractioncount
0 PARK HWY PROHIBED TIME/DAY 569772
1 PARK PROHIBITED TIME NO PERMIT 428476
2 PARK FAIL TO DISPLAY RECEIPT 341828
3 PARK/LEAVE ON PRIVATE PROPERTY 332757
4 PARK FAIL TO DEP. FEE MACHINE 226683
5 STOP HWY PROHIBITED TIME/DAY 184219
6 PARK OVER 3 HOURS 114809
7 STD VEH HWY PROHIB TIME/DAY 110473
8 PARK HWY OVER PERMITTED TIME 102709
9 PARK - 3 M OF FIRE HYDRANT 39711
10 PARK ON 2AM-6AM DEC 1-MAR 31 34720
11 STOP ON/OVER SIDEWALK/FOOTPATH 25447
12 PARK IN PUBLIC LANE 24246
13 PARK IN A FIRE ROUTE 21410
14 PARKING MACH-NOT USED/NO FEE 19502
15 STAND SIGNED TRANSIT STOP 18418
16 PARK - ON BOULEVARD 16386
17 PARK-PASSENGER/FREIGHT LOADING 16358
18 PARK 9M OF INTERSCTING HIGHWAY 16032
19 STOP VEH OTR THN BCYCL-BYCL LN 12955
20 PARK/LEAVE ON MUNICIPAL PRPTY 10596
21 PARK-FAIL TO DISPLAY PERMIT 7498
22 PARK FAIL TO DEPOSIT FEE METER 6287
23 STAND SIGNED TAXICAB STAND 6037
24 PARK IN PARK NOT IN DESIG AREA 5999
25 FAIL TO PARK/STOP PARA TO CURB 5738
26 PARK - NOT WITHIN PERIOD 4881
27 PARK OBSTRUCT DRIVE/LANE 4478
28 FAIL TO PARK/STOP PARA RTHD HW 4376
29 PARK IN DISABLED NO PERMIT 3888
30 PARK CONTRARY POSTED CONDITION 3222
31 STAND ON-ST DISABL LDG NO PRMT 2958
32 PARK ON-STRT DISABLD NO PERMIT 2806
33 STOP SIDE STOPPED/PARKED VEH 2607
34 STOP WITHIN 9M OF CROSSWALK 1964
35 PARK - BETWEEN ROAD & SIDEWALK 1761
36 PARK VEHICLE IN CAR-SHARE AREA 1469
37 PARK TRUCK HWY NO PERM TIME/DA 1365
38 PARK VEHICLE OUTSIDE OF SPACE 1220
39 STAND STR DISABL LDG NO DROPOF 991
40 PARK HWY WITHN T-TYPE INTERSCT 786
41 STAND BUS PROHIBITED TIME 710
42 PARK VEHICLE ON ROADWAY 518
43 PARK 60CM OF DRIVEWAY/LANEWAY 485
44 PARK VEHICLE WHILE NOT IN PARK 424
45 STAND ON-STRT DISABL NO PERMIT 398
46 PARK/LEAVE CONTRARY TO SIGN 383
47 PARK IN DISABLED NOT DROP OFF 354
48 PARK VEHICLE-FOR SALE 299
49 PARK/STOP OVER 30 CM FROM CURB 277
50 PARK BUS PROHIBITED TIME 266
51 PARK ON HWY UNDER 6M WIDE 254
52 STAND DISABLD LDG NOT DROP OFF 243
53 STOP ADJACENT TO CENTRE BLVD 228
54 STAND IN DISABLED NOT DROP OFF 212
55 STOP IN UNDERPASS 189
56 PARK-HWY 15M TRM DEAD END ST. 185
57 STOP WITHIN INTERSECTION/XWALK 177
58 STOP/PARK/LEAVE/STAND CLSD ST 165
59 STAND VEHICLE WHERE PROHIBITED 155
......
\n", "

152 rows \u00d7 2 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 37, "text": [ " infraction count\n", "0 PARK HWY PROHIBED TIME/DAY 569772\n", "1 PARK PROHIBITED TIME NO PERMIT 428476\n", "2 PARK FAIL TO DISPLAY RECEIPT 341828\n", "3 PARK/LEAVE ON PRIVATE PROPERTY 332757\n", "4 PARK FAIL TO DEP. FEE MACHINE 226683\n", "5 STOP HWY PROHIBITED TIME/DAY 184219\n", "6 PARK OVER 3 HOURS 114809\n", "7 STD VEH HWY PROHIB TIME/DAY 110473\n", "8 PARK HWY OVER PERMITTED TIME 102709\n", "9 PARK - 3 M OF FIRE HYDRANT 39711\n", "10 PARK ON 2AM-6AM DEC 1-MAR 31 34720\n", "11 STOP ON/OVER SIDEWALK/FOOTPATH 25447\n", "12 PARK IN PUBLIC LANE 24246\n", "13 PARK IN A FIRE ROUTE 21410\n", "14 PARKING MACH-NOT USED/NO FEE 19502\n", "15 STAND SIGNED TRANSIT STOP 18418\n", "16 PARK - ON BOULEVARD 16386\n", "17 PARK-PASSENGER/FREIGHT LOADING 16358\n", "18 PARK 9M OF INTERSCTING HIGHWAY 16032\n", "19 STOP VEH OTR THN BCYCL-BYCL LN 12955\n", "20 PARK/LEAVE ON MUNICIPAL PRPTY 10596\n", "21 PARK-FAIL TO DISPLAY PERMIT 7498\n", "22 PARK FAIL TO DEPOSIT FEE METER 6287\n", "23 STAND SIGNED TAXICAB STAND 6037\n", "24 PARK IN PARK NOT IN DESIG AREA 5999\n", "25 FAIL TO PARK/STOP PARA TO CURB 5738\n", "26 PARK - NOT WITHIN PERIOD 4881\n", "27 PARK OBSTRUCT DRIVE/LANE 4478\n", "28 FAIL TO PARK/STOP PARA RTHD HW 4376\n", "29 PARK IN DISABLED NO PERMIT 3888\n", "30 PARK CONTRARY POSTED CONDITION 3222\n", "31 STAND ON-ST DISABL LDG NO PRMT 2958\n", "32 PARK ON-STRT DISABLD NO PERMIT 2806\n", "33 STOP SIDE STOPPED/PARKED VEH 2607\n", "34 STOP WITHIN 9M OF CROSSWALK 1964\n", "35 PARK - BETWEEN ROAD & SIDEWALK 1761\n", "36 PARK VEHICLE IN CAR-SHARE AREA 1469\n", "37 PARK TRUCK HWY NO PERM TIME/DA 1365\n", "38 PARK VEHICLE OUTSIDE OF SPACE 1220\n", "39 STAND STR DISABL LDG NO DROPOF 991\n", "40 PARK HWY WITHN T-TYPE INTERSCT 786\n", "41 STAND BUS PROHIBITED TIME 710\n", "42 PARK VEHICLE ON ROADWAY 518\n", "43 PARK 60CM OF DRIVEWAY/LANEWAY 485\n", "44 PARK VEHICLE WHILE NOT IN PARK 424\n", "45 STAND ON-STRT DISABL NO PERMIT 398\n", "46 PARK/LEAVE CONTRARY TO SIGN 383\n", "47 PARK IN DISABLED NOT DROP OFF 354\n", "48 PARK VEHICLE-FOR SALE 299\n", "49 PARK/STOP OVER 30 CM FROM CURB 277\n", "50 PARK BUS PROHIBITED TIME 266\n", "51 PARK ON HWY UNDER 6M WIDE 254\n", "52 STAND DISABLD LDG NOT DROP OFF 243\n", "53 STOP ADJACENT TO CENTRE BLVD 228\n", "54 STAND IN DISABLED NOT DROP OFF 212\n", "55 STOP IN UNDERPASS 189\n", "56 PARK-HWY 15M TRM DEAD END ST. 185\n", "57 STOP WITHIN INTERSECTION/XWALK 177\n", "58 STOP/PARK/LEAVE/STAND CLSD ST 165\n", "59 STAND VEHICLE WHERE PROHIBITED 155\n", " ... ...\n", "\n", "[152 rows x 2 columns]" ] } ], "prompt_number": 37 }, { "cell_type": "code", "collapsed": false, "input": [ "infractions.to_csv(\"%s/infractions.csv\" % base, index=False)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 39 }, { "cell_type": "code", "collapsed": false, "input": [ "pd.isnull(df['time_of_infraction']).value_counts()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 40, "text": [ "False 2744426\n", "True 1728\n", "dtype: int64" ] } ], "prompt_number": 40 }, { "cell_type": "code", "collapsed": false, "input": [ "time_of_infraction = df['time_of_infraction']\n", "time_of_infraction" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 45, "text": [ "0 0\n", "1 1\n", "2 1\n", "3 1\n", "4 1\n", "5 2\n", "6 2\n", "7 2\n", "8 3\n", "9 3\n", "10 3\n", "11 3\n", "12 4\n", "13 4\n", "14 4\n", "...\n", "2746139 2328\n", "2746140 2336\n", "2746141 2337\n", "2746142 2338\n", "2746143 2338\n", "2746144 2340\n", "2746145 2341\n", "2746146 2342\n", "2746147 2342\n", "2746148 2346\n", "2746149 2347\n", "2746150 2358\n", "2746151 2358\n", "2746152 2359\n", "2746153 NaN\n", "Name: time_of_infraction, Length: 2746154, dtype: float64" ] } ], "prompt_number": 45 }, { "cell_type": "code", "collapsed": false, "input": [ "time_of_infraction.value_counts()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 46, "text": [ "1605 5297\n", "1607 4567\n", "1606 4442\n", "1608 4116\n", "1610 4095\n", "1535 4087\n", "1609 4056\n", "1135 4050\n", "1310 4005\n", "1305 3981\n", "1210 3902\n", "1230 3897\n", "1145 3888\n", "1220 3888\n", "1307 3883\n", "...\n", "601 100\n", "608 99\n", "606 99\n", "558 97\n", "613 97\n", "607 96\n", "609 96\n", "559 95\n", "617 95\n", "611 95\n", "616 95\n", "603 91\n", "604 86\n", "990 1\n", "290 1\n", "Length: 1442, dtype: int64" ] } ], "prompt_number": 46 }, { "cell_type": "code", "collapsed": false, "input": [ "time_of_infraction[time_of_infraction % 100 > 59]" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 49, "text": [ "772853 990\n", "2168884 290\n", "Name: time_of_infraction, dtype: float64" ] } ], "prompt_number": 49 }, { "cell_type": "code", "collapsed": false, "input": [ "time_of_infraction = time_of_infraction[time_of_infraction % 100 <= 59]\n", "time_counts = time_of_infraction.value_counts()\n", "time_counts" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 54, "text": [ "1605 5297\n", "1607 4567\n", "1606 4442\n", "1608 4116\n", "1610 4095\n", "1535 4087\n", "1609 4056\n", "1135 4050\n", "1310 4005\n", "1305 3981\n", "1210 3902\n", "1230 3897\n", "1220 3888\n", "1145 3888\n", "1307 3883\n", "...\n", "557 103\n", "614 101\n", "601 100\n", "608 99\n", "606 99\n", "558 97\n", "613 97\n", "609 96\n", "607 96\n", "616 95\n", "617 95\n", "611 95\n", "559 95\n", "603 91\n", "604 86\n", "Length: 1440, dtype: int64" ] } ], "prompt_number": 54 }, { "cell_type": "code", "collapsed": false, "input": [ "time_counts = time_of_infraction.value_counts(sort=False)\n", "time_counts" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 62, "text": [ "0 584\n", "1 907\n", "2 1074\n", "3 1366\n", "4 1581\n", "5 2869\n", "6 3137\n", "7 3264\n", "8 3166\n", "9 2997\n", "10 3184\n", "11 3055\n", "12 2875\n", "13 2825\n", "14 2706\n", "...\n", "2345 827\n", "2346 801\n", "2347 829\n", "2348 825\n", "2349 767\n", "2350 856\n", "2351 758\n", "2352 747\n", "2353 757\n", "2354 701\n", "2355 746\n", "2356 703\n", "2357 619\n", "2358 647\n", "2359 617\n", "Length: 1440, dtype: int64" ] } ], "prompt_number": 62 }, { "cell_type": "code", "collapsed": false, "input": [ "times = pd.DataFrame({ 'time': time_counts.keys(), 'count': time_counts.values })\n", "times = times.reindex_axis(sorted(times.columns, reverse=True), axis=1)\n", "times" ], "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", "
timecount
0 0 584
1 1 907
2 2 1074
3 3 1366
4 4 1581
5 5 2869
6 6 3137
7 7 3264
8 8 3166
9 9 2997
10 10 3184
11 11 3055
12 12 2875
13 13 2825
14 14 2706
15 15 2836
16 16 2788
17 17 2755
18 18 2663
19 19 2635
20 20 2755
21 21 2573
22 22 2579
23 23 2586
24 24 2456
25 25 2492
26 26 2458
27 27 2419
28 28 2376
29 29 2333
30 30 2477
31 31 2318
32 32 2264
33 33 2236
34 34 2130
35 35 2213
36 36 2203
37 37 2040
38 38 2047
39 39 2056
40 40 2108
41 41 2049
42 42 2021
43 43 1986
44 44 1954
45 45 2019
46 46 1969
47 47 1884
48 48 1926
49 49 1829
50 50 1901
51 51 1829
52 52 1855
53 53 1721
54 54 1750
55 55 1724
56 56 1761
57 57 1668
58 58 1687
59 59 1652
......
\n", "

1440 rows \u00d7 2 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 68, "text": [ " time count\n", "0 0 584\n", "1 1 907\n", "2 2 1074\n", "3 3 1366\n", "4 4 1581\n", "5 5 2869\n", "6 6 3137\n", "7 7 3264\n", "8 8 3166\n", "9 9 2997\n", "10 10 3184\n", "11 11 3055\n", "12 12 2875\n", "13 13 2825\n", "14 14 2706\n", "15 15 2836\n", "16 16 2788\n", "17 17 2755\n", "18 18 2663\n", "19 19 2635\n", "20 20 2755\n", "21 21 2573\n", "22 22 2579\n", "23 23 2586\n", "24 24 2456\n", "25 25 2492\n", "26 26 2458\n", "27 27 2419\n", "28 28 2376\n", "29 29 2333\n", "30 30 2477\n", "31 31 2318\n", "32 32 2264\n", "33 33 2236\n", "34 34 2130\n", "35 35 2213\n", "36 36 2203\n", "37 37 2040\n", "38 38 2047\n", "39 39 2056\n", "40 40 2108\n", "41 41 2049\n", "42 42 2021\n", "43 43 1986\n", "44 44 1954\n", "45 45 2019\n", "46 46 1969\n", "47 47 1884\n", "48 48 1926\n", "49 49 1829\n", "50 50 1901\n", "51 51 1829\n", "52 52 1855\n", "53 53 1721\n", "54 54 1750\n", "55 55 1724\n", "56 56 1761\n", "57 57 1668\n", "58 58 1687\n", "59 59 1652\n", " ... ...\n", "\n", "[1440 rows x 2 columns]" ] } ], "prompt_number": 68 }, { "cell_type": "code", "collapsed": false, "input": [ "times.dtypes" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 69, "text": [ "time object\n", "count int64\n", "dtype: object" ] } ], "prompt_number": 69 }, { "cell_type": "code", "collapsed": false, "input": [ "times['time'] = times.apply(lambda x: int(x['time']), axis=1)\n", "times" ], "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", "
timecount
0 0 584
1 1 907
2 2 1074
3 3 1366
4 4 1581
5 5 2869
6 6 3137
7 7 3264
8 8 3166
9 9 2997
10 10 3184
11 11 3055
12 12 2875
13 13 2825
14 14 2706
15 15 2836
16 16 2788
17 17 2755
18 18 2663
19 19 2635
20 20 2755
21 21 2573
22 22 2579
23 23 2586
24 24 2456
25 25 2492
26 26 2458
27 27 2419
28 28 2376
29 29 2333
30 30 2477
31 31 2318
32 32 2264
33 33 2236
34 34 2130
35 35 2213
36 36 2203
37 37 2040
38 38 2047
39 39 2056
40 40 2108
41 41 2049
42 42 2021
43 43 1986
44 44 1954
45 45 2019
46 46 1969
47 47 1884
48 48 1926
49 49 1829
50 50 1901
51 51 1829
52 52 1855
53 53 1721
54 54 1750
55 55 1724
56 56 1761
57 57 1668
58 58 1687
59 59 1652
......
\n", "

1440 rows \u00d7 2 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 70, "text": [ " time count\n", "0 0 584\n", "1 1 907\n", "2 2 1074\n", "3 3 1366\n", "4 4 1581\n", "5 5 2869\n", "6 6 3137\n", "7 7 3264\n", "8 8 3166\n", "9 9 2997\n", "10 10 3184\n", "11 11 3055\n", "12 12 2875\n", "13 13 2825\n", "14 14 2706\n", "15 15 2836\n", "16 16 2788\n", "17 17 2755\n", "18 18 2663\n", "19 19 2635\n", "20 20 2755\n", "21 21 2573\n", "22 22 2579\n", "23 23 2586\n", "24 24 2456\n", "25 25 2492\n", "26 26 2458\n", "27 27 2419\n", "28 28 2376\n", "29 29 2333\n", "30 30 2477\n", "31 31 2318\n", "32 32 2264\n", "33 33 2236\n", "34 34 2130\n", "35 35 2213\n", "36 36 2203\n", "37 37 2040\n", "38 38 2047\n", "39 39 2056\n", "40 40 2108\n", "41 41 2049\n", "42 42 2021\n", "43 43 1986\n", "44 44 1954\n", "45 45 2019\n", "46 46 1969\n", "47 47 1884\n", "48 48 1926\n", "49 49 1829\n", "50 50 1901\n", "51 51 1829\n", "52 52 1855\n", "53 53 1721\n", "54 54 1750\n", "55 55 1724\n", "56 56 1761\n", "57 57 1668\n", "58 58 1687\n", "59 59 1652\n", " ... ...\n", "\n", "[1440 rows x 2 columns]" ] } ], "prompt_number": 70 }, { "cell_type": "code", "collapsed": false, "input": [ "times.to_csv(\"%s/times.csv\" % base, index=False)" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 71 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }