{ "metadata": { "name": "", "signature": "sha256:f0dae3c22c9187b952693d90de2ba757bad87e800605f975e2d9382e3e84ce9e" }, "nbformat": 3, "nbformat_minor": 0, "worksheets": [ { "cells": [ { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "BPD Salaries and Overtime Analysis" ] }, { "cell_type": "markdown", "metadata": {}, "source": [ "Data obtained from Open Baltimore.\n", "\n", "Justin Elszasz
\n", "04.21.2015" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import pandas as pd\n", "import glob\n", "import plotly.plotly as py\n", "from plotly.graph_objs import *\n", "\n", "gray_light = '#bbbbbb'\n", "gray_med = '#737373'\n", "red_orange = '#ff3700'" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 73 }, { "cell_type": "code", "collapsed": false, "input": [ "# Import datasets for each year\n", "sal11 = pd.read_csv('Baltimore_City_Employee_Salaries_FY2011.csv',index_col=0)\n", "sal12 = pd.read_csv('Baltimore_City_Employee_Salaries_FY2012.csv',index_col=0)\n", "sal13 = pd.read_csv('Baltimore_City_Employee_Salaries_FY2013.csv',index_col=0,names=sal12.columns,skiprows=0)\n", "sal14 = pd.read_csv('Baltimore_City_Employee_Salaries_FY2014.csv',index_col=0)\n", "\n", "# For some awful reason the 2013 is labeled differently than 2012 and 2014\n", "sal13['Agency'] = sal13['Agency'].str.replace(r'Police Department.+', 'Police Department ')\n", "\n", "# Select only police department employees\n", "all_police11 = sal11[sal11['Agency']=='Police Department']\n", "all_police12 = sal12[sal12['Agency']=='Police Department ']\n", "all_police13 = sal13[sal13['Agency']=='Police Department ']\n", "all_police14 = sal14[sal14['Agency']=='Police Department ']\n", "\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 74 }, { "cell_type": "code", "collapsed": false, "input": [ "all_police11.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", "
JobTitleAgencyIDAgencyHireDateAnnualSalaryGrossPay
Name
Abdi,Ezekiel W POLICE OFFICER A99398 Police Department 06/14/2007 $50919.00 $51421.73
Abdullahi,Sharon M 911 OPERATOR A99371 Police Department 06/10/2004 $37677.00 $36844.61
Abell,Paul L POLICE COMMAND STAFF I A99410 Police Department 01/13/1981 $95000.00 $79389.60
Acevedo,Ariel J POLICE OFFICER A99165 Police Department 08/16/2007 $58815.00 $60792.14
Ackiss,Deana M POLICE OFFICER (EID) A99001 Police Department 01/04/2000 $61990.00 $54743.28
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 75, "text": [ " JobTitle AgencyID Agency \\\n", "Name \n", "Abdi,Ezekiel W POLICE OFFICER A99398 Police Department \n", "Abdullahi,Sharon M 911 OPERATOR A99371 Police Department \n", "Abell,Paul L POLICE COMMAND STAFF I A99410 Police Department \n", "Acevedo,Ariel J POLICE OFFICER A99165 Police Department \n", "Ackiss,Deana M POLICE OFFICER (EID) A99001 Police Department \n", "\n", " HireDate AnnualSalary GrossPay \n", "Name \n", "Abdi,Ezekiel W 06/14/2007 $50919.00 $51421.73 \n", "Abdullahi,Sharon M 06/10/2004 $37677.00 $36844.61 \n", "Abell,Paul L 01/13/1981 $95000.00 $79389.60 \n", "Acevedo,Ariel J 08/16/2007 $58815.00 $60792.14 \n", "Ackiss,Deana M 01/04/2000 $61990.00 $54743.28 " ] } ], "prompt_number": 75 }, { "cell_type": "code", "collapsed": false, "input": [ "# List all job titles (2014)\n", "BPD_job_titles = pd.DataFrame(zeros(len(all_police14.groupby('JobTitle').groups)),columns=['job_titles'])\n", "BPD_gb_job_titles = all_police14.groupby('JobTitle')\n", "for i, j in enumerate(BPD_gb_job_titles.groups):\n", " BPD_job_titles['job_titles'].ix[i] = j\n", " \n", "BPD_job_titles.sort('job_titles',ascending=True,inplace=True)\n", "list(BPD_job_titles['job_titles'])" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 76, "text": [ "['ACCOUNTANT II',\n", " 'ACCOUNTANT SUPV',\n", " 'ACCOUNTING ASST III',\n", " 'ANALYST/PROGRAMMER II',\n", " 'AVIATION MECHANIC',\n", " 'AVIATION MECHANIC INSPECTOR (A',\n", " 'AVIONICS TECHNICIAN',\n", " 'Aviation Maintenance Prgm Supv',\n", " 'BPD',\n", " 'BPD ',\n", " 'CENTRAL RECORDS SHIFT SUPV',\n", " 'CHIEF OF FISCAL SERVICES I',\n", " 'COMMUNICATIONS ANALYST I',\n", " 'COMMUNITY SERVICE OFFICER',\n", " 'COMPUTER OPERATOR III',\n", " 'COMPUTER OPERATOR IV',\n", " 'CONTRACT SERV SPEC II',\n", " 'CONTRACT SERVICES SPEC. I',\n", " 'CRIME LAB QUALITY OFFICER',\n", " 'CRIME LABORATORY PHOTOGRAPHER',\n", " 'CRIME LABORATORY TECH SUPV',\n", " 'CRIME LABORATORY TECHNICIAN I',\n", " 'CRIME LABORATORY TECHNICIAN II',\n", " 'CRIME RECORD TECHNICIAN',\n", " 'CRIMINAL JUSTICE ASSOCIATE',\n", " 'CRIMINALIST I',\n", " 'CRIMINALIST II',\n", " 'Crime Laboratory Assistant',\n", " 'Criminalist III Drug Analysis',\n", " 'Criminalist Supv Drug Analysis',\n", " 'Criminalist Supv Trace Analysi',\n", " 'DATA ENTRY OPERATOR III',\n", " 'DATA ENTRY OPERATOR II',\n", " 'DATA ENTRY SUPERVISOR I',\n", " 'EXECUTIVE LEVEL III',\n", " 'FINGERPRINT SECTION MANAGER',\n", " 'FINGERPRINT TECHNICIAN',\n", " 'FINGERPRINT TECHNICIAN SUPERVI',\n", " 'FIREARMS EXAMINER',\n", " 'FIREARMS EXAMINER SUPERVISOR',\n", " 'FISCAL TECH',\n", " 'FISCAL TECHNICIAN',\n", " 'FORENSIC ARTIST',\n", " 'Grant Services Specialist II',\n", " 'HOSTLER',\n", " 'HR Generalist II',\n", " 'LATENT PRINT EXAMINER',\n", " 'LATENT PRINT EXAMINER SUPV',\n", " 'LEGAL ASSISTANT I',\n", " 'MOTOR POOL SUPV',\n", " 'MOTOR POOL WORKER I',\n", " 'MOTOR POOL WORKER II',\n", " 'OFFICE ASSISTANT II',\n", " 'OFFICE ASSISTANT III',\n", " 'OFFICE SUPERVISOR',\n", " 'POLICE CADET',\n", " 'POLICE COMMAND STAFF I',\n", " 'POLICE COMMAND STAFF II',\n", " 'POLICE FLIGHT OFFICER',\n", " 'POLICE FLIGHT OFFICER EID',\n", " 'POLICE HUMAN RESOURCES ASSOCIA',\n", " 'POLICE INFORMATION LEAD TECH',\n", " 'POLICE INFORMATION TECH SUPV',\n", " 'POLICE INFORMATION TECHNICIAN',\n", " 'POLICE LIEUTENANT',\n", " 'POLICE LIEUTENANT EID',\n", " 'POLICE OFFICER',\n", " 'POLICE OFFICER (EID)',\n", " 'POLICE OFFICER TRAINEE',\n", " 'POLICE REPORT REVIEWER',\n", " 'POLICE REPORT REVIEWER SUPV',\n", " 'POLICE SERGEANT',\n", " 'POLICE SERGEANT EID',\n", " 'PURCHASING ASSISTANT',\n", " 'RADIO MAINT TECH II',\n", " 'RADIO MAINT TECH SUPV',\n", " 'RESEARCH ANALYST II',\n", " 'RESEARCH ANALYST SUPV',\n", " 'SECRETARY III',\n", " 'SPECIAL ASSISTANT',\n", " 'STOREKEEPER I',\n", " 'SYSTEMS PROGRAMMER III',\n", " 'TYPIST II',\n", " 'TYPIST III',\n", " 'WORD PROCESSING OPERATOR III']" ] } ], "prompt_number": 76 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Parse and do some calcs." ] }, { "cell_type": "code", "collapsed": false, "input": [ "def remove_dollar_sign(df_col):\n", " parsed_df_col = df_col.str.replace(\"$\",\"\").apply(lambda x: float(x))\n", " return parsed_df_col\n", "\n", "def parse(df):\n", " df['PAnnualSalary'] = remove_dollar_sign(df['AnnualSalary'])\n", " df['PGrossPay'] = remove_dollar_sign(df['GrossPay'])\n", " df['PayRatio'] = df['PGrossPay'] / df['PAnnualSalary']\n", " df['PayDiff'] = df['PGrossPay'] - df['PAnnualSalary']\n", " #df = df[df['PayRatio']>=1]\n", " return df\n", "\n", "def police_groups(all_police):\n", " officers = all_police[(all_police['JobTitle'] == 'POLICE OFFICER') | (all_police['JobTitle'] == 'POLICE OFFICER (EID)')]\n", " other_police= all_police[(all_police['JobTitle'] != 'POLICE OFFICER') & (all_police['JobTitle'] != 'POLICE OFFICER (EID)')]\n", " return officers, other_police" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 77 }, { "cell_type": "code", "collapsed": false, "input": [ "all_police11_full_salary_paid = parse(all_police11)\n", "all_police12_full_salary_paid = parse(all_police12)\n", "all_police13_full_salary_paid = parse(all_police13)\n", "all_police14_full_salary_paid = parse(all_police14)\n", "\n", "all_police_dfs = {'2011':all_police11_full_salary_paid,\n", " '2012':all_police12_full_salary_paid,\n", " '2013':all_police13_full_salary_paid,\n", " '2014':all_police14_full_salary_paid}\n", "field_names=['AvgSalary','AvgPayRatio','AvgPayDiff','TotalPayDiff','MaxPayDiff','MaxPayRatio','EmployeeCount']" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 78 }, { "cell_type": "code", "collapsed": false, "input": [ "'''this = all_police14\n", "print len(this)\n", "print len(this[this['PGrossPay']>=this['PAnnualSalary']])\n", "print float(len(this[this['PGrossPay']>=this['PAnnualSalary']]))/float(len(this))\n", "\n", "'''" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 79, "text": [ "\"this = all_police14\\nprint len(this)\\nprint len(this[this['PGrossPay']>=this['PAnnualSalary']])\\nprint float(len(this[this['PGrossPay']>=this['PAnnualSalary']]))/float(len(this))\\n\\n\"" ] } ], "prompt_number": 79 }, { "cell_type": "code", "collapsed": false, "input": [ "'''\n", "print all_police11['PayRatio'].median()\n", "print all_police12['PayRatio'].median()\n", "print all_police13['PayRatio'].median()\n", "print all_police14['PayRatio'].median()\n", "'''\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 80, "text": [ "\"\\nprint all_police11['PayRatio'].median()\\nprint all_police12['PayRatio'].median()\\nprint all_police13['PayRatio'].median()\\nprint all_police14['PayRatio'].median()\\n\"" ] } ], "prompt_number": 80 }, { "cell_type": "code", "collapsed": false, "input": [ "def calc_row_metrics(workforce, year): \n", "\n", " metrics_row = pd.DataFrame(zeros([1,len(field_names)]),columns=field_names)\n", " \n", " # average salary\n", " metrics_row['AvgSalary'] = workforce['PAnnualSalary'].mean()\n", " # average pay ratio\n", " metrics_row['AvgPayRatio'] = workforce['PayRatio'].mean()\n", " # average pay diff\n", " metrics_row['AvgPayDiff'] = workforce['PayDiff'].mean()\n", " # max pay ratio\n", " metrics_row['MaxPayRatio'] = workforce['PayRatio'].max()\n", " # total pay diff\n", " metrics_row['TotalPayDiff'] = workforce['PayDiff'].sum()\n", " # max pay diff\n", " metrics_row['MaxPayDiff'] = workforce['PayDiff'].max()\n", " # BPD employee count\n", " metrics_row['EmployeeCount'] = len(workforce)\n", " return metrics_row\n", "\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 81 }, { "cell_type": "code", "collapsed": false, "input": [ "def calc_some_metrics():\n", "\n", " index = [2011,2012,2013,2014]\n", " all_police_metrics = pd.DataFrame(zeros([len(index),len(field_names)]), index=index, columns=field_names) \n", " officers_metrics = pd.DataFrame(zeros([len(index),len(field_names)]), index=index, columns=field_names)\n", " other_police_metrics = pd.DataFrame(zeros([len(index),len(field_names)]), index=index, columns=field_names)\n", " \n", " for i, j in enumerate(all_police_dfs):\n", " \n", " officers, other_police = police_groups(all_police_dfs[str(j)])\n", " \n", " all_police_metrics.ix[float(j)] = calc_row_metrics(all_police_dfs[str(j)],j).ix[0]\n", " officers_metrics.ix[float(j)] = calc_row_metrics(officers,j).ix[0]\n", " other_police_metrics.ix[float(j)] = calc_row_metrics(other_police,j).ix[0]\n", "\n", " \n", " return all_police_metrics, officers_metrics, other_police_metrics\n", " " ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 82 }, { "cell_type": "code", "collapsed": false, "input": [ "officers, other_police = police_groups(all_police_dfs[str(2012)])" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 83 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 83 }, { "cell_type": "code", "collapsed": false, "input": [ "all_police_metrics, officers_metrics, other_police_metrics = calc_some_metrics()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 84 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "All Police" ] }, { "cell_type": "code", "collapsed": false, "input": [ "all_police_metrics" ], "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", "
AvgSalaryAvgPayRatioAvgPayDiffTotalPayDiffMaxPayDiffMaxPayRatioEmployeeCount
2011 58597.219186 0.981903 -378.623223 -1297920.41 89832.35 2.280101 3428
2012 59939.296748 1.085153 6030.127476 20954692.98 89643.26 2.368964 3475
2013 60452.371324 1.145685 9848.341056 32273013.64 110375.81 2.637478 3278
2014 61670.920274 1.133030 9464.794162 30315735.70 100864.84 2.447176 3211
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 85, "text": [ " AvgSalary AvgPayRatio AvgPayDiff TotalPayDiff MaxPayDiff \\\n", "2011 58597.219186 0.981903 -378.623223 -1297920.41 89832.35 \n", "2012 59939.296748 1.085153 6030.127476 20954692.98 89643.26 \n", "2013 60452.371324 1.145685 9848.341056 32273013.64 110375.81 \n", "2014 61670.920274 1.133030 9464.794162 30315735.70 100864.84 \n", "\n", " MaxPayRatio EmployeeCount \n", "2011 2.280101 3428 \n", "2012 2.368964 3475 \n", "2013 2.637478 3278 \n", "2014 2.447176 3211 " ] } ], "prompt_number": 85 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Police Officers" ] }, { "cell_type": "code", "collapsed": false, "input": [ "officers_metrics" ], "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", "
AvgSalaryAvgPayRatioAvgPayDiffTotalPayDiffMaxPayDiffMaxPayRatioEmployeeCount
2011 57646.267126 1.008359 1011.707251 2348172.53 89832.35 2.280101 2321
2012 59535.838783 1.144648 8916.274591 19633636.65 89643.26 2.252351 2202
2013 59720.163444 1.201451 12309.718536 26736708.66 110375.81 2.637478 2172
2014 61102.625236 1.190496 11988.105865 25366832.01 100864.84 2.447176 2116
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 86, "text": [ " AvgSalary AvgPayRatio AvgPayDiff TotalPayDiff MaxPayDiff \\\n", "2011 57646.267126 1.008359 1011.707251 2348172.53 89832.35 \n", "2012 59535.838783 1.144648 8916.274591 19633636.65 89643.26 \n", "2013 59720.163444 1.201451 12309.718536 26736708.66 110375.81 \n", "2014 61102.625236 1.190496 11988.105865 25366832.01 100864.84 \n", "\n", " MaxPayRatio EmployeeCount \n", "2011 2.280101 2321 \n", "2012 2.252351 2202 \n", "2013 2.637478 2172 \n", "2014 2.447176 2116 " ] } ], "prompt_number": 86 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Other Police (All Except Officers)" ] }, { "cell_type": "code", "collapsed": false, "input": [ "other_police_metrics" ], "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", "
AvgSalaryAvgPayRatioAvgPayDiffTotalPayDiffMaxPayDiffMaxPayRatioEmployeeCount
2011 60591.040081 0.926436-3293.670226-3646092.94 54685.15 2.150879 1107
2012 60637.187117 0.982240 1037.750456 1321056.33 82441.75 2.368964 1273
2013 61890.305787 1.036071 5010.230751 5536304.98 76005.00 2.008586 1106
2014 62769.105023 1.021165 4552.809282 4948903.69 85280.21 2.177368 1095
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 87, "text": [ " AvgSalary AvgPayRatio AvgPayDiff TotalPayDiff MaxPayDiff \\\n", "2011 60591.040081 0.926436 -3293.670226 -3646092.94 54685.15 \n", "2012 60637.187117 0.982240 1037.750456 1321056.33 82441.75 \n", "2013 61890.305787 1.036071 5010.230751 5536304.98 76005.00 \n", "2014 62769.105023 1.021165 4552.809282 4948903.69 85280.21 \n", "\n", " MaxPayRatio EmployeeCount \n", "2011 2.150879 1107 \n", "2012 2.368964 1273 \n", "2013 2.008586 1106 \n", "2014 2.177368 1095 " ] } ], "prompt_number": 87 }, { "cell_type": "heading", "level": 2, "metadata": {}, "source": [ "Top 20 Bonus Earners" ] }, { "cell_type": "code", "collapsed": false, "input": [ "# Looking at the police with the largest bonuses\n", "Top20_11 = all_police11.sort('PayDiff', ascending=False)[:20]\n", "Top20_12 = all_police12.sort('PayDiff', ascending=False)[:20]\n", "Top20_13 = all_police13.sort('PayDiff', ascending=False)[:20]\n", "Top20_14 = all_police14.sort('PayDiff', ascending=False)[:20]\n", "\n", "# Metrics for the top 20\n", "def calc_some_metrics_top20():\n", " \n", " Top20_dfs = {2011: Top20_11, 2012: Top20_12, 2013: Top20_13, 2014: Top20_14}\n", " Top20_metrics = pd.DataFrame(zeros([4,len(field_names)]), index=[2011,2012,2013,2014], columns=field_names) \n", " \n", " for i, j in enumerate(Top20_dfs):\n", " Top20_metrics.ix[j] = calc_row_metrics(Top20_dfs[j],j).ix[0]\n", " \n", " return Top20_metrics\n", "\n", "Top20_metrics = calc_some_metrics_top20()" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 88 }, { "cell_type": "code", "collapsed": false, "input": [ "Top20_metrics" ], "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", "
AvgSalaryAvgPayRatioAvgPayDiffTotalPayDiffMaxPayDiffMaxPayRatioEmployeeCount
2011 64996.45 1.814431 52827.2670 1056545.34 89832.35 2.280101 20
2012 67812.10 1.973002 65746.6155 1314932.31 89643.26 2.252351 20
2013 71915.25 2.022551 72248.5615 1444971.23 110375.81 2.637478 20
2014 73593.15 2.045570 75441.0445 1508820.89 100864.84 2.447176 20
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 89, "text": [ " AvgSalary AvgPayRatio AvgPayDiff TotalPayDiff MaxPayDiff \\\n", "2011 64996.45 1.814431 52827.2670 1056545.34 89832.35 \n", "2012 67812.10 1.973002 65746.6155 1314932.31 89643.26 \n", "2013 71915.25 2.022551 72248.5615 1444971.23 110375.81 \n", "2014 73593.15 2.045570 75441.0445 1508820.89 100864.84 \n", "\n", " MaxPayRatio EmployeeCount \n", "2011 2.280101 20 \n", "2012 2.252351 20 \n", "2013 2.637478 20 \n", "2014 2.447176 20 " ] } ], "prompt_number": 89 }, { "cell_type": "code", "collapsed": false, "input": [ "Top20_11" ], "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", "
JobTitleAgencyIDAgencyHireDateAnnualSalaryGrossPayPAnnualSalaryPGrossPayPayRatioPayDiff
Name
Marcus Sr,Albert M POLICE OFFICER (EID) A99322 Police Department 02/03/1975 $70176.00 $160008.35 70176 160008.35 2.280101 89832.35
Pitocchelli,Julie A POLICE OFFICER (EID) A99330 Police Department 10/03/1994 $64913.00 $133203.80 64913 133203.80 2.052036 68290.80
Makanjuola,Rafiu T POLICE OFFICER (EID) A99061 Police Department 07/30/1997 $63159.00 $124478.47 63159 124478.47 1.970875 61319.47
Southard,Paul R POLICE OFFICER A99094 Police Department 08/31/2000 $59958.00 $118494.56 59958 118494.56 1.976293 58536.56
McCarty,Andrew M POLICE OFFICER (EID) A99121 Police Department 02/13/1999 $62549.00 $118026.60 62549 118026.60 1.886946 55477.60
Kratz,Brian D Police Sergeant EID A99002 Police Department 09/30/1996 $73395.00 $128080.15 73395 128080.15 1.745080 54685.15
BPD 19 BPD A99 Police Department NaN $72737.00 $126948.27 72737 126948.27 1.745305 54211.27
Nicholson,Daniel T POLICE OFFICER A99322 Police Department 10/31/1994 $63384.00 $117506.74 63384 117506.74 1.853886 54122.74
Wade,Chris A POLICE OFFICER A99065 Police Department 01/08/1987 $67953.00 $120742.96 67953 120742.96 1.776860 52789.96
Hopson,Antonnio R POLICE OFFICER A99201 Police Department 04/26/2001 $60529.00 $112834.27 60529 112834.27 1.864136 52305.27
Yost,Raymond D POLICE OFFICER A99322 Police Department 07/12/1993 $63955.00 $113519.97 63955 113519.97 1.774998 49564.97
Lloyd,James A POLICE OFFICER (EID) A99322 Police Department 06/26/2000 $60819.00 $109227.03 60819 109227.03 1.795936 48408.03
Molinaro,Eugene S POLICE OFFICER A99398 Police Department 08/17/1995 $62814.00 $110448.70 62814 110448.70 1.758345 47634.70
Tinsley,Latosha N POLICE OFFICER A99070 Police Department 10/20/2001 $58815.00 $105041.82 58815 105041.82 1.785970 46226.82
Irwin,Barry W POLICE OFFICER A99312 Police Department 11/05/1981 $68523.00 $113823.76 68523 113823.76 1.661103 45300.76
Reichenberg,Shawn M POLICE OFFICER A99322 Police Department 09/09/1993 $63955.00 $108440.86 63955 108440.86 1.695581 44485.86
Stach,Timothy J POLICE OFFICER A99398 Police Department 12/13/1996 $62242.00 $106341.97 62242 106341.97 1.708524 44099.97
BPD 74 BPD A99 Police Department NaN $62814.00 $106435.88 62814 106435.88 1.694461 43621.88
Min,Julian J POLICE OFFICER (EID) A99322 Police Department 12/20/2000 $61406.00 $104329.32 61406 104329.32 1.699009 42923.32
Rhoden,James Police Sergeant EID A99333 Police Department 07/23/1992 $75833.00 $118540.86 75833 118540.86 1.563183 42707.86
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 90, "text": [ " JobTitle AgencyID Agency \\\n", "Name \n", "Marcus Sr,Albert M POLICE OFFICER (EID) A99322 Police Department \n", "Pitocchelli,Julie A POLICE OFFICER (EID) A99330 Police Department \n", "Makanjuola,Rafiu T POLICE OFFICER (EID) A99061 Police Department \n", "Southard,Paul R POLICE OFFICER A99094 Police Department \n", "McCarty,Andrew M POLICE OFFICER (EID) A99121 Police Department \n", "Kratz,Brian D Police Sergeant EID A99002 Police Department \n", "BPD 19 BPD A99 Police Department \n", "Nicholson,Daniel T POLICE OFFICER A99322 Police Department \n", "Wade,Chris A POLICE OFFICER A99065 Police Department \n", "Hopson,Antonnio R POLICE OFFICER A99201 Police Department \n", "Yost,Raymond D POLICE OFFICER A99322 Police Department \n", "Lloyd,James A POLICE OFFICER (EID) A99322 Police Department \n", "Molinaro,Eugene S POLICE OFFICER A99398 Police Department \n", "Tinsley,Latosha N POLICE OFFICER A99070 Police Department \n", "Irwin,Barry W POLICE OFFICER A99312 Police Department \n", "Reichenberg,Shawn M POLICE OFFICER A99322 Police Department \n", "Stach,Timothy J POLICE OFFICER A99398 Police Department \n", "BPD 74 BPD A99 Police Department \n", "Min,Julian J POLICE OFFICER (EID) A99322 Police Department \n", "Rhoden,James Police Sergeant EID A99333 Police Department \n", "\n", " HireDate AnnualSalary GrossPay PAnnualSalary \\\n", "Name \n", "Marcus Sr,Albert M 02/03/1975 $70176.00 $160008.35 70176 \n", "Pitocchelli,Julie A 10/03/1994 $64913.00 $133203.80 64913 \n", "Makanjuola,Rafiu T 07/30/1997 $63159.00 $124478.47 63159 \n", "Southard,Paul R 08/31/2000 $59958.00 $118494.56 59958 \n", "McCarty,Andrew M 02/13/1999 $62549.00 $118026.60 62549 \n", "Kratz,Brian D 09/30/1996 $73395.00 $128080.15 73395 \n", "BPD 19 NaN $72737.00 $126948.27 72737 \n", "Nicholson,Daniel T 10/31/1994 $63384.00 $117506.74 63384 \n", "Wade,Chris A 01/08/1987 $67953.00 $120742.96 67953 \n", "Hopson,Antonnio R 04/26/2001 $60529.00 $112834.27 60529 \n", "Yost,Raymond D 07/12/1993 $63955.00 $113519.97 63955 \n", "Lloyd,James A 06/26/2000 $60819.00 $109227.03 60819 \n", "Molinaro,Eugene S 08/17/1995 $62814.00 $110448.70 62814 \n", "Tinsley,Latosha N 10/20/2001 $58815.00 $105041.82 58815 \n", "Irwin,Barry W 11/05/1981 $68523.00 $113823.76 68523 \n", "Reichenberg,Shawn M 09/09/1993 $63955.00 $108440.86 63955 \n", "Stach,Timothy J 12/13/1996 $62242.00 $106341.97 62242 \n", "BPD 74 NaN $62814.00 $106435.88 62814 \n", "Min,Julian J 12/20/2000 $61406.00 $104329.32 61406 \n", "Rhoden,James 07/23/1992 $75833.00 $118540.86 75833 \n", "\n", " PGrossPay PayRatio PayDiff \n", "Name \n", "Marcus Sr,Albert M 160008.35 2.280101 89832.35 \n", "Pitocchelli,Julie A 133203.80 2.052036 68290.80 \n", "Makanjuola,Rafiu T 124478.47 1.970875 61319.47 \n", "Southard,Paul R 118494.56 1.976293 58536.56 \n", "McCarty,Andrew M 118026.60 1.886946 55477.60 \n", "Kratz,Brian D 128080.15 1.745080 54685.15 \n", "BPD 19 126948.27 1.745305 54211.27 \n", "Nicholson,Daniel T 117506.74 1.853886 54122.74 \n", "Wade,Chris A 120742.96 1.776860 52789.96 \n", "Hopson,Antonnio R 112834.27 1.864136 52305.27 \n", "Yost,Raymond D 113519.97 1.774998 49564.97 \n", "Lloyd,James A 109227.03 1.795936 48408.03 \n", "Molinaro,Eugene S 110448.70 1.758345 47634.70 \n", "Tinsley,Latosha N 105041.82 1.785970 46226.82 \n", "Irwin,Barry W 113823.76 1.661103 45300.76 \n", "Reichenberg,Shawn M 108440.86 1.695581 44485.86 \n", "Stach,Timothy J 106341.97 1.708524 44099.97 \n", "BPD 74 106435.88 1.694461 43621.88 \n", "Min,Julian J 104329.32 1.699009 42923.32 \n", "Rhoden,James 118540.86 1.563183 42707.86 " ] } ], "prompt_number": 90 }, { "cell_type": "code", "collapsed": false, "input": [ "other_police.sort('PayDiff',ascending=False)[:20]" ], "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", "
JobTitleAgencyIDAgencyHireDateAnnualSalaryGrossPayPAnnualSalaryPGrossPayPayRatioPayDiff
name
Camarote,Marc J POLICE SERGEANT EID A99264 Police Department 10/03/1996 $74863.00 $157304.75 74863 157304.75 2.101235 82441.75
Nalewajko Jr,Stephen C POLICE LIEUTENANT EID A99264 Police Department 08/21/1981 $93223.00 $166220.89 93223 166220.89 1.783046 72997.89
Mezan,Scott M POLICE LIEUTENANT EID A99304 Police Department 05/11/1993 $88565.00 $141410.31 88565 141410.31 1.596684 52845.31
Danielczyk,Scott T POLICE SERGEANT EID A99348 Police Department 12/19/1994 $76043.00 $128499.20 76043 128499.20 1.689823 52456.20
Kratz,Brian D POLICE SERGEANT EID A99002 Police Department 09/30/1996 $75358.00 $125827.86 75358 125827.86 1.669735 50469.86
Rhoden,James POLICE SERGEANT EID A99333 Police Department 07/23/1992 $78035.00 $128085.03 78035 128085.03 1.641379 50050.03
Stephens,Warren J POLICE SERGEANT A99226 Police Department 07/06/1994 $75679.00 $125128.60 75679 125128.60 1.653412 49449.60
Burrus,Torran D POLICE SERGEANT EID A99295 Police Department 01/02/1996 $74863.00 $122545.42 74863 122545.42 1.636929 47682.42
Jones,Keith T POLICE SERGEANT A99322 Police Department 10/16/1997 $73812.00 $120996.82 73812 120996.82 1.639257 47184.82
Brandford,Stanley POLICE LIEUTENANT A99322 Police Department 11/21/1990 $89039.00 $135884.14 89039 135884.14 1.526119 46845.14
Burns Jr,John E POLICE SERGEANT A99070 Police Department 03/27/2001 $71574.00 $118073.34 71574 118073.34 1.649668 46499.34
Coe,Robert M HOSTLER A99313 Police Department 07/09/1979 $33055.00 $78306.12 33055 78306.12 2.368964 45251.12
Schmidt,Charles T POLICE SERGEANT A99201 Police Department 03/23/1993 $76985.00 $121822.35 76985 121822.35 1.582417 44837.35
Collins,Darryl T POLICE SERGEANT EID A99223 Police Department 01/16/1990 $80081.00 $124529.79 80081 124529.79 1.555048 44448.79
BPD 13 BPD 13 A99 Police Department NaN $61157.00 $104830.63 61157 104830.63 1.714123 43673.63
Swinton,Dwayne L POLICE SERGEANT A99065 Police Department 10/23/1990 $78327.00 $120712.02 78327 120712.02 1.541129 42385.02
Mistysyn Jr,Thomas POLICE SERGEANT A99036 Police Department 05/22/1990 $79031.00 $120754.18 79031 120754.18 1.527934 41723.18
Bradshaw,Donald V POLICE SERGEANT A99032 Police Department 09/18/1992 $76985.00 $118660.76 76985 118660.76 1.541349 41675.76
Williams,Charles D POLICE LIEUTENANT A99034 Police Department 05/21/1987 $92172.00 $133002.62 92172 133002.62 1.442983 40830.62
Glanville,Kimberly W POLICE SERGEANT EID A99064 Police Department 01/14/1997 $75358.00 $114997.83 75358 114997.83 1.526020 39639.83
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 91, "text": [ " JobTitle AgencyID Agency \\\n", "name \n", "Camarote,Marc J POLICE SERGEANT EID A99264 Police Department \n", "Nalewajko Jr,Stephen C POLICE LIEUTENANT EID A99264 Police Department \n", "Mezan,Scott M POLICE LIEUTENANT EID A99304 Police Department \n", "Danielczyk,Scott T POLICE SERGEANT EID A99348 Police Department \n", "Kratz,Brian D POLICE SERGEANT EID A99002 Police Department \n", "Rhoden,James POLICE SERGEANT EID A99333 Police Department \n", "Stephens,Warren J POLICE SERGEANT A99226 Police Department \n", "Burrus,Torran D POLICE SERGEANT EID A99295 Police Department \n", "Jones,Keith T POLICE SERGEANT A99322 Police Department \n", "Brandford,Stanley POLICE LIEUTENANT A99322 Police Department \n", "Burns Jr,John E POLICE SERGEANT A99070 Police Department \n", "Coe,Robert M HOSTLER A99313 Police Department \n", "Schmidt,Charles T POLICE SERGEANT A99201 Police Department \n", "Collins,Darryl T POLICE SERGEANT EID A99223 Police Department \n", "BPD 13 BPD 13 A99 Police Department \n", "Swinton,Dwayne L POLICE SERGEANT A99065 Police Department \n", "Mistysyn Jr,Thomas POLICE SERGEANT A99036 Police Department \n", "Bradshaw,Donald V POLICE SERGEANT A99032 Police Department \n", "Williams,Charles D POLICE LIEUTENANT A99034 Police Department \n", "Glanville,Kimberly W POLICE SERGEANT EID A99064 Police Department \n", "\n", " HireDate AnnualSalary GrossPay PAnnualSalary \\\n", "name \n", "Camarote,Marc J 10/03/1996 $74863.00 $157304.75 74863 \n", "Nalewajko Jr,Stephen C 08/21/1981 $93223.00 $166220.89 93223 \n", "Mezan,Scott M 05/11/1993 $88565.00 $141410.31 88565 \n", "Danielczyk,Scott T 12/19/1994 $76043.00 $128499.20 76043 \n", "Kratz,Brian D 09/30/1996 $75358.00 $125827.86 75358 \n", "Rhoden,James 07/23/1992 $78035.00 $128085.03 78035 \n", "Stephens,Warren J 07/06/1994 $75679.00 $125128.60 75679 \n", "Burrus,Torran D 01/02/1996 $74863.00 $122545.42 74863 \n", "Jones,Keith T 10/16/1997 $73812.00 $120996.82 73812 \n", "Brandford,Stanley 11/21/1990 $89039.00 $135884.14 89039 \n", "Burns Jr,John E 03/27/2001 $71574.00 $118073.34 71574 \n", "Coe,Robert M 07/09/1979 $33055.00 $78306.12 33055 \n", "Schmidt,Charles T 03/23/1993 $76985.00 $121822.35 76985 \n", "Collins,Darryl T 01/16/1990 $80081.00 $124529.79 80081 \n", "BPD 13 NaN $61157.00 $104830.63 61157 \n", "Swinton,Dwayne L 10/23/1990 $78327.00 $120712.02 78327 \n", "Mistysyn Jr,Thomas 05/22/1990 $79031.00 $120754.18 79031 \n", "Bradshaw,Donald V 09/18/1992 $76985.00 $118660.76 76985 \n", "Williams,Charles D 05/21/1987 $92172.00 $133002.62 92172 \n", "Glanville,Kimberly W 01/14/1997 $75358.00 $114997.83 75358 \n", "\n", " PGrossPay PayRatio PayDiff \n", "name \n", "Camarote,Marc J 157304.75 2.101235 82441.75 \n", "Nalewajko Jr,Stephen C 166220.89 1.783046 72997.89 \n", "Mezan,Scott M 141410.31 1.596684 52845.31 \n", "Danielczyk,Scott T 128499.20 1.689823 52456.20 \n", "Kratz,Brian D 125827.86 1.669735 50469.86 \n", "Rhoden,James 128085.03 1.641379 50050.03 \n", "Stephens,Warren J 125128.60 1.653412 49449.60 \n", "Burrus,Torran D 122545.42 1.636929 47682.42 \n", "Jones,Keith T 120996.82 1.639257 47184.82 \n", "Brandford,Stanley 135884.14 1.526119 46845.14 \n", "Burns Jr,John E 118073.34 1.649668 46499.34 \n", "Coe,Robert M 78306.12 2.368964 45251.12 \n", "Schmidt,Charles T 121822.35 1.582417 44837.35 \n", "Collins,Darryl T 124529.79 1.555048 44448.79 \n", "BPD 13 104830.63 1.714123 43673.63 \n", "Swinton,Dwayne L 120712.02 1.541129 42385.02 \n", "Mistysyn Jr,Thomas 120754.18 1.527934 41723.18 \n", "Bradshaw,Donald V 118660.76 1.541349 41675.76 \n", "Williams,Charles D 133002.62 1.442983 40830.62 \n", "Glanville,Kimberly W 114997.83 1.526020 39639.83 " ] } ], "prompt_number": 91 }, { "cell_type": "code", "collapsed": true, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 91 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 91 }, { "cell_type": "code", "collapsed": false, "input": [ "a=sal14['PayDiff'].groupby(sal14['Agency']).get_group('Police Department ')\n", "a[a>0].hist()" ], "language": "python", "metadata": {}, "outputs": [ { "ename": "KeyError", "evalue": "'PayDiff'", "output_type": "pyerr", "traceback": [ "\u001b[0;31m---------------------------------------------------------------------------\u001b[0m\n\u001b[0;31mKeyError\u001b[0m Traceback (most recent call last)", "\u001b[0;32m\u001b[0m in \u001b[0;36m\u001b[0;34m()\u001b[0m\n\u001b[0;32m----> 1\u001b[0;31m \u001b[0ma\u001b[0m\u001b[0;34m=\u001b[0m\u001b[0msal14\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'PayDiff'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mgroupby\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0msal14\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0;34m'Agency'\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_group\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m'Police Department '\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2\u001b[0m \u001b[0ma\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0ma\u001b[0m\u001b[0;34m>\u001b[0m\u001b[0;36m0\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mhist\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/Justin/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/core/frame.pyc\u001b[0m in \u001b[0;36m__getitem__\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1778\u001b[0m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_multilevel\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1779\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1780\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1781\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1782\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0m_getitem_column\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/Justin/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/core/frame.pyc\u001b[0m in \u001b[0;36m_getitem_column\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1785\u001b[0m \u001b[0;31m# get column\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1786\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mcolumns\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mis_unique\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1787\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_get_item_cache\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1788\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1789\u001b[0m \u001b[0;31m# duplicate columns & possible reduce dimensionaility\u001b[0m\u001b[0;34m\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/Justin/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/core/generic.pyc\u001b[0m in \u001b[0;36m_get_item_cache\u001b[0;34m(self, item)\u001b[0m\n\u001b[1;32m 1066\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1067\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0mres\u001b[0m \u001b[0;32mis\u001b[0m \u001b[0mNone\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 1068\u001b[0;31m \u001b[0mvalues\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_data\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1069\u001b[0m \u001b[0mres\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_box_item_values\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mvalues\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1070\u001b[0m \u001b[0mcache\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m]\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mres\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/Justin/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/core/internals.pyc\u001b[0m in \u001b[0;36mget\u001b[0;34m(self, item, fastpath)\u001b[0m\n\u001b[1;32m 2847\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2848\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m \u001b[0misnull\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0;32m-> 2849\u001b[0;31m \u001b[0mloc\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mitem\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 2850\u001b[0m \u001b[0;32melse\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 2851\u001b[0m \u001b[0mindexer\u001b[0m \u001b[0;34m=\u001b[0m \u001b[0mnp\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0marange\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mlen\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m[\u001b[0m\u001b[0misnull\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mitems\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m]\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/Justin/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/core/index.pyc\u001b[0m in \u001b[0;36mget_loc\u001b[0;34m(self, key)\u001b[0m\n\u001b[1;32m 1400\u001b[0m \u001b[0mloc\u001b[0m \u001b[0;34m:\u001b[0m \u001b[0mint\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0munique\u001b[0m \u001b[0mindex\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mpossibly\u001b[0m \u001b[0mslice\u001b[0m \u001b[0;32mor\u001b[0m \u001b[0mmask\u001b[0m \u001b[0;32mif\u001b[0m \u001b[0;32mnot\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1401\u001b[0m \"\"\"\n\u001b[0;32m-> 1402\u001b[0;31m \u001b[0;32mreturn\u001b[0m \u001b[0mself\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0m_engine\u001b[0m\u001b[0;34m.\u001b[0m\u001b[0mget_loc\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0m_values_from_object\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n\u001b[0m\u001b[1;32m 1403\u001b[0m \u001b[0;34m\u001b[0m\u001b[0m\n\u001b[1;32m 1404\u001b[0m \u001b[0;32mdef\u001b[0m \u001b[0mget_value\u001b[0m\u001b[0;34m(\u001b[0m\u001b[0mself\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mseries\u001b[0m\u001b[0;34m,\u001b[0m \u001b[0mkey\u001b[0m\u001b[0;34m)\u001b[0m\u001b[0;34m:\u001b[0m\u001b[0;34m\u001b[0m\u001b[0m\n", "\u001b[0;32m/Users/Justin/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_loc (pandas/index.c:3812)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Users/Justin/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/index.so\u001b[0m in \u001b[0;36mpandas.index.IndexEngine.get_loc (pandas/index.c:3692)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Users/Justin/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/hashtable.so\u001b[0m in \u001b[0;36mpandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12299)\u001b[0;34m()\u001b[0m\n", "\u001b[0;32m/Users/Justin/Library/Enthought/Canopy_64bit/User/lib/python2.7/site-packages/pandas/hashtable.so\u001b[0m in \u001b[0;36mpandas.hashtable.PyObjectHashTable.get_item (pandas/hashtable.c:12250)\u001b[0;34m()\u001b[0m\n", "\u001b[0;31mKeyError\u001b[0m: 'PayDiff'" ] } ], "prompt_number": 92 }, { "cell_type": "code", "collapsed": false, "input": [ "import plotly.plotly as py\n", "\n", "#all_police14_full_salary_paid = all_police14[all_police14['PayRatio'] >= 1.0]\n", "bonus14_percent = (all_police14['PayDiff']/all_police14['PAnnualSalary'])\n", "\n", "title = 'Baltimore Police
Salary and Bonus/Overtime in FY2014'\n", "\n", "# slope equal to the median bonus % of salary - half of points are above line, half below\n", "slope = bonus14_percent.median()\n", "\n", "median_bonus = [[0,300000],[0,slope*300000]]\n", "\n", "trace1 = Scatter(x=all_police14['PAnnualSalary'],\n", " y=all_police14['PayDiff'],\n", " text = all_police14['PayDiff'].index,\n", " mode = 'markers',\n", " marker = Marker(size = 5,\n", " sizemode = 'diameter',\n", " #sizeref = schoolage_pop.max()/1000,\n", " opacity = 0.4,\n", " color = 'gray')\n", " )\n", "\n", "\n", "trace2 = Scatter(x=median_bonus[0],\n", " y=median_bonus[1],\n", " text='',\n", " mode = 'lines',\n", " line=Line(color='black',width=1.0)\n", " )\n", "\n", "\n", "trace3 = Scatter(x=[0,300000],\n", " y=[0,0],\n", " text='',\n", " mode = 'lines',\n", " line=Line(color=red_orange,width=2.0)\n", " )\n", "\n", "trace4 = Scatter(x=[0,300000],\n", " y=[0,300000],\n", " text='',\n", " mode = 'lines',\n", " line=Line(color=red_orange,width=1.0)\n", " )\n", "\n", "layout = Layout(\n", " title = title,\n", " xaxis = XAxis(range = [0,120000],\n", " title = 'Salary',\n", " showgrid = False,\n", " showline = False,\n", " zeroline = False,\n", " autotick = True,\n", " showticklabels = True),\n", " yaxis = YAxis(range = [-100000,120000],\n", " title = 'Bonus/Overtime Pay
',\n", " showgrid = False,\n", " showline = False,\n", " zeroline = False,\n", " autotick = True,\n", " showticklabels = True),\n", " autosize = False,\n", " width=500,\n", " height=500,\n", " font = Font(size=14),\n", " hovermode = 'closest',\n", " showlegend=False,\n", " margin=Margin(\n", " l=75,\n", " r=75,\n", " b=50,\n", " t=50,\n", " pad=0)\n", ")\n", "\n", "data = Data([trace1,trace2,trace4])\n", "fig = Figure(data=data, layout=layout)\n", "py.iplot(fig, filename=title)" ], "language": "python", "metadata": {}, "outputs": [ { "html": [ "" ], "metadata": {}, "output_type": "pyout", "prompt_number": 93, "text": [ "" ] } ], "prompt_number": 93 }, { "cell_type": "code", "collapsed": false, "input": [ "bonus14_percent = (all_police14['PayDiff']/all_police14['PAnnualSalary'])\n", "\n", "fig = plt.figure(figsize=[16,3])\n", "#print bonus14_percent.median()\n", "#print bonus14_percent.mean()\n", "bonus14_percent.hist(bins=50)\n", "\n" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "pyout", "prompt_number": 94, "text": [ "" ] }, { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 94 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Distribution of Police Bonuses" ] }, { "cell_type": "code", "collapsed": false, "input": [ "import numpy as np\n", "from scipy.interpolate import UnivariateSpline\n", "from matplotlib import pyplot as plt\n", "\n", "fig = plt.figure(figsize=[16,3])\n", "ax1 = plt.subplot(1,1,1)\n", "N = 1000\n", "n = N/10\n", "for i, j in enumerate(all_police_dfs):\n", " s = np.array(all_police_dfs[str(j)]['PayDiff'].fillna(0))\n", " p, x = np.histogram(s, bins=n) # bin it into n = N/10 bins\n", " x = x[:-1] + (x[1] - x[0])/2 # convert bin edges to centers\n", " f = UnivariateSpline(x, p, s=n)\n", " plt.plot(x, f(x))\n", "\n", "xlim([-20000,50000]) \n", "legend(['2011','2012','2013','2014'])\n", "\n", "# turn off square border around plot\n", "ax1.spines[\"top\"].set_visible(False) \n", "ax1.spines[\"bottom\"].set_visible(False) \n", "ax1.spines[\"right\"].set_visible(False) \n", "ax1.spines[\"left\"].set_visible(False)\n", "\n", "# turn off ticks\n", "ax1.tick_params(axis=\"both\", which=\"both\", bottom=\"off\", top=\"off\",\n", " labelbottom=\"on\", left=\"off\", right=\"off\", labelleft=\"on\",labelsize=10)\n", "ylim([0,600])\n", "plt.show()" ], "language": "python", "metadata": {}, "outputs": [ { "metadata": {}, "output_type": "display_data", "png": "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\n", "text": [ "" ] } ], "prompt_number": 95 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 95 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Police making $43,999 are newbies." ] }, { "cell_type": "code", "collapsed": false, "input": [ "all_police14[all_police14['PAnnualSalary'] == 43999]" ], "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", "
JobTitleAgencyIDAgencyHireDateAnnualSalaryGrossPayPAnnualSalaryPGrossPayPayRatioPayDiff
Name
Gillespie,Corey A POLICE OFFICER A99095 Police Department 11/30/2011 $43999.00 $53253.42 43999 53253.42 1.210333 9254.42
Shank,Amos C POLICE OFFICER A99225 Police Department 07/08/2013 $43999.00 $46131.90 43999 46131.90 1.048476 2132.90
Crowley,Kevin G POLICE OFFICER A99035 Police Department 07/17/2013 $43999.00 $44375.59 43999 44375.59 1.008559 376.59
Pineda,Jonathan POLICE OFFICER A99225 Police Department 07/08/2013 $43999.00 $43883.47 43999 43883.47 0.997374 -115.53
Brunson,Jamal H POLICE OFFICER A99224 Police Department 07/15/2013 $43999.00 $43755.89 43999 43755.89 0.994475 -243.11
Mirra,James V POLICE OFFICER A99033 Police Department 07/24/2013 $43999.00 $43640.13 43999 43640.13 0.991844 -358.87
Hamed,Hossam R POLICE OFFICER A99263 Police Department 07/11/2013 $43999.00 $43562.40 43999 43562.40 0.990077 -436.60
Curtis,Dean M POLICE OFFICER A99263 Police Department 07/08/2013 $43999.00 $43453.25 43999 43453.25 0.987596 -545.75
Lyles,Michael D POLICE OFFICER A99033 Police Department 07/24/2013 $43999.00 $43417.69 43999 43417.69 0.986788 -581.31
Carrai,Anthony A POLICE OFFICER TRAINEE A99416 Police Department 07/01/2013 $43999.00 $42936.93 43999 42936.93 0.975861 -1062.07
Post,Christy A POLICE OFFICER A99035 Police Department 07/15/2013 $43999.00 $42809.85 43999 42809.85 0.972973 -1189.15
Paulus,Carlos E POLICE OFFICER A99034 Police Department 07/22/2013 $43999.00 $42682.53 43999 42682.53 0.970080 -1316.47
Fanning Jr.,Gary F POLICE OFFICER A99262 Police Department 07/24/2013 $43999.00 $42569.70 43999 42569.70 0.967515 -1429.30
Cruz,Ramon POLICE OFFICER A99262 Police Department 07/11/2013 $43999.00 $42494.58 43999 42494.58 0.965808 -1504.42
Gaff,Donald B POLICE OFFICER A99262 Police Department 07/11/2013 $43999.00 $41890.18 43999 41890.18 0.952071 -2108.82
Jenkins,Frank POLICE OFFICER A99033 Police Department 07/24/2013 $43999.00 $41803.25 43999 41803.25 0.950095 -2195.75
Curtis,Trevor R POLICE OFFICER TRAINEE A99416 Police Department 07/08/2013 $43999.00 $41742.08 43999 41742.08 0.948705 -2256.92
Mantone,Jerald S POLICE OFFICER A99223 Police Department 07/22/2013 $43999.00 $41645.59 43999 41645.59 0.946512 -2353.41
Macklin,Destinee L POLICE OFFICER A99094 Police Department 07/16/2013 $43999.00 $41280.12 43999 41280.12 0.938206 -2718.88
Abbene,Anthony M POLICE OFFICER TRAINEE A99416 Police Department 07/24/2013 $43999.00 $39686.95 43999 39686.95 0.901997 -4312.05
Joyner II,Simeon D POLICE OFFICER TRAINEE A99416 Police Department 08/26/2013 $43999.00 $35546.65 43999 35546.65 0.807897 -8452.35
Burgos,Oliver M POLICE OFFICER TRAINEE A99416 Police Department 09/03/2013 $43999.00 $35126.83 43999 35126.83 0.798355 -8872.17
Barreto De Jesus,Julio A POLICE OFFICER TRAINEE A99416 Police Department 08/30/2012 $43999.00 $34922.07 43999 34922.07 0.793701 -9076.93
Ford,Bryan S POLICE OFFICER TRAINEE A99416 Police Department 09/03/2013 $43999.00 $34498.71 43999 34498.71 0.784079 -9500.29
Small,Timothy M POLICE OFFICER TRAINEE A99416 Police Department 09/09/2013 $43999.00 $34283.78 43999 34283.78 0.779195 -9715.22
Podbielski,Jensen D POLICE OFFICER TRAINEE A99416 Police Department 08/29/2013 $43999.00 $34220.91 43999 34220.91 0.777766 -9778.09
Patikowski,Joseph D POLICE OFFICER TRAINEE A99416 Police Department 09/05/2013 $43999.00 $34097.36 43999 34097.36 0.774958 -9901.64
Duval,Alexander A POLICE OFFICER TRAINEE A99416 Police Department 09/16/2013 $43999.00 $34015.06 43999 34015.06 0.773087 -9983.94
Franconi,Ryan M POLICE OFFICER TRAINEE A99416 Police Department 09/24/2013 $43999.00 $33841.07 43999 33841.07 0.769133-10157.93
Mooney,Patrick T POLICE OFFICER TRAINEE A99416 Police Department 09/16/2013 $43999.00 $33804.76 43999 33804.76 0.768307-10194.24
.................................
Nicosia,Jonathan A POLICE OFFICER TRAINEE A99416 Police Department 04/08/2014 $43999.00 $7797.47 43999 7797.47 0.177219-36201.53
Cawley,Rayna A POLICE OFFICER TRAINEE A99416 Police Department 04/09/2014 $43999.00 $7631.65 43999 7631.65 0.173451-36367.35
Dail,Aaron M POLICE OFFICER TRAINEE A99416 Police Department 04/09/2014 $43999.00 $7631.65 43999 7631.65 0.173451-36367.35
Von Kiel,Kristian V POLICE OFFICER TRAINEE A99416 Police Department 04/09/2014 $43999.00 $7631.65 43999 7631.65 0.173451-36367.35
Siminyuk,Ivan D POLICE OFFICER TRAINEE A99416 Police Department 04/09/2014 $43999.00 $7631.65 43999 7631.65 0.173451-36367.35
McClung,Anna M POLICE OFFICER TRAINEE A99416 Police Department 04/09/2014 $43999.00 $7631.65 43999 7631.65 0.173451-36367.35
Lynn,Joseph S POLICE OFFICER TRAINEE A99416 Police Department 04/09/2014 $43999.00 $7631.65 43999 7631.65 0.173451-36367.35
Giovine,Domenico N POLICE OFFICER TRAINEE A99416 Police Department 04/09/2014 $43999.00 $7631.65 43999 7631.65 0.173451-36367.35
Kim,John J POLICE OFFICER TRAINEE A99416 Police Department 04/09/2014 $43999.00 $7631.65 43999 7631.65 0.173451-36367.35
Wellems,Nicholas R POLICE OFFICER TRAINEE A99416 Police Department 04/10/2014 $43999.00 $7465.82 43999 7465.82 0.169682-36533.18
Rodriguez,Raymond D POLICE OFFICER TRAINEE A99416 Police Department 04/10/2014 $43999.00 $7465.82 43999 7465.82 0.169682-36533.18
Myers,Timothy D POLICE OFFICER TRAINEE A99416 Police Department 04/10/2014 $43999.00 $7465.82 43999 7465.82 0.169682-36533.18
Clarke,Philip E POLICE OFFICER TRAINEE A99416 Police Department 04/10/2014 $43999.00 $7465.82 43999 7465.82 0.169682-36533.18
Acord,Ashley M POLICE OFFICER TRAINEE A99416 Police Department 04/10/2014 $43999.00 $7465.82 43999 7465.82 0.169682-36533.18
Chenowith,Bryan J POLICE OFFICER TRAINEE A99416 Police Department 05/01/2014 $43999.00 $4977.21 43999 4977.21 0.113121-39021.79
Definbaugh,Andrew M POLICE OFFICER TRAINEE A99416 Police Department 05/05/2014 $43999.00 $4645.35 43999 4645.35 0.105579-39353.65
Million,James A POLICE OFFICER TRAINEE A99416 Police Department 05/30/2014 $43999.00 $1493.05 43999 1493.05 0.033934-42505.95
George III,Timothy R POLICE OFFICER TRAINEE A99416 Police Department 06/02/2014 $43999.00 $1327.22 43999 1327.22 0.030165-42671.78
Jeffrey,Kent R POLICE OFFICER TRAINEE A99416 Police Department 06/03/2014 $43999.00 $1161.19 43999 1161.19 0.026391-42837.81
Anthony,Troy B POLICE OFFICER TRAINEE A99416 Police Department 06/03/2014 $43999.00 $1161.19 43999 1161.19 0.026391-42837.81
Cadiz-Burgos,Alfredo B POLICE OFFICER TRAINEE A99416 Police Department 06/03/2014 $43999.00 $1161.19 43999 1161.19 0.026391-42837.81
Coppage,Brittney N POLICE OFFICER TRAINEE A99416 Police Department 06/24/2006 $43999.00 $1161.19 43999 1161.19 0.026391-42837.81
Kruesi,Kyle W POLICE OFFICER TRAINEE A99416 Police Department 06/03/2014 $43999.00 $1161.19 43999 1161.19 0.026391-42837.81
Leepa,Matthew R POLICE OFFICER TRAINEE A99416 Police Department 06/09/2014 $43999.00 NaN 43999 NaN NaN NaN
Paul,Marcos A POLICE OFFICER TRAINEE A99416 Police Department 06/16/2014 $43999.00 NaN 43999 NaN NaN NaN
Perry,Rico M POLICE OFFICER TRAINEE A99416 Police Department 06/09/2014 $43999.00 NaN 43999 NaN NaN NaN
Falcon,Joseph M POLICE OFFICER TRAINEE A99416 Police Department 06/16/2014 $43999.00 NaN 43999 NaN NaN NaN
Dandy,Zachary B POLICE OFFICER TRAINEE A99416 Police Department 06/09/2014 $43999.00 NaN 43999 NaN NaN NaN
Scott,Jessica N POLICE OFFICER TRAINEE A99416 Police Department 06/16/2014 $43999.00 NaN 43999 NaN NaN NaN
Brown,Benjamin R POLICE OFFICER TRAINEE A99416 Police Department 06/23/2014 $43999.00 NaN 43999 NaN NaN NaN
\n", "

169 rows \u00d7 10 columns

\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 96, "text": [ " JobTitle AgencyID Agency \\\n", " Name \n", "Gillespie,Corey A POLICE OFFICER A99095 Police Department \n", "Shank,Amos C POLICE OFFICER A99225 Police Department \n", "Crowley,Kevin G POLICE OFFICER A99035 Police Department \n", "Pineda,Jonathan POLICE OFFICER A99225 Police Department \n", "Brunson,Jamal H POLICE OFFICER A99224 Police Department \n", "Mirra,James V POLICE OFFICER A99033 Police Department \n", "Hamed,Hossam R POLICE OFFICER A99263 Police Department \n", "Curtis,Dean M POLICE OFFICER A99263 Police Department \n", "Lyles,Michael D POLICE OFFICER A99033 Police Department \n", "Carrai,Anthony A POLICE OFFICER TRAINEE A99416 Police Department \n", "Post,Christy A POLICE OFFICER A99035 Police Department \n", "Paulus,Carlos E POLICE OFFICER A99034 Police Department \n", "Fanning Jr.,Gary F POLICE OFFICER A99262 Police Department \n", "Cruz,Ramon POLICE OFFICER A99262 Police Department \n", "Gaff,Donald B POLICE OFFICER A99262 Police Department \n", "Jenkins,Frank POLICE OFFICER A99033 Police Department \n", "Curtis,Trevor R POLICE OFFICER TRAINEE A99416 Police Department \n", "Mantone,Jerald S POLICE OFFICER A99223 Police Department \n", "Macklin,Destinee L POLICE OFFICER A99094 Police Department \n", "Abbene,Anthony M POLICE OFFICER TRAINEE A99416 Police Department \n", "Joyner II,Simeon D POLICE OFFICER TRAINEE A99416 Police Department \n", "Burgos,Oliver M POLICE OFFICER TRAINEE A99416 Police Department \n", "Barreto De Jesus,Julio A POLICE OFFICER TRAINEE A99416 Police Department \n", "Ford,Bryan S POLICE OFFICER TRAINEE A99416 Police Department \n", "Small,Timothy M POLICE OFFICER TRAINEE A99416 Police Department \n", "Podbielski,Jensen D POLICE OFFICER TRAINEE A99416 Police Department \n", "Patikowski,Joseph D POLICE OFFICER TRAINEE A99416 Police Department \n", "Duval,Alexander A POLICE OFFICER TRAINEE A99416 Police Department \n", "Franconi,Ryan M POLICE OFFICER TRAINEE A99416 Police Department \n", "Mooney,Patrick T POLICE OFFICER TRAINEE A99416 Police Department \n", "... ... ... ... \n", "Nicosia,Jonathan A POLICE OFFICER TRAINEE A99416 Police Department \n", "Cawley,Rayna A POLICE OFFICER TRAINEE A99416 Police Department \n", "Dail,Aaron M POLICE OFFICER TRAINEE A99416 Police Department \n", "Von Kiel,Kristian V POLICE OFFICER TRAINEE A99416 Police Department \n", "Siminyuk,Ivan D POLICE OFFICER TRAINEE A99416 Police Department \n", "McClung,Anna M POLICE OFFICER TRAINEE A99416 Police Department \n", "Lynn,Joseph S POLICE OFFICER TRAINEE A99416 Police Department \n", "Giovine,Domenico N POLICE OFFICER TRAINEE A99416 Police Department \n", "Kim,John J POLICE OFFICER TRAINEE A99416 Police Department \n", "Wellems,Nicholas R POLICE OFFICER TRAINEE A99416 Police Department \n", "Rodriguez,Raymond D POLICE OFFICER TRAINEE A99416 Police Department \n", "Myers,Timothy D POLICE OFFICER TRAINEE A99416 Police Department \n", "Clarke,Philip E POLICE OFFICER TRAINEE A99416 Police Department \n", "Acord,Ashley M POLICE OFFICER TRAINEE A99416 Police Department \n", "Chenowith,Bryan J POLICE OFFICER TRAINEE A99416 Police Department \n", "Definbaugh,Andrew M POLICE OFFICER TRAINEE A99416 Police Department \n", "Million,James A POLICE OFFICER TRAINEE A99416 Police Department \n", "George III,Timothy R POLICE OFFICER TRAINEE A99416 Police Department \n", "Jeffrey,Kent R POLICE OFFICER TRAINEE A99416 Police Department \n", "Anthony,Troy B POLICE OFFICER TRAINEE A99416 Police Department \n", "Cadiz-Burgos,Alfredo B POLICE OFFICER TRAINEE A99416 Police Department \n", "Coppage,Brittney N POLICE OFFICER TRAINEE A99416 Police Department \n", "Kruesi,Kyle W POLICE OFFICER TRAINEE A99416 Police Department \n", "Leepa,Matthew R POLICE OFFICER TRAINEE A99416 Police Department \n", "Paul,Marcos A POLICE OFFICER TRAINEE A99416 Police Department \n", "Perry,Rico M POLICE OFFICER TRAINEE A99416 Police Department \n", "Falcon,Joseph M POLICE OFFICER TRAINEE A99416 Police Department \n", "Dandy,Zachary B POLICE OFFICER TRAINEE A99416 Police Department \n", "Scott,Jessica N POLICE OFFICER TRAINEE A99416 Police Department \n", "Brown,Benjamin R POLICE OFFICER TRAINEE A99416 Police Department \n", "\n", " HireDate AnnualSalary GrossPay PAnnualSalary \\\n", " Name \n", "Gillespie,Corey A 11/30/2011 $43999.00 $53253.42 43999 \n", "Shank,Amos C 07/08/2013 $43999.00 $46131.90 43999 \n", "Crowley,Kevin G 07/17/2013 $43999.00 $44375.59 43999 \n", "Pineda,Jonathan 07/08/2013 $43999.00 $43883.47 43999 \n", "Brunson,Jamal H 07/15/2013 $43999.00 $43755.89 43999 \n", "Mirra,James V 07/24/2013 $43999.00 $43640.13 43999 \n", "Hamed,Hossam R 07/11/2013 $43999.00 $43562.40 43999 \n", "Curtis,Dean M 07/08/2013 $43999.00 $43453.25 43999 \n", "Lyles,Michael D 07/24/2013 $43999.00 $43417.69 43999 \n", "Carrai,Anthony A 07/01/2013 $43999.00 $42936.93 43999 \n", "Post,Christy A 07/15/2013 $43999.00 $42809.85 43999 \n", "Paulus,Carlos E 07/22/2013 $43999.00 $42682.53 43999 \n", "Fanning Jr.,Gary F 07/24/2013 $43999.00 $42569.70 43999 \n", "Cruz,Ramon 07/11/2013 $43999.00 $42494.58 43999 \n", "Gaff,Donald B 07/11/2013 $43999.00 $41890.18 43999 \n", "Jenkins,Frank 07/24/2013 $43999.00 $41803.25 43999 \n", "Curtis,Trevor R 07/08/2013 $43999.00 $41742.08 43999 \n", "Mantone,Jerald S 07/22/2013 $43999.00 $41645.59 43999 \n", "Macklin,Destinee L 07/16/2013 $43999.00 $41280.12 43999 \n", "Abbene,Anthony M 07/24/2013 $43999.00 $39686.95 43999 \n", "Joyner II,Simeon D 08/26/2013 $43999.00 $35546.65 43999 \n", "Burgos,Oliver M 09/03/2013 $43999.00 $35126.83 43999 \n", "Barreto De Jesus,Julio A 08/30/2012 $43999.00 $34922.07 43999 \n", "Ford,Bryan S 09/03/2013 $43999.00 $34498.71 43999 \n", "Small,Timothy M 09/09/2013 $43999.00 $34283.78 43999 \n", "Podbielski,Jensen D 08/29/2013 $43999.00 $34220.91 43999 \n", "Patikowski,Joseph D 09/05/2013 $43999.00 $34097.36 43999 \n", "Duval,Alexander A 09/16/2013 $43999.00 $34015.06 43999 \n", "Franconi,Ryan M 09/24/2013 $43999.00 $33841.07 43999 \n", "Mooney,Patrick T 09/16/2013 $43999.00 $33804.76 43999 \n", "... ... ... ... ... \n", "Nicosia,Jonathan A 04/08/2014 $43999.00 $7797.47 43999 \n", "Cawley,Rayna A 04/09/2014 $43999.00 $7631.65 43999 \n", "Dail,Aaron M 04/09/2014 $43999.00 $7631.65 43999 \n", "Von Kiel,Kristian V 04/09/2014 $43999.00 $7631.65 43999 \n", "Siminyuk,Ivan D 04/09/2014 $43999.00 $7631.65 43999 \n", "McClung,Anna M 04/09/2014 $43999.00 $7631.65 43999 \n", "Lynn,Joseph S 04/09/2014 $43999.00 $7631.65 43999 \n", "Giovine,Domenico N 04/09/2014 $43999.00 $7631.65 43999 \n", "Kim,John J 04/09/2014 $43999.00 $7631.65 43999 \n", "Wellems,Nicholas R 04/10/2014 $43999.00 $7465.82 43999 \n", "Rodriguez,Raymond D 04/10/2014 $43999.00 $7465.82 43999 \n", "Myers,Timothy D 04/10/2014 $43999.00 $7465.82 43999 \n", "Clarke,Philip E 04/10/2014 $43999.00 $7465.82 43999 \n", "Acord,Ashley M 04/10/2014 $43999.00 $7465.82 43999 \n", "Chenowith,Bryan J 05/01/2014 $43999.00 $4977.21 43999 \n", "Definbaugh,Andrew M 05/05/2014 $43999.00 $4645.35 43999 \n", "Million,James A 05/30/2014 $43999.00 $1493.05 43999 \n", "George III,Timothy R 06/02/2014 $43999.00 $1327.22 43999 \n", "Jeffrey,Kent R 06/03/2014 $43999.00 $1161.19 43999 \n", "Anthony,Troy B 06/03/2014 $43999.00 $1161.19 43999 \n", "Cadiz-Burgos,Alfredo B 06/03/2014 $43999.00 $1161.19 43999 \n", "Coppage,Brittney N 06/24/2006 $43999.00 $1161.19 43999 \n", "Kruesi,Kyle W 06/03/2014 $43999.00 $1161.19 43999 \n", "Leepa,Matthew R 06/09/2014 $43999.00 NaN 43999 \n", "Paul,Marcos A 06/16/2014 $43999.00 NaN 43999 \n", "Perry,Rico M 06/09/2014 $43999.00 NaN 43999 \n", "Falcon,Joseph M 06/16/2014 $43999.00 NaN 43999 \n", "Dandy,Zachary B 06/09/2014 $43999.00 NaN 43999 \n", "Scott,Jessica N 06/16/2014 $43999.00 NaN 43999 \n", "Brown,Benjamin R 06/23/2014 $43999.00 NaN 43999 \n", "\n", " PGrossPay PayRatio PayDiff \n", " Name \n", "Gillespie,Corey A 53253.42 1.210333 9254.42 \n", "Shank,Amos C 46131.90 1.048476 2132.90 \n", "Crowley,Kevin G 44375.59 1.008559 376.59 \n", "Pineda,Jonathan 43883.47 0.997374 -115.53 \n", "Brunson,Jamal H 43755.89 0.994475 -243.11 \n", "Mirra,James V 43640.13 0.991844 -358.87 \n", "Hamed,Hossam R 43562.40 0.990077 -436.60 \n", "Curtis,Dean M 43453.25 0.987596 -545.75 \n", "Lyles,Michael D 43417.69 0.986788 -581.31 \n", "Carrai,Anthony A 42936.93 0.975861 -1062.07 \n", "Post,Christy A 42809.85 0.972973 -1189.15 \n", "Paulus,Carlos E 42682.53 0.970080 -1316.47 \n", "Fanning Jr.,Gary F 42569.70 0.967515 -1429.30 \n", "Cruz,Ramon 42494.58 0.965808 -1504.42 \n", "Gaff,Donald B 41890.18 0.952071 -2108.82 \n", "Jenkins,Frank 41803.25 0.950095 -2195.75 \n", "Curtis,Trevor R 41742.08 0.948705 -2256.92 \n", "Mantone,Jerald S 41645.59 0.946512 -2353.41 \n", "Macklin,Destinee L 41280.12 0.938206 -2718.88 \n", "Abbene,Anthony M 39686.95 0.901997 -4312.05 \n", "Joyner II,Simeon D 35546.65 0.807897 -8452.35 \n", "Burgos,Oliver M 35126.83 0.798355 -8872.17 \n", "Barreto De Jesus,Julio A 34922.07 0.793701 -9076.93 \n", "Ford,Bryan S 34498.71 0.784079 -9500.29 \n", "Small,Timothy M 34283.78 0.779195 -9715.22 \n", "Podbielski,Jensen D 34220.91 0.777766 -9778.09 \n", "Patikowski,Joseph D 34097.36 0.774958 -9901.64 \n", "Duval,Alexander A 34015.06 0.773087 -9983.94 \n", "Franconi,Ryan M 33841.07 0.769133 -10157.93 \n", "Mooney,Patrick T 33804.76 0.768307 -10194.24 \n", "... ... ... ... \n", "Nicosia,Jonathan A 7797.47 0.177219 -36201.53 \n", "Cawley,Rayna A 7631.65 0.173451 -36367.35 \n", "Dail,Aaron M 7631.65 0.173451 -36367.35 \n", "Von Kiel,Kristian V 7631.65 0.173451 -36367.35 \n", "Siminyuk,Ivan D 7631.65 0.173451 -36367.35 \n", "McClung,Anna M 7631.65 0.173451 -36367.35 \n", "Lynn,Joseph S 7631.65 0.173451 -36367.35 \n", "Giovine,Domenico N 7631.65 0.173451 -36367.35 \n", "Kim,John J 7631.65 0.173451 -36367.35 \n", "Wellems,Nicholas R 7465.82 0.169682 -36533.18 \n", "Rodriguez,Raymond D 7465.82 0.169682 -36533.18 \n", "Myers,Timothy D 7465.82 0.169682 -36533.18 \n", "Clarke,Philip E 7465.82 0.169682 -36533.18 \n", "Acord,Ashley M 7465.82 0.169682 -36533.18 \n", "Chenowith,Bryan J 4977.21 0.113121 -39021.79 \n", "Definbaugh,Andrew M 4645.35 0.105579 -39353.65 \n", "Million,James A 1493.05 0.033934 -42505.95 \n", "George III,Timothy R 1327.22 0.030165 -42671.78 \n", "Jeffrey,Kent R 1161.19 0.026391 -42837.81 \n", "Anthony,Troy B 1161.19 0.026391 -42837.81 \n", "Cadiz-Burgos,Alfredo B 1161.19 0.026391 -42837.81 \n", "Coppage,Brittney N 1161.19 0.026391 -42837.81 \n", "Kruesi,Kyle W 1161.19 0.026391 -42837.81 \n", "Leepa,Matthew R NaN NaN NaN \n", "Paul,Marcos A NaN NaN NaN \n", "Perry,Rico M NaN NaN NaN \n", "Falcon,Joseph M NaN NaN NaN \n", "Dandy,Zachary B NaN NaN NaN \n", "Scott,Jessica N NaN NaN NaN \n", "Brown,Benjamin R NaN NaN NaN \n", "\n", "[169 rows x 10 columns]" ] } ], "prompt_number": 96 }, { "cell_type": "code", "collapsed": false, "input": [ "all_police14['Name'] = all_police14.index\n", "all_police14['Last_Name'] = all_police14['Name'].apply(lambda x: x.split(',')[0])\n", "all_police14['First_Name'] = all_police14['Name'].apply(lambda x: x.split(',')[1] if len(x.split(','))>1 else '')\n", "\n", "all_police13['Name'] = all_police13.index\n", "all_police13['Last_Name'] = all_police13['Name'].apply(lambda x: x.split(',')[0])\n", "all_police13['First_Name'] = all_police13['Name'].apply(lambda x: x.split(',')[1] if len(x.split(','))>1 else '')\n", "\n", "all_police12['Name'] = all_police12.index\n", "all_police12['Last_Name'] = all_police12['Name'].apply(lambda x: x.split(',')[0])\n", "all_police12['First_Name'] = all_police12['Name'].apply(lambda x: x.split(',')[1] if len(x.split(','))>1 else '')" ], "language": "python", "metadata": {}, "outputs": [ { "output_type": "stream", "stream": "stderr", "text": [ "-c:5: SettingWithCopyWarning:\n", "\n", "\n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", "\n", "-c:10: SettingWithCopyWarning:\n", "\n", "\n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", "\n" ] }, { "output_type": "stream", "stream": "stderr", "text": [ "-c:11: SettingWithCopyWarning:\n", "\n", "\n", "A value is trying to be set on a copy of a slice from a DataFrame.\n", "Try using .loc[row_indexer,col_indexer] = value instead\n", "\n", "See the the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy\n", "\n" ] } ], "prompt_number": 110 }, { "cell_type": "code", "collapsed": false, "input": [ "\n", "'''\n", "police_roll_14 = pd.DataFrame(index=all_police14.index)\n", "police_roll_14['First_Name'] = all_police14['First_Name']\n", "police_roll_14['Last_Name'] = all_police14['Last_Name']\n", "police_roll_14.to_csv('Police_Roll_2014.csv')\n", "\n", "police_roll_12 = pd.DataFrame(index=all_police12.index)\n", "police_roll_12['First_Name'] = all_police12['First_Name']\n", "police_roll_12['Last_Name'] = all_police12['Last_Name']\n", "\n", "police_roll_13 = pd.DataFrame(index=all_police13.index)\n", "police_roll_13['First_Name'] = all_police13['First_Name']\n", "police_roll_13['Last_Name'] = all_police13['Last_Name']\n", "'''\n", "\n" ], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 111 }, { "cell_type": "heading", "level": 1, "metadata": {}, "source": [ "Suspended Officers Involved with Freddie Gray." ] }, { "cell_type": "code", "collapsed": false, "input": [ "all_police14[all_police14['Last_Name']=='Rice']" ], "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", "
JobTitleAgencyIDAgencyHireDateAnnualSalaryGrossPayPAnnualSalaryPGrossPayPayRatioPayDiffNameLast_NameFirst_Name
Name
Rice,Brian S POLICE LIEUTENANT EID A99195 Police Department 12/21/1997 $88026.00 $83846.38 88026 83846.38 0.952518-4179.62 Rice,Brian S Rice Brian S
Rice,John D CONTRACT SERVICES SPEC. I A99351 Police Department 02/06/2006 $29994.00 $20505.50 29994 20505.50 0.683653-9488.50 Rice,John D Rice John D
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 101, "text": [ " JobTitle AgencyID Agency \\\n", " Name \n", "Rice,Brian S POLICE LIEUTENANT EID A99195 Police Department \n", "Rice,John D CONTRACT SERVICES SPEC. I A99351 Police Department \n", "\n", " HireDate AnnualSalary GrossPay PAnnualSalary PGrossPay \\\n", " Name \n", "Rice,Brian S 12/21/1997 $88026.00 $83846.38 88026 83846.38 \n", "Rice,John D 02/06/2006 $29994.00 $20505.50 29994 20505.50 \n", "\n", " PayRatio PayDiff Name Last_Name First_Name \n", " Name \n", "Rice,Brian S 0.952518 -4179.62 Rice,Brian S Rice Brian S \n", "Rice,John D 0.683653 -9488.50 Rice,John D Rice John D " ] } ], "prompt_number": 101 }, { "cell_type": "code", "collapsed": false, "input": [ "all_police14[all_police14['Last_Name']=='White']" ], "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", "
JobTitleAgencyIDAgencyHireDateAnnualSalaryGrossPayPAnnualSalaryPGrossPayPayRatioPayDiffNameLast_NameFirst_Name
Name
White,Preston POLICE OFFICER A99330 Police Department 10/31/2002 $62975.00 $95363.05 62975 95363.05 1.514300 32388.05 White,Preston White Preston
White,David K POLICE OFFICER A99194 Police Department 11/30/1998 $65351.00 $91744.70 65351 91744.70 1.403876 26393.70 White,David K White David K
White,Carolyn M POLICE SERGEANT EID A99225 Police Department 03/19/1998 $77564.00 $85481.33 77564 85481.33 1.102075 7917.33 White,Carolyn M White Carolyn M
White,Danielle R POLICE OFFICER A99225 Police Department 12/13/2006 $60598.00 $81213.52 60598 81213.52 1.340201 20615.52 White,Danielle R White Danielle R
White,Stephon M POLICE OFFICER A99398 Police Department 11/03/2008 $59409.00 $72814.89 59409 72814.89 1.225654 13405.89 White,Stephon M White Stephon M
White,Leon J CRIMINALIST II A99386 Police Department 04/18/1977 $70000.00 $70111.75 70000 70111.75 1.001596 111.75 White,Leon J White Leon J
White,Ivan R POLICE OFFICER (EID) A99299 Police Department 09/30/1997 $67535.00 $68010.97 67535 68010.97 1.007048 475.97 White,Ivan R White Ivan R
White,Michael T POLICE OFFICER A99033 Police Department 12/13/2005 $60598.00 $65366.08 60598 65366.08 1.078684 4768.08 White,Michael T White Michael T
White,Craig S POLICE OFFICER A99225 Police Department 10/23/2008 $59409.00 $59982.90 59409 59982.90 1.009660 573.90 White,Craig S White Craig S
White,Alicia L POLICE OFFICER (EID) A99096 Police Department 04/26/2010 $57797.00 $59456.05 57797 59456.05 1.028705 1659.05 White,Alicia L White Alicia L
White,Candice N POLICE OFFICER A99064 Police Department 08/15/2006 $60004.00 $58576.72 60004 58576.72 0.976214 -1427.28 White,Candice N White Candice N
White,Deborah M POLICE REPORT REVIEWER A99361 Police Department 07/27/1987 $41315.00 $45199.89 41315 45199.89 1.094031 3884.89 White,Deborah M White Deborah M
White,Mary J COMMUNITY SERVICE OFFICER A99300 Police Department 01/02/1996 $37694.00 $37668.51 37694 37668.51 0.999324 -25.49 White,Mary J White Mary J
White,Maria A OFFICE ASSISTANT II A99363 Police Department 06/05/2006 $30816.00 $30492.46 30816 30492.46 0.989501 -323.54 White,Maria A White Maria A
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 102, "text": [ " JobTitle AgencyID Agency \\\n", " Name \n", "White,Preston POLICE OFFICER A99330 Police Department \n", "White,David K POLICE OFFICER A99194 Police Department \n", "White,Carolyn M POLICE SERGEANT EID A99225 Police Department \n", "White,Danielle R POLICE OFFICER A99225 Police Department \n", "White,Stephon M POLICE OFFICER A99398 Police Department \n", "White,Leon J CRIMINALIST II A99386 Police Department \n", "White,Ivan R POLICE OFFICER (EID) A99299 Police Department \n", "White,Michael T POLICE OFFICER A99033 Police Department \n", "White,Craig S POLICE OFFICER A99225 Police Department \n", "White,Alicia L POLICE OFFICER (EID) A99096 Police Department \n", "White,Candice N POLICE OFFICER A99064 Police Department \n", "White,Deborah M POLICE REPORT REVIEWER A99361 Police Department \n", "White,Mary J COMMUNITY SERVICE OFFICER A99300 Police Department \n", "White,Maria A OFFICE ASSISTANT II A99363 Police Department \n", "\n", " HireDate AnnualSalary GrossPay PAnnualSalary \\\n", " Name \n", "White,Preston 10/31/2002 $62975.00 $95363.05 62975 \n", "White,David K 11/30/1998 $65351.00 $91744.70 65351 \n", "White,Carolyn M 03/19/1998 $77564.00 $85481.33 77564 \n", "White,Danielle R 12/13/2006 $60598.00 $81213.52 60598 \n", "White,Stephon M 11/03/2008 $59409.00 $72814.89 59409 \n", "White,Leon J 04/18/1977 $70000.00 $70111.75 70000 \n", "White,Ivan R 09/30/1997 $67535.00 $68010.97 67535 \n", "White,Michael T 12/13/2005 $60598.00 $65366.08 60598 \n", "White,Craig S 10/23/2008 $59409.00 $59982.90 59409 \n", "White,Alicia L 04/26/2010 $57797.00 $59456.05 57797 \n", "White,Candice N 08/15/2006 $60004.00 $58576.72 60004 \n", "White,Deborah M 07/27/1987 $41315.00 $45199.89 41315 \n", "White,Mary J 01/02/1996 $37694.00 $37668.51 37694 \n", "White,Maria A 06/05/2006 $30816.00 $30492.46 30816 \n", "\n", " PGrossPay PayRatio PayDiff Name Last_Name \\\n", " Name \n", "White,Preston 95363.05 1.514300 32388.05 White,Preston White \n", "White,David K 91744.70 1.403876 26393.70 White,David K White \n", "White,Carolyn M 85481.33 1.102075 7917.33 White,Carolyn M White \n", "White,Danielle R 81213.52 1.340201 20615.52 White,Danielle R White \n", "White,Stephon M 72814.89 1.225654 13405.89 White,Stephon M White \n", "White,Leon J 70111.75 1.001596 111.75 White,Leon J White \n", "White,Ivan R 68010.97 1.007048 475.97 White,Ivan R White \n", "White,Michael T 65366.08 1.078684 4768.08 White,Michael T White \n", "White,Craig S 59982.90 1.009660 573.90 White,Craig S White \n", "White,Alicia L 59456.05 1.028705 1659.05 White,Alicia L White \n", "White,Candice N 58576.72 0.976214 -1427.28 White,Candice N White \n", "White,Deborah M 45199.89 1.094031 3884.89 White,Deborah M White \n", "White,Mary J 37668.51 0.999324 -25.49 White,Mary J White \n", "White,Maria A 30492.46 0.989501 -323.54 White,Maria A White \n", "\n", " First_Name \n", " Name \n", "White,Preston Preston \n", "White,David K David K \n", "White,Carolyn M Carolyn M \n", "White,Danielle R Danielle R \n", "White,Stephon M Stephon M \n", "White,Leon J Leon J \n", "White,Ivan R Ivan R \n", "White,Michael T Michael T \n", "White,Craig S Craig S \n", "White,Alicia L Alicia L \n", "White,Candice N Candice N \n", "White,Deborah M Deborah M \n", "White,Mary J Mary J \n", "White,Maria A Maria A " ] } ], "prompt_number": 102 }, { "cell_type": "code", "collapsed": false, "input": [ "all_police14[all_police14['Last_Name']=='Porter']" ], "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", "
JobTitleAgencyIDAgencyHireDateAnnualSalaryGrossPayPAnnualSalaryPGrossPayPayRatioPayDiffNameLast_NameFirst_Name
Name
Porter,William G POLICE OFFICER A99195 Police Department 07/23/2012 $44104.00 $51412.68 44104 51412.68 1.165715 7308.68 Porter,William G Porter William G
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 103, "text": [ " JobTitle AgencyID Agency HireDate \\\n", " Name \n", "Porter,William G POLICE OFFICER A99195 Police Department 07/23/2012 \n", "\n", " AnnualSalary GrossPay PAnnualSalary PGrossPay PayRatio \\\n", " Name \n", "Porter,William G $44104.00 $51412.68 44104 51412.68 1.165715 \n", "\n", " PayDiff Name Last_Name First_Name \n", " Name \n", "Porter,William G 7308.68 Porter,William G Porter William G " ] } ], "prompt_number": 103 }, { "cell_type": "code", "collapsed": false, "input": [ "all_police14[all_police14['Last_Name']=='Miller']" ], "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", "
JobTitleAgencyIDAgencyHireDateAnnualSalaryGrossPayPAnnualSalaryPGrossPayPayRatioPayDiffNameLast_NameFirst_Name
Name
Miller,Robert R POLICE SERGEANT A99312 Police Department 06/11/1979 $82704.00 $135717.03 82704 135717.03 1.640997 53013.03 Miller,Robert R Miller Robert R
Miller,Francis W POLICE OFFICER A99322 Police Department 01/12/1994 $68322.00 $127096.58 68322 127096.58 1.860258 58774.58 Miller,Francis W Miller Francis W
Miller,Michael D POLICE OFFICER (EID) A99330 Police Department 11/30/1998 $65076.00 $101637.52 65076 101637.52 1.561828 36561.52 Miller,Michael D Miller Michael D
Miller,Sean D POLICE COMMAND STAFF II A99299 Police Department 08/01/1996 $105000.00 $100488.53 105000 100488.53 0.957034 -4511.47 Miller,Sean D Miller Sean D
Miller,Joann POLICE OFFICER A99415 Police Department 11/18/1997 $64163.00 $80728.67 64163 80728.67 1.258181 16565.67 Miller,Joann Miller Joann
Miller,Mary A POLICE OFFICER A99347 Police Department 04/04/1991 $70104.00 $79531.91 70104 79531.91 1.134485 9427.91 Miller,Mary A Miller Mary A
Miller,Michael I POLICE OFFICER A99001 Police Department 06/20/2002 $63570.00 $78222.89 63570 78222.89 1.230500 14652.89 Miller,Michael I Miller Michael I
Miller,David E POLICE OFFICER A99225 Police Department 10/04/2005 $61191.00 $65111.37 61191 65111.37 1.064068 3920.37 Miller,David E Miller David E
Miller,Garrett E POLICE OFFICER A99195 Police Department 04/09/2012 $44773.00 $51076.65 44773 51076.65 1.140791 6303.65 Miller,Garrett E Miller Garrett E
Miller,Aimee E POLICE OFFICER A99064 Police Department 10/15/2012 $44104.00 $48393.15 44104 48393.15 1.097251 4289.15 Miller,Aimee E Miller Aimee E
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 104, "text": [ " JobTitle AgencyID Agency \\\n", " Name \n", "Miller,Robert R POLICE SERGEANT A99312 Police Department \n", "Miller,Francis W POLICE OFFICER A99322 Police Department \n", "Miller,Michael D POLICE OFFICER (EID) A99330 Police Department \n", "Miller,Sean D POLICE COMMAND STAFF II A99299 Police Department \n", "Miller,Joann POLICE OFFICER A99415 Police Department \n", "Miller,Mary A POLICE OFFICER A99347 Police Department \n", "Miller,Michael I POLICE OFFICER A99001 Police Department \n", "Miller,David E POLICE OFFICER A99225 Police Department \n", "Miller,Garrett E POLICE OFFICER A99195 Police Department \n", "Miller,Aimee E POLICE OFFICER A99064 Police Department \n", "\n", " HireDate AnnualSalary GrossPay PAnnualSalary \\\n", " Name \n", "Miller,Robert R 06/11/1979 $82704.00 $135717.03 82704 \n", "Miller,Francis W 01/12/1994 $68322.00 $127096.58 68322 \n", "Miller,Michael D 11/30/1998 $65076.00 $101637.52 65076 \n", "Miller,Sean D 08/01/1996 $105000.00 $100488.53 105000 \n", "Miller,Joann 11/18/1997 $64163.00 $80728.67 64163 \n", "Miller,Mary A 04/04/1991 $70104.00 $79531.91 70104 \n", "Miller,Michael I 06/20/2002 $63570.00 $78222.89 63570 \n", "Miller,David E 10/04/2005 $61191.00 $65111.37 61191 \n", "Miller,Garrett E 04/09/2012 $44773.00 $51076.65 44773 \n", "Miller,Aimee E 10/15/2012 $44104.00 $48393.15 44104 \n", "\n", " PGrossPay PayRatio PayDiff Name Last_Name \\\n", " Name \n", "Miller,Robert R 135717.03 1.640997 53013.03 Miller,Robert R Miller \n", "Miller,Francis W 127096.58 1.860258 58774.58 Miller,Francis W Miller \n", "Miller,Michael D 101637.52 1.561828 36561.52 Miller,Michael D Miller \n", "Miller,Sean D 100488.53 0.957034 -4511.47 Miller,Sean D Miller \n", "Miller,Joann 80728.67 1.258181 16565.67 Miller,Joann Miller \n", "Miller,Mary A 79531.91 1.134485 9427.91 Miller,Mary A Miller \n", "Miller,Michael I 78222.89 1.230500 14652.89 Miller,Michael I Miller \n", "Miller,David E 65111.37 1.064068 3920.37 Miller,David E Miller \n", "Miller,Garrett E 51076.65 1.140791 6303.65 Miller,Garrett E Miller \n", "Miller,Aimee E 48393.15 1.097251 4289.15 Miller,Aimee E Miller \n", "\n", " First_Name \n", " Name \n", "Miller,Robert R Robert R \n", "Miller,Francis W Francis W \n", "Miller,Michael D Michael D \n", "Miller,Sean D Sean D \n", "Miller,Joann Joann \n", "Miller,Mary A Mary A \n", "Miller,Michael I Michael I \n", "Miller,David E David E \n", "Miller,Garrett E Garrett E \n", "Miller,Aimee E Aimee E " ] } ], "prompt_number": 104 }, { "cell_type": "code", "collapsed": false, "input": [ "all_police14[all_police14['Last_Name']=='Nero']" ], "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", "
JobTitleAgencyIDAgencyHireDateAnnualSalaryGrossPayPAnnualSalaryPGrossPayPayRatioPayDiffNameLast_NameFirst_Name
Name
Nero,Edward M POLICE OFFICER A99195 Police Department 06/26/2012 $44773.00 $51421.40 44773 51421.4 1.148491 6648.4 Nero,Edward M Nero Edward M
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 105, "text": [ " JobTitle AgencyID Agency HireDate \\\n", " Name \n", "Nero,Edward M POLICE OFFICER A99195 Police Department 06/26/2012 \n", "\n", " AnnualSalary GrossPay PAnnualSalary PGrossPay PayRatio \\\n", " Name \n", "Nero,Edward M $44773.00 $51421.40 44773 51421.4 1.148491 \n", "\n", " PayDiff Name Last_Name First_Name \n", " Name \n", "Nero,Edward M 6648.4 Nero,Edward M Nero Edward M " ] } ], "prompt_number": 105 }, { "cell_type": "code", "collapsed": false, "input": [ "all_police14[all_police14['Last_Name']=='Goodson Jr']" ], "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", "
JobTitleAgencyIDAgencyHireDateAnnualSalaryGrossPayPAnnualSalaryPGrossPayPayRatioPayDiffNameLast_NameFirst_Name
Name
Goodson Jr,Caesar R POLICE OFFICER A99195 Police Department 08/18/1999 $64757.00 $105194.77 64757 105194.77 1.624454 40437.77 Goodson Jr,Caesar R Goodson Jr Caesar R
\n", "
" ], "metadata": {}, "output_type": "pyout", "prompt_number": 122, "text": [ " JobTitle AgencyID Agency HireDate \\\n", " Name \n", "Goodson Jr,Caesar R POLICE OFFICER A99195 Police Department 08/18/1999 \n", "\n", " AnnualSalary GrossPay PAnnualSalary PGrossPay \\\n", " Name \n", "Goodson Jr,Caesar R $64757.00 $105194.77 64757 105194.77 \n", "\n", " PayRatio PayDiff Name Last_Name \\\n", " Name \n", "Goodson Jr,Caesar R 1.624454 40437.77 Goodson Jr,Caesar R Goodson Jr \n", "\n", " First_Name \n", " Name \n", "Goodson Jr,Caesar R Caesar R " ] } ], "prompt_number": 122 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 122 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 122 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [], "prompt_number": 122 }, { "cell_type": "code", "collapsed": false, "input": [], "language": "python", "metadata": {}, "outputs": [] } ], "metadata": {} } ] }