{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Chapter 2: Selecting Data & Finding the Most Common Complaint Type"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"Populating the interactive namespace from numpy and matplotlib\n",
"line_width has been deprecated, use display.width instead (currently both are\n",
"identical)\n",
"\n"
]
}
],
"source": [
"% pylab inline\n",
"import pandas as pd\n",
"pd.set_option('display.mpl_style', 'default')\n",
"pd.set_option('display.line_width', 5000) \n",
"pd.set_option('display.max_columns', 60) \n",
"\n",
"figsize(15, 5)"
]
},
{
"cell_type": "code",
"execution_count": 11,
"metadata": {
"collapsed": false
},
"outputs": [],
"source": [
"import matplotlib\n",
"matplotlib.style.use('ggplot')"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## What's in It ?"
]
},
{
"cell_type": "code",
"execution_count": 12,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stderr",
"output_type": "stream",
"text": [
"/usr/local/lib/python2.7/site-packages/IPython/core/interactiveshell.py:2723: DtypeWarning: Columns (8) have mixed types. Specify dtype option on import or set low_memory=False.\n",
" interactivity=interactivity, compiler=compiler, result=result)\n"
]
}
],
"source": [
"complaints = pd.read_csv('./data/311-service-requests.csv')"
]
},
{
"cell_type": "code",
"execution_count": 14,
"metadata": {
"collapsed": false,
"scrolled": true
},
"outputs": [
{
"data": {
"text/html": [
"
\n",
"
\n",
" \n",
" \n",
" | \n",
" Unique Key | \n",
" Created Date | \n",
" Closed Date | \n",
" Agency | \n",
" Agency Name | \n",
" Complaint Type | \n",
" Descriptor | \n",
" Location Type | \n",
" Incident Zip | \n",
" Incident Address | \n",
" Street Name | \n",
" Cross Street 1 | \n",
" Cross Street 2 | \n",
" Intersection Street 1 | \n",
" Intersection Street 2 | \n",
" Address Type | \n",
" City | \n",
" Landmark | \n",
" Facility Type | \n",
" Status | \n",
" Due Date | \n",
" Resolution Action Updated Date | \n",
" Community Board | \n",
" Borough | \n",
" X Coordinate (State Plane) | \n",
" Y Coordinate (State Plane) | \n",
" Park Facility Name | \n",
" Park Borough | \n",
" School Name | \n",
" School Number | \n",
" School Region | \n",
" School Code | \n",
" School Phone Number | \n",
" School Address | \n",
" School City | \n",
" School State | \n",
" School Zip | \n",
" School Not Found | \n",
" School or Citywide Complaint | \n",
" Vehicle Type | \n",
" Taxi Company Borough | \n",
" Taxi Pick Up Location | \n",
" Bridge Highway Name | \n",
" Bridge Highway Direction | \n",
" Road Ramp | \n",
" Bridge Highway Segment | \n",
" Garage Lot Name | \n",
" Ferry Direction | \n",
" Ferry Terminal Name | \n",
" Latitude | \n",
" Longitude | \n",
" Location | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" 26589651 | \n",
" 10/31/2013 02:08:41 AM | \n",
" NaN | \n",
" NYPD | \n",
" New York City Police Department | \n",
" Noise - Street/Sidewalk | \n",
" Loud Talking | \n",
" Street/Sidewalk | \n",
" 11432 | \n",
" 90-03 169 STREET | \n",
" 169 STREET | \n",
" 90 AVENUE | \n",
" 91 AVENUE | \n",
" NaN | \n",
" NaN | \n",
" ADDRESS | \n",
" JAMAICA | \n",
" NaN | \n",
" Precinct | \n",
" Assigned | \n",
" 10/31/2013 10:08:41 AM | \n",
" 10/31/2013 02:35:17 AM | \n",
" 12 QUEENS | \n",
" QUEENS | \n",
" 1042027 | \n",
" 197389 | \n",
" Unspecified | \n",
" QUEENS | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" N | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 40.708275 | \n",
" -73.791604 | \n",
" (40.70827532593202, -73.79160395779721) | \n",
"
\n",
" \n",
" | 1 | \n",
" 26593698 | \n",
" 10/31/2013 02:01:04 AM | \n",
" NaN | \n",
" NYPD | \n",
" New York City Police Department | \n",
" Illegal Parking | \n",
" Commercial Overnight Parking | \n",
" Street/Sidewalk | \n",
" 11378 | \n",
" 58 AVENUE | \n",
" 58 AVENUE | \n",
" 58 PLACE | \n",
" 59 STREET | \n",
" NaN | \n",
" NaN | \n",
" BLOCKFACE | \n",
" MASPETH | \n",
" NaN | \n",
" Precinct | \n",
" Open | \n",
" 10/31/2013 10:01:04 AM | \n",
" NaN | \n",
" 05 QUEENS | \n",
" QUEENS | \n",
" 1009349 | \n",
" 201984 | \n",
" Unspecified | \n",
" QUEENS | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" N | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 40.721041 | \n",
" -73.909453 | \n",
" (40.721040535628305, -73.90945306791765) | \n",
"
\n",
" \n",
" | 2 | \n",
" 26594139 | \n",
" 10/31/2013 02:00:24 AM | \n",
" 10/31/2013 02:40:32 AM | \n",
" NYPD | \n",
" New York City Police Department | \n",
" Noise - Commercial | \n",
" Loud Music/Party | \n",
" Club/Bar/Restaurant | \n",
" 10032 | \n",
" 4060 BROADWAY | \n",
" BROADWAY | \n",
" WEST 171 STREET | \n",
" WEST 172 STREET | \n",
" NaN | \n",
" NaN | \n",
" ADDRESS | \n",
" NEW YORK | \n",
" NaN | \n",
" Precinct | \n",
" Closed | \n",
" 10/31/2013 10:00:24 AM | \n",
" 10/31/2013 02:39:42 AM | \n",
" 12 MANHATTAN | \n",
" MANHATTAN | \n",
" 1001088 | \n",
" 246531 | \n",
" Unspecified | \n",
" MANHATTAN | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" N | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 40.843330 | \n",
" -73.939144 | \n",
" (40.84332975466513, -73.93914371913482) | \n",
"
\n",
" \n",
" | 3 | \n",
" 26595721 | \n",
" 10/31/2013 01:56:23 AM | \n",
" 10/31/2013 02:21:48 AM | \n",
" NYPD | \n",
" New York City Police Department | \n",
" Noise - Vehicle | \n",
" Car/Truck Horn | \n",
" Street/Sidewalk | \n",
" 10023 | \n",
" WEST 72 STREET | \n",
" WEST 72 STREET | \n",
" COLUMBUS AVENUE | \n",
" AMSTERDAM AVENUE | \n",
" NaN | \n",
" NaN | \n",
" BLOCKFACE | \n",
" NEW YORK | \n",
" NaN | \n",
" Precinct | \n",
" Closed | \n",
" 10/31/2013 09:56:23 AM | \n",
" 10/31/2013 02:21:10 AM | \n",
" 07 MANHATTAN | \n",
" MANHATTAN | \n",
" 989730 | \n",
" 222727 | \n",
" Unspecified | \n",
" MANHATTAN | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" N | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 40.778009 | \n",
" -73.980213 | \n",
" (40.7780087446372, -73.98021349023975) | \n",
"
\n",
" \n",
" | 4 | \n",
" 26590930 | \n",
" 10/31/2013 01:53:44 AM | \n",
" NaN | \n",
" DOHMH | \n",
" Department of Health and Mental Hygiene | \n",
" Rodent | \n",
" Condition Attracting Rodents | \n",
" Vacant Lot | \n",
" 10027 | \n",
" WEST 124 STREET | \n",
" WEST 124 STREET | \n",
" LENOX AVENUE | \n",
" ADAM CLAYTON POWELL JR BOULEVARD | \n",
" NaN | \n",
" NaN | \n",
" BLOCKFACE | \n",
" NEW YORK | \n",
" NaN | \n",
" NaN | \n",
" Pending | \n",
" 11/30/2013 01:53:44 AM | \n",
" 10/31/2013 01:59:54 AM | \n",
" 10 MANHATTAN | \n",
" MANHATTAN | \n",
" 998815 | \n",
" 233545 | \n",
" Unspecified | \n",
" MANHATTAN | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" Unspecified | \n",
" N | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" NaN | \n",
" 40.807691 | \n",
" -73.947387 | \n",
" (40.80769092704951, -73.94738703491433) | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Unique Key Created Date Closed Date Agency Agency Name Complaint Type Descriptor Location Type Incident Zip Incident Address Street Name Cross Street 1 Cross Street 2 Intersection Street 1 Intersection Street 2 Address Type City Landmark Facility Type Status Due Date Resolution Action Updated Date Community Board Borough X Coordinate (State Plane) Y Coordinate (State Plane) Park Facility Name Park Borough School Name School Number School Region School Code School Phone Number School Address School City School State School Zip School Not Found School or Citywide Complaint Vehicle Type Taxi Company Borough Taxi Pick Up Location Bridge Highway Name Bridge Highway Direction Road Ramp Bridge Highway Segment Garage Lot Name Ferry Direction Ferry Terminal Name Latitude Longitude Location\n",
"0 26589651 10/31/2013 02:08:41 AM NaN NYPD New York City Police Department Noise - Street/Sidewalk Loud Talking Street/Sidewalk 11432 90-03 169 STREET 169 STREET 90 AVENUE 91 AVENUE NaN NaN ADDRESS JAMAICA NaN Precinct Assigned 10/31/2013 10:08:41 AM 10/31/2013 02:35:17 AM 12 QUEENS QUEENS 1042027 197389 Unspecified QUEENS Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 40.708275 -73.791604 (40.70827532593202, -73.79160395779721)\n",
"1 26593698 10/31/2013 02:01:04 AM NaN NYPD New York City Police Department Illegal Parking Commercial Overnight Parking Street/Sidewalk 11378 58 AVENUE 58 AVENUE 58 PLACE 59 STREET NaN NaN BLOCKFACE MASPETH NaN Precinct Open 10/31/2013 10:01:04 AM NaN 05 QUEENS QUEENS 1009349 201984 Unspecified QUEENS Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 40.721041 -73.909453 (40.721040535628305, -73.90945306791765)\n",
"2 26594139 10/31/2013 02:00:24 AM 10/31/2013 02:40:32 AM NYPD New York City Police Department Noise - Commercial Loud Music/Party Club/Bar/Restaurant 10032 4060 BROADWAY BROADWAY WEST 171 STREET WEST 172 STREET NaN NaN ADDRESS NEW YORK NaN Precinct Closed 10/31/2013 10:00:24 AM 10/31/2013 02:39:42 AM 12 MANHATTAN MANHATTAN 1001088 246531 Unspecified MANHATTAN Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 40.843330 -73.939144 (40.84332975466513, -73.93914371913482)\n",
"3 26595721 10/31/2013 01:56:23 AM 10/31/2013 02:21:48 AM NYPD New York City Police Department Noise - Vehicle Car/Truck Horn Street/Sidewalk 10023 WEST 72 STREET WEST 72 STREET COLUMBUS AVENUE AMSTERDAM AVENUE NaN NaN BLOCKFACE NEW YORK NaN Precinct Closed 10/31/2013 09:56:23 AM 10/31/2013 02:21:10 AM 07 MANHATTAN MANHATTAN 989730 222727 Unspecified MANHATTAN Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 40.778009 -73.980213 (40.7780087446372, -73.98021349023975)\n",
"4 26590930 10/31/2013 01:53:44 AM NaN DOHMH Department of Health and Mental Hygiene Rodent Condition Attracting Rodents Vacant Lot 10027 WEST 124 STREET WEST 124 STREET LENOX AVENUE ADAM CLAYTON POWELL JR BOULEVARD NaN NaN BLOCKFACE NEW YORK NaN NaN Pending 11/30/2013 01:53:44 AM 10/31/2013 01:59:54 AM 10 MANHATTAN MANHATTAN 998815 233545 Unspecified MANHATTAN Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified Unspecified N NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN NaN 40.807691 -73.947387 (40.80769092704951, -73.94738703491433)"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complaints.head()"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Selecting a Column"
]
},
{
"cell_type": "code",
"execution_count": 15,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0 Noise - Street/Sidewalk\n",
"1 Illegal Parking\n",
"2 Noise - Commercial\n",
"3 Noise - Vehicle\n",
"4 Rodent\n",
"5 Noise - Commercial\n",
"6 Blocked Driveway\n",
"7 Noise - Commercial\n",
"8 Noise - Commercial\n",
"9 Noise - Commercial\n",
"10 Noise - House of Worship\n",
"11 Noise - Commercial\n",
"12 Illegal Parking\n",
"13 Noise - Vehicle\n",
"14 Rodent\n",
"15 Noise - House of Worship\n",
"16 Noise - Street/Sidewalk\n",
"17 Illegal Parking\n",
"18 Street Light Condition\n",
"19 Noise - Commercial\n",
"20 Noise - House of Worship\n",
"21 Noise - Commercial\n",
"22 Noise - Vehicle\n",
"23 Noise - Commercial\n",
"24 Blocked Driveway\n",
"25 Noise - Street/Sidewalk\n",
"26 Street Light Condition\n",
"27 Harboring Bees/Wasps\n",
"28 Noise - Street/Sidewalk\n",
"29 Street Light Condition\n",
" ... \n",
"111039 Noise - Commercial\n",
"111040 Noise - Commercial\n",
"111041 Noise\n",
"111042 Noise - Street/Sidewalk\n",
"111043 Noise - Commercial\n",
"111044 Noise - Street/Sidewalk\n",
"111045 Water System\n",
"111046 Noise\n",
"111047 Illegal Parking\n",
"111048 Noise - Street/Sidewalk\n",
"111049 Noise - Commercial\n",
"111050 Noise\n",
"111051 Noise - Commercial\n",
"111052 Water System\n",
"111053 Derelict Vehicles\n",
"111054 Noise - Street/Sidewalk\n",
"111055 Noise - Commercial\n",
"111056 Street Sign - Missing\n",
"111057 Noise\n",
"111058 Noise - Commercial\n",
"111059 Noise - Street/Sidewalk\n",
"111060 Noise\n",
"111061 Noise - Commercial\n",
"111062 Water System\n",
"111063 Water System\n",
"111064 Maintenance or Facility\n",
"111065 Illegal Parking\n",
"111066 Noise - Street/Sidewalk\n",
"111067 Noise - Commercial\n",
"111068 Blocked Driveway\n",
"Name: Complaint Type, dtype: object"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complaints['Complaint Type']"
]
},
{
"cell_type": "code",
"execution_count": 16,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0 Noise - Street/Sidewalk\n",
"1 Illegal Parking\n",
"2 Noise - Commercial\n",
"3 Noise - Vehicle\n",
"4 Rodent\n",
"Name: Complaint Type, dtype: object"
]
},
"execution_count": 16,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complaints['Complaint Type'][: 5]"
]
},
{
"cell_type": "code",
"execution_count": 17,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"0 Noise - Street/Sidewalk\n",
"1 Illegal Parking\n",
"2 Noise - Commercial\n",
"3 Noise - Vehicle\n",
"4 Rodent\n",
"Name: Complaint Type, dtype: object"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complaints[: 5]['Complaint Type']"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 1.3 Selecting Multiple Columns"
]
},
{
"cell_type": "code",
"execution_count": 20,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/html": [
"\n",
"
\n",
" \n",
" \n",
" | \n",
" Complaint Type | \n",
" Borough | \n",
"
\n",
" \n",
" \n",
" \n",
" | 0 | \n",
" Noise - Street/Sidewalk | \n",
" QUEENS | \n",
"
\n",
" \n",
" | 1 | \n",
" Illegal Parking | \n",
" QUEENS | \n",
"
\n",
" \n",
" | 2 | \n",
" Noise - Commercial | \n",
" MANHATTAN | \n",
"
\n",
" \n",
" | 3 | \n",
" Noise - Vehicle | \n",
" MANHATTAN | \n",
"
\n",
" \n",
" | 4 | \n",
" Rodent | \n",
" MANHATTAN | \n",
"
\n",
" \n",
"
\n",
"
"
],
"text/plain": [
" Complaint Type Borough\n",
"0 Noise - Street/Sidewalk QUEENS\n",
"1 Illegal Parking QUEENS\n",
"2 Noise - Commercial MANHATTAN\n",
"3 Noise - Vehicle MANHATTAN\n",
"4 Rodent MANHATTAN"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complaints[['Complaint Type', 'Borough']][0: 5]"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## 2.4 What's the most common complaint type?"
]
},
{
"cell_type": "code",
"execution_count": 21,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"HEATING 14200\n",
"GENERAL CONSTRUCTION 7471\n",
"Street Light Condition 7117\n",
"DOF Literature Request 5797\n",
"PLUMBING 5373\n",
"PAINT - PLASTER 5149\n",
"Blocked Driveway 4590\n",
"NONCONST 3998\n",
"Street Condition 3473\n",
"Illegal Parking 3343\n",
"Noise 3321\n",
"Traffic Signal Condition 3145\n",
"Dirty Conditions 2653\n",
"Water System 2636\n",
"Noise - Commercial 2578\n",
"ELECTRIC 2350\n",
"Broken Muni Meter 2070\n",
"Noise - Street/Sidewalk 1928\n",
"Sanitation Condition 1824\n",
"Rodent 1632\n",
"Sewer 1627\n",
"Consumer Complaint 1227\n",
"Taxi Complaint 1227\n",
"Damaged Tree 1180\n",
"Overgrown Tree/Branches 1083\n",
"Missed Collection (All Materials) 973\n",
"Graffiti 973\n",
"Building/Use 942\n",
"Root/Sewer/Sidewalk Condition 836\n",
"Derelict Vehicle 803\n",
" ... \n",
"Internal Code 5\n",
"Posting Advertisement 5\n",
"Fire Alarm - Modification 5\n",
"Miscellaneous Categories 5\n",
"Poison Ivy 5\n",
"Illegal Animal Sold 4\n",
"Transportation Provider Complaint 4\n",
"Special Natural Area District (SNAD) 4\n",
"Ferry Complaint 4\n",
"Adopt-A-Basket 3\n",
"Invitation 3\n",
"Fire Alarm - Replacement 3\n",
"Illegal Fireworks 3\n",
"Misc. Comments 2\n",
"Public Assembly 2\n",
"Opinion for the Mayor 2\n",
"Window Guard 2\n",
"DFTA Literature Request 2\n",
"Legal Services Provider Complaint 2\n",
"Open Flame Permit 1\n",
"Snow 1\n",
"Municipal Parking Facility 1\n",
"X-Ray Machine/Equipment 1\n",
"Stalled Sites 1\n",
"DHS Income Savings Requirement 1\n",
"Tunnel Condition 1\n",
"Highway Sign - Damaged 1\n",
"Ferry Permit 1\n",
"Trans Fat 1\n",
"DWD 1\n",
"Name: Complaint Type, dtype: int64"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complaints['Complaint Type'].value_counts()"
]
},
{
"cell_type": "code",
"execution_count": 22,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"HEATING 14200\n",
"GENERAL CONSTRUCTION 7471\n",
"Street Light Condition 7117\n",
"DOF Literature Request 5797\n",
"PLUMBING 5373\n",
"PAINT - PLASTER 5149\n",
"Blocked Driveway 4590\n",
"NONCONST 3998\n",
"Street Condition 3473\n",
"Illegal Parking 3343\n",
"Name: Complaint Type, dtype: int64"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"complaints_counts = complaints['Complaint Type'].value_counts()\n",
"complaints_counts[: 10]"
]
},
{
"cell_type": "code",
"execution_count": 23,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
""
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nglsHFrpdcSeduiZj7969On78uC688EKNGDHCqE6UtbW12rdvn2pqapSYmKgRI0YYe4qJdOrUsoqK\nCqWkpOhiM+xjAAAgAElEQVSiiy5yO461TN/xgOhrbgJhC5b16HMcR36/X3369HE7ylkx36PL9CY6\ntigtLdXy5ctbbDNLS0t1xx13KD093e14LTDPo4t1Uvu6XXFn+q0GtmzZorVr1yojI0OJiYny+/0q\nLS3VpEmTdN1117kdr5WNGzfqo48+0ogRI7R3717ddNNNGjt2rNuxWrGlk5rpOx5efPFF/fznP5d0\nqmPVtGnTJElLly7VL37xCzejtendd99VUVFR6NS3xMRE5eXluZzKTrYs62+88YZKSkropBYlzPfo\nsqGJjmTPutP0baZkzzw/k6kdUm1ZJ7mp211zZ/qtBtatW6e5c+eG2iRLp7oozp8/38jirri4WPPn\nz1dMTIyampqUk5Nj5EJmQye15h0PZ56ff/LkSWM2VhUVFaHHe/fuDT2urKx0I06HioqK9MQTT2jl\nypUaN26cVq9e7XakFjZs2KDx48dLkvbt26dXX3011IHUtD3Ptizru3btsqaTmg07nZjv0fXOO+9o\n3rx5oWupTWyiI5m/7mwWHx9v3LryTKbPc9s6pNqyTpLc2+nU7Yo702810FZXN5/PZ+SF9jaxoZOa\n6TsepFOfz/r6+lAHwtMfm2jAgAGKi4vTyZMn1b9/f33++eduR2rh448/1vjx4+U4jlatWqWcnBw5\njqMFCxYY/4XFVM2d1C688EK3o3TIhp1OtrBlvtvQREcyf90pSevXr2+zMdbZxt1i+jx/5ZVXNHr0\n6Fa5TOyQahu3djp1u+Kurq5ORUVFKikp0ahRozR79uwWFbXbJk2apOzsbI0cOVJ9+vTRiRMnQqdl\nmmjcuHH63e9+p2HDhmn//v3G3rPLhk5qpu94kE51d2ze63TmYxN997vfVVNTk66++mrNmjXLuBuZ\nNzQ0KBAIaOvWrbrmmmtCR2hNfD9tWdZt6KTWzIadTsz36Jo6daqys7NVVVWlJ598MnRqu2lMX3dK\n0tq1a1uNOY6jd99916jizvR5blOHVMmedZLk3k6nbnfN3b333ivp1If5zC9QptxqIBAI6LPPPpPf\n7w81VElISHA71ln5/X4dOXJEgwYNMrLduC3O3PEwevRoo3Y8IPp27Nihv/71rxo6dKjuu+++0M1u\nX3vtNd1zzz1ux2uFZT261q9fr48//li//OUv1a9fP/3Hf/yHfvKTn7gdqxXme3TZ0ETHBg899JCm\nTJnS6ojTW2+9pT/+8Y8upWob8zy6bFknPfLII6qpqenynU7drrjjVgPdl+ndqmzY8fDee+8ZvZfs\nTCtWrFBKSopSU1OVnJxs9E4SAJ1DB73uZd26dW2e2XK2caC76HbFnelsOYfcNjZ0q7Jhx4Nt92Ur\nLS1VZWWljh49quLiYvXq1UvPPPOM27FCTO/eC9jClg56K1eu1O233x76+eWXX9b06dNdTITzzZZ5\nbkuHVNu4cWCh211zZ3rxZMs55KtWrdIPf/hDzZkzp9VzJl7nYHq3KsmcAq49VVVVWr9+fZvPmfT5\nbJaenq5//OMf+vTTT/Xv//7vxnWctaGJji3Lui05bWHb+2lLB73S0tLQF33HcXTkyBGXE7Vk23xv\ny0cffaQbbrjB7Rghps/zZqZ3SLXxs+nWgYVuV9yZXjzFxMSoZ8+erc4hN63BQnODl549e1pxJMf0\nblWS+TsepLN/Pk2WkJCgmJgYffXVV/r666+N6qZnQxMdW5Z1W3JKdnxJsen9tMHGjRu1adMmlZWV\nheZ7Y2OjMjMzXU7Wkk3zfdOmTVq3bp3i4uI0c+ZM9e7dWy+99JL69OljRHFnyzxvZnqHVJs+m83c\nOrDQ7Yo704unCRMm6Pvf/36r8bq6OhfSnF3Pnj0lqc2sJjK9W5Vk/o4HSerbt68181w6dZ+eyspK\nJSQk6O9//7t27NihefPmuR0rxPTuvZI9y7otOSU7vqTY9H5K5nfQGzdunMaNG6fnn39eDzzwgNtx\nzsqm+V5UVKSnnnpKJ06c0JNPPhm6R6gpxZMt87yZ6R1SbfpsNnPrwEK3u+aOC3C7L9O7VdnQ+av5\npsu2+OCDD5ScnKyUlBQjO2rZ0EQH509xcbFuvvlmt2N4hi0d9BAdp18D/vjjjysnJ8e4nWPo3rZv\n365ly5apqqpKQ4YM0bRp03TllVee97/b7Yo709nWjRDRw46H88PkLqk2NNGxXVVVlfr16+d2DABR\nds899yg1NVWSVFZWFnosmXN6czOTt0PN6C59frhxYMGMcxG70Hvvved2hHZt2bLF7QgRWblyZYuf\nX375ZZeStG/OnDmhfw8//LBmzZrldqRWzlbAmVTYbdiwIfR43759+u1vf6s5c+aotLTUxVRnt23b\nNuXm5mrhwoWSpOeee87lRC0NGDBAiYmJKi8v1759+1ReXq7ExEQjCztblvWCgoLQ40OHDhlz1Pts\nqqqqtHv3biObPEn2zHdbFBUVSZL27NmjRx99VJs3b3Y5UduWLl3a4mcTl6OCggItWLBACxYsaPHY\ntMLO9O1Qs6uuukqNjY365JNP9Jvf/MbI70mSfeskn8/X5WeMdbtr7rZs2WL0kTHbuhHa0gXq9JX9\nyZMn9dZbb7mYJjzV1dUKBAIt9ka67eOPP9b48ePlOI5WrVqlnJwcOY6jBQsWKD093e14rZjeJXXL\nli1au3atMjIylJiYqEOHDqmwsFCTJk0yrrOnLcv6kCFD9Pbbb2vYsGFauXKlsV9QpJbt+//6178a\n2b7f9PluQ3Oa073//vsaM2aMPvnkE/3+979Xdna2Ro8e7XasViorK1v8fPz4cZeSnJ0tZzqZvh1q\nZnp36Wamr5MkhdZHdXV1qq+vV58+fXTs2DH17t27S27H1O2KO9OLJ1u6EdrWBep0F1xwQbv3F3PL\nhx9+qLffflsJCQmaPHmy1q5dqx49euiqq67S5MmT3Y4nSWpoaFAgENDWrVt1zTXXhO7FZkpDojOZ\n3iV13bp1mjt3rnr0+L9VcUNDg+bPn2/MhtW2ZX3s2LEqLCxUYWGhHn/8caPvF2hy+35b5rsNzWlO\n19TUpK+//lqJiYmKi4tTr1693I7UJp/Pp+PHj+vCCy/Uv/71L/l8PrcjtWL6zvpmpm+HTmdyd2lb\n1knS/+1YWrp0qX7605+qV69eOnHihF5//fUu+fvdrrgzvXiypRuhbV2gTt+r6ziOhg8f7mKatq1d\nu1YLFixQIBDQrFmztHTpUsXFxem3v/2tMcVdVlaW8vLyNHToUN13332STrXxv/TSS90Ndhamd0kN\nBoOtxnw+n1HrJ1uW9TOP3Hz55ZeaO3euJDOP4JjOlvluWwe9G2+8UYsWLdIvf/lLSdLQoUNdTtS2\nO+64Q0888YT69u2r6upqzZgxw+1IrZi+s76Z6duhZqZ3l7ZlnXS6L7/8MrSOSkpK0hdffNElf7fb\nNVQ5vbuSiWzrRojoOf2zOXfu3NAXU9M/s6YzuUvqli1btGbNGo0cOVJ9+vTRiRMnVFpaauRpmYi+\n4uJivffee7r88sv1z3/+U7fccgvdM2GUEydOGLnulM7eYVqSccuRyduhZqZ3l7bR3/72N5WUlGjY\n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\nQmCC\n",
"text/plain": [
""
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"complaints_counts[0: 20].plot(kind='bar')"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 2",
"language": "python",
"name": "python2"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 2
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython2",
"version": "2.7.11"
}
},
"nbformat": 4,
"nbformat_minor": 0
}