In [1]:
import geopandas as gp
from shapely.geometry import LineString, Point
import rtree
import os
import numpy as np
In [2]:
from itertools import chain
In [126]:
dc_segments = gp.read_file("../dc-maps-master/maps/street-segments.geojson")
vision0_pts = gp.read_file("../dc-maps-master/maps/vision-zero-safety-transportation.geojson")
In [172]:
vision0_pts = gp.read_file("../dc-maps-master/maps/vision-zero-safety-transportation.geojson")
In [4]:
print(vision0_pts.info())
vision0_pts.head().T
<class 'geopandas.geodataframe.GeoDataFrame'>
RangeIndex: 5026 entries, 0 to 5025
Data columns (total 10 columns):
COMMENTS 4536 non-null object
GLOBALID 5026 non-null object
OBJECTID 5026 non-null int64
REQUESTDATE 5019 non-null object
REQUESTID 5015 non-null object
REQUESTTYPE 5026 non-null object
STATUS 5019 non-null object
STREETSEGID 5017 non-null float64
USERTYPE 5020 non-null object
geometry 5026 non-null object
dtypes: float64(1), int64(1), object(8)
memory usage: 392.7+ KB
None
Out[4]:
0
1
2
3
4
COMMENTS
Intersection dangerous for Peds at rush hour +...
WMATA vehicles regularly use the sidewalk to p...
None
Vehicles - including WMATA buses - regularly g...
None
GLOBALID
{148BFB13-CC65-46F7-B347-7A69C77081EE}
{F2A0AFC7-2381-4F08-AEB6-55E9E545ED64}
{4926AE04-E684-4B5E-9A26-12351447E645}
{E2AA1B8E-7748-4530-9D71-B880F5EBE398}
{FA779B8C-7B3D-4559-BD45-EE8FC85CB012}
OBJECTID
48
49
50
51
52
REQUESTDATE
2015-06-29T20:33:51
2015-06-29T20:34:10
2015-06-29T20:34:31
2015-06-29T20:34:33
2015-06-29T20:34:48
REQUESTID
48
49
50
51
52
REQUESTTYPE
Failure to stop for pedestrians
Other Driving Issue
Failure to stop for pedestrians
Speeding
Failure to stop for pedestrians
STATUS
Unassigned
Unassigned
Unassigned
Unassigned
Unassigned
STREETSEGID
11875
2016
13281
9827
9162
USERTYPE
Pedestrian
Pedestrian
Pedestrian
Biker
Pedestrian
geometry
POINT (-77.02962759391977 38.9048501530145)
POINT (-77.00349975118203 38.90565930795784)
POINT (-77.02190330185668 38.91868690690595)
POINT (-77.08572889213174 38.90869297027604)
POINT (-77.02294848571017 38.9166450535154)
In [175]:
vision0_pts.shape
Out[175]:
(5026, 10)
In [174]:
print(vision0_pts[vision0_pts['REQUESTDATE'].str.contains('2013', na=False)].shape[0])
print(vision0_pts[vision0_pts['REQUESTDATE'].str.contains('2014', na=False)].shape[0])
print(vision0_pts[vision0_pts['REQUESTDATE'].str.contains('2015', na=False)].shape[0])
print(vision0_pts[vision0_pts['REQUESTDATE'].str.contains('2016', na=False)].shape[0])
0
0
4792
227
In [177]:
vision0_pts[pd.isnull(vision0_pts.REQUESTDATE)].shape[0]
Out[177]:
7
In [5]:
def haversine(lon1, lat1, lon2, lat2):
"""
Calculate the great circle distance between two points
on the earth (specified in decimal degrees)
"""
from math import radians, cos, sin, asin, sqrt
# convert decimal degrees to radians
lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
# haversine formula
dlon = lon2 - lon1
dlat = lat2 - lat1
a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
c = 2 * asin(sqrt(a))
km = 6367 * c
m = km *1000
return m
def ptfromln(pt, ln):
n_pt = ln.interpolate(ln.project(pt))
lon1, lat1 = n_pt.coords[0]
lon2, lat2 = pt.coords[0]
return haversine(lon1, lat1, lon2, lat2)
def pts2seg(pts, gp_segs, buffer_dis=50, near_dis_thres=5):
pts_crs,gp_segs_crs = pts.to_crs(epsg=3559), gp_segs.to_crs(epsg=3559)
pts_crs_bfr = pts_crs.copy()
pts_crs_bfr.geometry = pts_crs_bfr.buffer(near_dis_thres*1.1)
close_jn = gp.tools.sjoin(pts_crs_bfr, gp_segs_crs)[['OBJECTID_left','STREETSEGID_right']]
handledid = set(pd.unique(close_jn.OBJECTID_left))
mask = (~pts_crs_bfr.OBJECTID.isin(handledid))
far_jns = []
while pts_crs_bfr[mask].shape[0]!=0:
pts_crs_bfr.loc[mask, 'geometry'] = pts_crs_bfr[mask].buffer(buffer_dis)
jn = gp.tools.sjoin(pts_crs_bfr[mask], gp_segs_crs)[['OBJECTID_left','STREETSEGID_right']]
far_jns.append(jn)
handledid |= set(pd.unique(jn.OBJECTID_left))
mask = (~pts_crs_bfr.OBJECTID.isin(handledid))
far_jns = pd.concat(far_jns)
mr = pd.merge(gp_segs[['geometry','STREETSEGID']],far_jns , left_on='STREETSEGID', right_on='STREETSEGID_right')
mr = pd.merge(pts[['OBJECTID','geometry','STREETSEGID']],mr, left_on='OBJECTID', right_on='OBJECTID_left')
mr['dis']=mr.apply(lambda x: ptfromln(x.geometry_x, x.geometry_y),axis=1)
result = close_jn.groupby('OBJECTID_left')['STREETSEGID_right'].apply(list).append(mr.groupby('OBJECTID').apply(lambda x: [x.ix[x.dis.idxmin()].STREETSEGID_y]))
return pd.DataFrame(result, columns=['segid'])
In [6]:
dc_segs_statistic = dc_segments[['OBJECTID','STREETSEGID','SHAPE_Length','geometry']]
In [221]:
dc_segs_stats = dc_segments[['STREETSEGID','SHAPE_Length']]
In [7]:
dc_segs_statistic = dc_segs_statistic.merge(vision0_pts, left_on = 'STREETSEGID', right_index=True, how='left')
In [219]:
viz0 = vision0_pts[['STREETSEGID', 'REQUESTTYPE', 'REQUESTDATE']].dropna()
viz0.shape
Out[219]:
(5017, 3)
In [180]:
result = viz0.merge(dc_segs_stats, left_on='STREETSEGID', right_on='STREETSEGID', right_index=False, how='left')
In [183]:
result[pd.isnull(result.SHAPE_Length)==1]
Out[183]:
STREETSEGID
REQUESTTYPE
REQUESTDATE
SHAPE_Length
3509
NaN
Other Driving Issue
None
NaN
4881
NaN
Other Biking Issue
None
NaN
4882
NaN
Not enough time to cross
None
NaN
4883
NaN
Not enough time to cross
None
NaN
4884
NaN
Not enough time to cross
None
NaN
4892
NaN
Other Driving Issue
2016-03-10T05:00:00
NaN
4906
NaN
Other Biking Issue
2016-03-30T04:00:00
NaN
4907
NaN
Other Driving Issue
None
NaN
4957
NaN
Red light running
None
NaN
In [222]:
dc_segs_stats = dc_segs_stats.merge(viz0, left_on='STREETSEGID', right_on='STREETSEGID', right_index=False, how='left')
print(dc_segs_stats.shape)
dc_segs_stats.head().T
(15700, 4)
Out[222]:
0
1
2
3
4
STREETSEGID
876
876
13161
8240
10395
SHAPE_Length
192.925
192.925
131.936
117.887
108.331
REQUESTTYPE
Other Biking Issue
Other Biking Issue
Stop sign running
NaN
NaN
REQUESTDATE
2015-07-20T14:45:07
2015-07-07T19:56:26
2015-09-05T14:13:13
NaN
NaN
In [191]:
dc_segs_stats[pd.isnull(dc_segs_stats['REQUESTTYPE'])==0].shape
Out[191]:
(5017, 4)
In [223]:
dc_segs_stats = dc_segs_stats.dropna()
print(dc_segs_stats.shape)
dc_segs_stats.head().T
(5017, 4)
Out[223]:
0
1
2
11
15
STREETSEGID
876
876
13161
9116
12034
SHAPE_Length
192.925
192.925
131.936
124.981
124.618
REQUESTTYPE
Other Biking Issue
Other Biking Issue
Stop sign running
Failure to stop for pedestrians
Cyclist behavior
REQUESTDATE
2015-07-20T14:45:07
2015-07-07T19:56:26
2015-09-05T14:13:13
2015-07-17T12:00:40
2015-08-07T00:31:47
In [8]:
dc_segs_statistic.shape
Out[8]:
(13522, 14)
In [224]:
dc_segs_stats.REQUESTDATE = pd.DatetimeIndex(dc_segs_stats.REQUESTDATE)
dc_segs_stats.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 5017 entries, 0 to 15684
Data columns (total 4 columns):
STREETSEGID 5017 non-null int64
SHAPE_Length 5017 non-null float64
REQUESTTYPE 5017 non-null object
REQUESTDATE 5017 non-null datetime64[ns]
dtypes: datetime64[ns](1), float64(1), int64(1), object(1)
memory usage: 196.0+ KB
In [201]:
dc_segs_stats.REQUESTDATE.dt.month
Out[201]:
0 7
1 7
2 9
11 7
15 8
17 7
22 9
24 9
27 9
28 7
35 7
36 7
37 7
40 7
41 7
42 7
43 7
44 7
46 7
48 7
65 9
66 11
67 11
68 11
69 12
70 7
72 7
73 11
74 11
75 11
..
15559 7
15560 7
15570 7
15571 7
15572 8
15573 11
15577 7
15590 8
15591 12
15592 7
15593 7
15594 7
15608 12
15621 7
15622 7
15623 8
15624 8
15630 7
15631 7
15632 7
15633 7
15635 12
15638 7
15651 7
15652 7
15655 7
15656 7
15657 9
15683 7
15684 8
Name: REQUESTDATE, dtype: int64
In [225]:
monthly_count = dc_segs_stats.groupby(['STREETSEGID',dc_segs_stats['REQUESTDATE'].dt.month]).size().reset_index()
monthly_count.columns = ['STREETSEGID', 'MONTH', 'total_monthly_count']
dc_segs_stats = dc_segs_stats.merge(monthly_count, left_on='STREETSEGID', right_on='STREETSEGID', right_index=False, how='left')
print(dc_segs_stats.shape)
dc_segs_stats.head().T
(8540, 6)
Out[225]:
0
1
2
3
4
STREETSEGID
876
876
13161
9116
12034
SHAPE_Length
192.925
192.925
131.936
124.981
124.618
REQUESTTYPE
Other Biking Issue
Other Biking Issue
Stop sign running
Failure to stop for pedestrians
Cyclist behavior
REQUESTDATE
2015-07-20 14:45:07
2015-07-07 19:56:26
2015-09-05 14:13:13
2015-07-17 12:00:40
2015-08-07 00:31:47
MONTH
7
7
9
7
8
total_monthly_count
2
2
1
1
1
In [226]:
dc_segs_stats = dc_segs_stats.drop('REQUESTDATE',axis=1)
print(dc_segs_stats.shape)
dc_segs_stats.head().T
(8540, 5)
Out[226]:
0
1
2
3
4
STREETSEGID
876
876
13161
9116
12034
SHAPE_Length
192.925
192.925
131.936
124.981
124.618
REQUESTTYPE
Other Biking Issue
Other Biking Issue
Stop sign running
Failure to stop for pedestrians
Cyclist behavior
MONTH
7
7
9
7
8
total_monthly_count
2
2
1
1
1
In [227]:
viz0_typemerge = dc_segs_stats.groupby(['STREETSEGID','SHAPE_Length','REQUESTTYPE','MONTH']).size().reset_index()
viz0_typemerge.columns = ['STREETSEGID','SHAPE_Length','REQUESTTYPE','MONTH','count']
print(viz0_typemerge.shape)
viz0_typemerge.head().T
(6990, 5)
Out[227]:
0
1
2
3
4
STREETSEGID
3
3
11
14
14
SHAPE_Length
109.595
109.595
90.873
98.2041
98.2041
REQUESTTYPE
Other Biking Issue
Other Biking Issue
Stop sign running
Accessibility Issue
Accessibility Issue
MONTH
7
11
8
7
8
count
2
2
1
1
1
In [211]:
unique_types = set()
for req_type in viz0_typemerge.REQUESTTYPE:
unique_types.add(req_type)
print(unique_types)
{'Blocking the bikebox', 'Double parking', 'Poor visibility', 'Other Driving Issue', 'Failure to stop for pedestrians', 'Blocking the crosswalk', 'Long wait to cross', 'Other Biking Issue', 'Speeding', 'Red light running', 'Stop sign running', 'Not enough time to cross', 'Long distance to cross', 'Other Walking Issue', 'Accessibility Issue', 'Cyclist behavior', 'Jaywalking'}
In [228]:
for utype in unique_types:
viz0_type_data = viz0_typemerge[viz0_typemerge.REQUESTTYPE==utype]
utype_count = utype + '_count'
viz0_type_count = viz0_type_data[['STREETSEGID', 'MONTH', 'count']]
viz0_type_count.columns = ['STREETSEGID', 'MONTH', utype_count]
utype_count_len = utype_count + '/len'
viz0_type_count[utype_count_len] = viz0_type_data['count']/viz0_type_data['SHAPE_Length']
normalize(utype_count, viz0_type_count)
normalize(utype_count_len, viz0_type_count)
dc_segs_stats = dc_segs_stats.merge(viz0_type_count, left_on = ['STREETSEGID', 'MONTH'], right_on = ['STREETSEGID', 'MONTH'], right_index=False, how='left')
//anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:7: SettingWithCopyWarning:
A value is trying to be set on a copy of a slice from a DataFrame.
Try using .loc[row_indexer,col_indexer] = value instead
See the caveats in the documentation: http://pandas.pydata.org/pandas-docs/stable/indexing.html#indexing-view-versus-copy
In [229]:
dc_segs_stats = dc_segs_stats.fillna(0).drop_duplicates()
In [230]:
print(dc_segs_stats.shape)
dc_segs_stats.head().T
(6990, 73)
Out[230]:
0
2
3
4
5
STREETSEGID
876
13161
9116
12034
2902
SHAPE_Length
192.925
131.936
124.981
124.618
126.698
REQUESTTYPE
Other Biking Issue
Stop sign running
Failure to stop for pedestrians
Cyclist behavior
Poor visibility
MONTH
7
9
7
8
7
total_monthly_count
2
1
1
1
1
Blocking the bikebox_count
0
0
0
0
0
Blocking the bikebox_count/len
0
0
0
0
0
Blocking the bikebox_count_norm
0
0
0
0
0
Blocking the bikebox_count/len_norm
0
0
0
0
0
Double parking_count
0
0
0
0
0
Double parking_count/len
0
0
0
0
0
Double parking_count_norm
0
0
0
0
0
Double parking_count/len_norm
0
0
0
0
0
Poor visibility_count
0
0
0
0
1
Poor visibility_count/len
0
0
0
0
0.00789278
Poor visibility_count_norm
0
0
0
0
0.333333
Poor visibility_count/len_norm
0
0
0
0
0.103771
Other Driving Issue_count
0
0
0
0
0
Other Driving Issue_count/len
0
0
0
0
0
Other Driving Issue_count_norm
0
0
0
0
0
Other Driving Issue_count/len_norm
0
0
0
0
0
Failure to stop for pedestrians_count
0
0
1
0
0
Failure to stop for pedestrians_count/len
0
0
0.00800124
0
0
Failure to stop for pedestrians_count_norm
0
0
0.356207
0
0
Failure to stop for pedestrians_count/len_norm
0
0
0.0626225
0
0
Blocking the crosswalk_count
0
0
0
0
0
Blocking the crosswalk_count/len
0
0
0
0
0
Blocking the crosswalk_count_norm
0
0
0
0
0
Blocking the crosswalk_count/len_norm
0
0
0
0
0
Long wait to cross_count
0
0
0
0
0
...
...
...
...
...
...
Red light running_count_norm
0
0
0
0
0
Red light running_count/len_norm
0
0
0
0
0
Stop sign running_count
0
1
0
0
0
Stop sign running_count/len
0
0.00757945
0
0
0
Stop sign running_count_norm
0
0.430677
0
0
0
Stop sign running_count/len_norm
0
0.154463
0
0
0
Not enough time to cross_count
0
0
0
0
0
Not enough time to cross_count/len
0
0
0
0
0
Not enough time to cross_count_norm
0
0
0
0
0
Not enough time to cross_count/len_norm
0
0
0
0
0
Long distance to cross_count
0
0
0
0
0
Long distance to cross_count/len
0
0
0
0
0
Long distance to cross_count_norm
0
0
0
0
0
Long distance to cross_count/len_norm
0
0
0
0
0
Other Walking Issue_count
0
0
0
0
0
Other Walking Issue_count/len
0
0
0
0
0
Other Walking Issue_count_norm
0
0
0
0
0
Other Walking Issue_count/len_norm
0
0
0
0
0
Accessibility Issue_count
0
0
0
0
0
Accessibility Issue_count/len
0
0
0
0
0
Accessibility Issue_count_norm
0
0
0
0
0
Accessibility Issue_count/len_norm
0
0
0
0
0
Cyclist behavior_count
0
0
0
1
0
Cyclist behavior_count/len
0
0
0
0.00802451
0
Cyclist behavior_count_norm
0
0
0
0.430677
0
Cyclist behavior_count/len_norm
0
0
0
0.204232
0
Jaywalking_count
0
0
0
0
0
Jaywalking_count/len
0
0
0
0
0
Jaywalking_count_norm
0
0
0
0
0
Jaywalking_count/len_norm
0
0
0
0
0
73 rows × 5 columns
In [246]:
[utype for utype in unique_types if (dc_segs_stats.loc[0, utype+'_count']>0)]
Out[246]:
['Other Biking Issue']
In [248]:
dc_segs_stats.loc[0, 'Other Biking Issue_count']
Out[248]:
2.0
In [32]:
dc_segs_stats = pd.read_csv('../DC_Vision_Zero_Details_2015-16.csv')
dc_segs_stats = dc_segs_stats.drop('Unnamed: 0',axis=1)
dc_segs_stats.columns
Out[32]:
Index(['STREETSEGID', 'SHAPE_Length', 'REQUESTTYPE', 'MONTH',
'total_monthly_count', 'Blocking the bikebox_count',
'Blocking the bikebox_count/len', 'Blocking the bikebox_count_norm',
'Blocking the bikebox_count/len_norm', 'Double parking_count',
'Double parking_count/len', 'Double parking_count_norm',
'Double parking_count/len_norm', 'Poor visibility_count',
'Poor visibility_count/len', 'Poor visibility_count_norm',
'Poor visibility_count/len_norm', 'Other Driving Issue_count',
'Other Driving Issue_count/len', 'Other Driving Issue_count_norm',
'Other Driving Issue_count/len_norm',
'Failure to stop for pedestrians_count',
'Failure to stop for pedestrians_count/len',
'Failure to stop for pedestrians_count_norm',
'Failure to stop for pedestrians_count/len_norm',
'Blocking the crosswalk_count', 'Blocking the crosswalk_count/len',
'Blocking the crosswalk_count_norm',
'Blocking the crosswalk_count/len_norm', 'Long wait to cross_count',
'Long wait to cross_count/len', 'Long wait to cross_count_norm',
'Long wait to cross_count/len_norm', 'Other Biking Issue_count',
'Other Biking Issue_count/len', 'Other Biking Issue_count_norm',
'Other Biking Issue_count/len_norm', 'Speeding_count',
'Speeding_count/len', 'Speeding_count_norm', 'Speeding_count/len_norm',
'Red light running_count', 'Red light running_count/len',
'Red light running_count_norm', 'Red light running_count/len_norm',
'Stop sign running_count', 'Stop sign running_count/len',
'Stop sign running_count_norm', 'Stop sign running_count/len_norm',
'Not enough time to cross_count', 'Not enough time to cross_count/len',
'Not enough time to cross_count_norm',
'Not enough time to cross_count/len_norm',
'Long distance to cross_count', 'Long distance to cross_count/len',
'Long distance to cross_count_norm',
'Long distance to cross_count/len_norm', 'Other Walking Issue_count',
'Other Walking Issue_count/len', 'Other Walking Issue_count_norm',
'Other Walking Issue_count/len_norm', 'Accessibility Issue_count',
'Accessibility Issue_count/len', 'Accessibility Issue_count_norm',
'Accessibility Issue_count/len_norm', 'Cyclist behavior_count',
'Cyclist behavior_count/len', 'Cyclist behavior_count_norm',
'Cyclist behavior_count/len_norm', 'Jaywalking_count',
'Jaywalking_count/len', 'Jaywalking_count_norm',
'Jaywalking_count/len_norm'],
dtype='object')
In [33]:
dc_segs_stats['total_monthly_count/len'] = dc_segs_stats['total_monthly_count']/dc_segs_stats['SHAPE_Length']
normalize('total_monthly_count', dc_segs_stats)
normalize('total_monthly_count/len', dc_segs_stats)
print(dc_segs_stats.info())
dc_segs_stats.head().T
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 6990 entries, 0 to 6989
Data columns (total 76 columns):
STREETSEGID 6990 non-null int64
SHAPE_Length 6990 non-null float64
REQUESTTYPE 6990 non-null object
MONTH 6990 non-null int64
total_monthly_count 6990 non-null int64
Blocking the bikebox_count 6990 non-null float64
Blocking the bikebox_count/len 6990 non-null float64
Blocking the bikebox_count_norm 6990 non-null float64
Blocking the bikebox_count/len_norm 6990 non-null float64
Double parking_count 6990 non-null float64
Double parking_count/len 6990 non-null float64
Double parking_count_norm 6990 non-null float64
Double parking_count/len_norm 6990 non-null float64
Poor visibility_count 6990 non-null float64
Poor visibility_count/len 6990 non-null float64
Poor visibility_count_norm 6990 non-null float64
Poor visibility_count/len_norm 6990 non-null float64
Other Driving Issue_count 6990 non-null float64
Other Driving Issue_count/len 6990 non-null float64
Other Driving Issue_count_norm 6990 non-null float64
Other Driving Issue_count/len_norm 6990 non-null float64
Failure to stop for pedestrians_count 6990 non-null float64
Failure to stop for pedestrians_count/len 6990 non-null float64
Failure to stop for pedestrians_count_norm 6990 non-null float64
Failure to stop for pedestrians_count/len_norm 6990 non-null float64
Blocking the crosswalk_count 6990 non-null float64
Blocking the crosswalk_count/len 6990 non-null float64
Blocking the crosswalk_count_norm 6990 non-null float64
Blocking the crosswalk_count/len_norm 6990 non-null float64
Long wait to cross_count 6990 non-null float64
Long wait to cross_count/len 6990 non-null float64
Long wait to cross_count_norm 6990 non-null float64
Long wait to cross_count/len_norm 6990 non-null float64
Other Biking Issue_count 6990 non-null float64
Other Biking Issue_count/len 6990 non-null float64
Other Biking Issue_count_norm 6990 non-null float64
Other Biking Issue_count/len_norm 6990 non-null float64
Speeding_count 6990 non-null float64
Speeding_count/len 6990 non-null float64
Speeding_count_norm 6990 non-null float64
Speeding_count/len_norm 6990 non-null float64
Red light running_count 6990 non-null float64
Red light running_count/len 6990 non-null float64
Red light running_count_norm 6990 non-null float64
Red light running_count/len_norm 6990 non-null float64
Stop sign running_count 6990 non-null float64
Stop sign running_count/len 6990 non-null float64
Stop sign running_count_norm 6990 non-null float64
Stop sign running_count/len_norm 6990 non-null float64
Not enough time to cross_count 6990 non-null float64
Not enough time to cross_count/len 6990 non-null float64
Not enough time to cross_count_norm 6990 non-null float64
Not enough time to cross_count/len_norm 6990 non-null float64
Long distance to cross_count 6990 non-null float64
Long distance to cross_count/len 6990 non-null float64
Long distance to cross_count_norm 6990 non-null float64
Long distance to cross_count/len_norm 6990 non-null float64
Other Walking Issue_count 6990 non-null float64
Other Walking Issue_count/len 6990 non-null float64
Other Walking Issue_count_norm 6990 non-null float64
Other Walking Issue_count/len_norm 6990 non-null float64
Accessibility Issue_count 6990 non-null float64
Accessibility Issue_count/len 6990 non-null float64
Accessibility Issue_count_norm 6990 non-null float64
Accessibility Issue_count/len_norm 6990 non-null float64
Cyclist behavior_count 6990 non-null float64
Cyclist behavior_count/len 6990 non-null float64
Cyclist behavior_count_norm 6990 non-null float64
Cyclist behavior_count/len_norm 6990 non-null float64
Jaywalking_count 6990 non-null float64
Jaywalking_count/len 6990 non-null float64
Jaywalking_count_norm 6990 non-null float64
Jaywalking_count/len_norm 6990 non-null float64
total_monthly_count/len 6990 non-null float64
total_monthly_count_norm 6990 non-null float64
total_monthly_count/len_norm 6990 non-null float64
dtypes: float64(72), int64(3), object(1)
memory usage: 4.1+ MB
None
Out[33]:
0
1
2
3
4
STREETSEGID
876
13161
9116
12034
2902
SHAPE_Length
192.925
131.936
124.981
124.618
126.698
REQUESTTYPE
Other Biking Issue
Stop sign running
Failure to stop for pedestrians
Cyclist behavior
Poor visibility
MONTH
7
9
7
8
7
total_monthly_count
2
1
1
1
1
Blocking the bikebox_count
0
0
0
0
0
Blocking the bikebox_count/len
0
0
0
0
0
Blocking the bikebox_count_norm
0
0
0
0
0
Blocking the bikebox_count/len_norm
0
0
0
0
0
Double parking_count
0
0
0
0
0
Double parking_count/len
0
0
0
0
0
Double parking_count_norm
0
0
0
0
0
Double parking_count/len_norm
0
0
0
0
0
Poor visibility_count
0
0
0
0
1
Poor visibility_count/len
0
0
0
0
0.00789278
Poor visibility_count_norm
0
0
0
0
0.333333
Poor visibility_count/len_norm
0
0
0
0
0.103771
Other Driving Issue_count
0
0
0
0
0
Other Driving Issue_count/len
0
0
0
0
0
Other Driving Issue_count_norm
0
0
0
0
0
Other Driving Issue_count/len_norm
0
0
0
0
0
Failure to stop for pedestrians_count
0
0
1
0
0
Failure to stop for pedestrians_count/len
0
0
0.00800124
0
0
Failure to stop for pedestrians_count_norm
0
0
0.356207
0
0
Failure to stop for pedestrians_count/len_norm
0
0
0.0626225
0
0
Blocking the crosswalk_count
0
0
0
0
0
Blocking the crosswalk_count/len
0
0
0
0
0
Blocking the crosswalk_count_norm
0
0
0
0
0
Blocking the crosswalk_count/len_norm
0
0
0
0
0
Long wait to cross_count
0
0
0
0
0
...
...
...
...
...
...
Stop sign running_count/len
0
0.00757945
0
0
0
Stop sign running_count_norm
0
0.430677
0
0
0
Stop sign running_count/len_norm
0
0.154463
0
0
0
Not enough time to cross_count
0
0
0
0
0
Not enough time to cross_count/len
0
0
0
0
0
Not enough time to cross_count_norm
0
0
0
0
0
Not enough time to cross_count/len_norm
0
0
0
0
0
Long distance to cross_count
0
0
0
0
0
Long distance to cross_count/len
0
0
0
0
0
Long distance to cross_count_norm
0
0
0
0
0
Long distance to cross_count/len_norm
0
0
0
0
0
Other Walking Issue_count
0
0
0
0
0
Other Walking Issue_count/len
0
0
0
0
0
Other Walking Issue_count_norm
0
0
0
0
0
Other Walking Issue_count/len_norm
0
0
0
0
0
Accessibility Issue_count
0
0
0
0
0
Accessibility Issue_count/len
0
0
0
0
0
Accessibility Issue_count_norm
0
0
0
0
0
Accessibility Issue_count/len_norm
0
0
0
0
0
Cyclist behavior_count
0
0
0
1
0
Cyclist behavior_count/len
0
0
0
0.00802451
0
Cyclist behavior_count_norm
0
0
0
0.430677
0
Cyclist behavior_count/len_norm
0
0
0
0.204232
0
Jaywalking_count
0
0
0
0
0
Jaywalking_count/len
0
0
0
0
0
Jaywalking_count_norm
0
0
0
0
0
Jaywalking_count/len_norm
0
0
0
0
0
total_monthly_count/len
0.0103667
0.00757945
0.00800124
0.00802451
0.00789278
total_monthly_count_norm
0.428317
0.270238
0.270238
0.270238
0.270238
total_monthly_count/len_norm
0.0301949
0.022107
0.0233324
0.0234
0.0230174
76 rows × 5 columns
In [34]:
dc_segs_stats.to_csv('../DC_Vision_Zero_Details_2015-16.csv')
In [9]:
dc_segs_statistic = dc_segs_statistic.dropna()
In [10]:
dc_segs_statistic.head().T
Out[10]:
0
4
16
19
25
OBJECTID_x
1
5
17
20
26
STREETSEGID_x
876
2216
2902
4213
179
SHAPE_Length
192.925
119.19
126.698
119.102
153.46
geometry_x
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01161670521323 38.956595348877...
LINESTRING (-77.01324339541158 38.951215745942...
LINESTRING (-77.01357027112063 38.954497383391...
LINESTRING (-77.01368810906661 38.961335901924...
COMMENTS
Cyclists constantly use the sidewalk up and do...
Traffic going up this hill is generally too fa...
This intersection has a fair number of pedestr...
Vehicles picking up and dropping off passenger...
I was hit by a car here when I was in the cycl...
GLOBALID
{17DD828B-8D39-4B7A-88EB-2125E60DA1EA}
{BD16F1DE-92F0-4B6B-ACEA-BA904EF18683}
{15AC14A9-746F-4F75-B2FA-C173260C5855}
{0F7D5B3F-267F-4D2C-9D53-71D06B2F6D5C}
{20B961FB-7304-44AE-BCC5-775E17675DA6}
OBJECTID_y
955
3299
1974
5688
122
REQUESTDATE
2015-07-02T12:58:50
2015-07-17T19:58:09
2015-07-10T02:30:00
2015-08-15T22:42:59
2015-06-29T20:53:04
REQUESTID
955
3299
1974
5688
122
REQUESTTYPE
Cyclist behavior
Speeding
Failure to stop for pedestrians
Double parking
Other Driving Issue
STATUS
Unassigned
Unassigned
Unassigned
Unassigned
Unassigned
STREETSEGID_y
11399
5942
7465
233
1067
USERTYPE
Pedestrian
Biker
Pedestrian
Car Driver
Biker
geometry_y
POINT (-77.03195395364403 38.90678948383844)
POINT (-77.03185508121238 38.9208823767754)
POINT (-77.02606355519816 38.9686399653321)
POINT (-77.00434504379416 38.88604499110777)
POINT (-77.03240650725611 38.89551047123661)
In [11]:
dc_segs_statistic[dc_segs_statistic.STREETSEGID_x == 2216]
Out[11]:
OBJECTID_x
STREETSEGID_x
SHAPE_Length
geometry_x
COMMENTS
GLOBALID
OBJECTID_y
REQUESTDATE
REQUESTID
REQUESTTYPE
STATUS
STREETSEGID_y
USERTYPE
geometry_y
4
5
2216
119.190312
LINESTRING (-77.01161670521323 38.956595348877...
Traffic going up this hill is generally too fa...
{BD16F1DE-92F0-4B6B-ACEA-BA904EF18683}
3299.0
2015-07-17T19:58:09
3299
Speeding
Unassigned
5942.0
Biker
POINT (-77.03185508121238 38.9208823767754)
In [12]:
dc_segs_statistic
Out[12]:
OBJECTID_x
STREETSEGID_x
SHAPE_Length
geometry_x
COMMENTS
GLOBALID
OBJECTID_y
REQUESTDATE
REQUESTID
REQUESTTYPE
STATUS
STREETSEGID_y
USERTYPE
geometry_y
0
1
876
192.925131
LINESTRING (-77.01239193659748 38.950836102255...
Cyclists constantly use the sidewalk up and do...
{17DD828B-8D39-4B7A-88EB-2125E60DA1EA}
955.0
2015-07-02T12:58:50
955
Cyclist behavior
Unassigned
11399.0
Pedestrian
POINT (-77.03195395364403 38.90678948383844)
4
5
2216
119.190312
LINESTRING (-77.01161670521323 38.956595348877...
Traffic going up this hill is generally too fa...
{BD16F1DE-92F0-4B6B-ACEA-BA904EF18683}
3299.0
2015-07-17T19:58:09
3299
Speeding
Unassigned
5942.0
Biker
POINT (-77.03185508121238 38.9208823767754)
16
17
2902
126.698028
LINESTRING (-77.01324339541158 38.951215745942...
This intersection has a fair number of pedestr...
{15AC14A9-746F-4F75-B2FA-C173260C5855}
1974.0
2015-07-10T02:30:00
1974
Failure to stop for pedestrians
Unassigned
7465.0
Pedestrian
POINT (-77.02606355519816 38.9686399653321)
19
20
4213
119.102319
LINESTRING (-77.01357027112063 38.954497383391...
Vehicles picking up and dropping off passenger...
{0F7D5B3F-267F-4D2C-9D53-71D06B2F6D5C}
5688.0
2015-08-15T22:42:59
5688
Double parking
Unassigned
233.0
Car Driver
POINT (-77.00434504379416 38.88604499110777)
25
26
179
153.460480
LINESTRING (-77.01368810906661 38.961335901924...
I was hit by a car here when I was in the cycl...
{20B961FB-7304-44AE-BCC5-775E17675DA6}
122.0
2015-06-29T20:53:04
122
Other Driving Issue
Unassigned
1067.0
Biker
POINT (-77.03240650725611 38.89551047123661)
35
36
277
205.857560
LINESTRING (-77.01368063507392 38.900211463306...
An unsignalized pedestrian crossing should be ...
{2A1C21F0-8AFD-4168-9E7F-4CB6CEFB709C}
281.0
2015-06-30T14:43:34
281
Other Walking Issue
Unassigned
496.0
Pedestrian
POINT (-77.03024304187144 38.90858849023896)
39
40
1440
64.684222
LINESTRING (-77.01427336215276 38.914996139209...
As soon as this section of Potomac because 2-3...
{09BEF8F1-9B67-416F-8F89-EBC8557597AC}
2818.0
2015-07-16T12:33:09
2818
Speeding
Unassigned
1114.0
Pedestrian
POINT (-76.97900052357966 38.88302359375337)
42
43
1750
79.779456
LINESTRING (-77.0144223920466 38.9162872196654...
Trucks/delivery vehicles routinely park in the...
{735F6A22-06DC-41AB-B062-12A10CC6CEAA}
3062.0
2015-07-16T20:19:44
3062
Double parking
Unassigned
7775.0
Biker
POINT (-77.04293670047392 38.90725022523262)
45
46
667
61.926531
LINESTRING (-77.01462766975995 38.918114804591...
Red lights along this stretch of 4th Street. a...
{48682AFE-D20C-40B4-8B4C-A775DBE5E393}
642.0
2015-07-01T17:10:13
642
Other Biking Issue
Unassigned
6574.0
Biker
POINT (-77.01755746826102 38.88606030948256)
47
48
2308
54.452949
LINESTRING (-77.01475138888762 38.919182095956...
There are numerous potholes on this street whi...
{088DF38A-9886-4987-8D71-EE394131BD3F}
3971.0
2015-07-28T13:13:04
3971
Other Driving Issue
Unassigned
11085.0
Pedestrian
POINT (-76.9536437737025 38.88724114859725)
49
50
610
49.035954
LINESTRING (-77.01487510908744 38.920236775322...
The 4th St bike lane is a defacto car lane for...
{B683EC7B-6212-4398-B4A6-2A24293800DE}
551.0
2015-07-01T16:42:47
551
Red light running
Unassigned
10569.0
Biker
POINT (-77.00057267432146 38.92559884394399)
52
53
3647
70.738603
LINESTRING (-77.01251573263647 38.889798370494...
Thank you for asking! I lived in Mt. Pleasant...
{7BAAAF9B-FFF6-4971-A292-8C76F3FEC34B}
5220.0
2015-08-10T15:10:56
5220
Other Walking Issue
Unassigned
5858.0
Pedestrian
POINT (-77.04976422829294 38.93837814840115)
54
55
2008
85.616808
LINESTRING (-77.01217574570249 38.892094911439...
The road surface here is an embarrassment. An...
{0984887A-AA64-4E3E-97A8-0174DD886CD4}
3258.0
2015-07-17T16:57:17
3258
Other Biking Issue
Unassigned
56.0
Car Driver
POINT (-77.04169348518965 38.90289136773992)
59
60
4112
134.733844
LINESTRING (-77.01216664044982 38.896130301733...
Speeding on this bridge exacerbates all other ...
{F627AF30-23DD-4C21-94EC-472C2A728554}
5661.0
2015-08-14T16:01:07
5661
Speeding
Unassigned
9549.0
Pedestrian
POINT (-77.00512559377108 38.90021486176275)
61
62
869
136.557501
LINESTRING (-77.01210357890491 38.898987844769...
Cars heading south on 16th Street do not yield...
{9545A6A2-5E71-4E3D-BDE8-CD11B3AA5B74}
838.0
2015-07-01T20:12:09
838
Failure to stop for pedestrians
Unassigned
4541.0
Pedestrian
POINT (-77.03650005615854 38.91915704757542)
62
63
1268
132.911559
LINESTRING (-77.01216440994997 38.901326955994...
This is worse than the other side of Memorial ...
{D988E2AB-9172-4D25-9093-66429CB23F6C}
2728.0
2015-07-15T21:28:31
2728
Other Biking Issue
Unassigned
2220.0
Biker
POINT (-77.06001402440231 38.88654161105557)
63
64
1746
106.276626
LINESTRING (-77.01217628286098 38.904695359046...
Confused drivers drive in the wrong direction ...
{A2FDEE25-56AC-445B-B994-A0551CD24783}
3058.0
2015-07-16T20:09:29
3058
Other Driving Issue
Unassigned
269.0
Car Driver
POINT (-77.03647223620278 38.99218227086993)
69
70
677
82.200007
LINESTRING (-77.01216491784899 38.910387735409...
Fast moving cars use 8th st as cut through. Do...
{19C708A0-A955-4427-96C4-D6C76FB04243}
803.0
2015-07-01T19:15:48
803
Stop sign running
Unassigned
1369.0
Pedestrian
POINT (-77.02294817602856 38.90076934294288)
73
74
938
82.250479
LINESTRING (-77.01216035015312 38.913351840416...
No crosswalk from Ingomar across 41st Street. ...
{E0C4BA39-C0AA-45B8-B998-64124679D163}
928.0
2015-07-02T03:43:04
928
Failure to stop for pedestrians
Unassigned
13253.0
Pedestrian
POINT (-77.08030256339227 38.95831224812108)
74
75
4053
82.311399
LINESTRING (-77.0121588622403 38.9140927763700...
The crosswalk is unsafe to use most of the tim...
{6884E06F-5EC1-41CD-AFDA-F681FF0D1E50}
5511.0
2015-08-13T17:19:16
5511
Speeding
Unassigned
3471.0
Pedestrian
POINT (-76.98065854106413 38.89619969003667)
76
77
3829
21.921379
LINESTRING (-77.01215783990784 38.915535731764...
Bike lane disappears for this short block of 1...
{3C70DB9C-49A4-4BD5-A5D2-F9E5B93F4AA2}
5833.0
2015-08-18T18:19:20
5833
Other Biking Issue
Unassigned
10017.0
Biker
POINT (-76.98364676038273 38.89219409116308)
82
83
84
119.220117
LINESTRING (-77.01215172318699 38.920240153135...
At night, traffic from bars/restaurants spills...
{5D9D417C-F5E2-43D4-82D0-DFDDD13CA53F}
172.0
2015-06-29T21:16:10
172
Jaywalking
Unassigned
7809.0
Biker
POINT (-77.04295685223846 38.90566258337463)
83
84
83
118.580336
LINESTRING (-77.01215063774231 38.921314125904...
Casa Luca restaurant Valet regularly blocks bi...
{73EA5495-B317-4CF8-AE33-77CD55CB34D1}
171.0
2015-06-29T21:15:57
171
Double parking
Unassigned
12879.0
Biker
POINT (-77.02703887569885 38.90159613679496)
86
87
4761
138.539918
LINESTRING (-77.01319986366499 38.949762047175...
Cars coming down Harvard frequently blow throu...
{46084D4A-831C-4D14-AA49-8D95A19CFFB9}
16009.0
2015-12-17T20:58:36
16009
Stop sign running
Unassigned
9159.0
Pedestrian
POINT (-77.03915277901037 38.92718783935761)
90
91
2093
27.818090
LINESTRING (-77.01712333417733 38.957421450447...
The light to cross 8th at E is only 15 seconds...
{DEBE1973-015B-4697-BED4-B05FF309B6CA}
3492.0
2015-07-20T18:50:48
3492
Not enough time to cross
Unassigned
1634.0
Pedestrian
POINT (-76.9949766295727 38.88273149713808)
92
93
3488
40.710103
LINESTRING (-77.01710256525841 38.958376959883...
Thomas Circle is proof that DDOT doesn't care ...
{3D61ED75-721D-445B-B652-BCD7E1000F57}
7105.0
2015-09-09T13:12:29
7105
Blocking the bikebox
Unassigned
11616.0
Biker
POINT (-77.0323675609652 38.90580053954347)
93
94
1248
158.561145
LINESTRING (-77.01710276864252 38.958743686169...
Pedestrians enter the crosswalk during the "do...
{37A5361C-0BF5-43D0-82A1-9E8F632CE156}
2901.0
2015-07-16T14:10:42
2901
Jaywalking
Unassigned
6991.0
Car Driver
POINT (-77.00351316945877 38.89479521197969)
98
99
92
134.293208
LINESTRING (-77.01618238255742 38.896139800171...
Motorists ignore the red left-arrow regularly ...
{C38B4BA3-55B6-4A8D-A4D3-75FF2BE3FC20}
180.0
2015-06-29T21:19:57
180
Red light running
Unassigned
579.0
Pedestrian
POINT (-77.04345127591509 38.90564559905414)
99
100
2167
109.719972
LINESTRING (-77.01618415778771 38.897349553057...
Southbound traffic doesn't get very good visib...
{A7ECF52C-477C-41C2-A588-336128A2C22C}
3609.0
2015-07-21T22:30:43
3609
Failure to stop for pedestrians
Unassigned
1813.0
Pedestrian
POINT (-77.01998571862417 38.97597947711031)
105
106
141
117.941844
LINESTRING (-77.01755662195022 38.951089113656...
Drivers frequently ignore the arrow controllin...
{BA033F14-17AF-40E5-8EDA-577B9991317E}
229.0
2015-06-29T22:09:51
229
Red light running
Unassigned
746.0
Biker
POINT (-77.03457017406848 38.90656612282504)
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
13163
13164
4977
72.579401
LINESTRING (-77.01187686626503 38.876465681876...
Take out the suicide turn lane - inefficient u...
{0C982401-85D8-4014-A20C-D779E65B4350}
27401.0
2016-05-31T00:37:15
27401
Other Biking Issue
Unassigned
1153.0
Biker
POINT (-77.06640316666147 38.93068180297183)
13167
13168
3138
181.211664
LINESTRING (-77.02190838923764 38.881979252482...
Bulb outs on E side of RIA. Remove curbside la...
{E434B107-7D6C-4B94-8F2E-97A2BD1994B7}
4082.0
2015-07-29T13:20:33
4082
Long distance to cross
Unassigned
12771.0
Car Driver
POINT (-76.96570556855687 38.93410624512781)
13175
13176
1163
197.785158
LINESTRING (-77.01760804583783 38.876469098779...
Extreme pedestrian hazard. I have nearly been ...
{BEA678F6-B882-40C2-8821-68C871094CC2}
2124.0
2015-07-13T16:45:02
2124
Failure to stop for pedestrians
Unassigned
9441.0
Pedestrian
POINT (-77.02314282798491 38.93765660620416)
13184
13185
1616
112.952347
LINESTRING (-77.01839172972406 38.827934353640...
Sidewalk frequently blocked by cars from repai...
{12D0BE9E-B6BE-490A-A65C-44493B1597ED}
3335.0
2015-07-18T01:19:11
3335
Other Walking Issue
Unassigned
10252.0
Pedestrian
POINT (-77.01437829250267 38.96998524745646)
13185
13186
3585
88.411442
LINESTRING (-77.01954050055012 38.827456971946...
Cars are going WAY too fast for a street where...
{2446F50D-6E2E-4F53-89AF-5BEAB72EDB23}
5062.0
2015-08-06T00:17:44
5062
Speeding
Unassigned
873.0
Pedestrian
POINT (-77.01755916516166 38.87567025466733)
13193
13194
2272
74.536195
LINESTRING (-76.92082829392274 38.883957749503...
A popular bus stop is at the intersection of D...
{EB2AE869-A103-431C-8228-549761A51D76}
3736.0
2015-07-26T15:59:55
3736
Other Walking Issue
Unassigned
721.0
Pedestrian
POINT (-76.99116606287865 38.94826698126182)
13195
13196
4499
95.466582
LINESTRING (-76.91934756400057 38.885110440729...
There is no crosswalk here at Otis Pl. and 18t...
{71401271-0175-4EC0-BA1B-D456D87C1996}
14507.0
2015-12-04T16:35:54
14507
Other Walking Issue
Unassigned
12111.0
Pedestrian
POINT (-76.97983768641939 38.9359538941932)
13196
13197
4063
95.049375
LINESTRING (-76.91856818852048 38.885717515677...
There are several points between 14th-19th St ...
{8715BE1F-3B12-4CE2-B979-B9288BE56356}
5546.0
2015-08-13T17:45:48
5546
Other Driving Issue
Unassigned
10681.0
Car Driver
POINT (-76.98365474017369 38.88715856451179)
13197
13198
4265
94.271471
LINESTRING (-76.91779191511391 38.886321704870...
Speed bumps are way too high on this stretch o...
{A636F212-B3C4-4012-A494-1D07C178AA8B}
9873.0
2015-10-18T12:32:09
9873
Other Driving Issue
Unassigned
7763.0
Car Driver
POINT (-76.97893514112526 38.93410674209072)
13201
13202
835
190.895628
LINESTRING (-76.9981187942609 38.8523449580834...
This is an incredibly dangerous intersection f...
{DED9F130-61BC-4D2D-8CF1-8561048F1BE8}
789.0
2015-07-01T19:24:36
789
Failure to stop for pedestrians
Unassigned
687.0
Pedestrian
POINT (-76.9807637494232 38.88235282657811)
13205
13206
4387
107.375185
LINESTRING (-76.99909621061222 38.850981723244...
The "stop for pedestrian signs are not visible...
{52B7ED95-8F7F-4D1F-8B03-93C03F16281F}
8409.0
2015-09-21T18:54:31
8409
Other Walking Issue
Unassigned
10056.0
Pedestrian
POINT (-76.98876125098656 38.93361444382511)
13208
13209
2475
152.927859
LINESTRING (-77.00281690413335 38.836117665096...
Frequent jaywalking across Wisconsin ave. ple...
{A57E60F7-029E-4F42-AE0B-D1FC2A3A2AF1}
1121.0
2015-07-03T03:24:46
1121
Jaywalking
Unassigned
9405.0
Car Driver
POINT (-77.08536199376094 38.96005894684824)
13211
13212
861
141.015581
LINESTRING (-77.00053003453534 38.833005136491...
Road users turning off of 22nd Street onto Flo...
{4A95410B-B27D-401A-99AA-8FA327616D57}
837.0
2015-07-01T19:52:26
837
Poor visibility
Unassigned
14407.0
Biker
POINT (-77.04859859495269 38.91166535427135)
13214
13215
531
219.989869
LINESTRING (-77.00588689140248 38.832066085467...
Tourist motor coaches regularly block the bike...
{C863A7DB-C59D-4684-8BCF-BA5E163A186E}
524.0
2015-07-01T16:13:14
524
Other Biking Issue
Unassigned
732.0
Biker
POINT (-77.03289778245264 38.89907687812686)
13225
13226
4002
159.454904
LINESTRING (-77.01728875356069 38.839831145562...
Please retrofit barriers to allow bikes to pas...
{88870280-4161-4D87-A58D-B278BE15D94F}
5982.0
2015-08-28T14:44:20
5982
Other Biking Issue
Unassigned
90.0
Biker
POINT (-77.00810730904738 38.89221114123579)
13228
13229
611
34.564752
LINESTRING (-77.02185274820566 38.826374079179...
Cars make illegal right on reds here almost ev...
{94B294A5-4790-4F2D-AF01-DD7F937A199F}
593.0
2015-07-01T16:55:13
593
Red light running
Unassigned
6253.0
Pedestrian
POINT (-77.04966416907187 38.90304491367447)
13229
13230
4864
73.540781
LINESTRING (-77.02386118130775 38.825306542100...
No way to cross Benning beyond jaywalking thro...
{0AADE45B-0B01-4FD9-890B-A1407774AA6C}
20065.0
2016-02-18T16:13:20
20065
Not enough time to cross
Unassigned
11612.0
Pedestrian
POINT (-76.95480651059094 38.89609234324163)
13230
13231
424
381.362118
LINESTRING (-77.02398994902298 38.824672499304...
Buses block the crosswalk daily at rush hour f...
{7C271689-50B6-4F90-987E-1FA2104393E5}
405.0
2015-06-30T17:40:58
405
Blocking the crosswalk
Unassigned
2635.0
Pedestrian
POINT (-77.0501306560398 38.90070642559377)
13233
13234
1232
149.881291
LINESTRING (-77.01988739956654 38.876469236736...
Cars do not stop for pedestrians trying to get...
{04D58A83-29B3-4450-85DD-797884096D93}
2722.0
2015-07-15T20:58:07
2722
Failure to stop for pedestrians
Unassigned
3072.0
Pedestrian
POINT (-76.97726422438976 38.88685838573366)
13242
13243
2667
208.039884
LINESTRING (-76.9869970091755 38.8561982363791...
Drivers heading east on Rock Creek Church Road...
{257D33E4-4085-4075-99AA-5E782AA2EDE4}
1649.0
2015-07-07T02:26:34
1649
Red light running
Unassigned
9683.0
Pedestrian
POINT (-77.01902030763023 38.93744514404001)
13244
13245
1416
22.823440
LINESTRING (-76.98340938477773 38.853492820329...
Cars fail to yield to cyclists who are existin...
{74B690AE-E4A5-4D5C-AA6B-AF494A1F584F}
2983.0
2015-07-16T19:26:35
2983
Other Driving Issue
Unassigned
7982.0
Biker
POINT (-77.05796529066642 38.90524754501839)
13248
13249
2413
97.201146
LINESTRING (-77.01065320271188 38.879293156887...
Often drivers pull up and through the bike box...
{9DD66092-12B2-4243-A80E-B5C041A37FA6}
1021.0
2015-07-02T16:53:57
1021
Blocking the bikebox
Unassigned
11684.0
Biker
POINT (-77.01756055287245 38.89180208980085)
13252
13253
1803
186.323341
LINESTRING (-77.01065078018567 38.874645905376...
Nobody EVER stops at the right turn red light.
{AAE38881-CF08-431B-B3C4-7DF9E94CE0C7}
3097.0
2015-07-16T21:21:44
3097
Red light running
Unassigned
7768.0
Car Driver
POINT (-77.00905594939373 38.95691526329817)
13253
13254
85
102.781242
LINESTRING (-77.01065294963303 38.872967459778...
Southbound bike lane often blocked by cars dou...
{6577CA95-BF0A-4956-8956-6B6B13703B19}
173.0
2015-06-29T21:16:46
173
Double parking
Unassigned
1063.0
Biker
POINT (-77.02762423757123 38.92918146162507)
13255
13256
4497
73.069480
LINESTRING (-77.01065411756829 38.870756436831...
North and south-bound traffic is well beyond t...
{391DCC96-775A-4FB8-A74A-3E2F549556FB}
14505.0
2015-12-04T16:32:03
14505
Speeding
Unassigned
5751.0
Pedestrian
POINT (-76.97801736844936 38.93748386533176)
13256
13257
1527
68.776714
LINESTRING (-77.01066381417999 38.870098461908...
Cars do not stop for pedestrians trying to get...
{EAE8429C-5FC3-45B5-9737-4808146A9881}
2709.0
2015-07-15T20:57:39
2709
Failure to stop for pedestrians
Unassigned
3155.0
Pedestrian
POINT (-76.97727058730945 38.88616199939966)
13258
13259
266
106.440542
LINESTRING (-77.01069292188258 38.868250924688...
no curb cut
{69A80388-194B-4C8E-86F5-0AFEFA58C3F5}
338.0
2015-06-30T15:20:29
338
Accessibility Issue
Unassigned
166.0
Pedestrian
POINT (-76.97967681496948 38.8853636163339)
13263
13264
4917
217.983682
LINESTRING (-77.01997224687713 38.835832133490...
Terrible intersection for pedestrians. The gre...
{214AD685-5E0E-4267-9536-1B5652A13E2F}
22593.0
2016-03-16T14:37:29
22593
Not enough time to cross
Unassigned
7596.0
Pedestrian
POINT (-76.99422786887469 38.84369546659234)
13270
13271
1365
114.479066
LINESTRING (-77.01258678389163 38.828663417804...
There is no north-south crosswalk here. That'...
{ABC0D244-1B62-422C-BB7B-51B02041E71B}
2895.0
2015-07-16T15:12:59
2895
Long wait to cross
Unassigned
11728.0
Pedestrian
POINT (-77.04859626261695 38.90070048525131)
13271
13272
1060
297.764461
LINESTRING (-77.01389136645936 38.828525890643...
Lights timed badly. Drivers coming around circ...
{55691954-17C2-48A3-92FE-1DAEAC6D5CB0}
2042.0
2015-07-10T19:59:04
2042
Other Driving Issue
Unassigned
1716.0
Pedestrian
POINT (-77.05054695904077 38.9020886149912)
4419 rows × 14 columns
In [13]:
dc_segs_statistic[dc_segs_statistic.STREETSEGID_x == 644]
Out[13]:
OBJECTID_x
STREETSEGID_x
SHAPE_Length
geometry_x
COMMENTS
GLOBALID
OBJECTID_y
REQUESTDATE
REQUESTID
REQUESTTYPE
STATUS
STREETSEGID_y
USERTYPE
geometry_y
4435
4436
644
275.843424
LINESTRING (-77.03848871583934 38.911133414859...
South-side sidewalk from 6th to 9th is impassi...
{37A25004-7921-4DB9-B02C-B7CACEED222F}
609.0
2015-07-01T16:56:46
609
Accessibility Issue
Unassigned
13176.0
Pedestrian
POINT (-76.99616576427324 38.90524480982609)
In [14]:
dc_segs_statistic = dc_segments[['OBJECTID','STREETSEGID','SHAPE_Length','geometry']]
dc_segs_statistic = dc_segs_statistic.merge(vision0_pts, left_on = 'STREETSEGID', right_index=True, how='left')
In [15]:
import pandas as pd
In [16]:
vision0_pts_seg = pts2seg(vision0_pts, dc_segments)
In [17]:
seg_counts = pd.DataFrame(pd.Series(list(chain.from_iterable(vision0_pts_seg.values.ravel()))).value_counts(),columns=["vision0_pts_seg"])
In [18]:
seg_counts.head().T
Out[18]:
14208
11616
8231
9549
746
vision0_pts_seg
24
19
18
16
16
In [19]:
dc_segs_statistic = dc_segments[['OBJECTID','STREETSEGID','SHAPE_Length','geometry']]
dc_segs_statistic = dc_segs_statistic.merge(seg_counts, left_on = 'STREETSEGID', right_on='STREETSEGID', right_index=True, how='left')
In [ ]:
vi
In [20]:
vision0_pts.head().T
Out[20]:
0
1
2
3
4
COMMENTS
Intersection dangerous for Peds at rush hour +...
WMATA vehicles regularly use the sidewalk to p...
None
Vehicles - including WMATA buses - regularly g...
None
GLOBALID
{148BFB13-CC65-46F7-B347-7A69C77081EE}
{F2A0AFC7-2381-4F08-AEB6-55E9E545ED64}
{4926AE04-E684-4B5E-9A26-12351447E645}
{E2AA1B8E-7748-4530-9D71-B880F5EBE398}
{FA779B8C-7B3D-4559-BD45-EE8FC85CB012}
OBJECTID
48
49
50
51
52
REQUESTDATE
2015-06-29T20:33:51
2015-06-29T20:34:10
2015-06-29T20:34:31
2015-06-29T20:34:33
2015-06-29T20:34:48
REQUESTID
48
49
50
51
52
REQUESTTYPE
Failure to stop for pedestrians
Other Driving Issue
Failure to stop for pedestrians
Speeding
Failure to stop for pedestrians
STATUS
Unassigned
Unassigned
Unassigned
Unassigned
Unassigned
STREETSEGID
11875
2016
13281
9827
9162
USERTYPE
Pedestrian
Pedestrian
Pedestrian
Biker
Pedestrian
geometry
POINT (-77.02962759391977 38.9048501530145)
POINT (-77.00349975118203 38.90565930795784)
POINT (-77.02190330185668 38.91868690690595)
POINT (-77.08572889213174 38.90869297027604)
POINT (-77.02294848571017 38.9166450535154)
In [21]:
vision0_seg_gb = pd.DataFrame(vision0_pts.groupby(['STREETSEGID']).size().reset_index())
vision0_seg_gb.columns = ['STREETSEGID', 'vision0_pts_seg']
print(vision0_seg_gb.shape)
vision0_seg_gb.head().T
(2839, 2)
Out[21]:
0
1
2
3
4
STREETSEGID
3.0
11.0
14.0
15.0
22.0
vision0_pts_seg
2.0
1.0
5.0
2.0
1.0
In [22]:
vision0_totalcount = pd.DataFrame(vision0_seg_gb.fillna(0))
print(vision0_totalcount.shape)
vision0_totalcount.head().T
(2839, 2)
Out[22]:
0
1
2
3
4
STREETSEGID
3.0
11.0
14.0
15.0
22.0
vision0_pts_seg
2.0
1.0
5.0
2.0
1.0
In [23]:
dc_segs_statistic = dc_segments[['OBJECTID','STREETSEGID','SHAPE_Length','geometry']]
dc_segs_statistic = dc_segs_statistic.merge(vision0_totalcount, left_on = 'STREETSEGID', right_on='STREETSEGID', right_index=False, how='left')
In [17]:
def normalize(col_name, df):
col_name_norm = col_name + '_norm'
df[col_name_norm] = df[col_name]+1
df[col_name_norm] = np.log2(df[col_name_norm])
df[col_name_norm] = df[col_name_norm]/df[col_name_norm].max()
In [25]:
dc_segs_statistic['vision0_pts/len'] = dc_segs_statistic.vision0_pts_seg/dc_segs_statistic.SHAPE_Length
normalize('vision0_pts_seg', dc_segs_statistic)
normalize('vision0_pts/len', dc_segs_statistic)
In [26]:
vision0_typemerge = pd.DataFrame(vision0_pts.groupby(['STREETSEGID', 'REQUESTTYPE']).size().reset_index())
In [27]:
vision0_type_counts = vision0_pts.groupby(['STREETSEGID', 'REQUESTTYPE']).count()
In [28]:
vision0_typemerge.columns = ['STREETSEGID', 'REQUESTTYPE', 'count']
In [29]:
vision0_typemerge[vision0_typemerge.STREETSEGID==10728]
Out[29]:
STREETSEGID
REQUESTTYPE
count
3482
10728.0
Failure to stop for pedestrians
5
3483
10728.0
Poor visibility
3
3484
10728.0
Speeding
1
In [30]:
unique_types = set()
for req_type in vision0_typemerge.REQUESTTYPE:
unique_types.add(req_type)
print(unique_types)
{'Other Driving Issue', 'Blocking the bikebox', 'Other Biking Issue', 'Accessibility Issue', 'Poor visibility', 'Failure to stop for pedestrians', 'Cyclist behavior', 'Long wait to cross', 'Long distance to cross', 'Speeding', 'Double parking', 'Other Walking Issue', 'Stop sign running', 'Red light running', 'Blocking the crosswalk', 'Jaywalking', 'Not enough time to cross'}
In [31]:
normalize('vision0_pts_seg', dc_segs_statistic_drop)
normalize('vision0_pts/len', dc_segs_statistic_drop)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-31-b9ec4fe781a1> in <module>()
----> 1 normalize('vision0_pts_seg', dc_segs_statistic_drop)
2 normalize('vision0_pts/len', dc_segs_statistic_drop)
NameError: name 'dc_segs_statistic_drop' is not defined
In [32]:
vision0_seg_stats = vision0_typemerge[['STREETSEGID']]
In [33]:
for utype in unique_types:
vision0_type_data = vision0_typemerge[vision0_typemerge.REQUESTTYPE==utype]
utype_count = utype + '_count'
vision0_type_count = vision0_type_data[['STREETSEGID', 'count']]
vision0_type_count.columns = ['STREETSEGID', utype_count]
vision0_seg_stats = vision0_seg_stats.merge(vision0_type_count, left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
In [34]:
print(vision0_seg_stats.shape)
vision0_details = pd.DataFrame(vision0_seg_stats.fillna(0))
vision0_details.head().T
(4388, 18)
Out[34]:
0
1
2
3
4
STREETSEGID
3.0
11.0
14.0
14.0
14.0
Other Driving Issue_count
0.0
0.0
2.0
2.0
2.0
Blocking the bikebox_count
0.0
0.0
0.0
0.0
0.0
Other Biking Issue_count
2.0
0.0
0.0
0.0
0.0
Accessibility Issue_count
0.0
0.0
1.0
1.0
1.0
Poor visibility_count
0.0
0.0
1.0
1.0
1.0
Failure to stop for pedestrians_count
0.0
0.0
0.0
0.0
0.0
Cyclist behavior_count
0.0
0.0
0.0
0.0
0.0
Long wait to cross_count
0.0
0.0
0.0
0.0
0.0
Long distance to cross_count
0.0
0.0
0.0
0.0
0.0
Speeding_count
0.0
0.0
0.0
0.0
0.0
Double parking_count
0.0
0.0
1.0
1.0
1.0
Other Walking Issue_count
0.0
0.0
0.0
0.0
0.0
Stop sign running_count
0.0
1.0
0.0
0.0
0.0
Red light running_count
0.0
0.0
0.0
0.0
0.0
Blocking the crosswalk_count
0.0
0.0
0.0
0.0
0.0
Jaywalking_count
0.0
0.0
0.0
0.0
0.0
Not enough time to cross_count
0.0
0.0
0.0
0.0
0.0
In [35]:
vision0_poorviz = vision0_typemerge[vision0_typemerge.REQUESTTYPE=='Poor visibility']
In [36]:
vision0_poorviz_count = vision0_poorviz[['STREETSEGID', 'count']]
vision0_poorviz_count.columns = ['STREETSEGID', 'poor_visibility_count']
vision0_poorviz_count.head().T
Out[36]:
5
21
23
44
80
STREETSEGID
14.0
59.0
70.0
111.0
184.0
poor_visibility_count
1.0
2.0
1.0
2.0
1.0
In [37]:
dc_segs_statistic.head().T
Out[37]:
0
1
2
3
4
OBJECTID
1
2
3
4
5
STREETSEGID
876
13161
8240
10395
2216
SHAPE_Length
192.925
131.936
117.887
108.331
119.19
geometry
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
vision0_pts_seg
2
1
NaN
NaN
NaN
vision0_pts/len
0.0103667
0.00757945
NaN
NaN
NaN
vision0_pts_seg_norm
0.350379
0.221065
NaN
NaN
NaN
vision0_pts/len_norm
0.0301949
0.022107
NaN
NaN
NaN
In [38]:
dc_segs_statistic_detailed = dc_segs_statistic.merge(vision0_details, left_on = 'STREETSEGID', right_on='STREETSEGID', right_index=False, how='left')
In [39]:
print(dc_segs_statistic_detailed.shape)
print(dc_segs_statistic_detailed.dropna().shape)
dc_segs_statistic_detailed.head().T
(15071, 25)
(4388, 25)
Out[39]:
0
1
2
3
4
OBJECTID
1
2
3
4
5
STREETSEGID
876
13161
8240
10395
2216
SHAPE_Length
192.925
131.936
117.887
108.331
119.19
geometry
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
vision0_pts_seg
2
1
NaN
NaN
NaN
vision0_pts/len
0.0103667
0.00757945
NaN
NaN
NaN
vision0_pts_seg_norm
0.350379
0.221065
NaN
NaN
NaN
vision0_pts/len_norm
0.0301949
0.022107
NaN
NaN
NaN
Other Driving Issue_count
0
0
NaN
NaN
NaN
Blocking the bikebox_count
0
0
NaN
NaN
NaN
Other Biking Issue_count
2
0
NaN
NaN
NaN
Accessibility Issue_count
0
0
NaN
NaN
NaN
Poor visibility_count
0
0
NaN
NaN
NaN
Failure to stop for pedestrians_count
0
0
NaN
NaN
NaN
Cyclist behavior_count
0
0
NaN
NaN
NaN
Long wait to cross_count
0
0
NaN
NaN
NaN
Long distance to cross_count
0
0
NaN
NaN
NaN
Speeding_count
0
0
NaN
NaN
NaN
Double parking_count
0
0
NaN
NaN
NaN
Other Walking Issue_count
0
0
NaN
NaN
NaN
Stop sign running_count
0
1
NaN
NaN
NaN
Red light running_count
0
0
NaN
NaN
NaN
Blocking the crosswalk_count
0
0
NaN
NaN
NaN
Jaywalking_count
0
0
NaN
NaN
NaN
Not enough time to cross_count
0
0
NaN
NaN
NaN
In [40]:
dc_vision0_details = pd.DataFrame(dc_segs_statistic_detailed.fillna(0))
print(dc_vision0_details.shape)
dc_vision0_details.head().T
(15071, 25)
Out[40]:
0
1
2
3
4
OBJECTID
1
2
3
4
5
STREETSEGID
876
13161
8240
10395
2216
SHAPE_Length
192.925
131.936
117.887
108.331
119.19
geometry
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
vision0_pts_seg
2
1
0
0
0
vision0_pts/len
0.0103667
0.00757945
0
0
0
vision0_pts_seg_norm
0.350379
0.221065
0
0
0
vision0_pts/len_norm
0.0301949
0.022107
0
0
0
Other Driving Issue_count
0
0
0
0
0
Blocking the bikebox_count
0
0
0
0
0
Other Biking Issue_count
2
0
0
0
0
Accessibility Issue_count
0
0
0
0
0
Poor visibility_count
0
0
0
0
0
Failure to stop for pedestrians_count
0
0
0
0
0
Cyclist behavior_count
0
0
0
0
0
Long wait to cross_count
0
0
0
0
0
Long distance to cross_count
0
0
0
0
0
Speeding_count
0
0
0
0
0
Double parking_count
0
0
0
0
0
Other Walking Issue_count
0
0
0
0
0
Stop sign running_count
0
1
0
0
0
Red light running_count
0
0
0
0
0
Blocking the crosswalk_count
0
0
0
0
0
Jaywalking_count
0
0
0
0
0
Not enough time to cross_count
0
0
0
0
0
In [41]:
for utype in unique_types:
utype_count = utype + '_count'
utype_countlen = utype + '_count/len'
dc_vision0_details[utype_countlen] = dc_vision0_details[utype_count]/dc_vision0_details.SHAPE_Length
normalize(utype_count, dc_vision0_details)
normalize(utype_countlen, dc_vision0_details)
In [42]:
dc_vision0_details[dc_vision0_details.vision0_pts_seg==10].T
Out[42]:
4623
4624
4625
4626
4627
13472
13473
13474
13475
OBJECTID
3966
3966
3966
3966
3966
12046
12046
12046
12046
STREETSEGID
12238
12238
12238
12238
12238
13955
13955
13955
13955
SHAPE_Length
269.67
269.67
269.67
269.67
269.67
205.873
205.873
205.873
205.873
geometry
LINESTRING (-77.00905099283175 38.913351308004...
LINESTRING (-77.00905099283175 38.913351308004...
LINESTRING (-77.00905099283175 38.913351308004...
LINESTRING (-77.00905099283175 38.913351308004...
LINESTRING (-77.00905099283175 38.913351308004...
LINESTRING (-77.00588929348585 38.907243316708...
LINESTRING (-77.00588929348585 38.907243316708...
LINESTRING (-77.00588929348585 38.907243316708...
LINESTRING (-77.00588929348585 38.907243316708...
vision0_pts_seg
10
10
10
10
10
10
10
10
10
vision0_pts/len
0.0370824
0.0370824
0.0370824
0.0370824
0.0370824
0.0485736
0.0485736
0.0485736
0.0485736
vision0_pts_seg_norm
0.764758
0.764758
0.764758
0.764758
0.764758
0.764758
0.764758
0.764758
0.764758
vision0_pts/len_norm
0.106603
0.106603
0.106603
0.106603
0.106603
0.138865
0.138865
0.138865
0.138865
Double parking_count
1
1
1
1
1
5
5
5
5
Other Walking Issue_count
1
1
1
1
1
0
0
0
0
Blocking the bikebox_count
0
0
0
0
0
0
0
0
0
Jaywalking_count
0
0
0
0
0
0
0
0
0
Other Biking Issue_count
0
0
0
0
0
0
0
0
0
Long distance to cross_count
0
0
0
0
0
0
0
0
0
Poor visibility_count
0
0
0
0
0
0
0
0
0
Failure to stop for pedestrians_count
0
0
0
0
0
3
3
3
3
Cyclist behavior_count
0
0
0
0
0
0
0
0
0
Long wait to cross_count
0
0
0
0
0
0
0
0
0
Accessibility Issue_count
0
0
0
0
0
0
0
0
0
Other Driving Issue_count
3
3
3
3
3
0
0
0
0
Blocking the crosswalk_count
0
0
0
0
0
0
0
0
0
Stop sign running_count
0
0
0
0
0
1
1
1
1
Not enough time to cross_count
1
1
1
1
1
0
0
0
0
Speeding_count
4
4
4
4
4
0
0
0
0
Red light running_count
0
0
0
0
0
1
1
1
1
Double parking_count/len
0.00370824
0.00370824
0.00370824
0.00370824
0.00370824
0.0242868
0.0242868
0.0242868
0.0242868
Double parking_count_norm
0.26265
0.26265
0.26265
0.26265
0.26265
0.678939
0.678939
0.678939
0.678939
Double parking_count/len_norm
0.0856827
0.0856827
0.0856827
0.0856827
0.0856827
0.555493
0.555493
0.555493
0.555493
Other Walking Issue_count/len
0.00370824
0.00370824
0.00370824
0.00370824
0.00370824
0
0
0
0
Other Walking Issue_count_norm
0.356207
0.356207
0.356207
0.356207
0.356207
0
0
0
0
...
...
...
...
...
...
...
...
...
...
Failure to stop for pedestrians_count/len
0
0
0
0
0
0.0145721
0.0145721
0.0145721
0.0145721
Failure to stop for pedestrians_count_norm
0
0
0
0
0
0.712414
0.712414
0.712414
0.712414
Failure to stop for pedestrians_count/len_norm
0
0
0
0
0
0.113679
0.113679
0.113679
0.113679
Cyclist behavior_count/len
0
0
0
0
0
0
0
0
0
Cyclist behavior_count_norm
0
0
0
0
0
0
0
0
0
Cyclist behavior_count/len_norm
0
0
0
0
0
0
0
0
0
Long wait to cross_count/len
0
0
0
0
0
0
0
0
0
Long wait to cross_count_norm
0
0
0
0
0
0
0
0
0
Long wait to cross_count/len_norm
0
0
0
0
0
0
0
0
0
Accessibility Issue_count/len
0
0
0
0
0
0
0
0
0
Accessibility Issue_count_norm
0
0
0
0
0
0
0
0
0
Accessibility Issue_count/len_norm
0
0
0
0
0
0
0
0
0
Other Driving Issue_count/len
0.0111247
0.0111247
0.0111247
0.0111247
0.0111247
0
0
0
0
Other Driving Issue_count_norm
0.773706
0.773706
0.773706
0.773706
0.773706
0
0
0
0
Other Driving Issue_count/len_norm
0.105512
0.105512
0.105512
0.105512
0.105512
0
0
0
0
Blocking the crosswalk_count/len
0
0
0
0
0
0
0
0
0
Blocking the crosswalk_count_norm
0
0
0
0
0
0
0
0
0
Blocking the crosswalk_count/len_norm
0
0
0
0
0
0
0
0
0
Stop sign running_count/len
0
0
0
0
0
0.00485736
0.00485736
0.00485736
0.00485736
Stop sign running_count_norm
0
0
0
0
0
0.430677
0.430677
0.430677
0.430677
Stop sign running_count/len_norm
0
0
0
0
0
0.0991234
0.0991234
0.0991234
0.0991234
Not enough time to cross_count/len
0.00370824
0.00370824
0.00370824
0.00370824
0.00370824
0
0
0
0
Not enough time to cross_count_norm
0.5
0.5
0.5
0.5
0.5
0
0
0
0
Not enough time to cross_count/len_norm
0.0419973
0.0419973
0.0419973
0.0419973
0.0419973
0
0
0
0
Speeding_count/len
0.0148329
0.0148329
0.0148329
0.0148329
0.0148329
0
0
0
0
Speeding_count_norm
0.827087
0.827087
0.827087
0.827087
0.827087
0
0
0
0
Speeding_count/len_norm
0.140145
0.140145
0.140145
0.140145
0.140145
0
0
0
0
Red light running_count/len
0
0
0
0
0
0.00485736
0.00485736
0.00485736
0.00485736
Red light running_count_norm
0
0
0
0
0
0.386853
0.386853
0.386853
0.386853
Red light running_count/len_norm
0
0
0
0
0
0.0379689
0.0379689
0.0379689
0.0379689
76 rows × 9 columns
In [43]:
dc_vision0_details.head().T
Out[43]:
0
1
2
3
4
OBJECTID
1
2
3
4
5
STREETSEGID
876
13161
8240
10395
2216
SHAPE_Length
192.925
131.936
117.887
108.331
119.19
geometry
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
vision0_pts_seg
2
1
0
0
0
vision0_pts/len
0.0103667
0.00757945
0
0
0
vision0_pts_seg_norm
0.350379
0.221065
0
0
0
vision0_pts/len_norm
0.0301949
0.022107
0
0
0
Other Driving Issue_count
0
0
0
0
0
Blocking the bikebox_count
0
0
0
0
0
Other Biking Issue_count
2
0
0
0
0
Accessibility Issue_count
0
0
0
0
0
Poor visibility_count
0
0
0
0
0
Failure to stop for pedestrians_count
0
0
0
0
0
Cyclist behavior_count
0
0
0
0
0
Long wait to cross_count
0
0
0
0
0
Long distance to cross_count
0
0
0
0
0
Speeding_count
0
0
0
0
0
Double parking_count
0
0
0
0
0
Other Walking Issue_count
0
0
0
0
0
Stop sign running_count
0
1
0
0
0
Red light running_count
0
0
0
0
0
Blocking the crosswalk_count
0
0
0
0
0
Jaywalking_count
0
0
0
0
0
Not enough time to cross_count
0
0
0
0
0
Other Driving Issue_count/len
0
0
0
0
0
Other Driving Issue_count_norm
0
0
0
0
0
Other Driving Issue_count/len_norm
0
0
0
0
0
Blocking the bikebox_count/len
0
0
0
0
0
Blocking the bikebox_count_norm
0
0
0
0
0
...
...
...
...
...
...
Long wait to cross_count/len
0
0
0
0
0
Long wait to cross_count_norm
0
0
0
0
0
Long wait to cross_count/len_norm
0
0
0
0
0
Long distance to cross_count/len
0
0
0
0
0
Long distance to cross_count_norm
0
0
0
0
0
Long distance to cross_count/len_norm
0
0
0
0
0
Speeding_count/len
0
0
0
0
0
Speeding_count_norm
0
0
0
0
0
Speeding_count/len_norm
0
0
0
0
0
Double parking_count/len
0
0
0
0
0
Double parking_count_norm
0
0
0
0
0
Double parking_count/len_norm
0
0
0
0
0
Other Walking Issue_count/len
0
0
0
0
0
Other Walking Issue_count_norm
0
0
0
0
0
Other Walking Issue_count/len_norm
0
0
0
0
0
Stop sign running_count/len
0
0.00757945
0
0
0
Stop sign running_count_norm
0
0.430677
0
0
0
Stop sign running_count/len_norm
0
0.154463
0
0
0
Red light running_count/len
0
0
0
0
0
Red light running_count_norm
0
0
0
0
0
Red light running_count/len_norm
0
0
0
0
0
Blocking the crosswalk_count/len
0
0
0
0
0
Blocking the crosswalk_count_norm
0
0
0
0
0
Blocking the crosswalk_count/len_norm
0
0
0
0
0
Jaywalking_count/len
0
0
0
0
0
Jaywalking_count_norm
0
0
0
0
0
Jaywalking_count/len_norm
0
0
0
0
0
Not enough time to cross_count/len
0
0
0
0
0
Not enough time to cross_count_norm
0
0
0
0
0
Not enough time to cross_count/len_norm
0
0
0
0
0
76 rows × 5 columns
In [44]:
dc_vision0_details.sort('vision0_pts/len')
//anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:1: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)
if __name__ == '__main__':
Out[44]:
OBJECTID
STREETSEGID
SHAPE_Length
geometry
vision0_pts_seg
vision0_pts/len
vision0_pts_seg_norm
vision0_pts/len_norm
Other Driving Issue_count
Blocking the bikebox_count
...
Red light running_count/len_norm
Blocking the crosswalk_count/len
Blocking the crosswalk_count_norm
Blocking the crosswalk_count/len_norm
Jaywalking_count/len
Jaywalking_count_norm
Jaywalking_count/len_norm
Not enough time to cross_count/len
Not enough time to cross_count_norm
Not enough time to cross_count/len_norm
7535
6614
915
203.986987
LINESTRING (-76.92339934318508 38.893053516052...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9604
8447
701
57.458678
LINESTRING (-76.99950558752809 38.925593529412...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9605
8448
1490
44.826205
LINESTRING (-76.98559753548959 38.924574160428...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9606
8449
6863
98.386494
LINESTRING (-76.98530598890108 38.924243791289...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9608
8451
4353
253.321834
LINESTRING (-76.98305713331489 38.922694505991...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9609
8452
8182
181.299154
LINESTRING (-76.98086440794096 38.921186714542...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9610
8453
9370
33.719677
LINESTRING (-76.97929535926961 38.920107393708...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9611
8454
599
144.321725
LINESTRING (-76.96550816309772 38.926767719994...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9613
8456
8206
97.932269
LINESTRING (-77.00746095793195 38.878414725769...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9614
8457
2814
115.641385
LINESTRING (-77.00745798452517 38.877532533818...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9616
8459
334
244.283216
LINESTRING (-77.00591805426986 38.889819610480...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9623
8464
11405
69.973446
LINESTRING (-77.00589379260053 38.883241204308...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9630
8470
7870
172.943137
LINESTRING (-77.00469684461889 38.960253816451...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9631
8471
7630
149.084426
LINESTRING (-77.00276678817093 38.960519171280...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9632
8472
9012
95.672664
LINESTRING (-77.00104820563907 38.960530369587...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9633
8473
12883
211.734546
LINESTRING (-76.99907658962422 38.960918896809...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9634
8474
737
169.440305
LINESTRING (-76.99775149497863 38.959325137796...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9635
8475
10755
103.419795
LINESTRING (-76.99622013371292 38.958387878914...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9636
8476
5989
115.048948
LINESTRING (-76.99512962177842 38.958011743666...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9637
8477
11882
58.971618
LINESTRING (-76.98890884659174 38.890384054253...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9638
8478
8453
81.645913
LINESTRING (-76.9882926984117 38.8906048564200...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9639
8479
6263
190.109811
LINESTRING (-76.98745797114421 38.890944413684...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9603
8446
10284
138.808650
LINESTRING (-76.96271339802463 38.932892423663...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9640
8480
8755
92.748615
LINESTRING (-76.98551474861239 38.891735487318...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9602
8445
3779
108.488170
LINESTRING (-76.96396144618447 38.932879392753...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9600
8443
13160
250.451065
LINESTRING (-76.96801527396704 38.933001178364...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9569
8416
12382
121.496883
LINESTRING (-76.9935126523617 38.8449128304291...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9570
8417
11033
372.945591
LINESTRING (-76.99577672222586 38.835991774649...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9571
8418
8304
102.099614
LINESTRING (-76.9926587251331 38.8337227496021...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
9572
8419
8311
56.243449
LINESTRING (-76.99182758201924 38.833072103275...
0.0
0.000000
0.000000
0.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
14080
12592
9774
21.573218
LINESTRING (-77.03293237565208 38.884000794278...
3.0
0.139061
0.442129
0.381206
0.0
0.0
...
0.355049
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
14081
12592
9774
21.573218
LINESTRING (-77.03293237565208 38.884000794278...
3.0
0.139061
0.442129
0.381206
0.0
0.0
...
0.355049
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
6276
5458
9934
27.724418
LINESTRING (-77.03032609413941 38.909676980481...
4.0
0.144277
0.513296
0.394582
0.0
0.0
...
0.545801
0.000000
0.0
0.000000
0.036069
0.386853
0.718491
0.036069
0.500000
0.402049
6274
5458
9934
27.724418
LINESTRING (-77.03032609413941 38.909676980481...
4.0
0.144277
0.513296
0.394582
0.0
0.0
...
0.545801
0.000000
0.0
0.000000
0.036069
0.386853
0.718491
0.036069
0.500000
0.402049
6275
5458
9934
27.724418
LINESTRING (-77.03032609413941 38.909676980481...
4.0
0.144277
0.513296
0.394582
0.0
0.0
...
0.545801
0.000000
0.0
0.000000
0.036069
0.386853
0.718491
0.036069
0.500000
0.402049
5303
4584
7465
19.779245
LINESTRING (-77.02614598378085 38.968473815549...
3.0
0.151674
0.442129
0.413447
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
5304
4584
7465
19.779245
LINESTRING (-77.02614598378085 38.968473815549...
3.0
0.151674
0.442129
0.413447
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
8176
7201
6431
31.810255
LINESTRING (-76.99496082587532 38.902519556831...
5.0
0.157182
0.571444
0.427415
1.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
8177
7201
6431
31.810255
LINESTRING (-76.99496082587532 38.902519556831...
5.0
0.157182
0.571444
0.427415
1.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
8175
7201
6431
31.810255
LINESTRING (-76.99496082587532 38.902519556831...
5.0
0.157182
0.571444
0.427415
1.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
5678
4932
8124
48.195261
LINESTRING (-77.00905525178136 38.907358258882...
8.0
0.165991
0.700759
0.449619
1.0
0.0
...
0.000000
0.020749
0.5
0.319212
0.000000
0.000000
0.000000
0.041498
0.792481
0.461344
5673
4932
8124
48.195261
LINESTRING (-77.00905525178136 38.907358258882...
8.0
0.165991
0.700759
0.449619
1.0
0.0
...
0.000000
0.020749
0.5
0.319212
0.000000
0.000000
0.000000
0.041498
0.792481
0.461344
5676
4932
8124
48.195261
LINESTRING (-77.00905525178136 38.907358258882...
8.0
0.165991
0.700759
0.449619
1.0
0.0
...
0.000000
0.020749
0.5
0.319212
0.000000
0.000000
0.000000
0.041498
0.792481
0.461344
5675
4932
8124
48.195261
LINESTRING (-77.00905525178136 38.907358258882...
8.0
0.165991
0.700759
0.449619
1.0
0.0
...
0.000000
0.020749
0.5
0.319212
0.000000
0.000000
0.000000
0.041498
0.792481
0.461344
5672
4932
8124
48.195261
LINESTRING (-77.00905525178136 38.907358258882...
8.0
0.165991
0.700759
0.449619
1.0
0.0
...
0.000000
0.020749
0.5
0.319212
0.000000
0.000000
0.000000
0.041498
0.792481
0.461344
5677
4932
8124
48.195261
LINESTRING (-77.00905525178136 38.907358258882...
8.0
0.165991
0.700759
0.449619
1.0
0.0
...
0.000000
0.020749
0.5
0.319212
0.000000
0.000000
0.000000
0.041498
0.792481
0.461344
5674
4932
8124
48.195261
LINESTRING (-77.00905525178136 38.907358258882...
8.0
0.165991
0.700759
0.449619
1.0
0.0
...
0.000000
0.020749
0.5
0.319212
0.000000
0.000000
0.000000
0.041498
0.792481
0.461344
4220
3654
10909
22.039122
LINESTRING (-77.04014483503245 38.924360061796...
4.0
0.181495
0.513296
0.488292
0.0
0.0
...
1.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
4221
3654
10909
22.039122
LINESTRING (-77.04014483503245 38.924360061796...
4.0
0.181495
0.513296
0.488292
0.0
0.0
...
1.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
10955
9669
2445
15.048930
LINESTRING (-76.98681977249773 38.901320236936...
3.0
0.199350
0.442129
0.532204
0.0
0.0
...
0.000000
0.066450
0.5
1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
10954
9669
2445
15.048930
LINESTRING (-76.98681977249773 38.901320236936...
3.0
0.199350
0.442129
0.532204
0.0
0.0
...
0.000000
0.066450
0.5
1.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
7658
6729
4136
9.026875
LINESTRING (-76.96670093107707 38.937933761400...
2.0
0.221561
0.350379
0.585928
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
7657
6729
4136
9.026875
LINESTRING (-76.96670093107707 38.937933761400...
2.0
0.221561
0.350379
0.585928
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
8433
7409
10703
28.676634
LINESTRING (-76.99264538862103 38.896126470213...
7.0
0.244101
0.663194
0.639459
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
8432
7409
10703
28.676634
LINESTRING (-76.99264538862103 38.896126470213...
7.0
0.244101
0.663194
0.639459
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
8431
7409
10703
28.676634
LINESTRING (-76.99264538862103 38.896126470213...
7.0
0.244101
0.663194
0.639459
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
7564
6640
3836
14.736927
LINESTRING (-76.9668255574168 38.9378499408438...
6.0
0.407141
0.620607
1.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
7563
6640
3836
14.736927
LINESTRING (-76.9668255574168 38.9378499408438...
6.0
0.407141
0.620607
1.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
7562
6640
3836
14.736927
LINESTRING (-76.9668255574168 38.9378499408438...
6.0
0.407141
0.620607
1.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
7561
6640
3836
14.736927
LINESTRING (-76.9668255574168 38.9378499408438...
6.0
0.407141
0.620607
1.000000
0.0
0.0
...
0.000000
0.000000
0.0
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
0.000000
15071 rows × 76 columns
In [124]:
#dc_vision0_details = dc_vision0_details.drop('geometry', axis=1)
dc_vision0_details = dc_vision0_details.drop('Unnamed: 0', axis=1)
dc_vision0_details.head().T
Out[124]:
0
1
2
3
4
OBJECTID
1.000000
2.000000
3.000000
4.000000
5.000000
STREETSEGID
876.000000
13161.000000
8240.000000
10395.000000
2216.000000
SHAPE_Length
192.925131
131.935677
117.887011
108.331118
119.190312
vision0_pts_seg
2.000000
1.000000
0.000000
0.000000
0.000000
vision0_pts/len
0.010367
0.007579
0.000000
0.000000
0.000000
vision0_pts_seg_norm
0.350379
0.221065
0.000000
0.000000
0.000000
vision0_pts/len_norm
0.030195
0.022107
0.000000
0.000000
0.000000
Red light running_count
0.000000
0.000000
0.000000
0.000000
0.000000
Accessibility Issue_count
0.000000
0.000000
0.000000
0.000000
0.000000
Failure to stop for pedestrians_count
0.000000
0.000000
0.000000
0.000000
0.000000
Double parking_count
0.000000
0.000000
0.000000
0.000000
0.000000
Stop sign running_count
0.000000
1.000000
0.000000
0.000000
0.000000
Long distance to cross_count
0.000000
0.000000
0.000000
0.000000
0.000000
Other Walking Issue_count
0.000000
0.000000
0.000000
0.000000
0.000000
Jaywalking_count
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the bikebox_count
0.000000
0.000000
0.000000
0.000000
0.000000
Other Driving Issue_count
0.000000
0.000000
0.000000
0.000000
0.000000
Other Biking Issue_count
2.000000
0.000000
0.000000
0.000000
0.000000
Speeding_count
0.000000
0.000000
0.000000
0.000000
0.000000
Cyclist behavior_count
0.000000
0.000000
0.000000
0.000000
0.000000
Not enough time to cross_count
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the crosswalk_count
0.000000
0.000000
0.000000
0.000000
0.000000
Long wait to cross_count
0.000000
0.000000
0.000000
0.000000
0.000000
Poor visibility_count
0.000000
0.000000
0.000000
0.000000
0.000000
Red light running_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Red light running_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Red light running_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Accessibility Issue_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Accessibility Issue_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Accessibility Issue_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
Jaywalking_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Jaywalking_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Jaywalking_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the bikebox_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the bikebox_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the bikebox_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Other Driving Issue_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Other Driving Issue_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Other Driving Issue_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Other Biking Issue_count/len
0.010367
0.000000
0.000000
0.000000
0.000000
Other Biking Issue_count_norm
0.613147
0.000000
0.000000
0.000000
0.000000
Other Biking Issue_count/len_norm
0.214425
0.000000
0.000000
0.000000
0.000000
Speeding_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Speeding_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Speeding_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Cyclist behavior_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Cyclist behavior_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Cyclist behavior_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Not enough time to cross_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Not enough time to cross_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Not enough time to cross_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the crosswalk_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the crosswalk_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the crosswalk_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Long wait to cross_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Long wait to cross_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Long wait to cross_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Poor visibility_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Poor visibility_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Poor visibility_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
75 rows × 5 columns
In [125]:
dc_vision0_details.to_csv('../DC_Vision_Zero_Details.csv')
In [ ]:
def gradient_color(percent):
min_color = np.array([255,255,255])
max_color = np.array([248,105,107])
return '#%02x%02x%02x' % tuple([int(k) for k in min_color+(max_color-min_color)*percent])
def write_var(col_name, var_name, df,f):
df['color']=df[col_name].apply(gradient_color)
f.write('var %s = %s;\n' % (var_name, df.to_json()))
with open('../visualization/Volumes of Vision0_new.js','w+') as f:
write_var('vision0_pts_seg_norm', 'vision0_ptseg', dc_vision0_details,f)
write_var('vision0_pts/len_norm', 'vision0_ptseg_norm', dc_vision0_details,f)
In [1]:
import geopandas as gp
from shapely.geometry import LineString, Point
import rtree
import os
import numpy as np
from itertools import chain
In [2]:
from pandas import DataFrame
from geopandas import GeoDataFrame
from shapely.geometry import Point
In [3]:
data = DataFrame.from_csv("../Cityworks_Service_Requests_filtered.csv", index_col=False)
#data_drop = data.dropna(subset = ['X', 'Y']);
points = [Point(row['X'], row['Y']) for key, row in data.iterrows()]
//anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py:2825: DtypeWarning: Columns (15,23,26,32,40) have mixed types. Specify dtype option on import or set low_memory=False.
if self.run_code(code, result):
In [4]:
geo_df = GeoDataFrame(data,geometry=points)
In [5]:
geo_df.shape
Out[5]:
(204924, 53)
In [6]:
geo_df.info()
<class 'geopandas.geodataframe.GeoDataFrame'>
RangeIndex: 204924 entries, 0 to 204923
Data columns (total 53 columns):
X 204924 non-null float64
Y 204924 non-null float64
OBJECTID 204924 non-null int64
REQUESTID 204924 non-null int64
WORKORDERID 76541 non-null float64
CSRNUMBER 204468 non-null object
DESCRIPTION 204924 non-null object
STATUS 204906 non-null object
REQUESTCATEGORY 201914 non-null object
INITIATEDDATE 204912 non-null object
CLOSEDDATE 172390 non-null object
INSPECTIONDATE 176017 non-null object
INSPECTIONCOMPLETE 155067 non-null object
SUBMITTEDTODATE 86762 non-null object
DISPATCHEDTODATE 58197 non-null object
CANCELEDDATE 57 non-null object
PRIORITY 199304 non-null float64
INITIATEDBY 204924 non-null object
SUBMITTEDTO 86766 non-null object
DISPATCHEDTO 58146 non-null object
CLOSEDBY 172390 non-null object
PROJECTNAME 22770 non-null object
ISCANCELED 191112 non-null object
CANCELEDBY 57 non-null object
ADDRESS 204898 non-null object
FISCALYEAR 204924 non-null int64
WARD 204876 non-null object
QUADRANT 204461 non-null object
ZIPCODE 204496 non-null float64
ANC 204438 non-null object
SMD 204438 non-null object
NEIGHBORHOODCLUSTERS 200758 non-null object
NEIGHBORHOODNAMES 140400 non-null object
BID 23290 non-null object
AWI 5360 non-null object
EDZ 9898 non-null object
NIF 53547 non-null object
HISTORICDISTRICT 43276 non-null object
ZONING 203245 non-null object
PUD 4103 non-null object
CFAR 5044 non-null object
PSA 204511 non-null float64
PD 204511 non-null float64
DAYSTOCLOSE 204924 non-null int64
DAYSTOINSPECT 176017 non-null float64
UPDATEDATE 204924 non-null object
XCOORD 204924 non-null float64
YCOORD 204924 non-null float64
ONSEGX 204924 non-null float64
ONSEGY 204924 non-null float64
LONGITUDE 204924 non-null float64
LATITUDE 204924 non-null float64
geometry 204924 non-null object
dtypes: float64(14), int64(4), object(35)
memory usage: 82.9+ MB
In [8]:
fname = "../Cityworks_Service_Requests_complete.geojson"
geo_df.to_file(fname, driver='GeoJSON')
In [66]:
data = DataFrame.from_csv("../Cityworks_Service_Requests_Parking_Meter.csv", index_col=False)
#data_drop = data.dropna(subset = ['X', 'Y']);
points = [Point(row['X'], row['Y']) for key, row in data.iterrows()]
//anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py:2825: DtypeWarning: Columns (12,13,14,18,19,21,35,40) have mixed types. Specify dtype option on import or set low_memory=False.
if self.run_code(code, result):
In [68]:
geo_df = GeoDataFrame(data,geometry=points)
geo_df.shape
Out[68]:
(455100, 53)
In [69]:
fname = "../Cityworks_Service_Requests_Parking_Meter.geojson"
geo_df.to_file(fname, driver='GeoJSON')
In [5]:
city_req_pts = gp.read_file("../Cityworks_Service_Requests_filtered.geojson")
In [46]:
city_req_pts.info()
<class 'geopandas.geodataframe.GeoDataFrame'>
RangeIndex: 204924 entries, 0 to 204923
Data columns (total 53 columns):
ADDRESS 204898 non-null object
ANC 204438 non-null object
AWI 5360 non-null object
BID 23290 non-null object
CANCELEDBY 57 non-null object
CANCELEDDATE 57 non-null object
CFAR 5044 non-null object
CLOSEDBY 172390 non-null object
CLOSEDDATE 172390 non-null object
CSRNUMBER 204468 non-null object
DAYSTOCLOSE 204924 non-null int64
DAYSTOINSPECT 176017 non-null float64
DESCRIPTION 204924 non-null object
DISPATCHEDTO 58146 non-null object
DISPATCHEDTODATE 58197 non-null object
EDZ 9898 non-null object
FISCALYEAR 204924 non-null int64
HISTORICDISTRICT 43276 non-null object
INITIATEDBY 204924 non-null object
INITIATEDDATE 204912 non-null object
INSPECTIONCOMPLETE 155067 non-null object
INSPECTIONDATE 176017 non-null object
ISCANCELED 191112 non-null object
LATITUDE 204924 non-null float64
LONGITUDE 204924 non-null float64
NEIGHBORHOODCLUSTERS 200758 non-null object
NEIGHBORHOODNAMES 140400 non-null object
NIF 53547 non-null object
OBJECTID 204924 non-null int64
ONSEGX 204924 non-null float64
ONSEGY 204924 non-null float64
PD 204511 non-null float64
PRIORITY 199304 non-null float64
PROJECTNAME 22770 non-null object
PSA 204511 non-null float64
PUD 4103 non-null object
QUADRANT 204461 non-null object
REQUESTCATEGORY 201914 non-null object
REQUESTID 204924 non-null int64
SMD 204438 non-null object
STATUS 204906 non-null object
SUBMITTEDTO 86766 non-null object
SUBMITTEDTODATE 86762 non-null object
UPDATEDATE 204924 non-null object
WARD 204876 non-null object
WORKORDERID 76541 non-null object
X 204924 non-null float64
XCOORD 204924 non-null float64
Y 204924 non-null float64
YCOORD 204924 non-null float64
ZIPCODE 204496 non-null float64
ZONING 203245 non-null object
geometry 204924 non-null object
dtypes: float64(13), int64(4), object(36)
memory usage: 82.9+ MB
In [4]:
dc_segments = gp.read_file("../dc-maps-master/maps/street-segments.geojson")
In [6]:
city_req_pts_req_pts.head().T
Out[6]:
0
1
2
3
4
ADDRESS
1773 WILLARD STREET NW
SHERIDAN ST & 5TH STREET NW
1801 H STREET NE
7510 17TH STREET NW
5600 - 5667 BLOCK OF 2ND STREET NW
ANC
3D
4B
5D
4A
4B
AWI
None
None
None
None
None
BID
None
None
None
None
None
CANCELEDBY
None
None
None
None
None
CANCELEDDATE
None
None
None
None
None
CFAR
None
None
None
None
None
CLOSEDBY
HILL, GREER A
LATTIMORE, JELANI
LATTIMORE, JELANI
None
MARTIN, KIANA
CLOSEDDATE
2013-07-21T15:01:41
2014-12-13T14:52:48
2014-12-13T14:40:07
None
2014-08-09T12:15:24
CSRNUMBER
13-00079017
10-00188633
09-03080547
09-03124614
10-00155132
DAYSTOCLOSE
103
0
0
638
0
DAYSTOINSPECT
103
-1892
-1892
7
0
DESCRIPTION
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
CURB GUTTER REPAIR
CURB GUTTER REPAIR
DISPATCHEDTO
ARNO, TIANEKA
HASSAN, MOHAMUD A
BRISCOE, SONYA
HASSAN, MOHAMUD A
HASSAN, MOHAMUD A
DISPATCHEDTODATE
2013-04-11T13:31:37
2012-08-07T15:31:32
2012-08-01T16:40:56
2013-07-17T17:31:59
2013-07-17T17:31:59
EDZ
None
None
None
None
None
FISCALYEAR
2013
2015
2015
2015
2014
HISTORICDISTRICT
None
None
None
None
None
INITIATEDBY
CSR
EDMONDS, FRANCINE
CSR
CSR
CSR
INITIATEDDATE
2013-04-09T15:29:30
2014-12-13T16:13:19
2014-12-13T09:06:00
2014-12-13T20:33:12
2014-08-09T12:02:17
INSPECTIONCOMPLETE
Y
Y
Y
Y
Y
INSPECTIONDATE
2013-07-21T15:01:41
2009-10-08T12:26:52
2009-10-08T12:58:24
2014-12-20T14:45:35
2014-08-09T12:15:24
ISCANCELED
N
N
N
N
N
LATITUDE
38.9075
38.9661
38.9002
38.9815
38.958
LONGITUDE
-77.0806
-77.0199
-76.9774
-77.0378
-77.0136
NEIGHBORHOODCLUSTERS
Cluster 13
Cluster 17
Cluster 23
Cluster 16
Cluster 17
NEIGHBORHOODNAMES
Foxhall Village
Brightwood
Carver
Colonial Village
Manor Park
NIF
None
Brightwood and Upper Georgia Ave
None
None
Brightwood and Upper Georgia Ave
OBJECTID
1
2
3
4
5
ONSEGX
393007
398276
401962
396725
398817
ONSEGY
137740
144247
136927
145955
143347
PD
2
4
5
4
4
PRIORITY
3
3
3
2
NaN
PROJECTNAME
None
Street and Bridge Maintenance FY 15 Tier 3
Street and Bridge Maintenance FY 15 Tier 3
SBM Sidewalks FY 15 Tier 3
Sidewalk and Curb and Gutter Blitz FY 14
PSA
205
402
507
401
406
PUD
None
None
None
None
None
QUADRANT
NW
NW
NE
NW
NW
REQUESTCATEGORY
IPMA
TOA-S&B
TOA-S&B
TOA-S&B
TOA-S&B
REQUESTID
1180
318742
319057
336725
453046
SMD
3D09
4B03
5D05
4A01
4B06
STATUS
CLOSED
CLOSED
CLOSED
INSPCOMP
CLOSED
SUBMITTEDTO
TST,
SIOD,
SIOD,
IPMA,
ASSET, MANAGEMENT
SUBMITTEDTODATE
2013-04-11T13:31:31
2014-12-02T17:03:52
2014-12-02T17:03:52
2015-05-15T15:32:06
2014-08-09T10:42:06
UPDATEDATE
2013-07-22T00:00:00
2015-07-27T00:00:00
2015-07-27T00:00:00
2015-06-10T00:00:00
2014-08-09T00:00:00
WARD
2
4
5
4
4
WORKORDERID
None
173022.0
None
176308.0
430780.0
X
-77.0806
-77.0199
-76.9774
-77.0378
-77.0137
XCOORD
393029
398276
401963
396703
398817
Y
38.9075
38.9661
38.9002
38.9815
38.958
YCOORD
137734
144247
136905
145955
143347
ZIPCODE
20007
20011
20002
20012
20011
ZONING
R-1-B
R-2
R-5-B
R-1-A
R-3
geometry
POINT (-77.08062689 38.90750167)
POINT (-77.01990087999999 38.96614244)
POINT (-76.97738008 38.900201)
POINT (-77.03780018 38.98152633)
POINT (-77.0136522 38.95803581)
In [6]:
print(city_req_pts[city_req_pts['INITIATEDDATE'].str.contains('2013', na=False)].shape[0])
print(city_req_pts[city_req_pts['INITIATEDDATE'].str.contains('2014', na=False)].shape[0])
print(city_req_pts[city_req_pts['INITIATEDDATE'].str.contains('2015', na=False)].shape[0])
print(city_req_pts[city_req_pts['INITIATEDDATE'].str.contains('2016', na=False)].shape[0])
32926
46080
49852
40918
In [48]:
dc_seg_buffer_gp = dc_segments[['OBJECTID','STREETSEGID','geometry']].copy()
dc_seg_buffer_gp.geometry = dc_seg_buffer_gp.buffer(0.0001)
city_req_buffer_gp = city_req_pts[['OBJECTID','DESCRIPTION','geometry','INITIATEDDATE','ADDRESS']].copy()
city_req_buffer_gp.geometry = city_req_buffer_gp.buffer(0.0001)
joined = sjoin(city_req_buffer_gp, dc_seg_buffer_gp, how='left', op='intersects')
#gb = joined.reset_index().groupby('OBJECTID_LEFT').count()
#print(gb[gb.OBJECTID_right==0].shape[0], ' points spatially match no segment')
#print(gb[gb.OBJECTID_right==1].shape[0], ' points spatially match 1 segment')
#print(gb[gb.OBJECTID_right>1].shape[0], ' points spatially match multiple segments')
In [1]:
import geopandas as gp
from shapely.geometry import LineString, Point
import rtree
import os
import numpy as np
In [2]:
from geopandas.tools import sjoin
import pandas as pd
from IPython.display import display
import snap
In [3]:
from itertools import chain
In [49]:
joined.head().T
Out[49]:
0
1
1
1
1
OBJECTID_left
1
2
2
2
2
DESCRIPTION
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
geometry
POLYGON ((-77.08052689 38.90750167, -77.080527...
POLYGON ((-77.01980087999999 38.96614244, -77....
POLYGON ((-77.01980087999999 38.96614244, -77....
POLYGON ((-77.01980087999999 38.96614244, -77....
POLYGON ((-77.01980087999999 38.96614244, -77....
INITIATEDDATE
2013-04-09T15:29:30
2014-12-13T16:13:19
2014-12-13T16:13:19
2014-12-13T16:13:19
2014-12-13T16:13:19
ADDRESS
1773 WILLARD STREET NW
SHERIDAN ST & 5TH STREET NW
SHERIDAN ST & 5TH STREET NW
SHERIDAN ST & 5TH STREET NW
SHERIDAN ST & 5TH STREET NW
index_right
1742
3991
318
319
3990
OBJECTID_right
1743
3992
319
320
3991
STREETSEGID
7076
3338
2333
143
6957
In [50]:
gb = joined.reset_index().groupby('OBJECTID_left').count()
In [53]:
print(gb[gb.OBJECTID_right==0].shape[0], ' points spatially match no segment')
print(gb[gb.OBJECTID_right==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.OBJECTID_right>1].shape[0], ' points spatially match multiple segments')
2589 points spatially match no segment
124413 points spatially match 1 segment
77922 points spatially match multiple segments
In [51]:
joined.shape
Out[51]:
(408041, 8)
In [10]:
city_req_filtered_gpd = city_req_pts[city_req_pts['INITIATEDDATE'].str.contains('2015|2016', na=False)]
print(city_req_filtered_gpd.shape)
city_req_filtered_gpd.head().T
(90770, 53)
Out[10]:
90948
93727
94425
94614
98869
ADDRESS
1337 OAK STREET NW
1155 21ST STREET NW
3301 14TH STREET NW
2030 F STREET NW
2112 R STREET NW
ANC
1A
2A
1A
2A
2B
AWI
None
None
None
None
None
BID
None
Golden Triangle BID
None
None
None
CANCELEDBY
None
None
None
None
None
CANCELEDDATE
None
None
None
None
None
CFAR
None
None
None
None
None
CLOSEDBY
HENDERSON, ANTANIA
TAPP, MERIKA
HENDERSON, ANTANIA
HENDERSON, ANTANIA
HENDERSON, ANTANIA
CLOSEDDATE
2015-02-07T08:45:10
2015-02-25T14:31:59
2015-02-07T08:46:39
2015-02-07T09:36:44
2015-02-07T09:52:10
CSRNUMBER
14-00158620
14-00183772
14-00188352
14-00192519
14-00230269
DAYSTOCLOSE
0
18
0
0
0
DAYSTOINSPECT
0
18
0
0
0
DESCRIPTION
BICYCLES
STREET REPAIR
BICYCLES
BICYCLES
BICYCLES
DISPATCHEDTO
None
ARNO, TIANEKA
None
None
None
DISPATCHEDTODATE
None
2015-02-19T15:40:12
None
None
None
EDZ
None
None
None
None
None
FISCALYEAR
2015
2015
2015
2015
2015
HISTORICDISTRICT
None
None
None
None
Dupont Circle Historic District
INITIATEDBY
CSR
CSR
CSR
CSR
CSR
INITIATEDDATE
2015-02-07T11:00:12
2015-02-07T09:56:35
2015-02-07T06:41:50
2015-02-07T14:57:03
2015-02-07T12:41:26
INSPECTIONCOMPLETE
Y
Y
Y
Y
Y
INSPECTIONDATE
2015-02-07T08:45:10
2015-02-25T14:31:03
2015-02-07T08:46:39
2015-02-07T09:36:44
2015-02-07T09:52:10
ISCANCELED
N
N
N
N
N
LATITUDE
38.9339
38.9049
38.9307
38.8974
38.9126
LONGITUDE
-77.031
-77.0466
-77.0327
-77.0467
-77.0476
NEIGHBORHOODCLUSTERS
Cluster 2
Cluster 6
Cluster 2
Cluster 5
Cluster 6
NEIGHBORHOODNAMES
Columbia Heights
Golden Triangle
Columbia Heights
Foggy Bottom
Dupont Circle
NIF
Columbia Heights
None
Columbia Heights
None
None
OBJECTID
462062
473277
475360
477358
494848
ONSEGX
397312
396003
397163
395952
395876
ONSEGY
140664
137447
140310
136613
138306
PD
4
2
3
2
2
PRIORITY
3
3
3
3
3
PROJECTNAME
None
None
None
None
None
PSA
409
207
302
207
208
PUD
None
Lafayette Centre
None
None
None
QUADRANT
NW
NW
NW
NW
NW
REQUESTCATEGORY
TPPA
TOA-S&B
TPPA
TPPA
TPPA
REQUESTID
1353196
1364438
1366526
1368530
1386064
SMD
1A04
2A06
1A05
2A01
2B02
STATUS
CLOSED
CLOSED
CLOSED
CLOSED
CLOSED
SUBMITTEDTO
STREET BRIDGE,
STREET BRIDGE,
STREET BRIDGE,
STREET BRIDGE,
STREET BRIDGE,
SUBMITTEDTODATE
2014-08-19T11:28:57
2015-02-19T15:39:54
2014-10-31T13:30:49
2014-10-31T13:30:49
2014-08-14T16:08:08
UPDATEDATE
2015-02-07T00:00:00
2015-02-25T00:00:00
2015-02-07T00:00:00
2015-02-07T00:00:00
2015-02-07T00:00:00
WARD
1
2
1
2
2
WORKORDERID
None
None
None
None
None
X
-77.031
-77.0461
-77.0327
-77.0467
-77.0476
XCOORD
397312
396003
397188
395987
395892
Y
38.9339
38.9049
38.9307
38.8974
38.9126
YCOORD
140683
137447
140309
136589
138285
ZIPCODE
20010
20036
20010
20006
20008
ZONING
R-4
C-3-C
C-3-A
R-5-E
R-5-B
geometry
POINT (-77.03100908 38.9338627)
POINT (-77.04608743999999 38.90487842)
POINT (-77.03272613999999 38.93067266)
POINT (-77.04666634 38.89736123)
POINT (-77.04755513000001 38.91261581)
In [70]:
city_req_filtered_gpd.to_csv('../Cityworks_Service_Requests_filtered_2015-16.csv')
In [11]:
dc_seg_buffer_gp = dc_segments[['OBJECTID','STREETSEGID','geometry']].copy()
dc_seg_buffer_gp.geometry = dc_seg_buffer_gp.buffer(0.0001)
city_req_filtered_buffer_gpd = city_req_filtered_gpd[['OBJECTID','DESCRIPTION','geometry','INITIATEDDATE','ADDRESS']].copy()
city_req_filtered_buffer_gpd.geometry = city_req_filtered_buffer_gpd.buffer(0.0001)
joined_filtered = sjoin(city_req_filtered_buffer_gpd, dc_seg_buffer_gp, how='left', op='intersects')
In [12]:
joined_filtered.head().T
Out[12]:
90948
90948
90948
93727
94425
OBJECTID_left
462062
462062
462062
473277
475360
DESCRIPTION
BICYCLES
BICYCLES
BICYCLES
STREET REPAIR
BICYCLES
geometry
POLYGON ((-77.03090908 38.9338627, -77.0309095...
POLYGON ((-77.03090908 38.9338627, -77.0309095...
POLYGON ((-77.03090908 38.9338627, -77.0309095...
POLYGON ((-77.04598743999999 38.90487842, -77....
POLYGON ((-77.03262613999999 38.93067266, -77....
INITIATEDDATE
2015-02-07T11:00:12
2015-02-07T11:00:12
2015-02-07T11:00:12
2015-02-07T09:56:35
2015-02-07T06:41:50
ADDRESS
1337 OAK STREET NW
1337 OAK STREET NW
1337 OAK STREET NW
1155 21ST STREET NW
3301 14TH STREET NW
index_right
2231
2232
5373
NaN
810
OBJECTID_right
2232
2233
5374
NaN
811
STREETSEGID
8171
8881
2150
NaN
9543
In [13]:
gb = joined_filtered.reset_index().groupby('OBJECTID_left').count()
print(gb[gb.OBJECTID_right==0].shape[0], ' points spatially match no segment')
print(gb[gb.OBJECTID_right==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.OBJECTID_right>1].shape[0], ' points spatially match multiple segments')
1400 points spatially match no segment
52627 points spatially match 1 segment
36743 points spatially match multiple segments
In [52]:
dc_segs_statistic = dc_segments[['OBJECTID','STREETSEGID','SHAPE_Length','geometry']]
dc_segs_statistic = dc_segs_statistic.merge(joined, left_on = 'STREETSEGID', right_index=True, how='left')
In [20]:
dc_segs_statistic.head().T
Out[20]:
0
1
2
3
4
STREETSEGID
876.000000
13161.000000
8240.000000
10395.000000
2216.000000
SHAPE_Length
192.925131
131.935677
117.887011
108.331118
119.190312
In [21]:
joined_filtered[['STREETSEGID', 'INITIATEDDATE', 'DESCRIPTION']]
Out[21]:
STREETSEGID
INITIATEDDATE
DESCRIPTION
90948
8171.0
2015-02-07T11:00:12
BICYCLES
90948
8881.0
2015-02-07T11:00:12
BICYCLES
90948
2150.0
2015-02-07T11:00:12
BICYCLES
93727
NaN
2015-02-07T09:56:35
STREET REPAIR
94425
9543.0
2015-02-07T06:41:50
BICYCLES
94614
7474.0
2015-02-07T14:57:03
BICYCLES
94614
829.0
2015-02-07T14:57:03
BICYCLES
94614
6569.0
2015-02-07T14:57:03
BICYCLES
94614
6815.0
2015-02-07T14:57:03
BICYCLES
98869
12706.0
2015-02-07T12:41:26
BICYCLES
98869
1269.0
2015-02-07T12:41:26
BICYCLES
98869
11727.0
2015-02-07T12:41:26
BICYCLES
98869
14406.0
2015-02-07T12:41:26
BICYCLES
99346
11768.0
2015-02-07T16:20:59
BICYCLES
99346
11728.0
2015-02-07T16:20:59
BICYCLES
99346
304.0
2015-02-07T16:20:59
BICYCLES
99346
4331.0
2015-02-07T16:20:59
BICYCLES
99456
2521.0
2015-02-07T13:38:38
BICYCLES
99456
3243.0
2015-02-07T13:38:38
BICYCLES
99456
6880.0
2015-02-07T13:38:38
BICYCLES
99456
13159.0
2015-02-07T13:38:38
BICYCLES
99654
7224.0
2015-02-07T12:44:50
BICYCLES
99654
13036.0
2015-02-07T12:44:50
BICYCLES
99654
12764.0
2015-02-07T12:44:50
BICYCLES
99654
2221.0
2015-02-07T12:44:50
BICYCLES
99656
2799.0
2015-02-07T12:47:48
BICYCLES
99656
1005.0
2015-02-07T12:47:48
BICYCLES
99656
13066.0
2015-02-07T12:47:48
BICYCLES
99656
1551.0
2015-02-07T12:47:48
BICYCLES
99660
6451.0
2015-02-07T12:59:49
BICYCLES
...
...
...
...
204907
221.0
2016-09-11T14:34:50
STREETLIGHT REPAIR
204908
991.0
2016-09-11T14:39:09
STREETLIGHT REPAIR
204908
221.0
2016-09-11T14:39:09
STREETLIGHT REPAIR
204908
2579.0
2016-09-11T14:39:09
STREETLIGHT REPAIR
204909
7854.0
2016-09-11T14:43:18
TRAFFIC CALMING
204909
3369.0
2016-09-11T14:43:18
TRAFFIC CALMING
204909
2547.0
2016-09-11T14:43:18
TRAFFIC CALMING
204909
788.0
2016-09-11T14:43:18
TRAFFIC CALMING
204909
5932.0
2016-09-11T14:43:18
TRAFFIC CALMING
204910
11119.0
2016-09-11T15:18:23
SIDEWALK REPAIR
204911
7629.0
2016-09-11T15:20:12
STREET REPAIR
204912
907.0
2016-09-11T15:31:10
STREETLIGHT REPAIR
204913
2318.0
2016-09-11T15:31:15
UTILITY REPAIR
204913
659.0
2016-09-11T15:31:15
UTILITY REPAIR
204913
6895.0
2016-09-11T15:31:15
UTILITY REPAIR
204913
1282.0
2016-09-11T15:31:15
UTILITY REPAIR
204913
5283.0
2016-09-11T15:31:15
UTILITY REPAIR
204914
1420.0
2016-09-11T15:34:02
STREET REPAIR
204915
5848.0
2016-09-11T17:09:26
SIDEWALK REPAIR
204916
5392.0
2016-09-11T17:26:25
STREETLIGHT REPAIR
204917
5392.0
2016-09-11T17:27:35
ALLEYLIGHT REPAIR
204918
4018.0
2016-09-11T17:33:42
TREE PRUNING
204919
2185.0
2016-09-11T17:42:21
SIGN REPLACE
204919
10690.0
2016-09-11T17:42:21
SIGN REPLACE
204919
8706.0
2016-09-11T17:42:21
SIGN REPLACE
204919
5462.0
2016-09-11T17:42:21
SIGN REPLACE
204920
4501.0
2016-09-11T17:42:33
ALLEY REPAIR
204921
NaN
2016-09-11T18:08:17
SIDEWALK REPAIR
204922
10408.0
2016-09-11T18:56:52
TREE PRUNING
204923
10010.0
2016-09-11T19:28:03
SIGN REPLACE
186495 rows × 3 columns
In [23]:
dc_segs_statistic = dc_segments[['STREETSEGID','SHAPE_Length']]
dc_segs_statistic = dc_segs_statistic.merge(joined_filtered[['STREETSEGID', 'INITIATEDDATE', 'DESCRIPTION']].dropna(), left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
print(dc_segs_statistic.shape)
dc_segs_statistic.head().T
(186014, 4)
Out[23]:
0
1
2
3
4
STREETSEGID
876
876
876
876
876
SHAPE_Length
192.925
192.925
192.925
192.925
192.925
INITIATEDDATE
2015-01-01T21:05:36
2015-02-12T10:20:40
2015-02-23T06:53:25
2015-03-13T08:03:23
2015-03-27T15:32:38
DESCRIPTION
RESIDENT PARKING PER
STREET REPAIR
TRAFFIC SIGNAL MAIN
SIDEWALK REPAIR
POTHOLES
In [24]:
dc_segs_statistic.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 186014 entries, 0 to 186013
Data columns (total 4 columns):
STREETSEGID 186014 non-null int64
SHAPE_Length 186014 non-null float64
INITIATEDDATE 185095 non-null object
DESCRIPTION 185095 non-null object
dtypes: float64(1), int64(1), object(2)
memory usage: 7.1+ MB
In [29]:
from pandas.tseries.resample import TimeGrouper
dc_segs_statistic.INITIATEDDATE = pd.to_datetime(dc_segs_statistic.INITIATEDDATE)
print(dc_segs_statistic.info())
<class 'pandas.core.frame.DataFrame'>
Int64Index: 186014 entries, 0 to 186013
Data columns (total 4 columns):
STREETSEGID 186014 non-null int64
SHAPE_Length 186014 non-null float64
INITIATEDDATE 185095 non-null datetime64[ns]
DESCRIPTION 185095 non-null object
dtypes: datetime64[ns](1), float64(1), int64(1), object(1)
memory usage: 7.1+ MB
None
In [30]:
dc_segs_statistic.INITIATEDDATE.dt.month
Out[30]:
0 1.0
1 2.0
2 2.0
3 3.0
4 3.0
5 3.0
6 3.0
7 4.0
8 4.0
9 5.0
10 6.0
11 6.0
12 6.0
13 6.0
14 6.0
15 6.0
16 7.0
17 7.0
18 7.0
19 8.0
20 7.0
21 12.0
22 1.0
23 2.0
24 2.0
25 4.0
26 5.0
27 5.0
28 4.0
29 5.0
...
185984 1.0
185985 2.0
185986 4.0
185987 7.0
185988 8.0
185989 3.0
185990 3.0
185991 3.0
185992 5.0
185993 5.0
185994 8.0
185995 NaN
185996 NaN
185997 9.0
185998 NaN
185999 NaN
186000 NaN
186001 NaN
186002 NaN
186003 NaN
186004 NaN
186005 4.0
186006 4.0
186007 5.0
186008 NaN
186009 NaN
186010 NaN
186011 4.0
186012 4.0
186013 5.0
Name: INITIATEDDATE, dtype: float64
In [32]:
unique_req_categories = set()
for category in city_req_filtered_gpd.DESCRIPTION:
unique_req_categories.add(category)
print(len(unique_req_categories), unique_req_categories)
42 {'SPEED STUDY DATA MAP', 'RESIDENT PARKING PER', 'SIGN REMOVAL', 'SIGN REPLACE', 'MARKING REMOVAL', 'SIGN MISSING', 'TRAFFIC CALMING', 'STRCAR', 'BICYCLES', 'STREETLIGHT REPAIR', 'STREET REPAIR', 'S0381', 'LIGHT-LIGHT POLE', 'DDOT CITATION', 'MARKING INSTALLATION', 'UTILITY REPAIR', 'LIGHT-OHGS', 'S0499', 'SIGN NEW', 'BUS AND/OR RAIL ISSU', 'POTHOLES', 'ALLEY REPAIR', 'SCHOOL CROSSING GUAR', 'SIDEWALK REPAIR', 'PARKING - HANDICAP', 'SIGNS CONFLICTING', 'PAVE', 'TREE REMOVAL', 'TREE PRUNING', 'SAFE ROUTES TO SCHOO', 'LIGHT-TUNNEL/UNDPASS', 'TRAFFIC SIGNAL MAIN', 'MARKING MAINTENANCE', 'SIDEWALK NEW', 'S0306', 'CURB GUTTER REPAIR', 'MARKING MODIFICATION', 'CHILD SAFETY SEAT PR', 'LIGHT-INFRASTRUCTURE', 'SIGN TRAFFIC CONTROL', 'SCHOOL SUBSIDY', 'ALLEYLIGHT REPAIR'}
In [33]:
city_req_filtered_count = dc_segs_statistic.groupby(['STREETSEGID', dc_segs_statistic.INITIATEDDATE.dt.month]).size().reset_index()
city_req_filtered_count.columns = ['STREETSEGID', 'MONTH', 'monthly_city_request_count']
print(city_req_filtered_count.shape)
city_req_filtered_count.head().T
(73910, 3)
Out[33]:
0
1
2
3
4
STREETSEGID
1.0
1.0
1.0
1.0
1.0
MONTH
1.0
2.0
3.0
4.0
5.0
monthly_city_request_count
1.0
1.0
4.0
2.0
3.0
In [21]:
dc_segs_statistic.shape
Out[21]:
(24437, 13)
In [22]:
city_req_pts.shape
Out[22]:
(204924, 53)
In [36]:
dc_segs_statistic.groupby('OBJECTID_left').head().T
Out[36]:
0
1
2
2
2
2
3
4
5
6
...
13518
13518
13518
13519
13519
13519
13520
13520
13520
13521
STREETSEGID
876
13161
8240
8240
8240
8240
10395
2216
10090
8384
...
15306
15306
15306
15284
15284
15284
15307
15307
15307
15247
OBJECTID
1
2
3
3
3
3
4
5
6
7
...
13519
13519
13519
13520
13520
13520
13521
13521
13521
13522
STREETSEGID_x
876
13161
8240
8240
8240
8240
10395
2216
10090
8384
...
15306
15306
15306
15284
15284
15284
15307
15307
15307
15247
SHAPE_Length
192.925
131.936
117.887
117.887
117.887
117.887
108.331
119.19
119.101
78.8781
...
107.921
107.921
107.921
96.5238
96.5238
96.5238
53.2962
53.2962
53.2962
40.6968
geometry_x
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
LINESTRING (-77.0116172263626 38.9576690437764...
LINESTRING (-77.0116124400554 38.9587419287958...
...
LINESTRING (-77.01885842791256 38.836994168269...
LINESTRING (-77.01885842791256 38.836994168269...
LINESTRING (-77.01885842791256 38.836994168269...
LINESTRING (-76.99377942384207 38.875606235068...
LINESTRING (-76.99377942384207 38.875606235068...
LINESTRING (-76.99377942384207 38.875606235068...
LINESTRING (-77.01960436767503 38.836216481487...
LINESTRING (-77.01960436767503 38.836216481487...
LINESTRING (-77.01960436767503 38.836216481487...
LINESTRING (-77.01826374709646 38.822439566938...
OBJECTID_left
7458
119270
76076
76076
76076
76076
97451
21321
94294
79465
...
135096
135096
135096
133869
133869
133869
135098
135098
135098
133453
DESCRIPTION
SIDEWALK REPAIR
POTHOLES
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
ALLEYLIGHT REPAIR
TREE REMOVAL
STREETLIGHT REPAIR
BICYCLES
...
SIGN REPLACE
SIGN REPLACE
SIGN REPLACE
TRAFFIC SIGNAL MAIN
TRAFFIC SIGNAL MAIN
TRAFFIC SIGNAL MAIN
STREETLIGHT REPAIR
STREETLIGHT REPAIR
STREETLIGHT REPAIR
SPEED STUDY DATA MAP
geometry_y
POLYGON ((-77.02745822 38.90133936, -77.027458...
POLYGON ((-77.06395619 38.94511063, -77.063956...
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.07509421 38.95903292, -77.075094...
POLYGON ((-77.07066087 38.96310065, -77.070661...
POLYGON ((-77.01512099999999 38.89907316, -77....
POLYGON ((-77.02204698999999 38.90565322, -77....
...
POLYGON ((-77.02131177999999 38.93770468, -77....
POLYGON ((-77.02131177999999 38.93770468, -77....
POLYGON ((-77.02131177999999 38.93770468, -77....
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-77.01769534 38.90432147, -77.017695...
INITIATEDDATE
2011-10-12T16:34:55
2012-04-26T09:56:42
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-03-20T20:08:29
2011-11-01T11:16:59
2012-03-15T14:23:36
2012-02-16T11:41:47
...
2012-05-22T12:29:28
2012-05-22T12:29:28
2012-05-22T12:29:28
2012-05-19T16:02:56
2012-05-19T16:02:56
2012-05-19T16:02:56
2012-05-22T12:29:30
2012-05-22T12:29:30
2012-05-22T12:29:30
2012-05-18T19:53:42
ADDRESS
1100 - 1199 BLOCK OF I STREET NW
4339 CONNECTICUT AVENUE NW
945010
945010
945010
945010
3803 JENIFER STREET NW
3614 LIVINGSTON STREET NW
701 - 727 BLOCK OF 3RD STREET NW
700 M STREET NW
...
7TH STREET NW AND QUINCY STREET NW
7TH STREET NW AND QUINCY STREET NW
7TH STREET NW AND QUINCY STREET NW
4801 14TH STREET NW
4801 14TH STREET NW
4801 14TH STREET NW
49TH STREET SE AND AYERS PLACE SE
49TH STREET SE AND AYERS PLACE SE
49TH STREET SE AND AYERS PLACE SE
443 NEW YORK AVENUE NW
index_right
2357
3814
3773
3772
5626
5627
2496
5394
187
5704
...
268
4722
4721
838
837
3429
11791
10962
10963
4988
OBJECTID_right
2358
3815
3774
3773
5627
5628
2497
5395
188
5705
...
269
4723
4722
839
838
3430
11792
10963
10964
4989
STREETSEGID_y
919
11166
4175
3262
11383
6040
2558
3796
6778
2409
...
12551
4821
2030
988
6245
7266
12304
12241
3735
7453
13 rows × 24340 columns
In [54]:
dc_segs_statistic = dc_segs_statistic.merge(joined, left_on = 'STREETSEGID', right_index=True, how='left')
In [55]:
dc_segs_statistic.shape
Out[55]:
(66177, 22)
In [38]:
dc_segs_statistic.head().T
Out[38]:
0
1
2
2
2
STREETSEGID
876
13161
8240
8240
8240
STREETSEGID_x
876
13161
8240
8240
8240
OBJECTID
1
2
3
3
3
STREETSEGID_x
876
13161
8240
8240
8240
SHAPE_Length
192.925
131.936
117.887
117.887
117.887
geometry_x
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.01157276320811 38.954558133776...
OBJECTID_left_x
7458
119270
76076
76076
76076
DESCRIPTION_x
SIDEWALK REPAIR
POTHOLES
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
geometry_y
POLYGON ((-77.02745822 38.90133936, -77.027458...
POLYGON ((-77.06395619 38.94511063, -77.063956...
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
INITIATEDDATE_x
2011-10-12T16:34:55
2012-04-26T09:56:42
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-02-09T16:14:24
ADDRESS_x
1100 - 1199 BLOCK OF I STREET NW
4339 CONNECTICUT AVENUE NW
945010
945010
945010
index_right_x
2357
3814
3773
3773
3773
OBJECTID_right_x
2358
3815
3774
3774
3774
STREETSEGID_y
919
11166
4175
4175
4175
OBJECTID_left_y
7458
119270
76076
76076
76076
DESCRIPTION_y
SIDEWALK REPAIR
POTHOLES
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
geometry
POLYGON ((-77.02745822 38.90133936, -77.027458...
POLYGON ((-77.06395619 38.94511063, -77.063956...
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
INITIATEDDATE_y
2011-10-12T16:34:55
2012-04-26T09:56:42
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-02-09T16:14:24
ADDRESS_y
1100 - 1199 BLOCK OF I STREET NW
4339 CONNECTICUT AVENUE NW
945010
945010
945010
index_right_y
2357
3814
3773
3772
5626
OBJECTID_right_y
2358
3815
3774
3773
5627
STREETSEGID_y
919
11166
4175
3262
11383
In [39]:
dc_segs_statistic.groupby('STREETSEGID').head().T
Out[39]:
0
1
2
2
2
2
2
3
4
5
...
13519
13519
13519
13519
13520
13520
13520
13520
13520
13521
STREETSEGID
876
13161
8240
8240
8240
8240
8240
10395
2216
10090
...
15284
15284
15284
15284
15307
15307
15307
15307
15307
15247
STREETSEGID_x
876
13161
8240
8240
8240
8240
8240
10395
2216
10090
...
15284
15284
15284
15284
15307
15307
15307
15307
15307
15247
OBJECTID
1
2
3
3
3
3
3
4
5
6
...
13520
13520
13520
13520
13521
13521
13521
13521
13521
13522
STREETSEGID_x
876
13161
8240
8240
8240
8240
8240
10395
2216
10090
...
15284
15284
15284
15284
15307
15307
15307
15307
15307
15247
SHAPE_Length
192.925
131.936
117.887
117.887
117.887
117.887
117.887
108.331
119.19
119.101
...
96.5238
96.5238
96.5238
96.5238
53.2962
53.2962
53.2962
53.2962
53.2962
40.6968
geometry_x
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
LINESTRING (-77.0116172263626 38.9576690437764...
...
LINESTRING (-76.99377942384207 38.875606235068...
LINESTRING (-76.99377942384207 38.875606235068...
LINESTRING (-76.99377942384207 38.875606235068...
LINESTRING (-76.99377942384207 38.875606235068...
LINESTRING (-77.01960436767503 38.836216481487...
LINESTRING (-77.01960436767503 38.836216481487...
LINESTRING (-77.01960436767503 38.836216481487...
LINESTRING (-77.01960436767503 38.836216481487...
LINESTRING (-77.01960436767503 38.836216481487...
LINESTRING (-77.01826374709646 38.822439566938...
OBJECTID_left_x
7458
119270
76076
76076
76076
76076
76076
97451
21321
94294
...
133869
133869
133869
133869
135098
135098
135098
135098
135098
133453
DESCRIPTION_x
SIDEWALK REPAIR
POTHOLES
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
ALLEYLIGHT REPAIR
TREE REMOVAL
STREETLIGHT REPAIR
...
TRAFFIC SIGNAL MAIN
TRAFFIC SIGNAL MAIN
TRAFFIC SIGNAL MAIN
TRAFFIC SIGNAL MAIN
STREETLIGHT REPAIR
STREETLIGHT REPAIR
STREETLIGHT REPAIR
STREETLIGHT REPAIR
STREETLIGHT REPAIR
SPEED STUDY DATA MAP
geometry_y
POLYGON ((-77.02745822 38.90133936, -77.027458...
POLYGON ((-77.06395619 38.94511063, -77.063956...
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.07509421 38.95903292, -77.075094...
POLYGON ((-77.07066087 38.96310065, -77.070661...
POLYGON ((-77.01512099999999 38.89907316, -77....
...
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-77.01769534 38.90432147, -77.017695...
INITIATEDDATE_x
2011-10-12T16:34:55
2012-04-26T09:56:42
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-03-20T20:08:29
2011-11-01T11:16:59
2012-03-15T14:23:36
...
2012-05-19T16:02:56
2012-05-19T16:02:56
2012-05-19T16:02:56
2012-05-19T16:02:56
2012-05-22T12:29:30
2012-05-22T12:29:30
2012-05-22T12:29:30
2012-05-22T12:29:30
2012-05-22T12:29:30
2012-05-18T19:53:42
ADDRESS_x
1100 - 1199 BLOCK OF I STREET NW
4339 CONNECTICUT AVENUE NW
945010
945010
945010
945010
945010
3803 JENIFER STREET NW
3614 LIVINGSTON STREET NW
701 - 727 BLOCK OF 3RD STREET NW
...
4801 14TH STREET NW
4801 14TH STREET NW
4801 14TH STREET NW
4801 14TH STREET NW
49TH STREET SE AND AYERS PLACE SE
49TH STREET SE AND AYERS PLACE SE
49TH STREET SE AND AYERS PLACE SE
49TH STREET SE AND AYERS PLACE SE
49TH STREET SE AND AYERS PLACE SE
443 NEW YORK AVENUE NW
index_right_x
2357
3814
3773
3773
3773
3773
3772
2496
5394
187
...
838
838
837
837
11791
11791
11791
10962
10962
4988
OBJECTID_right_x
2358
3815
3774
3774
3774
3774
3773
2497
5395
188
...
839
839
838
838
11792
11792
11792
10963
10963
4989
STREETSEGID_y
919
11166
4175
4175
4175
4175
3262
2558
3796
6778
...
988
988
6245
6245
12304
12304
12304
12241
12241
7453
OBJECTID_left_y
7458
119270
76076
76076
76076
76076
76076
97451
21321
94294
...
133869
133869
133869
133869
135098
135098
135098
135098
135098
133453
DESCRIPTION_y
SIDEWALK REPAIR
POTHOLES
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
ALLEYLIGHT REPAIR
TREE REMOVAL
STREETLIGHT REPAIR
...
TRAFFIC SIGNAL MAIN
TRAFFIC SIGNAL MAIN
TRAFFIC SIGNAL MAIN
TRAFFIC SIGNAL MAIN
STREETLIGHT REPAIR
STREETLIGHT REPAIR
STREETLIGHT REPAIR
STREETLIGHT REPAIR
STREETLIGHT REPAIR
SPEED STUDY DATA MAP
geometry
POLYGON ((-77.02745822 38.90133936, -77.027458...
POLYGON ((-77.06395619 38.94511063, -77.063956...
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.07509421 38.95903292, -77.075094...
POLYGON ((-77.07066087 38.96310065, -77.070661...
POLYGON ((-77.01512099999999 38.89907316, -77....
...
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-77.03262705 38.94846986, -77.032627...
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-76.93212647999999 38.88900169, -76....
POLYGON ((-77.01769534 38.90432147, -77.017695...
INITIATEDDATE_y
2011-10-12T16:34:55
2012-04-26T09:56:42
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-02-09T16:14:24
2012-03-20T20:08:29
2011-11-01T11:16:59
2012-03-15T14:23:36
...
2012-05-19T16:02:56
2012-05-19T16:02:56
2012-05-19T16:02:56
2012-05-19T16:02:56
2012-05-22T12:29:30
2012-05-22T12:29:30
2012-05-22T12:29:30
2012-05-22T12:29:30
2012-05-22T12:29:30
2012-05-18T19:53:42
ADDRESS_y
1100 - 1199 BLOCK OF I STREET NW
4339 CONNECTICUT AVENUE NW
945010
945010
945010
945010
945010
3803 JENIFER STREET NW
3614 LIVINGSTON STREET NW
701 - 727 BLOCK OF 3RD STREET NW
...
4801 14TH STREET NW
4801 14TH STREET NW
4801 14TH STREET NW
4801 14TH STREET NW
49TH STREET SE AND AYERS PLACE SE
49TH STREET SE AND AYERS PLACE SE
49TH STREET SE AND AYERS PLACE SE
49TH STREET SE AND AYERS PLACE SE
49TH STREET SE AND AYERS PLACE SE
443 NEW YORK AVENUE NW
index_right_y
2357
3814
3773
3772
5626
5627
3773
2496
5394
187
...
837
3429
838
837
11791
10962
10963
11791
10962
4988
OBJECTID_right_y
2358
3815
3774
3773
5627
5628
3774
2497
5395
188
...
838
3430
839
838
11792
10963
10964
11792
10963
4989
STREETSEGID_y
919
11166
4175
3262
11383
6040
4175
2558
3796
6778
...
6245
7266
988
6245
12304
12241
3735
12304
12241
7453
22 rows × 30122 columns
In [56]:
dc_city_req_stats = dc_segs_statistic[['STREETSEGID', 'OBJECTID']]
In [57]:
dc_city_req_stats.shape
Out[57]:
(66177, 2)
In [29]:
city_req_pts.head().T
Out[29]:
0
1
2
3
4
ADDRESS
1773 WILLARD STREET NW
SHERIDAN ST & 5TH STREET NW
1801 H STREET NE
7510 17TH STREET NW
5600 - 5667 BLOCK OF 2ND STREET NW
ANC
3D
4B
5D
4A
4B
AWI
None
None
None
None
None
BID
None
None
None
None
None
CANCELEDBY
None
None
None
None
None
CANCELEDDATE
None
None
None
None
None
CFAR
None
None
None
None
None
CLOSEDBY
HILL, GREER A
LATTIMORE, JELANI
LATTIMORE, JELANI
None
MARTIN, KIANA
CLOSEDDATE
2013-07-21T15:01:41
2014-12-13T14:52:48
2014-12-13T14:40:07
None
2014-08-09T12:15:24
CSRNUMBER
13-00079017
10-00188633
09-03080547
09-03124614
10-00155132
DAYSTOCLOSE
103
0
0
638
0
DAYSTOINSPECT
103
-1892
-1892
7
0
DESCRIPTION
SIDEWALK REPAIR
SIDEWALK REPAIR
SIDEWALK REPAIR
CURB GUTTER REPAIR
CURB GUTTER REPAIR
DISPATCHEDTO
ARNO, TIANEKA
HASSAN, MOHAMUD A
BRISCOE, SONYA
HASSAN, MOHAMUD A
HASSAN, MOHAMUD A
DISPATCHEDTODATE
2013-04-11T13:31:37
2012-08-07T15:31:32
2012-08-01T16:40:56
2013-07-17T17:31:59
2013-07-17T17:31:59
EDZ
None
None
None
None
None
FISCALYEAR
2013
2015
2015
2015
2014
HISTORICDISTRICT
None
None
None
None
None
INITIATEDBY
CSR
EDMONDS, FRANCINE
CSR
CSR
CSR
INITIATEDDATE
2013-04-09T15:29:30
2014-12-13T16:13:19
2014-12-13T09:06:00
2014-12-13T20:33:12
2014-08-09T12:02:17
INSPECTIONCOMPLETE
Y
Y
Y
Y
Y
INSPECTIONDATE
2013-07-21T15:01:41
2009-10-08T12:26:52
2009-10-08T12:58:24
2014-12-20T14:45:35
2014-08-09T12:15:24
ISCANCELED
N
N
N
N
N
LATITUDE
38.9075
38.9661
38.9002
38.9815
38.958
LONGITUDE
-77.0806
-77.0199
-76.9774
-77.0378
-77.0136
NEIGHBORHOODCLUSTERS
Cluster 13
Cluster 17
Cluster 23
Cluster 16
Cluster 17
NEIGHBORHOODNAMES
Foxhall Village
Brightwood
Carver
Colonial Village
Manor Park
NIF
None
Brightwood and Upper Georgia Ave
None
None
Brightwood and Upper Georgia Ave
OBJECTID
1
2
3
4
5
ONSEGX
393007
398276
401962
396725
398817
ONSEGY
137740
144247
136927
145955
143347
PD
2
4
5
4
4
PRIORITY
3
3
3
2
NaN
PROJECTNAME
None
Street and Bridge Maintenance FY 15 Tier 3
Street and Bridge Maintenance FY 15 Tier 3
SBM Sidewalks FY 15 Tier 3
Sidewalk and Curb and Gutter Blitz FY 14
PSA
205
402
507
401
406
PUD
None
None
None
None
None
QUADRANT
NW
NW
NE
NW
NW
REQUESTCATEGORY
IPMA
TOA-S&B
TOA-S&B
TOA-S&B
TOA-S&B
REQUESTID
1180
318742
319057
336725
453046
SMD
3D09
4B03
5D05
4A01
4B06
STATUS
CLOSED
CLOSED
CLOSED
INSPCOMP
CLOSED
SUBMITTEDTO
TST,
SIOD,
SIOD,
IPMA,
ASSET, MANAGEMENT
SUBMITTEDTODATE
2013-04-11T13:31:31
2014-12-02T17:03:52
2014-12-02T17:03:52
2015-05-15T15:32:06
2014-08-09T10:42:06
UPDATEDATE
2013-07-22T00:00:00
2015-07-27T00:00:00
2015-07-27T00:00:00
2015-06-10T00:00:00
2014-08-09T00:00:00
WARD
2
4
5
4
4
WORKORDERID
None
173022.0
None
176308.0
430780.0
X
-77.0806
-77.0199
-76.9774
-77.0378
-77.0137
XCOORD
393029
398276
401963
396703
398817
Y
38.9075
38.9661
38.9002
38.9815
38.958
YCOORD
137734
144247
136905
145955
143347
ZIPCODE
20007
20011
20002
20012
20011
ZONING
R-1-B
R-2
R-5-B
R-1-A
R-3
geometry
POINT (-77.08062689 38.90750167)
POINT (-77.01990087999999 38.96614244)
POINT (-76.97738008 38.900201)
POINT (-77.03780018 38.98152633)
POINT (-77.0136522 38.95803581)
In [14]:
unique_req_cats = set()
for cat in city_req_pts.REQUESTCATEGORY:
unique_req_cats.add(cat)
print(len(unique_req_cats), unique_req_cats)
31 {'SBM POTHOLES STREETT', None, 'TOA-SIGNALS', 'UFA', 'TOA-CW', 'SBM POTHOLES ALLEY', 'TOA-S&M', 'CSC', 'TOA-SIOD', 'TOA-FOD', 'STREETLI', 'PSMA', 'IPMA', 'STREETLIGHT', 'PPSA', 'TOA-SAFE', 'TOA-OOD', 'SIOD', 'ASSET MANAGEMENT', 'PTSA', 'TOA-SAFETY', 'TOA-ITS', 'TCO', 'TPPA', 'EMERG', 'TRAF', 'TRANSFER', 'STREETCAR', 'TMC', 'TOA-SPE', 'TOA-S&B'}
In [58]:
unique_req_categories = set()
for category in city_req_pts.DESCRIPTION:
unique_req_categories.add(category)
print(len(unique_req_categories), unique_req_categories)
58 {'BICYCLES', 'SIGNS CONFLICTING', 'LIGHT-INFRASTRUCTURE', 'PUBLIC SPACE - OBSTR', 'BUS AND/OR RAIL ISSU', 'PARKING - HANDICAP', 'FLASHER MALFUNCTION', 'TRAFFIC SIGNAL MAIN', 'TRAFFIC CAMERA LOCAT', 'STREET REPAVING', 'POTHOLES', 'STREET REPAIR', 'CURB GUTTER REPAIR', 'MARKING MAINTENANCE', 'SIGN NEW', 'TREE REMOVAL', 'UTILITY REPAIR', 'DDOT CITATION', 'S0381', 'LIGHT-LIGHT POLE', 'SPEED STUDY DATA MAP', 'PEDESTRIAN SIGNAL RE', 'RESIDENT PARKING PER', 'SCHOOL CROSSING GUAR', 'SIGN REPLACE', 'PUSH BUTTON MALFUNCT', 'TREE PRUNING', 'TRAFFIC CALMING', 'LIGHT-OHGS', 'SIGN REMOVAL', 'ALLEY REPAIR', 'SIDEWALK REPAIR', 'S0499', 'MARKING INSTALLATION', 'STREETLIGHT REPAIR', 'BRIDGE MAINTENANCE R', 'S0460', 'ALLEYLIGHT REPAIR', 'MARKING MODIFICATION', 'MARKING REMOVAL', 'SIGN TRAFFIC CONTROL', 'PAVE', 'STRCAR', 'STREET PAVING SCHEDU', 'S0306', 'UTILITY REPAIR MAJOR', 'RESIDENTIAL PERMIT -', 'SAFE ROUTES TO SCHOO', 'SIDEWALK NEW', 'PEDESTRIAN SIGNAL MA', 'SIGN MISSING', 'BULB OUT', 'PEDESTRIAN SAFETY PR', 'LIGHT-TUNNEL/UNDPASS', 'SCHOOL SUBSIDY', 'CHILD SAFETY SEAT PR', 'S0457', 'FLASHER MODIFICATION'}
In [59]:
city_req_pt_seg = dc_segs_statistic[['STREETSEGID', 'OBJECTID', 'DESCRIPTION_x']]
city_req_pt_seg.columns = ['STREETSEGID', 'OBJECTID', 'DESCRIPTION']
city_req_typemerge = pd.DataFrame(city_req_pt_seg.groupby(['STREETSEGID', 'DESCRIPTION']).size().reset_index())
In [60]:
city_req_seg_counts = pd.DataFrame(city_req_pt_seg.groupby(['STREETSEGID']).size().reset_index())
city_req_seg_counts.columns = ['STREETSEGID', 'city_req_seg_count']
In [61]:
city_req_seg_counts.head().T
Out[61]:
0
1
2
3
4
STREETSEGID
1
2
3
4
5
city_req_seg_count
16
16
1
1
1
In [34]:
print(city_req_filtered_count.shape)
city_req_filtered_count
(73910, 3)
Out[34]:
STREETSEGID
MONTH
monthly_city_request_count
0
1
1.0
1
1
1
2.0
1
2
1
3.0
4
3
1
4.0
2
4
1
5.0
3
5
1
6.0
1
6
1
7.0
2
7
1
8.0
4
8
2
3.0
5
9
2
4.0
1
10
2
5.0
1
11
2
6.0
2
12
2
7.0
1
13
2
8.0
1
14
2
9.0
1
15
3
1.0
1
16
3
3.0
1
17
3
5.0
1
18
3
6.0
4
19
3
7.0
2
20
3
11.0
1
21
3
12.0
1
22
4
3.0
3
23
4
4.0
1
24
4
5.0
1
25
4
6.0
1
26
4
7.0
3
27
4
12.0
1
28
5
4.0
1
29
5
5.0
1
...
...
...
...
73880
15303
1.0
1
73881
15349
1.0
1
73882
15349
2.0
1
73883
15349
3.0
3
73884
15349
4.0
1
73885
15349
5.0
2
73886
15349
7.0
1
73887
15349
8.0
2
73888
15350
5.0
2
73889
15350
8.0
1
73890
15359
1.0
2
73891
15359
4.0
1
73892
15359
5.0
2
73893
15359
8.0
1
73894
15360
1.0
1
73895
15360
2.0
13
73896
15360
3.0
12
73897
15360
4.0
4
73898
15360
5.0
3
73899
15360
6.0
4
73900
15360
7.0
6
73901
15360
8.0
2
73902
15360
9.0
2
73903
15360
12.0
2
73904
15361
5.0
1
73905
15361
6.0
1
73906
15361
8.0
1
73907
15362
1.0
2
73908
15362
2.0
2
73909
15362
6.0
5
73910 rows × 3 columns
In [35]:
print(city_req_filtered_count.dropna().shape)
(73910, 3)
In [37]:
city_req_filtered_typemerge = dc_segs_statistic.groupby(['STREETSEGID', dc_segs_statistic.INITIATEDDATE.dt.month, 'DESCRIPTION']).size().reset_index()
city_req_filtered_typemerge.columns = ['STREETSEGID', 'MONTH', 'DESCRIPTION', 'count']
print(city_req_filtered_typemerge.shape)
city_req_filtered_typemerge.head().T
(124754, 4)
Out[37]:
0
1
2
3
4
STREETSEGID
1
1
1
1
1
MONTH
1
2
3
3
3
DESCRIPTION
ALLEYLIGHT REPAIR
STREETLIGHT REPAIR
POTHOLES
SIDEWALK REPAIR
SIGN NEW
count
1
1
1
1
1
In [38]:
for ucategory in unique_req_categories:
if(ucategory is not None):
req_cat_data = city_req_filtered_typemerge[city_req_filtered_typemerge.DESCRIPTION==ucategory]
ucategory_count = ucategory + '_count'
req_cat_count = req_cat_data[['STREETSEGID', 'MONTH', 'count']]
req_cat_count.columns = ['STREETSEGID', 'MONTH', ucategory_count]
city_req_filtered_count = city_req_filtered_count.merge(req_cat_count, left_on = ['STREETSEGID','MONTH'], right_on = ['STREETSEGID', 'MONTH'], right_index=False, how='left')
In [40]:
print(city_req_filtered_count.shape)
print(city_req_filtered_count.fillna(0).drop_duplicates().shape)
city_req_filtered_count.head().T
(73910, 45)
(73910, 45)
Out[40]:
0
1
2
3
4
STREETSEGID
1.0
1.0
1.0
1.0
1.0
MONTH
1.0
2.0
3.0
4.0
5.0
monthly_city_request_count
1.0
1.0
4.0
2.0
3.0
SPEED STUDY DATA MAP_count
NaN
NaN
NaN
NaN
NaN
RESIDENT PARKING PER_count
NaN
NaN
NaN
NaN
NaN
SIGN REMOVAL_count
NaN
NaN
NaN
NaN
NaN
SIGN REPLACE_count
NaN
NaN
NaN
NaN
NaN
MARKING REMOVAL_count
NaN
NaN
NaN
NaN
NaN
SIGN MISSING_count
NaN
NaN
NaN
NaN
NaN
TRAFFIC CALMING_count
NaN
NaN
NaN
NaN
NaN
STRCAR_count
NaN
NaN
NaN
NaN
NaN
BICYCLES_count
NaN
NaN
NaN
NaN
NaN
STREETLIGHT REPAIR_count
NaN
1.0
1.0
NaN
NaN
STREET REPAIR_count
NaN
NaN
NaN
NaN
NaN
S0381_count
NaN
NaN
NaN
NaN
NaN
LIGHT-LIGHT POLE_count
NaN
NaN
NaN
NaN
NaN
DDOT CITATION_count
NaN
NaN
NaN
NaN
NaN
MARKING INSTALLATION_count
NaN
NaN
NaN
NaN
NaN
UTILITY REPAIR_count
NaN
NaN
NaN
NaN
NaN
LIGHT-OHGS_count
NaN
NaN
NaN
NaN
NaN
S0499_count
NaN
NaN
NaN
NaN
NaN
SIGN NEW_count
NaN
NaN
1.0
NaN
NaN
BUS AND/OR RAIL ISSU_count
NaN
NaN
NaN
NaN
NaN
POTHOLES_count
NaN
NaN
1.0
1.0
3.0
ALLEY REPAIR_count
NaN
NaN
NaN
NaN
NaN
SCHOOL CROSSING GUAR_count
NaN
NaN
NaN
NaN
NaN
SIDEWALK REPAIR_count
NaN
NaN
1.0
NaN
NaN
PARKING - HANDICAP_count
NaN
NaN
NaN
NaN
NaN
SIGNS CONFLICTING_count
NaN
NaN
NaN
NaN
NaN
PAVE_count
NaN
NaN
NaN
NaN
NaN
TREE REMOVAL_count
NaN
NaN
NaN
1.0
NaN
TREE PRUNING_count
NaN
NaN
NaN
NaN
NaN
SAFE ROUTES TO SCHOO_count
NaN
NaN
NaN
NaN
NaN
LIGHT-TUNNEL/UNDPASS_count
NaN
NaN
NaN
NaN
NaN
TRAFFIC SIGNAL MAIN_count
NaN
NaN
NaN
NaN
NaN
MARKING MAINTENANCE_count
NaN
NaN
NaN
NaN
NaN
SIDEWALK NEW_count
NaN
NaN
NaN
NaN
NaN
S0306_count
NaN
NaN
NaN
NaN
NaN
CURB GUTTER REPAIR_count
NaN
NaN
NaN
NaN
NaN
MARKING MODIFICATION_count
NaN
NaN
NaN
NaN
NaN
CHILD SAFETY SEAT PR_count
NaN
NaN
NaN
NaN
NaN
LIGHT-INFRASTRUCTURE_count
NaN
NaN
NaN
NaN
NaN
SIGN TRAFFIC CONTROL_count
NaN
NaN
NaN
NaN
NaN
SCHOOL SUBSIDY_count
NaN
NaN
NaN
NaN
NaN
ALLEYLIGHT REPAIR_count
1.0
NaN
NaN
NaN
NaN
In [62]:
city_req_seg_stats = city_req_typemerge[['STREETSEGID']]
In [63]:
city_req_typemerge.columns = ['STREETSEGID', 'DESCRIPTION', 'count']
city_req_typemerge.head().T
Out[63]:
0
1
2
3
4
STREETSEGID
1
2
3
4
5
DESCRIPTION
SIDEWALK REPAIR
SIDEWALK REPAIR
CURB GUTTER REPAIR
CURB GUTTER REPAIR
SIDEWALK REPAIR
count
16
16
1
1
1
In [64]:
for ucategory in unique_req_categories:
if(ucategory is not None):
req_cat_data = city_req_typemerge[city_req_typemerge.DESCRIPTION==ucategory]
ucategory_count = ucategory + '_count'
req_cat_count = req_cat_data[['STREETSEGID', 'count']]
req_cat_count.columns = ['STREETSEGID', ucategory_count]
city_req_seg_stats = city_req_seg_stats.merge(req_cat_count, left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
In [65]:
city_req_details = pd.DataFrame(city_req_seg_stats.fillna(0))
city_req_details = city_req_seg_counts.merge(city_req_details, left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
city_req_details.head().T
Out[65]:
0
1
2
3
4
STREETSEGID
1.0
2.0
3.0
4.0
5.0
city_req_seg_count
16.0
16.0
1.0
1.0
1.0
BICYCLES_count
0.0
0.0
0.0
0.0
0.0
SIGNS CONFLICTING_count
0.0
0.0
0.0
0.0
0.0
LIGHT-INFRASTRUCTURE_count
0.0
0.0
0.0
0.0
0.0
PUBLIC SPACE - OBSTR_count
0.0
0.0
0.0
0.0
0.0
BUS AND/OR RAIL ISSU_count
0.0
0.0
0.0
0.0
0.0
PARKING - HANDICAP_count
0.0
0.0
0.0
0.0
0.0
FLASHER MALFUNCTION_count
0.0
0.0
0.0
0.0
0.0
TRAFFIC SIGNAL MAIN_count
0.0
0.0
0.0
0.0
0.0
TRAFFIC CAMERA LOCAT_count
0.0
0.0
0.0
0.0
0.0
STREET REPAVING_count
0.0
0.0
0.0
0.0
0.0
POTHOLES_count
0.0
0.0
0.0
0.0
0.0
STREET REPAIR_count
0.0
0.0
0.0
0.0
0.0
CURB GUTTER REPAIR_count
0.0
0.0
1.0
1.0
0.0
MARKING MAINTENANCE_count
0.0
0.0
0.0
0.0
0.0
SIGN NEW_count
0.0
0.0
0.0
0.0
0.0
TREE REMOVAL_count
0.0
0.0
0.0
0.0
0.0
UTILITY REPAIR_count
0.0
0.0
0.0
0.0
0.0
DDOT CITATION_count
0.0
0.0
0.0
0.0
0.0
S0381_count
0.0
0.0
0.0
0.0
0.0
LIGHT-LIGHT POLE_count
0.0
0.0
0.0
0.0
0.0
SPEED STUDY DATA MAP_count
0.0
0.0
0.0
0.0
0.0
PEDESTRIAN SIGNAL RE_count
0.0
0.0
0.0
0.0
0.0
RESIDENT PARKING PER_count
0.0
0.0
0.0
0.0
0.0
SCHOOL CROSSING GUAR_count
0.0
0.0
0.0
0.0
0.0
SIGN REPLACE_count
0.0
0.0
0.0
0.0
0.0
PUSH BUTTON MALFUNCT_count
0.0
0.0
0.0
0.0
0.0
TREE PRUNING_count
0.0
0.0
0.0
0.0
0.0
TRAFFIC CALMING_count
0.0
0.0
0.0
0.0
0.0
LIGHT-OHGS_count
0.0
0.0
0.0
0.0
0.0
SIGN REMOVAL_count
0.0
0.0
0.0
0.0
0.0
ALLEY REPAIR_count
0.0
0.0
0.0
0.0
0.0
SIDEWALK REPAIR_count
16.0
16.0
0.0
0.0
1.0
S0499_count
0.0
0.0
0.0
0.0
0.0
MARKING INSTALLATION_count
0.0
0.0
0.0
0.0
0.0
STREETLIGHT REPAIR_count
0.0
0.0
0.0
0.0
0.0
BRIDGE MAINTENANCE R_count
0.0
0.0
0.0
0.0
0.0
S0460_count
0.0
0.0
0.0
0.0
0.0
ALLEYLIGHT REPAIR_count
0.0
0.0
0.0
0.0
0.0
MARKING MODIFICATION_count
0.0
0.0
0.0
0.0
0.0
MARKING REMOVAL_count
0.0
0.0
0.0
0.0
0.0
SIGN TRAFFIC CONTROL_count
0.0
0.0
0.0
0.0
0.0
PAVE_count
0.0
0.0
0.0
0.0
0.0
STRCAR_count
0.0
0.0
0.0
0.0
0.0
STREET PAVING SCHEDU_count
0.0
0.0
0.0
0.0
0.0
S0306_count
0.0
0.0
0.0
0.0
0.0
UTILITY REPAIR MAJOR_count
0.0
0.0
0.0
0.0
0.0
RESIDENTIAL PERMIT -_count
0.0
0.0
0.0
0.0
0.0
SAFE ROUTES TO SCHOO_count
0.0
0.0
0.0
0.0
0.0
SIDEWALK NEW_count
0.0
0.0
0.0
0.0
0.0
PEDESTRIAN SIGNAL MA_count
0.0
0.0
0.0
0.0
0.0
SIGN MISSING_count
0.0
0.0
0.0
0.0
0.0
BULB OUT_count
0.0
0.0
0.0
0.0
0.0
PEDESTRIAN SAFETY PR_count
0.0
0.0
0.0
0.0
0.0
LIGHT-TUNNEL/UNDPASS_count
0.0
0.0
0.0
0.0
0.0
SCHOOL SUBSIDY_count
0.0
0.0
0.0
0.0
0.0
CHILD SAFETY SEAT PR_count
0.0
0.0
0.0
0.0
0.0
S0457_count
0.0
0.0
0.0
0.0
0.0
FLASHER MODIFICATION_count
0.0
0.0
0.0
0.0
0.0
In [66]:
dc_segs_statistic[dc_segs_statistic.STREETSEGID==1]
Out[66]:
STREETSEGID
STREETSEGID_x
OBJECTID
STREETSEGID_x
SHAPE_Length
geometry_x
OBJECTID_left_x
DESCRIPTION_x
geometry_y
INITIATEDDATE_x
...
OBJECTID_right_x
STREETSEGID_y
OBJECTID_left_y
DESCRIPTION_y
geometry
INITIATEDDATE_y
ADDRESS_y
index_right_y
OBJECTID_right_y
STREETSEGID_y
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
3992.0
3338.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
3991.0
3992.0
3338.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
3992.0
3338.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
318.0
319.0
2333.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
3992.0
3338.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
319.0
320.0
143.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
3992.0
3338.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
3990.0
3991.0
6957.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
319.0
2333.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
3991.0
3992.0
3338.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
319.0
2333.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
318.0
319.0
2333.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
319.0
2333.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
319.0
320.0
143.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
319.0
2333.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
3990.0
3991.0
6957.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
320.0
143.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
3991.0
3992.0
3338.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
320.0
143.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
318.0
319.0
2333.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
320.0
143.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
319.0
320.0
143.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
320.0
143.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
3990.0
3991.0
6957.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
3991.0
6957.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
3991.0
3992.0
3338.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
3991.0
6957.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
318.0
319.0
2333.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
3991.0
6957.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
319.0
320.0
143.0
10918
1
1
10919
1
180.26104
LINESTRING (-76.9869087694413 38.8605304682732...
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
...
3991.0
6957.0
2
SIDEWALK REPAIR
POLYGON ((-77.01980087999999 38.96614244, -77....
2014-12-13T16:13:19
SHERIDAN ST & 5TH STREET NW
3990.0
3991.0
6957.0
16 rows × 22 columns
In [67]:
city_req_seg_counts.shape
Out[67]:
(13522, 2)
In [68]:
city_req_seg_counts
Out[68]:
STREETSEGID
city_req_seg_count
0
1
16
1
2
16
2
3
1
3
4
1
4
5
1
5
6
16
6
7
1
7
8
16
8
9
1
9
10
1
10
11
1
11
12
1
12
13
1
13
14
16
14
15
4
15
16
1
16
17
16
17
18
16
18
19
1
19
20
1
20
22
1
21
23
1
22
24
1
23
25
16
24
26
1
25
27
1
26
28
1
27
29
1
28
30
1
29
31
9
...
...
...
13492
15283
16
13493
15284
9
13494
15285
9
13495
15286
1
13496
15287
1
13497
15288
9
13498
15289
4
13499
15290
1
13500
15294
16
13501
15295
1
13502
15296
1
13503
15297
16
13504
15298
1
13505
15299
16
13506
15300
16
13507
15301
1
13508
15302
16
13509
15303
1
13510
15304
1
13511
15305
1
13512
15306
16
13513
15307
9
13514
15308
9
13515
15349
1
13516
15350
1
13517
15359
1
13518
15360
9
13519
15361
1
13520
15362
1
13521
15363
16
13522 rows × 2 columns
In [69]:
dc_city_req_details = dc_segments[['OBJECTID','STREETSEGID','SHAPE_Length','geometry']]
dc_city_req_details = dc_city_req_details.merge(city_req_details, left_on = 'STREETSEGID', right_on='STREETSEGID', right_index=False, how='left')
In [70]:
dc_city_req_details.shape
Out[70]:
(13522, 63)
In [41]:
dc_city_req_filtered_details = dc_segments[['STREETSEGID','SHAPE_Length']]
dc_city_req_filtered_details = dc_city_req_filtered_details.merge(city_req_filtered_count.fillna(0), left_on = 'STREETSEGID', right_on='STREETSEGID', right_index=False, how='left')
In [42]:
print(dc_city_req_filtered_details.shape)
dc_city_req_filtered_details.head().T
(74829, 46)
Out[42]:
0
1
2
3
4
STREETSEGID
876.000000
876.000000
876.000000
876.000000
876.000000
SHAPE_Length
192.925131
192.925131
192.925131
192.925131
192.925131
MONTH
1.000000
2.000000
3.000000
4.000000
5.000000
monthly_city_request_count
2.000000
4.000000
4.000000
4.000000
4.000000
SPEED STUDY DATA MAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
RESIDENT PARKING PER_count
1.000000
1.000000
0.000000
0.000000
0.000000
SIGN REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN REPLACE_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN MISSING_count
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC CALMING_count
0.000000
0.000000
0.000000
0.000000
0.000000
STRCAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
BICYCLES_count
0.000000
0.000000
0.000000
0.000000
0.000000
STREETLIGHT REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
STREET REPAIR_count
0.000000
1.000000
0.000000
1.000000
0.000000
S0381_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-LIGHT POLE_count
0.000000
0.000000
0.000000
0.000000
0.000000
DDOT CITATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING INSTALLATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
UTILITY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-OHGS_count
0.000000
0.000000
0.000000
0.000000
0.000000
S0499_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN NEW_count
0.000000
0.000000
0.000000
0.000000
0.000000
BUS AND/OR RAIL ISSU_count
0.000000
0.000000
0.000000
0.000000
0.000000
POTHOLES_count
0.000000
0.000000
1.000000
0.000000
1.000000
ALLEY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL CROSSING GUAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
PARKING - HANDICAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGNS CONFLICTING_count
0.000000
0.000000
0.000000
0.000000
0.000000
PAVE_count
0.000000
0.000000
0.000000
0.000000
0.000000
TREE REMOVAL_count
1.000000
0.000000
0.000000
0.000000
1.000000
TREE PRUNING_count
0.000000
1.000000
0.000000
1.000000
2.000000
SAFE ROUTES TO SCHOO_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-TUNNEL/UNDPASS_count
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC SIGNAL MAIN_count
0.000000
1.000000
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count
0.000000
0.000000
0.000000
0.000000
0.000000
ALLEYLIGHT REPAIR_count
0.000000
0.000000
1.000000
0.000000
0.000000
In [72]:
for column in dc_city_req_filtered_details.columns:
if((column is not None) and ('_count' in column)):
column_len = column + '/len'
dc_city_req_filtered_details[column_len] = dc_city_req_filtered_details[column]/dc_city_req_filtered_details['SHAPE_Length']
normalize(column, dc_city_req_filtered_details)
normalize(column_len, dc_city_req_filtered_details)
In [45]:
print(dc_city_req_filtered_details.shape)
dc_city_req_filtered_details.head().T
(74829, 89)
Out[45]:
0
1
2
3
4
STREETSEGID
876.000000
876.000000
876.000000
876.000000
876.000000
SHAPE_Length
192.925131
192.925131
192.925131
192.925131
192.925131
MONTH
1.000000
2.000000
3.000000
4.000000
5.000000
monthly_city_request_count
2.000000
4.000000
4.000000
4.000000
4.000000
SPEED STUDY DATA MAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
RESIDENT PARKING PER_count
1.000000
1.000000
0.000000
0.000000
0.000000
SIGN REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN REPLACE_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN MISSING_count
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC CALMING_count
0.000000
0.000000
0.000000
0.000000
0.000000
STRCAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
BICYCLES_count
0.000000
0.000000
0.000000
0.000000
0.000000
STREETLIGHT REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
STREET REPAIR_count
0.000000
1.000000
0.000000
1.000000
0.000000
S0381_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-LIGHT POLE_count
0.000000
0.000000
0.000000
0.000000
0.000000
DDOT CITATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING INSTALLATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
UTILITY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-OHGS_count
0.000000
0.000000
0.000000
0.000000
0.000000
S0499_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN NEW_count
0.000000
0.000000
0.000000
0.000000
0.000000
BUS AND/OR RAIL ISSU_count
0.000000
0.000000
0.000000
0.000000
0.000000
POTHOLES_count
0.000000
0.000000
1.000000
0.000000
1.000000
ALLEY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL CROSSING GUAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
PARKING - HANDICAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGNS CONFLICTING_count
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
LIGHT-LIGHT POLE_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
DDOT CITATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING INSTALLATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
UTILITY REPAIR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-OHGS_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
S0499_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN NEW_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
BUS AND/OR RAIL ISSU_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
POTHOLES_count/len
0.000000
0.000000
0.005183
0.000000
0.005183
ALLEY REPAIR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL CROSSING GUAR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK REPAIR_count/len
0.000000
0.000000
0.005183
0.005183
0.000000
PARKING - HANDICAP_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIGNS CONFLICTING_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
PAVE_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
TREE REMOVAL_count/len
0.005183
0.000000
0.000000
0.000000
0.005183
TREE PRUNING_count/len
0.000000
0.005183
0.000000
0.005183
0.010367
SAFE ROUTES TO SCHOO_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-TUNNEL/UNDPASS_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC SIGNAL MAIN_count/len
0.000000
0.005183
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
ALLEYLIGHT REPAIR_count/len
0.000000
0.000000
0.005183
0.000000
0.000000
89 rows × 5 columns
In [73]:
print(dc_city_req_filtered_details.shape)
dc_city_req_filtered_details.head().T
(73910, 261)
Out[73]:
0
1
2
3
4
STREETSEGID
876.000000
876.000000
876.000000
876.000000
876.000000
SHAPE_Length
192.925131
192.925131
192.925131
192.925131
192.925131
MONTH
1.000000
2.000000
3.000000
4.000000
5.000000
monthly_city_request_count
2.000000
4.000000
4.000000
4.000000
4.000000
SPEED STUDY DATA MAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
RESIDENT PARKING PER_count
1.000000
1.000000
0.000000
0.000000
0.000000
SIGN REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN REPLACE_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN MISSING_count
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC CALMING_count
0.000000
0.000000
0.000000
0.000000
0.000000
STRCAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
BICYCLES_count
0.000000
0.000000
0.000000
0.000000
0.000000
STREETLIGHT REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
STREET REPAIR_count
0.000000
1.000000
0.000000
1.000000
0.000000
S0381_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-LIGHT POLE_count
0.000000
0.000000
0.000000
0.000000
0.000000
DDOT CITATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING INSTALLATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
UTILITY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-OHGS_count
0.000000
0.000000
0.000000
0.000000
0.000000
S0499_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN NEW_count
0.000000
0.000000
0.000000
0.000000
0.000000
BUS AND/OR RAIL ISSU_count
0.000000
0.000000
0.000000
0.000000
0.000000
POTHOLES_count
0.000000
0.000000
1.000000
0.000000
1.000000
ALLEY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL CROSSING GUAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
PARKING - HANDICAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGNS CONFLICTING_count
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
TREE REMOVAL_count/len/len
0.000027
0.000000
0.000000
0.000000
0.000027
TREE REMOVAL_count/len/len_norm
0.002588
0.000000
0.000000
0.000000
0.002588
TREE PRUNING_count/len/len
0.000000
0.000027
0.000000
0.000027
0.000054
TREE PRUNING_count/len/len_norm
0.000000
0.001032
0.000000
0.001032
0.002063
SAFE ROUTES TO SCHOO_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SAFE ROUTES TO SCHOO_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-TUNNEL/UNDPASS_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-TUNNEL/UNDPASS_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC SIGNAL MAIN_count/len/len
0.000000
0.000027
0.000000
0.000000
0.000000
TRAFFIC SIGNAL MAIN_count/len/len_norm
0.000000
0.000632
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
ALLEYLIGHT REPAIR_count/len/len
0.000000
0.000000
0.000027
0.000000
0.000000
ALLEYLIGHT REPAIR_count/len/len_norm
0.000000
0.000000
0.001533
0.000000
0.000000
261 rows × 5 columns
In [46]:
print(dc_city_req_filtered_details.drop_duplicates().shape)
(74829, 89)
In [75]:
print(dc_city_req_filtered_details.drop_duplicates().shape)
print(dc_city_req_filtered_details.dropna().shape)
(73910, 261)
(73910, 261)
In [48]:
from statsmodels import robust
In [57]:
print(dc_city_req_filtered_details[pd.isnull(dc_city_req_filtered_details['MARKING REMOVAL_count'])==True].shape)
dc_city_req_filtered_details[pd.isnull(dc_city_req_filtered_details['MARKING REMOVAL_count'])==True].head().T
(919, 89)
Out[57]:
315
1150
1827
2345
2346
STREETSEGID
3647.000000
4842.000000
8174.000000
8256.00000
12708.000000
SHAPE_Length
70.738603
92.634776
111.384795
25.86291
39.395941
MONTH
NaN
NaN
NaN
NaN
NaN
monthly_city_request_count
NaN
NaN
NaN
NaN
NaN
SPEED STUDY DATA MAP_count
NaN
NaN
NaN
NaN
NaN
RESIDENT PARKING PER_count
NaN
NaN
NaN
NaN
NaN
SIGN REMOVAL_count
NaN
NaN
NaN
NaN
NaN
SIGN REPLACE_count
NaN
NaN
NaN
NaN
NaN
MARKING REMOVAL_count
NaN
NaN
NaN
NaN
NaN
SIGN MISSING_count
NaN
NaN
NaN
NaN
NaN
TRAFFIC CALMING_count
NaN
NaN
NaN
NaN
NaN
STRCAR_count
NaN
NaN
NaN
NaN
NaN
BICYCLES_count
NaN
NaN
NaN
NaN
NaN
STREETLIGHT REPAIR_count
NaN
NaN
NaN
NaN
NaN
STREET REPAIR_count
NaN
NaN
NaN
NaN
NaN
S0381_count
NaN
NaN
NaN
NaN
NaN
LIGHT-LIGHT POLE_count
NaN
NaN
NaN
NaN
NaN
DDOT CITATION_count
NaN
NaN
NaN
NaN
NaN
MARKING INSTALLATION_count
NaN
NaN
NaN
NaN
NaN
UTILITY REPAIR_count
NaN
NaN
NaN
NaN
NaN
LIGHT-OHGS_count
NaN
NaN
NaN
NaN
NaN
S0499_count
NaN
NaN
NaN
NaN
NaN
SIGN NEW_count
NaN
NaN
NaN
NaN
NaN
BUS AND/OR RAIL ISSU_count
NaN
NaN
NaN
NaN
NaN
POTHOLES_count
NaN
NaN
NaN
NaN
NaN
ALLEY REPAIR_count
NaN
NaN
NaN
NaN
NaN
SCHOOL CROSSING GUAR_count
NaN
NaN
NaN
NaN
NaN
SIDEWALK REPAIR_count
NaN
NaN
NaN
NaN
NaN
PARKING - HANDICAP_count
NaN
NaN
NaN
NaN
NaN
SIGNS CONFLICTING_count
NaN
NaN
NaN
NaN
NaN
...
...
...
...
...
...
LIGHT-LIGHT POLE_count/len
NaN
NaN
NaN
NaN
NaN
DDOT CITATION_count/len
NaN
NaN
NaN
NaN
NaN
MARKING INSTALLATION_count/len
NaN
NaN
NaN
NaN
NaN
UTILITY REPAIR_count/len
NaN
NaN
NaN
NaN
NaN
LIGHT-OHGS_count/len
NaN
NaN
NaN
NaN
NaN
S0499_count/len
NaN
NaN
NaN
NaN
NaN
SIGN NEW_count/len
NaN
NaN
NaN
NaN
NaN
BUS AND/OR RAIL ISSU_count/len
NaN
NaN
NaN
NaN
NaN
POTHOLES_count/len
NaN
NaN
NaN
NaN
NaN
ALLEY REPAIR_count/len
NaN
NaN
NaN
NaN
NaN
SCHOOL CROSSING GUAR_count/len
NaN
NaN
NaN
NaN
NaN
SIDEWALK REPAIR_count/len
NaN
NaN
NaN
NaN
NaN
PARKING - HANDICAP_count/len
NaN
NaN
NaN
NaN
NaN
SIGNS CONFLICTING_count/len
NaN
NaN
NaN
NaN
NaN
PAVE_count/len
NaN
NaN
NaN
NaN
NaN
TREE REMOVAL_count/len
NaN
NaN
NaN
NaN
NaN
TREE PRUNING_count/len
NaN
NaN
NaN
NaN
NaN
SAFE ROUTES TO SCHOO_count/len
NaN
NaN
NaN
NaN
NaN
LIGHT-TUNNEL/UNDPASS_count/len
NaN
NaN
NaN
NaN
NaN
TRAFFIC SIGNAL MAIN_count/len
NaN
NaN
NaN
NaN
NaN
MARKING MAINTENANCE_count/len
NaN
NaN
NaN
NaN
NaN
SIDEWALK NEW_count/len
NaN
NaN
NaN
NaN
NaN
S0306_count/len
NaN
NaN
NaN
NaN
NaN
CURB GUTTER REPAIR_count/len
NaN
NaN
NaN
NaN
NaN
MARKING MODIFICATION_count/len
NaN
NaN
NaN
NaN
NaN
CHILD SAFETY SEAT PR_count/len
NaN
NaN
NaN
NaN
NaN
LIGHT-INFRASTRUCTURE_count/len
NaN
NaN
NaN
NaN
NaN
SIGN TRAFFIC CONTROL_count/len
NaN
NaN
NaN
NaN
NaN
SCHOOL SUBSIDY_count/len
NaN
NaN
NaN
NaN
NaN
ALLEYLIGHT REPAIR_count/len
NaN
NaN
NaN
NaN
NaN
89 rows × 5 columns
In [62]:
joined_filtered[joined_filtered.STREETSEGID==3647]
Out[62]:
OBJECTID_left
DESCRIPTION
geometry
INITIATEDDATE
ADDRESS
index_right
OBJECTID_right
STREETSEGID
In [63]:
dc_city_req_filtered_details[dc_city_req_filtered_details.STREETSEGID==3647]
Out[63]:
STREETSEGID
SHAPE_Length
MONTH
monthly_city_request_count
SPEED STUDY DATA MAP_count
RESIDENT PARKING PER_count
SIGN REMOVAL_count
SIGN REPLACE_count
MARKING REMOVAL_count
SIGN MISSING_count
...
MARKING MAINTENANCE_count/len
SIDEWALK NEW_count/len
S0306_count/len
CURB GUTTER REPAIR_count/len
MARKING MODIFICATION_count/len
CHILD SAFETY SEAT PR_count/len
LIGHT-INFRASTRUCTURE_count/len
SIGN TRAFFIC CONTROL_count/len
SCHOOL SUBSIDY_count/len
ALLEYLIGHT REPAIR_count/len
315
3647
70.738603
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
...
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
1 rows × 89 columns
In [64]:
dc_city_req_filtered_details[pd.isnull(dc_city_req_filtered_details.MONTH)==1].shape
Out[64]:
(919, 89)
In [65]:
dc_city_req_filtered_details = dc_city_req_filtered_details[pd.isnull(dc_city_req_filtered_details.MONTH)==0]
print(dc_city_req_filtered_details.shape)
dc_city_req_filtered_details.head().T
(73910, 89)
Out[65]:
0
1
2
3
4
STREETSEGID
876.000000
876.000000
876.000000
876.000000
876.000000
SHAPE_Length
192.925131
192.925131
192.925131
192.925131
192.925131
MONTH
1.000000
2.000000
3.000000
4.000000
5.000000
monthly_city_request_count
2.000000
4.000000
4.000000
4.000000
4.000000
SPEED STUDY DATA MAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
RESIDENT PARKING PER_count
1.000000
1.000000
0.000000
0.000000
0.000000
SIGN REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN REPLACE_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN MISSING_count
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC CALMING_count
0.000000
0.000000
0.000000
0.000000
0.000000
STRCAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
BICYCLES_count
0.000000
0.000000
0.000000
0.000000
0.000000
STREETLIGHT REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
STREET REPAIR_count
0.000000
1.000000
0.000000
1.000000
0.000000
S0381_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-LIGHT POLE_count
0.000000
0.000000
0.000000
0.000000
0.000000
DDOT CITATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING INSTALLATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
UTILITY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-OHGS_count
0.000000
0.000000
0.000000
0.000000
0.000000
S0499_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN NEW_count
0.000000
0.000000
0.000000
0.000000
0.000000
BUS AND/OR RAIL ISSU_count
0.000000
0.000000
0.000000
0.000000
0.000000
POTHOLES_count
0.000000
0.000000
1.000000
0.000000
1.000000
ALLEY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL CROSSING GUAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
PARKING - HANDICAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGNS CONFLICTING_count
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
LIGHT-LIGHT POLE_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
DDOT CITATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING INSTALLATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
UTILITY REPAIR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-OHGS_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
S0499_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN NEW_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
BUS AND/OR RAIL ISSU_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
POTHOLES_count/len
0.000000
0.000000
0.005183
0.000000
0.005183
ALLEY REPAIR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL CROSSING GUAR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK REPAIR_count/len
0.000000
0.000000
0.005183
0.005183
0.000000
PARKING - HANDICAP_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIGNS CONFLICTING_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
PAVE_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
TREE REMOVAL_count/len
0.005183
0.000000
0.000000
0.000000
0.005183
TREE PRUNING_count/len
0.000000
0.005183
0.000000
0.005183
0.010367
SAFE ROUTES TO SCHOO_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-TUNNEL/UNDPASS_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC SIGNAL MAIN_count/len
0.000000
0.005183
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
ALLEYLIGHT REPAIR_count/len
0.000000
0.000000
0.005183
0.000000
0.000000
89 rows × 5 columns
In [76]:
dc_city_req_filtered_details = dc_city_req_filtered_details[pd.isnull(dc_city_req_filtered_details.MONTH)==0]
print(dc_city_req_filtered_details.shape)
dc_city_req_filtered_details.head().T
(73910, 261)
Out[76]:
0
1
2
3
4
STREETSEGID
876.000000
876.000000
876.000000
876.000000
876.000000
SHAPE_Length
192.925131
192.925131
192.925131
192.925131
192.925131
MONTH
1.000000
2.000000
3.000000
4.000000
5.000000
monthly_city_request_count
2.000000
4.000000
4.000000
4.000000
4.000000
SPEED STUDY DATA MAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
RESIDENT PARKING PER_count
1.000000
1.000000
0.000000
0.000000
0.000000
SIGN REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN REPLACE_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN MISSING_count
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC CALMING_count
0.000000
0.000000
0.000000
0.000000
0.000000
STRCAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
BICYCLES_count
0.000000
0.000000
0.000000
0.000000
0.000000
STREETLIGHT REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
STREET REPAIR_count
0.000000
1.000000
0.000000
1.000000
0.000000
S0381_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-LIGHT POLE_count
0.000000
0.000000
0.000000
0.000000
0.000000
DDOT CITATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING INSTALLATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
UTILITY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-OHGS_count
0.000000
0.000000
0.000000
0.000000
0.000000
S0499_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN NEW_count
0.000000
0.000000
0.000000
0.000000
0.000000
BUS AND/OR RAIL ISSU_count
0.000000
0.000000
0.000000
0.000000
0.000000
POTHOLES_count
0.000000
0.000000
1.000000
0.000000
1.000000
ALLEY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL CROSSING GUAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
PARKING - HANDICAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGNS CONFLICTING_count
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
TREE REMOVAL_count/len/len
0.000027
0.000000
0.000000
0.000000
0.000027
TREE REMOVAL_count/len/len_norm
0.002588
0.000000
0.000000
0.000000
0.002588
TREE PRUNING_count/len/len
0.000000
0.000027
0.000000
0.000027
0.000054
TREE PRUNING_count/len/len_norm
0.000000
0.001032
0.000000
0.001032
0.002063
SAFE ROUTES TO SCHOO_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SAFE ROUTES TO SCHOO_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-TUNNEL/UNDPASS_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-TUNNEL/UNDPASS_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC SIGNAL MAIN_count/len/len
0.000000
0.000027
0.000000
0.000000
0.000000
TRAFFIC SIGNAL MAIN_count/len/len_norm
0.000000
0.000632
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
ALLEYLIGHT REPAIR_count/len/len
0.000000
0.000000
0.000027
0.000000
0.000000
ALLEYLIGHT REPAIR_count/len/len_norm
0.000000
0.000000
0.001533
0.000000
0.000000
261 rows × 5 columns
In [66]:
dc_city_req_filtered_details[dc_city_req_filtered_details.STREETSEGID==3647]
Out[66]:
STREETSEGID
SHAPE_Length
MONTH
monthly_city_request_count
SPEED STUDY DATA MAP_count
RESIDENT PARKING PER_count
SIGN REMOVAL_count
SIGN REPLACE_count
MARKING REMOVAL_count
SIGN MISSING_count
...
MARKING MAINTENANCE_count/len
SIDEWALK NEW_count/len
S0306_count/len
CURB GUTTER REPAIR_count/len
MARKING MODIFICATION_count/len
CHILD SAFETY SEAT PR_count/len
LIGHT-INFRASTRUCTURE_count/len
SIGN TRAFFIC CONTROL_count/len
SCHOOL SUBSIDY_count/len
ALLEYLIGHT REPAIR_count/len
0 rows × 89 columns
In [68]:
for column in dc_city_req_filtered_details.columns:
if('_count' in column):
print(column, robust.mad(dc_city_req_filtered_details[column]))
monthly_city_request_count 1.48260221851
SPEED STUDY DATA MAP_count 0.0
RESIDENT PARKING PER_count 0.0
SIGN REMOVAL_count 0.0
SIGN REPLACE_count 0.0
MARKING REMOVAL_count 0.0
SIGN MISSING_count 0.0
TRAFFIC CALMING_count 0.0
STRCAR_count 0.0
BICYCLES_count 0.0
STREETLIGHT REPAIR_count 0.0
STREET REPAIR_count 0.0
S0381_count 0.0
LIGHT-LIGHT POLE_count 0.0
DDOT CITATION_count 0.0
MARKING INSTALLATION_count 0.0
UTILITY REPAIR_count 0.0
LIGHT-OHGS_count 0.0
S0499_count 0.0
SIGN NEW_count 0.0
BUS AND/OR RAIL ISSU_count 0.0
POTHOLES_count 0.0
ALLEY REPAIR_count 0.0
SCHOOL CROSSING GUAR_count 0.0
SIDEWALK REPAIR_count 0.0
PARKING - HANDICAP_count 0.0
SIGNS CONFLICTING_count 0.0
PAVE_count 0.0
TREE REMOVAL_count 0.0
TREE PRUNING_count 0.0
SAFE ROUTES TO SCHOO_count 0.0
LIGHT-TUNNEL/UNDPASS_count 0.0
TRAFFIC SIGNAL MAIN_count 0.0
MARKING MAINTENANCE_count 0.0
SIDEWALK NEW_count 0.0
S0306_count 0.0
CURB GUTTER REPAIR_count 0.0
MARKING MODIFICATION_count 0.0
CHILD SAFETY SEAT PR_count 0.0
LIGHT-INFRASTRUCTURE_count 0.0
SIGN TRAFFIC CONTROL_count 0.0
SCHOOL SUBSIDY_count 0.0
ALLEYLIGHT REPAIR_count 0.0
monthly_city_request_count/len 0.0112031679045
SPEED STUDY DATA MAP_count/len 0.0
RESIDENT PARKING PER_count/len 0.0
SIGN REMOVAL_count/len 0.0
SIGN REPLACE_count/len 0.0
MARKING REMOVAL_count/len 0.0
SIGN MISSING_count/len 0.0
TRAFFIC CALMING_count/len 0.0
STRCAR_count/len 0.0
BICYCLES_count/len 0.0
STREETLIGHT REPAIR_count/len 0.0
STREET REPAIR_count/len 0.0
S0381_count/len 0.0
LIGHT-LIGHT POLE_count/len 0.0
DDOT CITATION_count/len 0.0
MARKING INSTALLATION_count/len 0.0
UTILITY REPAIR_count/len 0.0
LIGHT-OHGS_count/len 0.0
S0499_count/len 0.0
SIGN NEW_count/len 0.0
BUS AND/OR RAIL ISSU_count/len 0.0
POTHOLES_count/len 0.0
ALLEY REPAIR_count/len 0.0
SCHOOL CROSSING GUAR_count/len 0.0
SIDEWALK REPAIR_count/len 0.0
PARKING - HANDICAP_count/len 0.0
SIGNS CONFLICTING_count/len 0.0
PAVE_count/len 0.0
TREE REMOVAL_count/len 0.0
TREE PRUNING_count/len 0.0
SAFE ROUTES TO SCHOO_count/len 0.0
LIGHT-TUNNEL/UNDPASS_count/len 0.0
TRAFFIC SIGNAL MAIN_count/len 0.0
MARKING MAINTENANCE_count/len 0.0
SIDEWALK NEW_count/len 0.0
S0306_count/len 0.0
CURB GUTTER REPAIR_count/len 0.0
MARKING MODIFICATION_count/len 0.0
CHILD SAFETY SEAT PR_count/len 0.0
LIGHT-INFRASTRUCTURE_count/len 0.0
SIGN TRAFFIC CONTROL_count/len 0.0
SCHOOL SUBSIDY_count/len 0.0
ALLEYLIGHT REPAIR_count/len 0.0
In [71]:
dc_city_req_details['city_req_count/len'] = dc_city_req_details.city_req_seg_count/dc_city_req_details.SHAPE_Length
In [72]:
dc_city_req_details.head().T
Out[72]:
0
1
2
3
4
OBJECTID
1
2
3
4
5
STREETSEGID
876
13161
8240
10395
2216
SHAPE_Length
192.925
131.936
117.887
108.331
119.19
geometry
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
city_req_seg_count
1
1
16
1
1
BICYCLES_count
0
0
0
0
0
SIGNS CONFLICTING_count
0
0
0
0
0
LIGHT-INFRASTRUCTURE_count
0
0
0
0
0
PUBLIC SPACE - OBSTR_count
0
0
0
0
0
BUS AND/OR RAIL ISSU_count
0
0
0
0
0
PARKING - HANDICAP_count
0
0
0
0
0
FLASHER MALFUNCTION_count
0
0
0
0
0
TRAFFIC SIGNAL MAIN_count
0
0
0
0
0
TRAFFIC CAMERA LOCAT_count
0
0
0
0
0
STREET REPAVING_count
0
0
0
0
0
POTHOLES_count
0
1
0
0
0
STREET REPAIR_count
0
0
0
0
0
CURB GUTTER REPAIR_count
0
0
0
0
0
MARKING MAINTENANCE_count
0
0
0
0
0
SIGN NEW_count
0
0
0
0
0
TREE REMOVAL_count
0
0
0
0
1
UTILITY REPAIR_count
0
0
0
0
0
DDOT CITATION_count
0
0
0
0
0
S0381_count
0
0
0
0
0
LIGHT-LIGHT POLE_count
0
0
0
0
0
SPEED STUDY DATA MAP_count
0
0
0
0
0
PEDESTRIAN SIGNAL RE_count
0
0
0
0
0
RESIDENT PARKING PER_count
0
0
0
0
0
SCHOOL CROSSING GUAR_count
0
0
0
0
0
SIGN REPLACE_count
0
0
0
0
0
...
...
...
...
...
...
SIGN REMOVAL_count
0
0
0
0
0
ALLEY REPAIR_count
0
0
0
0
0
SIDEWALK REPAIR_count
1
0
16
0
0
S0499_count
0
0
0
0
0
MARKING INSTALLATION_count
0
0
0
0
0
STREETLIGHT REPAIR_count
0
0
0
0
0
BRIDGE MAINTENANCE R_count
0
0
0
0
0
S0460_count
0
0
0
0
0
ALLEYLIGHT REPAIR_count
0
0
0
1
0
MARKING MODIFICATION_count
0
0
0
0
0
MARKING REMOVAL_count
0
0
0
0
0
SIGN TRAFFIC CONTROL_count
0
0
0
0
0
PAVE_count
0
0
0
0
0
STRCAR_count
0
0
0
0
0
STREET PAVING SCHEDU_count
0
0
0
0
0
S0306_count
0
0
0
0
0
UTILITY REPAIR MAJOR_count
0
0
0
0
0
RESIDENTIAL PERMIT -_count
0
0
0
0
0
SAFE ROUTES TO SCHOO_count
0
0
0
0
0
SIDEWALK NEW_count
0
0
0
0
0
PEDESTRIAN SIGNAL MA_count
0
0
0
0
0
SIGN MISSING_count
0
0
0
0
0
BULB OUT_count
0
0
0
0
0
PEDESTRIAN SAFETY PR_count
0
0
0
0
0
LIGHT-TUNNEL/UNDPASS_count
0
0
0
0
0
SCHOOL SUBSIDY_count
0
0
0
0
0
CHILD SAFETY SEAT PR_count
0
0
0
0
0
S0457_count
0
0
0
0
0
FLASHER MODIFICATION_count
0
0
0
0
0
city_req_count/len
0.00518336
0.00757945
0.135723
0.00923096
0.00838994
64 rows × 5 columns
In [73]:
for ucategory in unique_req_categories:
if(ucategory is not None):
ucategory_count = ucategory + '_count'
ucategory_countlen = ucategory + '_count/len'
dc_city_req_details[ucategory_countlen] = dc_city_req_details[ucategory_count]/dc_city_req_details.SHAPE_Length
In [76]:
for ucategory in unique_req_categories:
if(ucategory is not None):
ucategory_count = ucategory + '_count'
ucategory_countlen = ucategory + '_count/len'
normalize(ucategory_count, dc_city_req_details)
normalize(ucategory_countlen, dc_city_req_details)
In [77]:
normalize('city_req_seg_count', dc_city_req_details)
normalize('city_req_count/len', dc_city_req_details)
In [78]:
dc_city_req_details = pd.DataFrame(dc_city_req_details.fillna(0))
In [79]:
dc_city_req_details.head().T
Out[79]:
0
1
2
3
4
OBJECTID
1
2
3
4
5
STREETSEGID
876
13161
8240
10395
2216
SHAPE_Length
192.925
131.936
117.887
108.331
119.19
geometry
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
city_req_seg_count
1
1
16
1
1
BICYCLES_count
0
0
0
0
0
SIGNS CONFLICTING_count
0
0
0
0
0
LIGHT-INFRASTRUCTURE_count
0
0
0
0
0
PUBLIC SPACE - OBSTR_count
0
0
0
0
0
BUS AND/OR RAIL ISSU_count
0
0
0
0
0
PARKING - HANDICAP_count
0
0
0
0
0
FLASHER MALFUNCTION_count
0
0
0
0
0
TRAFFIC SIGNAL MAIN_count
0
0
0
0
0
TRAFFIC CAMERA LOCAT_count
0
0
0
0
0
STREET REPAVING_count
0
0
0
0
0
POTHOLES_count
0
1
0
0
0
STREET REPAIR_count
0
0
0
0
0
CURB GUTTER REPAIR_count
0
0
0
0
0
MARKING MAINTENANCE_count
0
0
0
0
0
SIGN NEW_count
0
0
0
0
0
TREE REMOVAL_count
0
0
0
0
1
UTILITY REPAIR_count
0
0
0
0
0
DDOT CITATION_count
0
0
0
0
0
S0381_count
0
0
0
0
0
LIGHT-LIGHT POLE_count
0
0
0
0
0
SPEED STUDY DATA MAP_count
0
0
0
0
0
PEDESTRIAN SIGNAL RE_count
0
0
0
0
0
RESIDENT PARKING PER_count
0
0
0
0
0
SCHOOL CROSSING GUAR_count
0
0
0
0
0
SIGN REPLACE_count
0
0
0
0
0
...
...
...
...
...
...
S0306_count_norm
0
0
0
0
0
S0306_count/len_norm
0
0
0
0
0
UTILITY REPAIR MAJOR_count_norm
0
0
0
0
0
UTILITY REPAIR MAJOR_count/len_norm
0
0
0
0
0
RESIDENTIAL PERMIT -_count_norm
0
0
0
0
0
RESIDENTIAL PERMIT -_count/len_norm
0
0
0
0
0
SAFE ROUTES TO SCHOO_count_norm
0
0
0
0
0
SAFE ROUTES TO SCHOO_count/len_norm
0
0
0
0
0
SIDEWALK NEW_count_norm
0
0
0
0
0
SIDEWALK NEW_count/len_norm
0
0
0
0
0
PEDESTRIAN SIGNAL MA_count_norm
0
0
0
0
0
PEDESTRIAN SIGNAL MA_count/len_norm
0
0
0
0
0
SIGN MISSING_count_norm
0
0
0
0
0
SIGN MISSING_count/len_norm
0
0
0
0
0
BULB OUT_count_norm
0
0
0
0
0
BULB OUT_count/len_norm
0
0
0
0
0
PEDESTRIAN SAFETY PR_count_norm
0
0
0
0
0
PEDESTRIAN SAFETY PR_count/len_norm
0
0
0
0
0
LIGHT-TUNNEL/UNDPASS_count_norm
0
0
0
0
0
LIGHT-TUNNEL/UNDPASS_count/len_norm
0
0
0
0
0
SCHOOL SUBSIDY_count_norm
0
0
0
0
0
SCHOOL SUBSIDY_count/len_norm
0
0
0
0
0
CHILD SAFETY SEAT PR_count_norm
0
0
0
0
0
CHILD SAFETY SEAT PR_count/len_norm
0
0
0
0
0
S0457_count_norm
0
0
0
0
0
S0457_count/len_norm
0
0
0
0
0
FLASHER MODIFICATION_count_norm
0
0
0
0
0
FLASHER MODIFICATION_count/len_norm
0
0
0
0
0
city_req_seg_count_norm
0.157293
0.157293
0.64293
0.157293
0.157293
city_req_count/len_norm
0.00504485
0.00736813
0.124189
0.00896623
0.00815274
240 rows × 5 columns
In [65]:
dc_city_req_details[dc_city_req_details.city_req_seg_count==16]
Out[65]:
OBJECTID
STREETSEGID
SHAPE_Length
geometry
city_req_seg_count
STREET PAVING SCHEDU_count
LIGHT-TUNNEL/UNDPASS_count
RESIDENTIAL PERMIT -_count
PUBLIC SPACE - OBSTR_count
SIGN NEW_count
...
PUSH BUTTON MALFUNCT_count_norm
PUSH BUTTON MALFUNCT_count/len_norm
SIGN TRAFFIC CONTROL_count_norm
SIGN TRAFFIC CONTROL_count/len_norm
PEDESTRIAN SIGNAL RE_count_norm
PEDESTRIAN SIGNAL RE_count/len_norm
TRAFFIC SIGNAL MAIN_count_norm
TRAFFIC SIGNAL MAIN_count/len_norm
city_req_seg_count_norm
city_req_count/len_norm
2
3
8240
117.887011
LINESTRING (-77.01157276320811 38.954558133776...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.124189
8
9
7886
95.591087
LINESTRING (-77.01163025939501 38.969130242751...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.724232
0.155950
0.64293
0.151016
9
10
5660
157.511599
LINESTRING (-77.01166931573439 38.969983769179...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.094404
10
11
9116
124.980589
LINESTRING (-77.01033664424322 38.904550094214...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.117548
11
12
8292
121.299097
LINESTRING (-77.0100561260908 38.9555132405171...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.120904
12
13
7297
119.131391
LINESTRING (-77.01261926029325 38.957669570480...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.122971
15
16
10385
148.683739
LINESTRING (-77.01364139249108 38.892090605595...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.099732
16
17
2902
126.698028
LINESTRING (-77.01324339541158 38.951215745942...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.116046
18
19
9793
129.600852
LINESTRING (-77.01351167268689 38.953330819290...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.113592
21
22
9806
34.121781
LINESTRING (-77.01364744974134 38.956284074045...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.375214
27
28
8751
65.650005
LINESTRING (-77.01365107689449 38.963775972039...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.212826
37
38
12295
82.439138
LINESTRING (-77.01408684163577 38.913351984341...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.724232
0.178740
0.64293
0.173085
44
45
9562
52.416646
LINESTRING (-77.01457326206483 38.917644576506...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.259945
50
51
9899
121.615243
LINESTRING (-77.01368605318946 38.942224039979...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.120608
58
59
13135
148.441786
LINESTRING (-77.0121734700422 38.8947934592604...
16
0.0
0.0
0.0
0.0
16.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.099886
62
63
1268
132.911559
LINESTRING (-77.01216440994997 38.901326955994...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.110918
69
70
677
82.200007
LINESTRING (-77.01216491784899 38.910387735409...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.173547
76
77
3829
21.921379
LINESTRING (-77.01215783990784 38.915535731764...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.724232
0.552261
0.64293
0.534789
79
80
5210
123.230170
LINESTRING (-77.01215520813183 38.917007603690...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.119120
81
82
10744
117.130007
LINESTRING (-77.01215131273943 38.919185007715...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.124943
84
85
11579
433.761019
LINESTRING (-77.01214874405558 38.922382333216...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.724232
0.036501
0.64293
0.035346
88
89
6021
73.745639
LINESTRING (-77.01615305836131 38.971282133785...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.724232
0.197865
0.64293
0.191605
94
95
6824
127.730570
LINESTRING (-77.01710241915393 38.960172035873...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.115161
95
96
12357
99.005828
LINESTRING (-77.01755715211797 38.889711980823...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.146179
104
105
5824
135.010475
LINESTRING (-77.01617829801357 38.902527012806...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.109286
111
112
13139
84.704646
LINESTRING (-77.01787596719859 38.957667747561...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.168834
113
114
12886
79.010293
LINESTRING (-77.01803466848042 38.958743996538...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.179944
116
117
564
76.410073
LINESTRING (-77.0180348599519 38.9613243221190...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.185520
126
127
5398
147.133828
LINESTRING (-77.01893674239574 38.894810265619...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.100730
129
130
1370
116.942722
LINESTRING (-77.01893360670401 38.899817244782...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.125131
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
13356
13357
15278
50.683975
LINESTRING (-76.99672790534825 38.875395033573...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.267715
13360
13361
15219
150.852656
LINESTRING (-77.021004284155 38.8293103655506,...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.098368
13361
13362
15299
272.013323
LINESTRING (-77.00639871100618 38.863260137979...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.724232
0.057595
0.64293
0.055772
13367
13368
14662
105.503458
LINESTRING (-77.00811851709051 38.961097162096...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.724232
0.142283
0.64293
0.137782
13369
13370
15302
160.320810
LINESTRING (-77.02801250704039 38.961266859077...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.092826
13375
13376
14344
290.299156
LINESTRING (-77.01149467048084 38.942630106805...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.052352
13377
13378
14346
47.076034
LINESTRING (-77.00997955942016 38.942643938036...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.285496
13384
13385
14368
33.602641
LINESTRING (-77.01216050288797 38.897344000036...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.380014
13390
13391
14391
81.489167
LINESTRING (-77.04375823443131 38.923244885573...
16
0.0
0.0
0.0
0.0
16.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.174932
13392
13393
14397
107.258755
LINESTRING (-77.08200483287851 38.907076226052...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.135677
13393
13394
14398
97.571001
LINESTRING (-77.08308120012323 38.907551931412...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.148173
13395
13396
14400
60.457929
LINESTRING (-77.08363105504569 38.906928395912...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.229110
13403
13404
14431
82.328306
LINESTRING (-76.9443732524895 38.9027746995021...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.173299
13411
13412
14469
186.502567
LINESTRING (-77.01782102487583 38.838456374923...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.080316
13417
13418
14481
160.881639
LINESTRING (-77.02058914172555 38.836172764462...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.092517
13418
13419
14482
428.633104
LINESTRING (-77.02242491028406 38.836557043952...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.035761
13435
13436
14752
35.371878
LINESTRING (-76.99153669334081 38.878409973350...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.364142
13436
13437
14755
47.570989
LINESTRING (-76.99153915058115 38.878091335344...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.282917
13437
13438
14756
47.726551
LINESTRING (-76.99153848181352 38.877662803677...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.282116
13443
13444
14505
135.741993
LINESTRING (-76.9797767554787 38.8499870159793...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.108729
13447
13448
14511
69.017967
LINESTRING (-77.04416545033169 38.886903152046...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.203450
13457
13458
14787
146.906545
LINESTRING (-76.99150054360328 38.874614217141...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.100878
13459
13460
14846
208.280391
LINESTRING (-76.99027119547036 38.876497302249...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.072221
13466
13467
14525
97.230854
LINESTRING (-77.00126357427989 38.878411080376...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.148654
13471
13472
14541
81.787993
LINESTRING (-77.01357385782994 38.851013622781...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.174347
13472
13473
14542
512.152491
LINESTRING (-77.01390374641373 38.850323496605...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.030018
13491
13492
14874
27.532993
LINESTRING (-77.0058668040767 38.9633013008588...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.447046
13500
13501
14565
120.915647
LINESTRING (-77.02496609385443 38.939751380468...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.121264
13507
13508
15264
84.210189
LINESTRING (-77.01904839674489 38.822127940714...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.169744
13518
13519
15306
107.920942
LINESTRING (-77.01885842791256 38.836994168269...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.000000
0.000000
0.64293
0.134899
2136 rows × 240 columns
In [64]:
dc_city_req_details.to_csv('../DC_City_Request_Details_filtered.csv')
In [77]:
dc_city_req_filtered_details.to_csv('../DC_City_Request_Details_filtered_2015-16.csv')
In [101]:
print(dc_city_req_filtered_details.shape)
dc_city_req_filtered_details.head().T
(73910, 261)
Out[101]:
0
1
2
3
4
STREETSEGID
876.000000
876.000000
876.000000
876.000000
876.000000
SHAPE_Length
192.925131
192.925131
192.925131
192.925131
192.925131
MONTH
1.000000
2.000000
3.000000
4.000000
5.000000
monthly_city_request_count
2.000000
4.000000
4.000000
4.000000
4.000000
SPEED STUDY DATA MAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
RESIDENT PARKING PER_count
1.000000
1.000000
0.000000
0.000000
0.000000
SIGN REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN REPLACE_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN MISSING_count
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC CALMING_count
0.000000
0.000000
0.000000
0.000000
0.000000
STRCAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
BICYCLES_count
0.000000
0.000000
0.000000
0.000000
0.000000
STREETLIGHT REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
STREET REPAIR_count
0.000000
1.000000
0.000000
1.000000
0.000000
S0381_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-LIGHT POLE_count
0.000000
0.000000
0.000000
0.000000
0.000000
DDOT CITATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING INSTALLATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
UTILITY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-OHGS_count
0.000000
0.000000
0.000000
0.000000
0.000000
S0499_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN NEW_count
0.000000
0.000000
0.000000
0.000000
0.000000
BUS AND/OR RAIL ISSU_count
0.000000
0.000000
0.000000
0.000000
0.000000
POTHOLES_count
0.000000
0.000000
1.000000
0.000000
1.000000
ALLEY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL CROSSING GUAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
PARKING - HANDICAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGNS CONFLICTING_count
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
TREE REMOVAL_count/len/len
0.000027
0.000000
0.000000
0.000000
0.000027
TREE REMOVAL_count/len/len_norm
0.002588
0.000000
0.000000
0.000000
0.002588
TREE PRUNING_count/len/len
0.000000
0.000027
0.000000
0.000027
0.000054
TREE PRUNING_count/len/len_norm
0.000000
0.001032
0.000000
0.001032
0.002063
SAFE ROUTES TO SCHOO_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SAFE ROUTES TO SCHOO_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-TUNNEL/UNDPASS_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-TUNNEL/UNDPASS_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC SIGNAL MAIN_count/len/len
0.000000
0.000027
0.000000
0.000000
0.000000
TRAFFIC SIGNAL MAIN_count/len/len_norm
0.000000
0.000632
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count/len/len
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count/len/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
ALLEYLIGHT REPAIR_count/len/len
0.000000
0.000000
0.000027
0.000000
0.000000
ALLEYLIGHT REPAIR_count/len/len_norm
0.000000
0.000000
0.001533
0.000000
0.000000
261 rows × 5 columns
In [102]:
for column in dc_city_req_filtered_details:
if('len' in column or 'norm' in column):
dc_city_req_filtered_details = dc_city_req_filtered_details.drop(column, axis=1)
In [104]:
for column in dc_city_req_filtered_details:
if('_count' in column):
col_len = column + '/len'
dc_city_req_filtered_details[col_len] = dc_city_req_filtered_details[column]/dc_city_req_filtered_details['SHAPE_Length']
normalize(column, dc_city_req_filtered_details)
normalize(col_len, dc_city_req_filtered_details)
In [105]:
print(dc_city_req_filtered_details.shape)
dc_city_req_filtered_details.head().T
(73910, 175)
Out[105]:
0
1
2
3
4
STREETSEGID
876.000000
876.000000
876.000000
876.000000
876.000000
SHAPE_Length
192.925131
192.925131
192.925131
192.925131
192.925131
MONTH
1.000000
2.000000
3.000000
4.000000
5.000000
monthly_city_request_count
2.000000
4.000000
4.000000
4.000000
4.000000
SPEED STUDY DATA MAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
RESIDENT PARKING PER_count
1.000000
1.000000
0.000000
0.000000
0.000000
SIGN REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN REPLACE_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING REMOVAL_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN MISSING_count
0.000000
0.000000
0.000000
0.000000
0.000000
TRAFFIC CALMING_count
0.000000
0.000000
0.000000
0.000000
0.000000
STRCAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
BICYCLES_count
0.000000
0.000000
0.000000
0.000000
0.000000
STREETLIGHT REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
STREET REPAIR_count
0.000000
1.000000
0.000000
1.000000
0.000000
S0381_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-LIGHT POLE_count
0.000000
0.000000
0.000000
0.000000
0.000000
DDOT CITATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING INSTALLATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
UTILITY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-OHGS_count
0.000000
0.000000
0.000000
0.000000
0.000000
S0499_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN NEW_count
0.000000
0.000000
0.000000
0.000000
0.000000
BUS AND/OR RAIL ISSU_count
0.000000
0.000000
0.000000
0.000000
0.000000
POTHOLES_count
0.000000
0.000000
1.000000
0.000000
1.000000
ALLEY REPAIR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL CROSSING GUAR_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK REPAIR_count
0.000000
0.000000
1.000000
1.000000
0.000000
PARKING - HANDICAP_count
0.000000
0.000000
0.000000
0.000000
0.000000
SIGNS CONFLICTING_count
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
MARKING MAINTENANCE_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MAINTENANCE_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SIDEWALK NEW_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
S0306_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
CURB GUTTER REPAIR_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
MARKING MODIFICATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
CHILD SAFETY SEAT PR_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
LIGHT-INFRASTRUCTURE_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SIGN TRAFFIC CONTROL_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
SCHOOL SUBSIDY_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
ALLEYLIGHT REPAIR_count/len
0.000000
0.000000
0.005183
0.000000
0.000000
ALLEYLIGHT REPAIR_count_norm
0.000000
0.000000
0.224244
0.000000
0.000000
ALLEYLIGHT REPAIR_count/len_norm
0.000000
0.000000
0.012140
0.000000
0.000000
175 rows × 5 columns
In [106]:
print(dc_city_req_filtered_details.shape)
print(dc_city_req_filtered_details.drop_duplicates().shape)
print(dc_city_req_filtered_details.dropna().shape)
(73910, 175)
(73910, 175)
(73910, 175)
In [107]:
for column in dc_city_req_filtered_details.columns:
if('SIGN' in column):
print(column)
SIGN REMOVAL_count
SIGN REPLACE_count
SIGN MISSING_count
SIGN NEW_count
SIGNS CONFLICTING_count
TRAFFIC SIGNAL MAIN_count
SIGN TRAFFIC CONTROL_count
SIGN REMOVAL_count/len
SIGN REMOVAL_count_norm
SIGN REMOVAL_count/len_norm
SIGN REPLACE_count/len
SIGN REPLACE_count_norm
SIGN REPLACE_count/len_norm
SIGN MISSING_count/len
SIGN MISSING_count_norm
SIGN MISSING_count/len_norm
SIGN NEW_count/len
SIGN NEW_count_norm
SIGN NEW_count/len_norm
SIGNS CONFLICTING_count/len
SIGNS CONFLICTING_count_norm
SIGNS CONFLICTING_count/len_norm
TRAFFIC SIGNAL MAIN_count/len
TRAFFIC SIGNAL MAIN_count_norm
TRAFFIC SIGNAL MAIN_count/len_norm
SIGN TRAFFIC CONTROL_count/len
SIGN TRAFFIC CONTROL_count_norm
SIGN TRAFFIC CONTROL_count/len_norm
In [108]:
dc_city_req_filtered_details.to_csv('../DC_City_Request_Details_filtered_2015-16.csv')
In [ ]:
def gradient_color(percent):
min_color = np.array([255,255,255])
max_color = np.array([178,34,34])
return '#%02x%02x%02x' % tuple([int(k) for k in min_color+(max_color-min_color)*percent])
def write_var(col_name, var_name, df,f):
df['color']=df[col_name].apply(gradient_color)
f.write('var %s = %s;\n' % (var_name, df.to_json()))
with open('../visualization/Volumes of City Requests.js','w+') as f:
write_var('city_req_seg_count_norm', 'city_req_count', dc_city_req_details,f)
write_var('city_req_count/len_norm', 'city_req_count_norm', dc_city_req_details,f)
In [116]:
dc_seg_city_req_statistic_drop[dc_seg_city_req_statistic_drop.STREETSEGID_x==6316]
Out[116]:
OBJECTID
STREETSEGID_x
SHAPE_Length
geometry
STREETSEGID_y
city_req_seg_count
city_req/len
city_req_seg_count_norm
city_req/len_norm
color
12898
12899
6316
661.947921
LINESTRING (-77.03665083891831 38.886935862966...
6477.0
1.0
0.001511
0.157293
0.001202
#fefefe
In [117]:
dc_seg_city_req_statistic_drop[dc_seg_city_req_statistic_drop.STREETSEGID_y==6316]
Out[117]:
OBJECTID
STREETSEGID_x
SHAPE_Length
geometry
STREETSEGID_y
city_req_seg_count
city_req/len
city_req_seg_count_norm
city_req/len_norm
color
8696
8697
6160
97.850095
LINESTRING (-77.00204275692717 38.879293174632...
6316.0
16.0
0.163515
0.64293
0.120608
#f5e4e4
In [120]:
dc_seg_city_req_statistic_drop.info()
<class 'geopandas.geodataframe.GeoDataFrame'>
Int64Index: 12984 entries, 0 to 13273
Data columns (total 10 columns):
OBJECTID 12984 non-null int64
STREETSEGID_x 12984 non-null int64
SHAPE_Length 12984 non-null float64
geometry 12984 non-null object
STREETSEGID_y 12984 non-null float64
city_req_seg_count 12984 non-null float64
city_req/len 12984 non-null float64
city_req_seg_count_norm 12984 non-null float64
city_req/len_norm 12984 non-null float64
color 12984 non-null object
dtypes: float64(6), int64(2), object(2)
memory usage: 1.1+ MB
In [121]:
city_req_pts.info()
<class 'geopandas.geodataframe.GeoDataFrame'>
RangeIndex: 204924 entries, 0 to 204923
Data columns (total 53 columns):
ADDRESS 204898 non-null object
ANC 204438 non-null object
AWI 5360 non-null object
BID 23290 non-null object
CANCELEDBY 57 non-null object
CANCELEDDATE 57 non-null object
CFAR 5044 non-null object
CLOSEDBY 172390 non-null object
CLOSEDDATE 172390 non-null object
CSRNUMBER 204468 non-null object
DAYSTOCLOSE 204924 non-null int64
DAYSTOINSPECT 176017 non-null float64
DESCRIPTION 204924 non-null object
DISPATCHEDTO 58146 non-null object
DISPATCHEDTODATE 58197 non-null object
EDZ 9898 non-null object
FISCALYEAR 204924 non-null int64
HISTORICDISTRICT 43276 non-null object
INITIATEDBY 204924 non-null object
INITIATEDDATE 204912 non-null object
INSPECTIONCOMPLETE 155067 non-null object
INSPECTIONDATE 176017 non-null object
ISCANCELED 191112 non-null object
LATITUDE 204924 non-null float64
LONGITUDE 204924 non-null float64
NEIGHBORHOODCLUSTERS 200758 non-null object
NEIGHBORHOODNAMES 140400 non-null object
NIF 53547 non-null object
OBJECTID 204924 non-null int64
ONSEGX 204924 non-null float64
ONSEGY 204924 non-null float64
PD 204511 non-null float64
PRIORITY 199304 non-null float64
PROJECTNAME 22770 non-null object
PSA 204511 non-null float64
PUD 4103 non-null object
QUADRANT 204461 non-null object
REQUESTCATEGORY 201914 non-null object
REQUESTID 204924 non-null int64
SMD 204438 non-null object
STATUS 204906 non-null object
SUBMITTEDTO 86766 non-null object
SUBMITTEDTODATE 86762 non-null object
UPDATEDATE 204924 non-null object
WARD 204876 non-null object
WORKORDERID 76541 non-null object
X 204924 non-null float64
XCOORD 204924 non-null float64
Y 204924 non-null float64
YCOORD 204924 non-null float64
ZIPCODE 204496 non-null float64
ZONING 203245 non-null object
geometry 204924 non-null object
dtypes: float64(13), int64(4), object(36)
memory usage: 82.9+ MB
In [124]:
city_counts = city_req_pts.groupby('DESCRIPTION').count().reset_index().sort()
//anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:1: FutureWarning: sort(....) is deprecated, use sort_index(.....)
if __name__ == '__main__':
In [110]:
city_req_pm_pts = gp.read_file("../Cityworks_Service_Requests_Parking_Meter.geojson")
city_req_pm_pts.info()
<class 'geopandas.geodataframe.GeoDataFrame'>
RangeIndex: 455100 entries, 0 to 455099
Data columns (total 53 columns):
ADDRESS 455100 non-null object
ANC 455088 non-null object
AWI 23115 non-null object
BID 225073 non-null object
CANCELEDBY 0 non-null object
CANCELEDDATE 0 non-null object
CFAR 162265 non-null object
CLOSEDBY 438986 non-null object
CLOSEDDATE 438986 non-null object
CSRNUMBER 455097 non-null object
DAYSTOCLOSE 455100 non-null int64
DAYSTOINSPECT 399260 non-null float64
DESCRIPTION 455100 non-null object
DISPATCHEDTO 13 non-null object
DISPATCHEDTODATE 19 non-null object
EDZ 599 non-null object
FISCALYEAR 455100 non-null int64
HISTORICDISTRICT 174351 non-null object
INITIATEDBY 455100 non-null object
INITIATEDDATE 455100 non-null object
INSPECTIONCOMPLETE 212 non-null object
INSPECTIONDATE 399260 non-null object
ISCANCELED 451778 non-null object
LATITUDE 455100 non-null float64
LONGITUDE 455100 non-null float64
NEIGHBORHOODCLUSTERS 425828 non-null object
NEIGHBORHOODNAMES 433951 non-null object
NIF 54169 non-null object
OBJECTID 455100 non-null int64
ONSEGX 455100 non-null float64
ONSEGY 455100 non-null float64
PD 455093 non-null float64
PRIORITY 455097 non-null float64
PROJECTNAME 30 non-null object
PSA 455093 non-null float64
PUD 10569 non-null object
QUADRANT 455088 non-null object
REQUESTCATEGORY 455100 non-null object
REQUESTID 455100 non-null int64
SMD 455088 non-null object
STATUS 455100 non-null object
SUBMITTEDTO 63 non-null object
SUBMITTEDTODATE 63 non-null object
UPDATEDATE 455100 non-null object
WARD 455100 non-null int64
WORKORDERID 54 non-null object
X 455100 non-null float64
XCOORD 455100 non-null float64
Y 455100 non-null float64
YCOORD 455100 non-null float64
ZIPCODE 455092 non-null float64
ZONING 454943 non-null object
geometry 455100 non-null object
dtypes: float64(13), int64(5), object(35)
memory usage: 184.0+ MB
In [83]:
city_req_pm_pts.head().T
Out[83]:
0
1
2
3
4
ADDRESS
1100 - 1199 BLOCK OF 7TH STREET NW
FRONTAGE ROAD SW AND 7TH STREET SW
7TH STREET NW AND H STREET NW
10TH STREET NW AND NEW YORK AVENUE NW
FRONTAGE ROAD SW AND 7TH STREET SW
ANC
2F
6D
2C
2C
6D
AWI
None
None
None
None
None
BID
Downtown BID
None
Downtown BID
Downtown BID
None
CANCELEDBY
None
None
None
None
None
CANCELEDDATE
None
None
None
None
None
CFAR
None
Shipstead Luce
None
None
Shipstead Luce
CLOSEDBY
ISLIMS
ISLIMS
ISLIMS
ISLIMS
ISLIMS
CLOSEDDATE
2011-10-08T05:02:06
2011-10-12T10:13:07
2011-10-01T07:14:21
2011-10-06T12:37:18
2011-10-12T10:15:33
CSRNUMBER
11-00310068
11-00310069
11-00310070
11-00310072
11-00310071
DAYSTOCLOSE
7
11
0
5
11
DAYSTOINSPECT
7
11
0
5
11
DESCRIPTION
PARKING METER REQUES
PARKING METER REQUES
PARKING METER REQUES
PARKING METER REQUES
PARKING METER REQUES
DISPATCHEDTO
None
None
None
None
None
DISPATCHEDTODATE
None
None
None
None
None
EDZ
None
None
None
None
None
FISCALYEAR
2012
2012
2012
2012
2012
HISTORICDISTRICT
None
None
Downtown Historic District
None
None
INITIATEDBY
CSR
CSR
CSR
CSR
CSR
INITIATEDDATE
2011-10-01T06:50:20
2011-10-01T07:14:20
2011-10-01T07:14:21
2011-10-01T07:17:20
2011-10-01T07:17:20
INSPECTIONCOMPLETE
None
None
None
None
None
INSPECTIONDATE
2011-10-08T05:02:06
2011-10-12T10:13:07
2011-10-01T07:14:21
2011-10-06T12:37:18
2011-10-12T10:15:33
ISCANCELED
N
N
N
N
N
LATITUDE
38.9049
38.8828
38.8998
38.9015
38.8828
LONGITUDE
-77.0219
-77.0219
-77.0219
-77.026
-77.0219
NEIGHBORHOODCLUSTERS
Cluster 8
Cluster 9
Cluster 8
Cluster 8
Cluster 9
NEIGHBORHOODNAMES
Mount Vernon Square
Southwest Employment Area
Chinatown
Downtown
Southwest Employment Area
NIF
Shaw
None
None
None
None
OBJECTID
16
17
18
19
20
ONSEGX
398099
398099
398099
397746
398099
ONSEGY
137450
134998
136885
137068
134998
PD
3
1
1
1
1
PRIORITY
3
3
3
3
3
PROJECTNAME
None
None
None
None
None
PSA
308
105
102
101
105
PUD
None
None
None
None
None
QUADRANT
NW
SW
NW
NW
SW
REQUESTCATEGORY
TOA-CW
TOA-CW
TOA-CW
TOA-CW
TOA-CW
REQUESTID
856169
856170
856171
856172
856173
SMD
2F06
6D01
2C01
2C01
6D01
STATUS
CLOSED
CLOSED
CLOSED
CLOSED
CLOSED
SUBMITTEDTO
None
None
None
None
None
SUBMITTEDTODATE
None
None
None
None
None
UPDATEDATE
2011-10-01T00:00:00
2011-10-01T00:00:00
2011-10-01T00:00:00
2011-10-01T00:00:00
2011-10-01T00:00:00
WARD
2
2
2
2
2
WORKORDERID
None
None
None
None
None
X
-77.0219
-77.0219
-77.0219
-77.026
-77.0219
XCOORD
398099
398099
398099
397746
398099
Y
38.9049
38.8828
38.8998
38.9015
38.8828
YCOORD
137450
134998
136885
137068
134998
ZIPCODE
20001
20410
20001
20001
20410
ZONING
DD/C-2-C
C-3-C
DD/C-3-C
DD/C-3-C
C-3-C
geometry
POINT (-77.02191790000001 38.90491344)
POINT (-77.02190738 38.88282117)
POINT (-77.02191673 38.89982092)
POINT (-77.02598949 38.90147047)
POINT (-77.02190738 38.88282117)
In [84]:
dc_seg_buffer_gp = dc_segments[['OBJECTID','STREETSEGID','geometry']].copy()
dc_seg_buffer_gp.geometry = dc_seg_buffer_gp.buffer(0.0001)
city_req_pm_buffer_gp = city_req_pm_pts[['OBJECTID','DESCRIPTION','geometry','INITIATEDDATE','ADDRESS']].copy()
city_req_pm_buffer_gp.geometry = city_req_pm_buffer_gp.buffer(0.0001)
joined = sjoin(city_req_pm_buffer_gp, dc_seg_buffer_gp, how='left', op='intersects')
gb = joined.reset_index().groupby('OBJECTID_left').count()
print(gb[gb.OBJECTID_right==0].shape[0], ' points spatially match no segment')
print(gb[gb.OBJECTID_right==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.OBJECTID_right>1].shape[0], ' points spatially match multiple segments')
1043 points spatially match no segment
335120 points spatially match 1 segment
118937 points spatially match multiple segments
In [111]:
dc_seg_buffer_gp = dc_segments[['STREETSEGID','geometry']].copy()
dc_seg_buffer_gp.geometry = dc_seg_buffer_gp.buffer(0.0001)
city_req_pm_buffer_gp = city_req_pm_pts[['OBJECTID','geometry']].copy()
city_req_pm_buffer_gp.geometry = city_req_pm_buffer_gp.buffer(0.0001)
joined = sjoin(city_req_pm_buffer_gp, dc_seg_buffer_gp, how='left', op='intersects')
gb = joined.reset_index().groupby('STREETSEGID').count()
print(gb[gb.OBJECTID==0].shape[0], ' points spatially match no segment')
print(gb[gb.OBJECTID==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.OBJECTID>1].shape[0], ' points spatially match multiple segments')
0 points spatially match no segment
1645 points spatially match 1 segment
5034 points spatially match multiple segments
In [112]:
city_req_pm_pts.shape
Out[112]:
(455100, 53)
In [113]:
city_req_pm_buffer_gp.shape
Out[113]:
(455100, 2)
In [115]:
print(joined.shape)
joined.head().T
(769963, 4)
Out[115]:
0
1
1
1
2
OBJECTID
16
17
17
17
18
geometry
POLYGON ((-77.0218179 38.90491344, -77.0218183...
POLYGON ((-77.02180738 38.88282117, -77.021807...
POLYGON ((-77.02180738 38.88282117, -77.021807...
POLYGON ((-77.02180738 38.88282117, -77.021807...
POLYGON ((-77.02181673 38.89982092, -77.021817...
index_right
258
12725
12724
12687
252
STREETSEGID
12336
2483
6906
2848
2783
In [119]:
temp = joined.groupby('STREETSEGID').count()
print(temp.shape)
temp.head().T
(6679, 3)
Out[119]:
STREETSEGID
3.0
4.0
5.0
8.0
9.0
OBJECTID
236
21
1
5
1
geometry
236
21
1
5
1
index_right
236
21
1
5
1
In [118]:
gb.shape
Out[118]:
(6679, 4)
In [122]:
parking = temp.reset_index()[['STREETSEGID','OBJECTID']]
parking.columns = ['STREETSEGID', 'PARKING']
print(parking.shape)
parking.head().T
(6679, 2)
Out[122]:
0
1
2
3
4
STREETSEGID
3.0
4.0
5.0
8.0
9.0
PARKING
236.0
21.0
1.0
5.0
1.0
In [138]:
parking_gpd = pd.DataFrame({'STREETSEGID':parking.STREETSEGID,'PARKING':(parking.PARKING>=1).astype(int)})
print(parking_gpd.shape)
parking_gpd.head().T
(6679, 2)
Out[138]:
0
1
2
3
4
PARKING
1.0
1.0
1.0
1.0
1.0
STREETSEGID
3.0
4.0
5.0
8.0
9.0
In [151]:
np_seg_id = list(set(dc_segments.STREETSEGID) - set(parking_gpd.STREETSEGID))
np_seg_id
Out[151]:
[1,
2,
6,
7,
13,
17,
18,
20,
22,
24,
25,
36,
38,
40,
41,
51,
52,
54,
62,
64,
65,
66,
68,
70,
72,
73,
78,
79,
85,
87,
90,
98,
101,
103,
104,
105,
106,
107,
111,
113,
114,
115,
119,
120,
121,
122,
124,
125,
126,
127,
128,
130,
134,
137,
138,
139,
140,
141,
142,
143,
144,
145,
147,
148,
150,
151,
154,
155,
156,
157,
160,
167,
168,
169,
170,
171,
172,
175,
176,
177,
179,
180,
186,
190,
192,
193,
194,
197,
198,
200,
205,
207,
208,
213,
214,
215,
216,
217,
218,
221,
222,
223,
224,
225,
226,
228,
229,
230,
231,
232,
234,
235,
240,
242,
244,
245,
249,
250,
254,
255,
258,
260,
263,
267,
268,
270,
274,
275,
278,
283,
284,
286,
293,
296,
301,
305,
306,
307,
308,
309,
310,
311,
312,
313,
314,
316,
317,
318,
319,
321,
322,
323,
324,
326,
328,
329,
330,
331,
333,
337,
338,
340,
341,
342,
346,
347,
350,
351,
352,
353,
354,
356,
357,
359,
360,
362,
363,
365,
366,
367,
368,
374,
376,
378,
379,
383,
384,
385,
386,
387,
388,
389,
391,
394,
396,
400,
401,
405,
406,
407,
408,
409,
410,
411,
413,
414,
416,
418,
419,
420,
423,
424,
425,
427,
429,
430,
432,
435,
437,
438,
439,
440,
441,
442,
444,
448,
450,
451,
454,
455,
456,
457,
458,
459,
462,
464,
466,
469,
473,
474,
476,
477,
478,
480,
483,
485,
486,
489,
490,
493,
498,
500,
502,
503,
505,
506,
507,
510,
513,
514,
519,
520,
521,
522,
524,
525,
529,
534,
535,
537,
538,
539,
542,
544,
545,
546,
552,
553,
556,
557,
560,
561,
562,
564,
567,
568,
570,
571,
576,
577,
582,
583,
585,
586,
588,
589,
592,
593,
597,
598,
599,
600,
601,
603,
604,
606,
611,
613,
615,
616,
617,
620,
621,
622,
625,
626,
630,
635,
637,
645,
646,
649,
653,
654,
656,
659,
660,
663,
664,
666,
668,
671,
673,
675,
682,
683,
684,
686,
688,
689,
691,
692,
693,
694,
698,
699,
701,
704,
705,
706,
707,
710,
712,
714,
715,
716,
718,
719,
720,
722,
723,
724,
725,
726,
729,
731,
733,
735,
736,
737,
738,
739,
740,
741,
742,
743,
750,
751,
752,
755,
757,
758,
765,
766,
768,
771,
775,
776,
777,
779,
781,
783,
784,
786,
787,
793,
798,
803,
806,
807,
809,
810,
812,
813,
816,
817,
818,
820,
823,
824,
825,
827,
830,
831,
836,
837,
838,
841,
847,
848,
849,
850,
853,
855,
857,
862,
863,
865,
866,
868,
871,
875,
877,
878,
879,
881,
886,
888,
889,
891,
892,
893,
894,
895,
897,
899,
902,
904,
908,
910,
911,
915,
916,
922,
923,
928,
929,
932,
933,
935,
939,
940,
942,
943,
946,
948,
949,
950,
952,
956,
957,
958,
959,
960,
961,
962,
963,
971,
972,
973,
974,
975,
977,
979,
980,
981,
982,
986,
987,
990,
995,
996,
997,
1000,
1001,
1003,
1004,
1008,
1010,
1011,
1012,
1015,
1016,
1018,
1019,
1020,
1022,
1023,
1025,
1026,
1028,
1030,
1032,
1040,
1043,
1046,
1047,
1049,
1050,
1051,
1053,
1054,
1056,
1058,
1059,
1060,
1065,
1066,
1070,
1071,
1072,
1077,
1078,
1079,
1080,
1082,
1084,
1085,
1086,
1088,
1089,
1092,
1094,
1098,
1101,
1106,
1108,
1109,
1110,
1116,
1117,
1119,
1120,
1123,
1124,
1127,
1130,
1132,
1133,
1134,
1137,
1142,
1146,
1149,
1155,
1157,
1158,
1160,
1161,
1162,
1168,
1169,
1171,
1175,
1179,
1180,
1181,
1183,
1184,
1188,
1189,
1191,
1196,
1199,
1200,
1201,
1203,
1204,
1205,
1207,
1208,
1209,
1213,
1219,
1221,
1222,
1223,
1224,
1226,
1227,
1228,
1229,
1233,
1236,
1237,
1239,
1240,
1241,
1242,
1244,
1246,
1247,
1249,
1250,
1254,
1259,
1263,
1266,
1267,
1270,
1271,
1272,
1275,
1277,
1278,
1282,
1283,
1284,
1286,
1287,
1288,
1289,
1290,
1293,
1295,
1299,
1300,
1302,
1304,
1305,
1306,
1308,
1310,
1315,
1317,
1318,
1322,
1323,
1325,
1326,
1327,
1331,
1332,
1335,
1337,
1338,
1339,
1342,
1346,
1347,
1349,
1350,
1351,
1353,
1355,
1357,
1359,
1360,
1376,
1378,
1381,
1384,
1386,
1389,
1392,
1396,
1397,
1399,
1402,
1403,
1404,
1406,
1410,
1412,
1416,
1417,
1419,
1420,
1421,
1422,
1423,
1427,
1430,
1431,
1432,
1434,
1435,
1439,
1441,
1442,
1443,
1446,
1447,
1448,
1451,
1452,
1455,
1459,
1460,
1461,
1469,
1472,
1474,
1475,
1476,
1478,
1480,
1481,
1482,
1483,
1486,
1487,
1488,
1492,
1493,
1494,
1496,
1499,
1500,
1501,
1502,
1503,
1513,
1514,
1515,
1516,
1517,
1518,
1519,
1520,
1522,
1525,
1527,
1530,
1531,
1532,
1536,
1537,
1538,
1539,
1540,
1544,
1546,
1547,
1548,
1553,
1554,
1555,
1564,
1565,
1566,
1567,
1568,
1571,
1573,
1574,
1575,
1580,
1581,
1590,
1591,
1592,
1593,
1595,
1598,
1601,
1604,
1605,
1607,
1609,
1611,
1614,
1615,
1616,
1621,
1623,
1624,
1627,
1630,
1631,
1638,
1639,
1641,
1648,
1649,
1652,
1655,
1659,
1663,
1664,
1667,
1671,
1673,
1676,
1679,
1680,
1688,
1689,
1692,
1693,
1695,
1697,
1698,
1700,
1702,
1705,
1710,
1711,
1714,
1715,
1718,
1722,
1723,
1724,
1726,
1729,
1731,
1732,
1733,
1734,
1737,
1738,
1739,
1741,
1744,
1749,
1753,
1757,
1758,
1759,
1760,
1762,
1763,
1765,
1766,
1767,
1768,
1770,
1772,
1774,
1776,
1777,
1778,
1779,
1780,
1782,
1784,
1785,
1787,
1791,
1792,
1793,
1797,
1798,
1799,
1800,
1807,
1812,
1813,
1817,
1818,
1819,
1821,
1823,
1824,
1826,
1827,
1828,
1831,
1834,
1835,
1837,
1840,
1843,
1847,
1853,
1856,
1857,
1858,
1859,
1860,
1863,
1864,
1865,
1869,
1870,
1871,
1876,
1881,
1882,
1890,
1892,
1895,
1896,
1898,
1899,
1900,
1901,
1902,
1903,
1906,
1908,
1909,
1910,
1911,
1913,
1914,
1915,
1919,
1924,
1926,
1928,
1930,
1931,
1934,
1935,
1940,
1941,
1944,
1959,
1960,
1961,
1962,
1963,
1964,
1965,
1966,
1968,
1969,
1970,
1979,
1980,
1981,
1983,
1985,
1987,
1988,
1989,
1990,
1991,
1994,
1997,
2000,
2003,
2005,
2011,
2012,
2013,
2014,
2017,
2018,
2019,
2020,
2021,
2022,
2024,
2025,
2031,
2032,
2033,
2035,
2036,
2037,
2038,
2044,
2045,
2046,
2047,
2049,
2050,
2051,
2053,
2055,
2057,
2058,
2062,
2063,
2064,
2068,
2070,
2072,
2073,
2074,
2079,
2080,
2082,
2083,
2085,
2086,
2088,
...]
In [157]:
no_parking = pd.DataFrame({'STREETSEGID':np_seg_id, 'PARKING': 0})
print(no_parking.shape)
no_parking.head().T
(6843, 2)
Out[157]:
0
1
2
3
4
PARKING
0
0
0
0
0
STREETSEGID
1
2
6
7
13
In [162]:
parking_gpd = parking_gpd.append(no_parking).sort('STREETSEGID').reset_index().drop('index',axis=1)
print(parking_gpd.shape)
parking_gpd.head().T
(13522, 2)
//anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:1: FutureWarning: sort(columns=....) is deprecated, use sort_values(by=.....)
if __name__ == '__main__':
Out[162]:
0
1
2
3
4
PARKING
0.0
0.0
1.0
1.0
1.0
STREETSEGID
1.0
2.0
3.0
4.0
5.0
In [169]:
parking_gpd.PARKING.unique()
Out[169]:
array([0, 1])
In [170]:
len(dc_segments.STREETSEGID)
Out[170]:
13522
In [171]:
parking_gpd.to_csv('../DC_Parking.csv')
In [85]:
dc_city_req_stats.head().T
Out[85]:
0
1
2
2
2
STREETSEGID
876
13161
8240
8240
8240
OBJECTID
1
2
3
3
3
In [86]:
dc_segs_pm_statistic = dc_segs_statistic.merge(joined, left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
In [87]:
dc_segs_pm_statistic.head().T
Out[87]:
0
1
2
3
4
STREETSEGID
876
876
13161
8240
8240
STREETSEGID_x
876
876
13161
8240
8240
OBJECTID
1
1
2
3
3
STREETSEGID_x
876
876
13161
8240
8240
SHAPE_Length
192.925
192.925
131.936
117.887
117.887
geometry_x
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.01157276320811 38.954558133776...
OBJECTID_left_x
7458
7458
119270
76076
76076
DESCRIPTION_x
SIDEWALK REPAIR
SIDEWALK REPAIR
POTHOLES
SIDEWALK REPAIR
SIDEWALK REPAIR
geometry_y
POLYGON ((-77.02745822 38.90133936, -77.027458...
POLYGON ((-77.02745822 38.90133936, -77.027458...
POLYGON ((-77.06395619 38.94511063, -77.063956...
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
INITIATEDDATE_x
2011-10-12T16:34:55
2011-10-12T16:34:55
2012-04-26T09:56:42
2012-02-09T16:14:24
2012-02-09T16:14:24
ADDRESS_x
1100 - 1199 BLOCK OF I STREET NW
1100 - 1199 BLOCK OF I STREET NW
4339 CONNECTICUT AVENUE NW
945010
945010
index_right_x
2357
2357
3814
3773
3773
OBJECTID_right_x
2358
2358
3815
3774
3774
STREETSEGID_y
919
919
11166
4175
4175
OBJECTID_left_y
7458
7458
119270
76076
76076
DESCRIPTION_y
SIDEWALK REPAIR
SIDEWALK REPAIR
POTHOLES
SIDEWALK REPAIR
SIDEWALK REPAIR
geometry_x
POLYGON ((-77.02745822 38.90133936, -77.027458...
POLYGON ((-77.02745822 38.90133936, -77.027458...
POLYGON ((-77.06395619 38.94511063, -77.063956...
POLYGON ((-77.05841170000001 38.93557396, -77....
POLYGON ((-77.05841170000001 38.93557396, -77....
INITIATEDDATE_y
2011-10-12T16:34:55
2011-10-12T16:34:55
2012-04-26T09:56:42
2012-02-09T16:14:24
2012-02-09T16:14:24
ADDRESS_y
1100 - 1199 BLOCK OF I STREET NW
1100 - 1199 BLOCK OF I STREET NW
4339 CONNECTICUT AVENUE NW
945010
945010
index_right_y
2357
2357
3814
3773
3773
OBJECTID_right_y
2358
2358
3815
3774
3774
STREETSEGID_y
919
919
11166
4175
4175
OBJECTID_left
176866
288937
95156
56009
384582
DESCRIPTION
PARKING METER REQUES
PARKING METER REQUES
PARKING METER REQUES
PARKING METER REQUES
PARKING METER REQUES
geometry_y
POLYGON ((-77.01173425 38.95158806, -77.011734...
POLYGON ((-77.01220563 38.95095063, -77.012206...
POLYGON ((-77.01144227 38.95396436, -77.011442...
POLYGON ((-77.01151551 38.95561948, -77.011515...
POLYGON ((-77.01151551 38.95561948, -77.011515...
INITIATEDDATE
2012-07-30T10:11:24
2013-03-29T16:14:39
2012-03-16T15:35:38
2012-01-03T12:32:27
2013-11-16T16:03:03
ADDRESS
5000 - 5061 BLOCK OF 1ST STREET NW
5000 1ST STREET NW
5200 - 5299 BLOCK OF 1ST STREET NW
1ST STREET NW AND JEFFERSON STREET NW
JEFFERSON STREET NW AND 1ST STREET NW
index_right
0
0
1
2
2
OBJECTID_right
1
1
2
3
3
In [88]:
dc_city_req_pm_stats = dc_segs_pm_statistic[['STREETSEGID', 'OBJECTID']]
dc_city_req_pm_stats.head().T
Out[88]:
0
1
2
3
4
STREETSEGID
876
876
13161
8240
8240
OBJECTID
1
1
2
3
3
In [89]:
dc_city_req_pm_count = dc_city_req_pm_stats.groupby('STREETSEGID').size().reset_index()
In [90]:
dc_city_req_pm_count.columns = ['STREETSEGID', 'Parking Meter_count']
In [91]:
print(dc_city_req_pm_count.shape)
dc_city_req_pm_count.head().T
(13522, 2)
Out[91]:
0
1
2
3
4
STREETSEGID
1
2
3
4
5
Parking Meter_count
16
16
236
21
1
In [92]:
dc_city_req_details = dc_city_req_details.merge(dc_city_req_pm_count, left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
In [93]:
dc_city_req_details = dc_city_req_details.fillna(0)
In [94]:
dc_city_req_details[['city_req_seg_count']].info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 13522 entries, 0 to 13521
Data columns (total 1 columns):
city_req_seg_count 13522 non-null int64
dtypes: int64(1)
memory usage: 211.3 KB
In [95]:
dc_city_req_details['city_req_seg_count'] = dc_city_req_details['city_req_seg_count'] + dc_city_req_details['Parking Meter_count']
In [96]:
print(dc_city_req_details.shape)
dc_city_req_details.head().T
(13522, 241)
Out[96]:
0
1
2
3
4
OBJECTID
1
2
3
4
5
STREETSEGID
876
13161
8240
10395
2216
SHAPE_Length
192.925
131.936
117.887
108.331
119.19
geometry
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
city_req_seg_count
3
2
80
6
2
BICYCLES_count
0
0
0
0
0
SIGNS CONFLICTING_count
0
0
0
0
0
LIGHT-INFRASTRUCTURE_count
0
0
0
0
0
PUBLIC SPACE - OBSTR_count
0
0
0
0
0
BUS AND/OR RAIL ISSU_count
0
0
0
0
0
PARKING - HANDICAP_count
0
0
0
0
0
FLASHER MALFUNCTION_count
0
0
0
0
0
TRAFFIC SIGNAL MAIN_count
0
0
0
0
0
TRAFFIC CAMERA LOCAT_count
0
0
0
0
0
STREET REPAVING_count
0
0
0
0
0
POTHOLES_count
0
1
0
0
0
STREET REPAIR_count
0
0
0
0
0
CURB GUTTER REPAIR_count
0
0
0
0
0
MARKING MAINTENANCE_count
0
0
0
0
0
SIGN NEW_count
0
0
0
0
0
TREE REMOVAL_count
0
0
0
0
1
UTILITY REPAIR_count
0
0
0
0
0
DDOT CITATION_count
0
0
0
0
0
S0381_count
0
0
0
0
0
LIGHT-LIGHT POLE_count
0
0
0
0
0
SPEED STUDY DATA MAP_count
0
0
0
0
0
PEDESTRIAN SIGNAL RE_count
0
0
0
0
0
RESIDENT PARKING PER_count
0
0
0
0
0
SCHOOL CROSSING GUAR_count
0
0
0
0
0
SIGN REPLACE_count
0
0
0
0
0
...
...
...
...
...
...
S0306_count/len_norm
0
0
0
0
0
UTILITY REPAIR MAJOR_count_norm
0
0
0
0
0
UTILITY REPAIR MAJOR_count/len_norm
0
0
0
0
0
RESIDENTIAL PERMIT -_count_norm
0
0
0
0
0
RESIDENTIAL PERMIT -_count/len_norm
0
0
0
0
0
SAFE ROUTES TO SCHOO_count_norm
0
0
0
0
0
SAFE ROUTES TO SCHOO_count/len_norm
0
0
0
0
0
SIDEWALK NEW_count_norm
0
0
0
0
0
SIDEWALK NEW_count/len_norm
0
0
0
0
0
PEDESTRIAN SIGNAL MA_count_norm
0
0
0
0
0
PEDESTRIAN SIGNAL MA_count/len_norm
0
0
0
0
0
SIGN MISSING_count_norm
0
0
0
0
0
SIGN MISSING_count/len_norm
0
0
0
0
0
BULB OUT_count_norm
0
0
0
0
0
BULB OUT_count/len_norm
0
0
0
0
0
PEDESTRIAN SAFETY PR_count_norm
0
0
0
0
0
PEDESTRIAN SAFETY PR_count/len_norm
0
0
0
0
0
LIGHT-TUNNEL/UNDPASS_count_norm
0
0
0
0
0
LIGHT-TUNNEL/UNDPASS_count/len_norm
0
0
0
0
0
SCHOOL SUBSIDY_count_norm
0
0
0
0
0
SCHOOL SUBSIDY_count/len_norm
0
0
0
0
0
CHILD SAFETY SEAT PR_count_norm
0
0
0
0
0
CHILD SAFETY SEAT PR_count/len_norm
0
0
0
0
0
S0457_count_norm
0
0
0
0
0
S0457_count/len_norm
0
0
0
0
0
FLASHER MODIFICATION_count_norm
0
0
0
0
0
FLASHER MODIFICATION_count/len_norm
0
0
0
0
0
city_req_seg_count_norm
0.157293
0.157293
0.64293
0.157293
0.157293
city_req_count/len_norm
0.00504485
0.00736813
0.124189
0.00896623
0.00815274
Parking Meter_count
2
1
64
5
1
241 rows × 5 columns
In [97]:
dc_city_req_details[dc_city_req_details['city_req_seg_count']>dc_city_req_details['Parking Meter_count']]
Out[97]:
OBJECTID
STREETSEGID
SHAPE_Length
geometry
city_req_seg_count
BICYCLES_count
SIGNS CONFLICTING_count
LIGHT-INFRASTRUCTURE_count
PUBLIC SPACE - OBSTR_count
BUS AND/OR RAIL ISSU_count
...
SCHOOL SUBSIDY_count/len_norm
CHILD SAFETY SEAT PR_count_norm
CHILD SAFETY SEAT PR_count/len_norm
S0457_count_norm
S0457_count/len_norm
FLASHER MODIFICATION_count_norm
FLASHER MODIFICATION_count/len_norm
city_req_seg_count_norm
city_req_count/len_norm
Parking Meter_count
0
1
876
192.925131
LINESTRING (-77.01239193659748 38.950836102255...
3
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.005045
2
1
2
13161
131.935677
LINESTRING (-77.01163764014346 38.953383268855...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.007368
1
2
3
8240
117.887011
LINESTRING (-77.01157276320811 38.954558133776...
80
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.124189
64
3
4
10395
108.331118
LINESTRING (-77.0116155077942 38.9556194835925...
6
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.008966
5
4
5
2216
119.190312
LINESTRING (-77.01161670521323 38.956595348877...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.008153
1
5
6
10090
119.101173
LINESTRING (-77.0116172263626 38.9576690437764...
3
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.008159
2
6
7
8384
78.878075
LINESTRING (-77.0116124400554 38.9587419287958...
3
1.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.012293
2
7
8
11625
79.410694
LINESTRING (-77.0116157864189 38.9594524093840...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.012211
1
8
9
7886
95.591087
LINESTRING (-77.01163025939501 38.969130242751...
32
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.151016
16
9
10
5660
157.511599
LINESTRING (-77.01166931573439 38.969983769179...
32
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.094404
16
10
11
9116
124.980589
LINESTRING (-77.01033664424322 38.904550094214...
2224
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.117548
2208
11
12
8292
121.299097
LINESTRING (-77.0100561260908 38.9555132405171...
32
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.120904
16
12
13
7297
119.131391
LINESTRING (-77.01261926029325 38.957669570480...
32
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.122971
16
13
14
1672
68.230027
LINESTRING (-77.01123886732501 38.902524259394...
16
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.014198
15
14
15
12034
124.618210
LINESTRING (-77.01111526940367 38.904550711856...
5
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.007799
4
15
16
10385
148.683739
LINESTRING (-77.01364139249108 38.892090605595...
9008
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.099732
8992
16
17
2902
126.698028
LINESTRING (-77.01324339541158 38.951215745942...
64
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.116046
48
17
18
1064
116.308825
LINESTRING (-77.01346048293018 38.952283884461...
3
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.008354
2
18
19
9793
129.600852
LINESTRING (-77.01351167268689 38.953330819290...
32
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.113592
16
19
20
4213
119.102319
LINESTRING (-77.01357027112063 38.954497383391...
27
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.071083
18
20
21
9979
79.356426
LINESTRING (-77.01362123887805 38.955569541454...
12
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.365224
0.047986
8
21
22
9806
34.121781
LINESTRING (-77.01364744974134 38.956284074045...
32
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.375214
16
22
23
6868
119.560474
LINESTRING (-77.01365027756435 38.956591435716...
3
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.008128
2
23
24
7690
81.558635
LINESTRING (-77.01365106073608 38.957668463637...
27
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.102142
18
24
25
9031
37.414128
LINESTRING (-77.01367330746821 38.958402517856...
4
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.025739
3
25
26
179
153.460480
LINESTRING (-77.01368810906661 38.961335901924...
18
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.055612
9
26
27
7435
118.470151
LINESTRING (-77.01364925708589 38.962708764535...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.008202
1
27
28
8751
65.650005
LINESTRING (-77.01365107689449 38.963775972039...
32
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.212826
16
28
29
5804
65.890144
LINESTRING (-77.0136509594158 38.9643673637568...
18
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.124935
9
29
30
6598
131.100302
LINESTRING (-77.01365003464035 38.964960918041...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.007415
1
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
13492
13493
15266
76.965310
LINESTRING (-77.01976235304687 38.822072661941...
18
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.107913
9
13493
13494
15279
97.979862
LINESTRING (-76.99559878282327 38.875400152118...
6
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.009909
5
13494
13495
15362
172.038134
LINESTRING (-76.99951400119811 38.926320410585...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.005656
1
13495
13496
15276
197.650815
LINESTRING (-76.99559878282327 38.875400152118...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.004925
1
13496
13497
15304
131.058757
LINESTRING (-77.01682620704713 38.836072885062...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.007417
1
13497
13498
15287
83.117521
LINESTRING (-76.99265456237359 38.875843130614...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.011670
1
13498
13499
15361
75.104405
LINESTRING (-76.99844689944781 38.926509936279...
5
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.012907
4
13499
13500
15288
82.749023
LINESTRING (-76.99264610422209 38.873291759641...
27
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.100746
18
13500
13501
14565
120.915647
LINESTRING (-77.02496609385443 38.939751380468...
1216
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.121264
1200
13501
13502
14566
869.897601
LINESTRING (-76.95687420200717 38.928495161870...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.001121
1
13502
13503
14567
168.998814
LINESTRING (-76.95169870526347 38.923608336865...
18
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.050629
9
13503
13504
14569
135.989556
LINESTRING (-76.95203190456023 38.922290659926...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.007149
1
13504
13505
14571
75.872725
LINESTRING (-76.95169870526347 38.923608336865...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.012777
1
13505
13506
14572
73.226972
LINESTRING (-76.95186826254559 38.922937807531...
18
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.113114
9
13506
13507
15349
241.613364
LINESTRING (-76.97690612882465 38.875804936809...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.004030
1
13507
13508
15264
84.210189
LINESTRING (-77.01904839674489 38.822127940714...
32
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.169744
16
13508
13509
15218
86.874204
LINESTRING (-77.02145259685584 38.836381065778...
18
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.096190
9
13509
13510
15285
57.439248
LINESTRING (-76.99265415979474 38.876360545950...
63
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.142037
54
13510
13511
15267
62.049566
LINESTRING (-77.01896183205814 38.821373351744...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.015601
1
13511
13512
15246
67.582948
LINESTRING (-77.01838805391741 38.823231099750...
8
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.365224
0.056110
4
13512
13513
15305
36.604106
LINESTRING (-77.01816627492096 38.835529692011...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.026301
1
13513
13514
15301
530.264513
LINESTRING (-77.01335792714262 38.858752805434...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.001838
1
13514
13515
15286
26.782551
LINESTRING (-76.99265456237359 38.875843130614...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.035770
1
13515
13516
15296
46.440483
LINESTRING (-77.02218918299116 38.824660784272...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.020789
1
13516
13517
15271
51.262959
LINESTRING (-76.99378505401299 38.872100275834...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.018852
1
13517
13518
15244
27.419056
LINESTRING (-77.01826374709646 38.822439566938...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.034955
1
13518
13519
15306
107.920942
LINESTRING (-77.01885842791256 38.836994168269...
32
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.642930
0.134899
16
13519
13520
15284
96.523788
LINESTRING (-76.99377942384207 38.875606235068...
18
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.086989
9
13520
13521
15307
53.296209
LINESTRING (-77.01960436767503 38.836216481487...
18
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.522517
0.152259
9
13521
13522
15247
40.696808
LINESTRING (-77.01826374709646 38.822439566938...
2
0.0
0.0
0.0
0.0
0.0
...
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.157293
0.023687
1
13522 rows × 241 columns
In [98]:
dc_city_req_details['Parking_Meter_count/len'] = dc_city_req_details['Parking Meter_count']/dc_city_req_details.SHAPE_Length
dc_city_req_details['city_req_count/len'] = dc_city_req_details['city_req_seg_count']/dc_city_req_details.SHAPE_Length
normalize('Parking Meter_count', dc_city_req_details)
normalize('Parking_Meter_count/len', dc_city_req_details)
normalize('city_req_seg_count', dc_city_req_details)
normalize('city_req_count/len', dc_city_req_details)
In [104]:
print(dc_city_req_details.shape)
dc_city_req_details.head().T
(13522, 244)
Out[104]:
0
1
2
3
4
OBJECTID
1
2
3
4
5
STREETSEGID
876
13161
8240
10395
2216
SHAPE_Length
192.925
131.936
117.887
108.331
119.19
geometry
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
city_req_seg_count
3
2
80
6
2
STREET PAVING SCHEDU_count
0
0
0
0
0
LIGHT-TUNNEL/UNDPASS_count
0
0
0
0
0
RESIDENTIAL PERMIT -_count
0
0
0
0
0
PUBLIC SPACE - OBSTR_count
0
0
0
0
0
SIGN NEW_count
0
0
0
0
0
UTILITY REPAIR MAJOR_count
0
0
0
0
0
SPEED STUDY DATA MAP_count
0
0
0
0
0
MARKING INSTALLATION_count
0
0
0
0
0
SIGNS CONFLICTING_count
0
0
0
0
0
SIGN MISSING_count
0
0
0
0
0
BRIDGE MAINTENANCE R_count
0
0
0
0
0
TRAFFIC CALMING_count
0
0
0
0
0
RESIDENT PARKING PER_count
0
0
0
0
0
MARKING MODIFICATION_count
0
0
0
0
0
ALLEYLIGHT REPAIR_count
0
0
0
1
0
STREETLIGHT REPAIR_count
0
0
0
0
0
SAFE ROUTES TO SCHOO_count
0
0
0
0
0
S0306_count
0
0
0
0
0
PAVE_count
0
0
0
0
0
S0457_count
0
0
0
0
0
MARKING REMOVAL_count
0
0
0
0
0
SCHOOL SUBSIDY_count
0
0
0
0
0
TREE REMOVAL_count
0
0
0
0
1
LIGHT-OHGS_count
0
0
0
0
0
BICYCLES_count
0
0
0
0
0
...
...
...
...
...
...
LIGHT-LIGHT POLE_count_norm
0
0
0
0
0
LIGHT-LIGHT POLE_count/len_norm
0
0
0
0
0
TREE PRUNING_count_norm
0
0
0
0
0
TREE PRUNING_count/len_norm
0
0
0
0
0
S0381_count_norm
0
0
0
0
0
S0381_count/len_norm
0
0
0
0
0
SIDEWALK REPAIR_count_norm
0.157293
0
0.64293
0
0
SIDEWALK REPAIR_count/len_norm
0.00504485
0
0.124189
0
0
PEDESTRIAN SAFETY PR_count_norm
0
0
0
0
0
PEDESTRIAN SAFETY PR_count/len_norm
0
0
0
0
0
PARKING - HANDICAP_count_norm
0
0
0
0
0
PARKING - HANDICAP_count/len_norm
0
0
0
0
0
BULB OUT_count_norm
0
0
0
0
0
BULB OUT_count/len_norm
0
0
0
0
0
MARKING MAINTENANCE_count_norm
0
0
0
0
0
MARKING MAINTENANCE_count/len_norm
0
0
0
0
0
PUSH BUTTON MALFUNCT_count_norm
0
0
0
0
0
PUSH BUTTON MALFUNCT_count/len_norm
0
0
0
0
0
SIGN TRAFFIC CONTROL_count_norm
0
0
0
0
0
SIGN TRAFFIC CONTROL_count/len_norm
0
0
0
0
0
PEDESTRIAN SIGNAL RE_count_norm
0
0
0
0
0
PEDESTRIAN SIGNAL RE_count/len_norm
0
0
0
0
0
TRAFFIC SIGNAL MAIN_count_norm
0
0
0
0
0
TRAFFIC SIGNAL MAIN_count/len_norm
0
0
0
0
0
city_req_seg_count_norm
0.122598
0.0971566
0.388626
0.172088
0.0971566
city_req_count/len_norm
0.00244208
0.00238111
0.0819761
0.00853145
0.00263362
Parking Meter_count
2
1
64
5
1
Parking_Meter_count/len
0.0103667
0.00757945
0.542893
0.0461548
0.00838994
Parking Meter_count_norm
0.0971575
0.0612996
0.369169
0.158457
0.0612996
Parking_Meter_count/len_norm
0.00163246
0.0011952
0.0686421
0.00714207
0.00132247
244 rows × 5 columns
In [106]:
dc_city_req_details.to_csv('../DC_City_Request_Details_complete.csv')
In [8]:
crashes = pd.read_csv('../Crashes_in_the_District_of_Columbia.csv')
//anaconda/lib/python3.5/site-packages/IPython/core/interactiveshell.py:2723: DtypeWarning: Columns (4,5,6,47) have mixed types. Specify dtype option on import or set low_memory=False.
interactivity=interactivity, compiler=compiler, result=result)
In [9]:
print(crashes.shape)
crashes.head().T
(152744, 64)
Out[9]:
0
1
2
3
4
X
-77.0512
-77.0199
-76.9764
-77.0275
-77.0398
Y
38.8972
38.957
38.874
38.9287
38.9
CRASHID
2.84879e+08
2.84879e+08
2.84794e+08
2.84794e+08
2.84794e+08
CRIMEID
2.84878e+08
2.84877e+08
2.84794e+08
2.84796e+08
2.84796e+08
ISREPORTONSCENE
1
1
1
1
1
WASMAJORCRASHNOTIFIED
0
0
0
0
0
MAJORCRASHNOTIFIEDDATE
NaN
NaN
NaN
NaN
NaN
MAJORCRASHNOTIFIEDPERSONID
null
null
null
null
null
SCHOOLBUSRELATED
null
null
null
null
null
ISJUNCTIONINTERCHANGEAREA
null
null
null
null
null
JUNCTIONSPECIFICLOCATION
null
null
null
null
null
INTERSECTIONTYPE
null
null
null
null
null
TRAFFICWAYRELATION
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Other
Trafficway, On Road
TRAFFICWAYRELATIONOTHER
Within 100 of Intersection
Within 100 of Intersection
At Intersection
At Intersection
Within 100 of Intersection | Public Space
ISWORKZONERELATED
0
0
0
0
0
WORKZONETYPE
null
null
null
null
null
WEREWORKZONEWORKERSPRESENT
null
null
null
null
null
WORKZONELOEPRESENT
null
null
null
null
null
WORKZONELOCATION
null
null
null
null
null
STREETLIGHTING
Street Lights On
Street Lights On
Other
Street Lights Off
Street Lights Off
STREETLIGHTINGOTHER
null
null
null
null
null
POSTEDSPEEDLIMIT
null
null
null
null
null
FIRSTHARMFULEVENT
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
FIRSTHARMFULEVENTOTHER
null
null
null
null
null
FIRSTHARMFULEVENTSPECIFICS
Pedestrian
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
FIRSTHARMFULEVENTIMPACT
null
null
null
null
null
FIRSTHARMFULEVENTRELATIVELOC
null
null
null
null
null
NUMBERPHOTOSTAKEN
0
0
0
0
0
DCLOCATIONFEET
null
null
null
null
null
DCLOCATIONBEARING
null
null
null
null
null
...
...
...
...
...
...
DCLOCATIONEXITRAMP
null
null
null
null
null
DCLOCATIONBRIDGE
null
null
null
null
null
DCLOCATIONTUNNEL
null
null
null
null
null
DCLOCATIONOTHER
null
null
null
null
null
CRASHSCENEIMAGE
null
null
null
null
null
DWHSOURCE
RMS
RMS
RMS
RMS
RMS
SOURCEADDTIME
2009-02-18T19:59:00.000Z
2009-02-12T19:00:00.000Z
2010-08-18T10:31:00.000Z
2009-02-03T18:33:00.000Z
2009-01-29T13:50:00.000Z
SOURCEMODTIME
NaN
NaN
NaN
NaN
NaN
RUNTIME
2016-05-27T12:04:00.000Z
2016-05-27T12:04:00.000Z
2016-05-27T12:04:00.000Z
2016-05-27T12:04:00.000Z
2016-05-27T12:04:00.000Z
ISCURRENT
1
1
1
1
1
ISDELETED
0
0
0
0
0
CRASHEVENTTYPES
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
ADDRESS1
2400 VIRGINIA AVE NW
5500 BLOCK OF 5TH ST NW
YOUNG STREET & FAIRLAWN AVE SE
11TH & IRVING STREET NW
1700 H STREET
ADDRESS2
NaN
NaN
NaN
NaN
NaN
STATE
DC
DC
DC
DC
DC
LIGHTCONDITION
Dark- Lighted
Dusk
Daylight
Daylight
Daylight
WEATHER
Clear
Clear
Clear
Clear
Snow
REPORTDATE
2009-02-18T00:00:00.000Z
2009-02-12T00:00:00.000Z
2009-01-30T00:00:00.000Z
2009-02-03T00:00:00.000Z
2009-01-29T00:00:00.000Z
ISDRINKING
No data provided
No data provided
No data provided
No data provided
No data provided
CYCLISTSINVOLVED
NaN
NaN
NaN
NaN
NaN
PEDESTRIANSINVOLVED
NaN
NaN
NaN
NaN
NaN
MINORINJURIES
1
NaN
1
2
NaN
MAJORINJURIES
NaN
NaN
1
2
NaN
FATALITIES
NaN
NaN
NaN
NaN
NaN
TRAFFICCONTROLDEVICES
NaN
NaN
NaN
NaN
NaN
ADDRESS_ID
274046
802987
907447
902086
218406
STREETSEGID
NaN
2480
296
612
12926
OBJECTID
3001
3002
3003
3004
3005
XCOORD
395561
398274
402051
397615
396547
YCOORD
136590
143231
134018
140092
136903
64 rows × 5 columns
In [8]:
crashes.info()
<class 'pandas.core.frame.DataFrame'>
RangeIndex: 152744 entries, 0 to 152743
Data columns (total 64 columns):
X 124278 non-null float64
Y 124278 non-null float64
CRASHID 152744 non-null float64
CRIMEID 152744 non-null float64
ISREPORTONSCENE 152744 non-null object
WASMAJORCRASHNOTIFIED 152744 non-null object
MAJORCRASHNOTIFIEDDATE 50 non-null object
MAJORCRASHNOTIFIEDPERSONID 152744 non-null object
SCHOOLBUSRELATED 152744 non-null object
ISJUNCTIONINTERCHANGEAREA 152744 non-null object
JUNCTIONSPECIFICLOCATION 152744 non-null object
INTERSECTIONTYPE 152744 non-null object
TRAFFICWAYRELATION 152744 non-null object
TRAFFICWAYRELATIONOTHER 152744 non-null object
ISWORKZONERELATED 152744 non-null int64
WORKZONETYPE 152744 non-null object
WEREWORKZONEWORKERSPRESENT 152744 non-null object
WORKZONELOEPRESENT 152744 non-null object
WORKZONELOCATION 152744 non-null object
STREETLIGHTING 152744 non-null object
STREETLIGHTINGOTHER 152301 non-null object
POSTEDSPEEDLIMIT 152744 non-null object
FIRSTHARMFULEVENT 152744 non-null object
FIRSTHARMFULEVENTOTHER 152334 non-null object
FIRSTHARMFULEVENTSPECIFICS 152744 non-null object
FIRSTHARMFULEVENTIMPACT 152744 non-null object
FIRSTHARMFULEVENTRELATIVELOC 152744 non-null object
NUMBERPHOTOSTAKEN 152744 non-null object
DCLOCATIONFEET 152744 non-null object
DCLOCATIONBEARING 152744 non-null object
DCLOCATIONINTERSECTIONBLOCK 152744 non-null object
DCLOCATIONSECTION 152744 non-null object
DCLOCATIONMILEPOST 152744 non-null object
DCLOCATIONPEPCOPOLLNO 152744 non-null object
DCLOCATIONEXITRAMP 152744 non-null object
DCLOCATIONBRIDGE 152744 non-null object
DCLOCATIONTUNNEL 152744 non-null object
DCLOCATIONOTHER 152744 non-null object
CRASHSCENEIMAGE 152744 non-null object
DWHSOURCE 152744 non-null object
SOURCEADDTIME 152744 non-null object
SOURCEMODTIME 0 non-null float64
RUNTIME 152744 non-null object
ISCURRENT 152744 non-null int64
ISDELETED 152744 non-null int64
CRASHEVENTTYPES 152744 non-null object
ADDRESS1 152742 non-null object
ADDRESS2 104 non-null object
STATE 152744 non-null object
LIGHTCONDITION 152744 non-null object
WEATHER 152744 non-null object
REPORTDATE 151224 non-null object
ISDRINKING 152744 non-null object
CYCLISTSINVOLVED 403 non-null float64
PEDESTRIANSINVOLVED 852 non-null float64
MINORINJURIES 39885 non-null float64
MAJORINJURIES 23486 non-null float64
FATALITIES 307 non-null float64
TRAFFICCONTROLDEVICES 100777 non-null object
ADDRESS_ID 124298 non-null float64
STREETSEGID 122374 non-null float64
OBJECTID 152744 non-null int64
XCOORD 124278 non-null float64
YCOORD 124278 non-null float64
dtypes: float64(14), int64(4), object(46)
memory usage: 74.6+ MB
In [17]:
crash_csv = crashes[pd.isnull(crashes['XCOORD'])==0]
crash_csv.shape
Out[17]:
(124278, 64)
In [18]:
crash_csv.head().T
Out[18]:
0
1
2
3
4
X
-77.0512
-77.0199
-76.9764
-77.0275
-77.0398
Y
38.8972
38.957
38.874
38.9287
38.9
CRASHID
2.84879e+08
2.84879e+08
2.84794e+08
2.84794e+08
2.84794e+08
CRIMEID
2.84878e+08
2.84877e+08
2.84794e+08
2.84796e+08
2.84796e+08
ISREPORTONSCENE
1
1
1
1
1
WASMAJORCRASHNOTIFIED
0
0
0
0
0
MAJORCRASHNOTIFIEDDATE
NaN
NaN
NaN
NaN
NaN
MAJORCRASHNOTIFIEDPERSONID
null
null
null
null
null
SCHOOLBUSRELATED
null
null
null
null
null
ISJUNCTIONINTERCHANGEAREA
null
null
null
null
null
JUNCTIONSPECIFICLOCATION
null
null
null
null
null
INTERSECTIONTYPE
null
null
null
null
null
TRAFFICWAYRELATION
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Other
Trafficway, On Road
TRAFFICWAYRELATIONOTHER
Within 100 of Intersection
Within 100 of Intersection
At Intersection
At Intersection
Within 100 of Intersection | Public Space
ISWORKZONERELATED
0
0
0
0
0
WORKZONETYPE
null
null
null
null
null
WEREWORKZONEWORKERSPRESENT
null
null
null
null
null
WORKZONELOEPRESENT
null
null
null
null
null
WORKZONELOCATION
null
null
null
null
null
STREETLIGHTING
Street Lights On
Street Lights On
Other
Street Lights Off
Street Lights Off
STREETLIGHTINGOTHER
null
null
null
null
null
POSTEDSPEEDLIMIT
null
null
null
null
null
FIRSTHARMFULEVENT
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
FIRSTHARMFULEVENTOTHER
null
null
null
null
null
FIRSTHARMFULEVENTSPECIFICS
Pedestrian
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
FIRSTHARMFULEVENTIMPACT
null
null
null
null
null
FIRSTHARMFULEVENTRELATIVELOC
null
null
null
null
null
NUMBERPHOTOSTAKEN
0
0
0
0
0
DCLOCATIONFEET
null
null
null
null
null
DCLOCATIONBEARING
null
null
null
null
null
...
...
...
...
...
...
DCLOCATIONEXITRAMP
null
null
null
null
null
DCLOCATIONBRIDGE
null
null
null
null
null
DCLOCATIONTUNNEL
null
null
null
null
null
DCLOCATIONOTHER
null
null
null
null
null
CRASHSCENEIMAGE
null
null
null
null
null
DWHSOURCE
RMS
RMS
RMS
RMS
RMS
SOURCEADDTIME
2009-02-18T19:59:00.000Z
2009-02-12T19:00:00.000Z
2010-08-18T10:31:00.000Z
2009-02-03T18:33:00.000Z
2009-01-29T13:50:00.000Z
SOURCEMODTIME
NaN
NaN
NaN
NaN
NaN
RUNTIME
2016-05-27T12:04:00.000Z
2016-05-27T12:04:00.000Z
2016-05-27T12:04:00.000Z
2016-05-27T12:04:00.000Z
2016-05-27T12:04:00.000Z
ISCURRENT
1
1
1
1
1
ISDELETED
0
0
0
0
0
CRASHEVENTTYPES
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
ADDRESS1
2400 VIRGINIA AVE NW
5500 BLOCK OF 5TH ST NW
YOUNG STREET & FAIRLAWN AVE SE
11TH & IRVING STREET NW
1700 H STREET
ADDRESS2
NaN
NaN
NaN
NaN
NaN
STATE
DC
DC
DC
DC
DC
LIGHTCONDITION
Dark- Lighted
Dusk
Daylight
Daylight
Daylight
WEATHER
Clear
Clear
Clear
Clear
Snow
REPORTDATE
2009-02-18T00:00:00.000Z
2009-02-12T00:00:00.000Z
2009-01-30T00:00:00.000Z
2009-02-03T00:00:00.000Z
2009-01-29T00:00:00.000Z
ISDRINKING
No data provided
No data provided
No data provided
No data provided
No data provided
CYCLISTSINVOLVED
NaN
NaN
NaN
NaN
NaN
PEDESTRIANSINVOLVED
NaN
NaN
NaN
NaN
NaN
MINORINJURIES
1
NaN
1
2
NaN
MAJORINJURIES
NaN
NaN
1
2
NaN
FATALITIES
NaN
NaN
NaN
NaN
NaN
TRAFFICCONTROLDEVICES
NaN
NaN
NaN
NaN
NaN
ADDRESS_ID
274046
802987
907447
902086
218406
STREETSEGID
NaN
2480
296
612
12926
OBJECTID
3001
3002
3003
3004
3005
XCOORD
395561
398274
402051
397615
396547
YCOORD
136590
143231
134018
140092
136903
64 rows × 5 columns
In [25]:
points = [Point(row[crash_csv.columns[0]], row['Y']) for key, row in crash_csv.iterrows()]
geo_df = GeoDataFrame(crash_csv,geometry=points)
geo_df.to_file('../Crashes_in_the_District_of_Columbia.geojson', driver='GeoJSON')
In [15]:
pd.isnull(crashes.XCOORD)
Out[15]:
0 False
1 False
2 False
3 False
4 False
5 False
6 False
7 False
8 False
9 True
10 False
11 True
12 False
13 False
14 False
15 True
16 False
17 False
18 True
19 False
20 False
21 False
22 False
23 False
24 True
25 False
26 False
27 True
28 False
29 True
...
152714 False
152715 False
152716 False
152717 False
152718 False
152719 False
152720 False
152721 False
152722 False
152723 False
152724 False
152725 False
152726 False
152727 False
152728 False
152729 True
152730 False
152731 False
152732 False
152733 True
152734 True
152735 False
152736 False
152737 True
152738 True
152739 False
152740 False
152741 True
152742 True
152743 True
Name: XCOORD, dtype: bool
In [23]:
crash_csv.columns
Out[23]:
Index(['X', 'Y', 'CRASHID', 'CRIMEID', 'ISREPORTONSCENE',
'WASMAJORCRASHNOTIFIED', 'MAJORCRASHNOTIFIEDDATE',
'MAJORCRASHNOTIFIEDPERSONID', 'SCHOOLBUSRELATED',
'ISJUNCTIONINTERCHANGEAREA', 'JUNCTIONSPECIFICLOCATION',
'INTERSECTIONTYPE', 'TRAFFICWAYRELATION', 'TRAFFICWAYRELATIONOTHER',
'ISWORKZONERELATED', 'WORKZONETYPE', 'WEREWORKZONEWORKERSPRESENT',
'WORKZONELOEPRESENT', 'WORKZONELOCATION', 'STREETLIGHTING',
'STREETLIGHTINGOTHER', 'POSTEDSPEEDLIMIT', 'FIRSTHARMFULEVENT',
'FIRSTHARMFULEVENTOTHER', 'FIRSTHARMFULEVENTSPECIFICS',
'FIRSTHARMFULEVENTIMPACT', 'FIRSTHARMFULEVENTRELATIVELOC',
'NUMBERPHOTOSTAKEN', 'DCLOCATIONFEET', 'DCLOCATIONBEARING',
'DCLOCATIONINTERSECTIONBLOCK', 'DCLOCATIONSECTION',
'DCLOCATIONMILEPOST', 'DCLOCATIONPEPCOPOLLNO', 'DCLOCATIONEXITRAMP',
'DCLOCATIONBRIDGE', 'DCLOCATIONTUNNEL', 'DCLOCATIONOTHER',
'CRASHSCENEIMAGE', 'DWHSOURCE', 'SOURCEADDTIME', 'SOURCEMODTIME',
'RUNTIME', 'ISCURRENT', 'ISDELETED', 'CRASHEVENTTYPES', 'ADDRESS1',
'ADDRESS2', 'STATE', 'LIGHTCONDITION', 'WEATHER', 'REPORTDATE',
'ISDRINKING', 'CYCLISTSINVOLVED', 'PEDESTRIANSINVOLVED',
'MINORINJURIES', 'MAJORINJURIES', 'FATALITIES', 'TRAFFICCONTROLDEVICES',
'ADDRESS_ID', 'STREETSEGID', 'OBJECTID', 'XCOORD', 'YCOORD'],
dtype='object')
In [24]:
crash_csv[crash_csv.columns[0]]
Out[24]:
0 -77.051173
1 -77.019915
2 -76.976363
3 -77.027512
4 -77.039808
5 -77.053672
6 -76.976223
7 -77.054235
8 -76.989948
10 -76.973277
12 -77.057246
13 -77.073952
14 -77.028031
16 -77.008282
17 -77.017549
19 -77.020908
20 -77.021623
21 -76.989788
22 -76.969524
23 -76.917393
25 -77.014947
26 -77.031522
28 -77.073483
31 -77.019903
32 -77.022809
33 -76.981266
34 -77.025127
36 -76.992450
37 -77.002040
38 -77.016206
...
152701 -77.009044
152703 -77.055568
152704 -76.972162
152705 -77.039812
152706 -77.082658
152708 -77.032234
152710 -77.010759
152711 -77.002034
152714 -77.011404
152715 -77.026227
152716 -76.988859
152717 -77.078857
152718 -76.943392
152719 -77.003043
152720 -77.056700
152721 -76.942642
152722 -77.061345
152723 -76.993760
152724 -77.026490
152725 -77.011268
152726 -77.037330
152727 -77.015743
152728 -77.024667
152730 -76.960943
152731 -76.942135
152732 -77.021918
152735 -77.026945
152736 -76.950979
152739 -76.979008
152740 -76.982010
Name: X, dtype: float64
In [1]:
%pylab inline
import geopandas as gpd
from geopandas.tools import sjoin
import pandas as pd
from IPython.display import display
from pandas import DataFrame
from geopandas import GeoDataFrame
from shapely.geometry import Point
Populating the interactive namespace from numpy and matplotlib
In [3]:
crash_gpd = gpd.read_file('../Crashes_in_the_District_of_Columbia.geojson')
print(crash_gpd.shape)
crash_gpd.head().T
(124278, 65)
Out[3]:
0
1
2
3
4
ADDRESS1
2400 VIRGINIA AVE NW
5500 BLOCK OF 5TH ST NW
YOUNG STREET & FAIRLAWN AVE SE
11TH & IRVING STREET NW
1700 H STREET
ADDRESS2
None
None
None
None
None
ADDRESS_ID
274046
802987
907447
902086
218406
CRASHEVENTTYPES
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
CRASHID
2.84879e+08
2.84879e+08
2.84794e+08
2.84794e+08
2.84794e+08
CRASHSCENEIMAGE
null
null
null
null
null
CRIMEID
2.84878e+08
2.84877e+08
2.84794e+08
2.84796e+08
2.84796e+08
CYCLISTSINVOLVED
None
None
None
None
None
DCLOCATIONBEARING
null
null
null
null
null
DCLOCATIONBRIDGE
null
null
null
null
null
DCLOCATIONEXITRAMP
null
null
null
null
null
DCLOCATIONFEET
null
null
null
null
null
DCLOCATIONINTERSECTIONBLOCK
null
null
null
null
null
DCLOCATIONMILEPOST
null
null
null
null
null
DCLOCATIONOTHER
null
null
null
null
null
DCLOCATIONPEPCOPOLLNO
null
null
null
null
null
DCLOCATIONSECTION
null
null
null
null
null
DCLOCATIONTUNNEL
null
null
null
null
null
DWHSOURCE
RMS
RMS
RMS
RMS
RMS
FATALITIES
None
None
None
None
None
FIRSTHARMFULEVENT
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
FIRSTHARMFULEVENTIMPACT
null
null
null
null
null
FIRSTHARMFULEVENTOTHER
null
null
null
null
null
FIRSTHARMFULEVENTRELATIVELOC
null
null
null
null
null
FIRSTHARMFULEVENTSPECIFICS
Pedestrian
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
INTERSECTIONTYPE
null
null
null
null
null
ISCURRENT
1
1
1
1
1
ISDELETED
0
0
0
0
0
ISDRINKING
No data provided
No data provided
No data provided
No data provided
No data provided
ISJUNCTIONINTERCHANGEAREA
null
null
null
null
null
...
...
...
...
...
...
MAJORCRASHNOTIFIEDPERSONID
null
null
null
null
null
MAJORINJURIES
None
None
1.0
2.0
None
MINORINJURIES
1
NaN
1
2
NaN
NUMBERPHOTOSTAKEN
0
0
0
0
0
OBJECTID
3001
3002
3003
3004
3005
PEDESTRIANSINVOLVED
None
None
None
None
None
POSTEDSPEEDLIMIT
null
null
null
null
null
REPORTDATE
2009-02-18T00:00:00
2009-02-12T00:00:00
2009-01-30T00:00:00
2009-02-03T00:00:00
2009-01-29T00:00:00
RUNTIME
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
SCHOOLBUSRELATED
null
null
null
null
null
SOURCEADDTIME
2009-02-18T19:59:00
2009-02-12T19:00:00
2010-08-18T10:31:00
2009-02-03T18:33:00
2009-01-29T13:50:00
SOURCEMODTIME
None
None
None
None
None
STATE
DC
DC
DC
DC
DC
STREETLIGHTING
Street Lights On
Street Lights On
Other
Street Lights Off
Street Lights Off
STREETLIGHTINGOTHER
null
null
null
null
null
STREETSEGID
None
2480.0
296.0
612.0
12926.0
TRAFFICCONTROLDEVICES
None
None
None
None
None
TRAFFICWAYRELATION
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Other
Trafficway, On Road
TRAFFICWAYRELATIONOTHER
Within 100 of Intersection
Within 100 of Intersection
At Intersection
At Intersection
Within 100 of Intersection | Public Space
WASMAJORCRASHNOTIFIED
0
0
0
0
0
WEATHER
Clear
Clear
Clear
Clear
Snow
WEREWORKZONEWORKERSPRESENT
null
null
null
null
null
WORKZONELOCATION
null
null
null
null
null
WORKZONELOEPRESENT
null
null
null
null
null
WORKZONETYPE
null
null
null
null
null
XCOORD
395561
398274
402051
397615
396547
Y
38.8972
38.957
38.874
38.9287
38.9
YCOORD
136590
143231
134018
140092
136903
geometry
POINT (-77.05117332839998 38.8971567693)
POINT (-77.01991459279999 38.9569923951)
POINT (-76.9763628826 38.8739935028)
POINT (-77.0275123694 38.9287124837)
POINT (-77.0398083253 38.8999813534)
X
-77.0512
-77.0199
-76.9764
-77.0275
-77.0398
65 rows × 5 columns
In [9]:
print(crash_gpd[crash_gpd['REPORTDATE'].str.contains('2013', na=False)].shape[0])
print(crash_gpd[crash_gpd['REPORTDATE'].str.contains('2014', na=False)].shape[0])
print(crash_gpd[crash_gpd['REPORTDATE'].str.contains('2015', na=False)].shape[0])
print(crash_gpd[crash_gpd['REPORTDATE'].str.contains('2016', na=False)].shape[0])
16810
18983
19117
8469
In [52]:
crash_gpd[crash_gpd['REPORTDATE'].str.contains('2013|2014', na=False)].shape[0]
Out[52]:
35793
In [4]:
crash_filtered_gpd = crash_gpd[crash_gpd['REPORTDATE'].str.contains('2013|2014', na=False)]
print(crash_filtered_gpd.shape)
crash_filtered_gpd.head().T
(35793, 65)
Out[4]:
14961
22618
25359
46045
49058
ADDRESS1
600 SOUTHERN AVE SE
18TH ST NW & PENNSYLVANIA AVE NW
2041 GEORGIA AVENUE NW
111 MICHIGAN AVE NE
700 4TH ST NE
ADDRESS2
None
None
None
None
None
ADDRESS_ID
803446
903286
279523
802339
252
CRASHEVENTTYPES
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDI...
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
CRASHID
2.86524e+08
2.87781e+08
2.88503e+08
2.91274e+08
2.91438e+08
CRASHSCENEIMAGE
null
null
null
null
null
CRIMEID
2.86523e+08
1.8358e+08
2.88502e+08
1.83955e+08
1.91983e+08
CYCLISTSINVOLVED
None
None
None
None
None
DCLOCATIONBEARING
null
null
null
null
null
DCLOCATIONBRIDGE
null
null
null
null
null
DCLOCATIONEXITRAMP
null
null
null
null
null
DCLOCATIONFEET
null
null
null
null
null
DCLOCATIONINTERSECTIONBLOCK
null
null
null
null
null
DCLOCATIONMILEPOST
null
null
null
null
null
DCLOCATIONOTHER
null
null
null
null
null
DCLOCATIONPEPCOPOLLNO
null
null
null
null
null
DCLOCATIONSECTION
null
null
null
null
null
DCLOCATIONTUNNEL
null
null
null
null
null
DWHSOURCE
RMS
RMS
RMS
RMS
RMS
FATALITIES
None
None
None
None
None
FIRSTHARMFULEVENT
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
FIRSTHARMFULEVENTIMPACT
null
null
null
null
null
FIRSTHARMFULEVENTOTHER
null
null
null
null
null
FIRSTHARMFULEVENTRELATIVELOC
null
null
null
null
null
FIRSTHARMFULEVENTSPECIFICS
Motor Vehicle In Transport
Pedestrian
D.C. Property
Pedestrian
Hit and Run
INTERSECTIONTYPE
null
null
null
null
null
ISCURRENT
1
1
1
1
1
ISDELETED
0
0
0
0
0
ISDRINKING
No data provided
No data provided
No data provided
No data provided
No data provided
ISJUNCTIONINTERCHANGEAREA
null
null
null
null
null
...
...
...
...
...
...
MAJORCRASHNOTIFIEDPERSONID
null
null
null
null
null
MAJORINJURIES
1.0
None
None
None
1.0
MINORINJURIES
1
2
NaN
1
NaN
NUMBERPHOTOSTAKEN
0
null
null
null
null
OBJECTID
19564
29383
32797
58748
62530
PEDESTRIANSINVOLVED
None
None
None
None
None
POSTEDSPEEDLIMIT
null
null
null
null
null
REPORTDATE
2014-08-01T00:00:00
2013-02-01T00:00:00
2014-03-23T00:00:00
2013-02-21T00:00:00
2013-09-22T00:00:00
RUNTIME
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
SCHOOLBUSRELATED
null
null
null
null
null
SOURCEADDTIME
2009-09-17T22:30:00
2013-02-01T19:15:00
2012-03-23T12:02:00
2013-02-21T14:18:00
2013-09-22T11:55:00
SOURCEMODTIME
None
None
None
None
None
STATE
DC
DC
DC
DC
DC
STREETLIGHTING
Street Lights Off
Street Lights Off
Other
Street Lights Off
Street Lights On
STREETLIGHTINGOTHER
null
null
null
null
null
STREETSEGID
2922.0
2825.0
12158.0
2623.0
2701.0
TRAFFICCONTROLDEVICES
None
Signals Pre-timed(multi-phase) (1)
None
Signals Pre-timed(multi-phase) (1)
No Controls (2)
TRAFFICWAYRELATION
Other
Trafficway, On Road
Other
Trafficway, On Road
Trafficway, On Road
TRAFFICWAYRELATIONOTHER
At Intersection
At Intersection
Not at Intersection | Public Space
Public Space
Not at Intersection | Public Space
WASMAJORCRASHNOTIFIED
0
0
0
0
0
WEATHER
Rain
Clear
null
Clear
Rain
WEREWORKZONEWORKERSPRESENT
null
null
null
null
null
WORKZONELOCATION
null
null
null
null
null
WORKZONELOEPRESENT
null
null
null
null
null
WORKZONETYPE
null
null
null
null
null
XCOORD
400218
396382
398257
399610
399931
Y
38.8242
38.8996
38.9176
38.9288
38.8991
YCOORD
128490
136861
138854
140102
136806
geometry
POINT (-76.99749007939998 38.8242015593)
POINT (-77.0417070995 38.899601681)
POINT (-77.02009603239999 38.9175561961)
POINT (-77.0044954846 38.92880680010001)
POINT (-77.0007984107 38.8991113501)
X
-76.9975
-77.0417
-77.0201
-77.0045
-77.0008
65 rows × 5 columns
In [6]:
dc_segments = gpd.read_file("../dc-maps-master/maps/street-segments.geojson")
In [7]:
dc_seg_buffer_gp = dc_segments[['OBJECTID','STREETSEGID','geometry']].copy()
dc_seg_buffer_gp.geometry = dc_seg_buffer_gp.buffer(0.0001)
crash_buffer_gp = crash_gpd[['CRASHID','STREETSEGID','geometry']].dropna().copy()
crash_buffer_gp.geometry = crash_buffer_gp.buffer(0.0001)
joined = sjoin(crash_buffer_gp, dc_seg_buffer_gp, how='left', op='intersects')
gb = joined.reset_index().groupby('CRASHID').count()
print(gb[gb.STREETSEGID_right==0].shape[0], ' points spatially match no segment')
print(gb[gb.STREETSEGID_right==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.STREETSEGID_right>1].shape[0], ' points spatially match multiple segments')
45575 points spatially match no segment
38870 points spatially match 1 segment
37909 points spatially match multiple segments
In [7]:
dc_seg_buffer_gp = dc_segments[['OBJECTID','STREETSEGID','geometry']].copy()
dc_seg_buffer_gp.geometry = dc_seg_buffer_gp.buffer(0.0001)
crash_filtered_buffer_gp = crash_filtered_gpd[['CRASHID','STREETSEGID','geometry']].dropna().copy()
crash_filtered_buffer_gp.geometry = crash_filtered_buffer_gp.buffer(0.0001)
joined = sjoin(crash_filtered_buffer_gp, dc_seg_buffer_gp, how='left', op='intersects')
gb = joined.reset_index().groupby('CRASHID').count()
print(gb[gb.STREETSEGID_right==0].shape[0], ' points spatially match no segment')
print(gb[gb.STREETSEGID_right==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.STREETSEGID_right>1].shape[0], ' points spatially match multiple segments')
13432 points spatially match no segment
9970 points spatially match 1 segment
11809 points spatially match multiple segments
In [8]:
dc_seg_gpd = dc_segments[['STREETSEGID','SHAPE_Length']].copy()
crash_filtered_drop_gpd = crash_filtered_gpd[['STREETSEGID','FIRSTHARMFULEVENTSPECIFICS', 'REPORTDATE']].dropna().copy()
print(dc_seg_gpd.shape, crash_filtered_drop_gpd.shape)
crash_filtered_drop_gpd.head().T
(13522, 2) (35211, 3)
Out[8]:
14961
22618
25359
46045
49058
STREETSEGID
2922.0
2825.0
12158.0
2623.0
2701.0
FIRSTHARMFULEVENTSPECIFICS
Motor Vehicle In Transport
Pedestrian
D.C. Property
Pedestrian
Hit and Run
REPORTDATE
2014-08-01T00:00:00
2013-02-01T00:00:00
2014-03-23T00:00:00
2013-02-21T00:00:00
2013-09-22T00:00:00
In [10]:
crash_filtered_drop_gpd.STREETSEGID = crash_filtered_drop_gpd.STREETSEGID.convert_objects(convert_numeric=True)
crash_filtered_merged = crash_filtered_drop_gpd.merge(dc_seg_gpd, left_on='STREETSEGID', right_on='STREETSEGID', right_index=False, how='left')
print(crash_filtered_merged.shape)
crash_filtered_merged.head().T
(35211, 4)
//anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:1: FutureWarning: convert_objects is deprecated. Use the data-type specific converters pd.to_datetime, pd.to_timedelta and pd.to_numeric.
if __name__ == '__main__':
Out[10]:
0
1
2
3
4
STREETSEGID
2922
2825
12158
2623
2701
FIRSTHARMFULEVENTSPECIFICS
Motor Vehicle In Transport
Pedestrian
D.C. Property
Pedestrian
Hit and Run
REPORTDATE
2014-08-01T00:00:00
2013-02-01T00:00:00
2014-03-23T00:00:00
2013-02-21T00:00:00
2013-09-22T00:00:00
SHAPE_Length
130.278
26.7325
166.31
514.124
143.503
In [11]:
crash_filtered_merged[pd.isnull(crash_filtered_merged.SHAPE_Length)==1]
Out[11]:
STREETSEGID
FIRSTHARMFULEVENTSPECIFICS
REPORTDATE
SHAPE_Length
33
3654.0
Motor Vehicle In Transport
2014-01-14T00:00:00
NaN
72
227.0
Motor Vehicle In Transport
2014-01-09T00:00:00
NaN
133
12537.0
null
2013-01-14T00:00:00
NaN
150
-11.0
Other Fixed Object (Wall, Building, Tunnel, Etc.)
2013-01-15T00:00:00
NaN
274
-11.0
Motor Vehicle In Transport
2013-01-13T00:00:00
NaN
395
2731.0
Motor Vehicle In Transport
2014-01-03T00:00:00
NaN
468
-11.0
Hit and Run
2014-01-02T00:00:00
NaN
482
-11.0
Motor Vehicle In Transport
2014-01-06T00:00:00
NaN
594
-11.0
Motor Vehicle In Transport
2013-01-11T00:00:00
NaN
733
-11.0
Motor Vehicle In Transport
2013-01-05T00:00:00
NaN
738
-11.0
Hit and Run
2013-01-02T00:00:00
NaN
833
100.0
Parked Motor Vehicle
2013-01-09T00:00:00
NaN
1020
614.0
Motor Vehicle In Transport
2014-01-11T00:00:00
NaN
1135
2731.0
Motor Vehicle In Transport
2014-01-16T00:00:00
NaN
1183
-11.0
Motor Vehicle In Transport
2014-01-24T00:00:00
NaN
1244
15436.0
Hit and Run
2014-01-15T00:00:00
NaN
1254
-11.0
Motor Vehicle In Transport
2014-01-23T00:00:00
NaN
1483
-11.0
null
2014-01-23T00:00:00
NaN
1488
-11.0
Hit and Run
2014-01-22T00:00:00
NaN
1511
-11.0
Motor Vehicle In Transport
2014-01-21T00:00:00
NaN
1516
-11.0
Motor Vehicle In Transport
2014-01-19T00:00:00
NaN
1556
-11.0
Motor Vehicle In Transport
2014-01-15T00:00:00
NaN
1557
1879.0
Other Non-fixed Object
2014-01-21T00:00:00
NaN
1649
-11.0
Motor Vehicle In Transport
2013-01-09T00:00:00
NaN
1653
-11.0
Motor Vehicle In Transport
2013-01-03T00:00:00
NaN
1800
-11.0
Motor Vehicle In Transport
2013-01-25T00:00:00
NaN
1868
-11.0
Other Non-fixed Object
2013-01-15T00:00:00
NaN
1877
-11.0
Motor Vehicle In Transport
2014-01-28T00:00:00
NaN
1892
-11.0
Motor Vehicle In Transport
2014-01-23T00:00:00
NaN
1942
-11.0
Other Fixed Object (Wall, Building, Tunnel, Etc.)
2014-01-25T00:00:00
NaN
...
...
...
...
...
33327
-11.0
Other Fixed Object (Wall, Building, Tunnel, Etc.)
2013-12-10T00:00:00
NaN
33351
-11.0
Motor Vehicle In Transport
2013-12-03T00:00:00
NaN
33408
-11.0
Motor Vehicle In Transport
2013-12-17T00:00:00
NaN
33455
298.0
Other Non-collision
2013-12-14T00:00:00
NaN
33569
-11.0
Motor Vehicle In Transport
2013-12-07T00:00:00
NaN
33600
-11.0
Motor Vehicle In Transport
2013-12-09T00:00:00
NaN
33647
2731.0
Motor Vehicle In Transport
2013-12-19T00:00:00
NaN
33675
15435.0
Motor Vehicle In Transport
2013-12-04T00:00:00
NaN
33678
-11.0
Motor Vehicle In Transport
2013-12-14T00:00:00
NaN
33753
227.0
Motor Vehicle In Transport
2014-12-16T00:00:00
NaN
33825
5122.0
Parked Motor Vehicle
2014-12-09T00:00:00
NaN
33920
2731.0
null
2014-12-06T00:00:00
NaN
34031
-11.0
Motor Vehicle In Transport
2014-12-22T00:00:00
NaN
34046
8983.0
Motor Vehicle In Transport
2014-12-20T00:00:00
NaN
34115
-11.0
Hit and Run
2014-12-26T00:00:00
NaN
34118
-11.0
Motor Vehicle In Transport
2014-12-19T00:00:00
NaN
34504
-11.0
Hit and Run
2014-12-10T00:00:00
NaN
34643
227.0
Motor Vehicle In Transport
2013-12-13T00:00:00
NaN
34693
614.0
Motor Vehicle In Transport
2014-12-17T00:00:00
NaN
34779
-11.0
Motor Vehicle In Transport
2014-12-17T00:00:00
NaN
34849
-11.0
Hit and Run
2014-12-23T00:00:00
NaN
34899
-11.0
Other Non-collision
2014-12-07T00:00:00
NaN
34940
2731.0
Hit and Run
2014-12-18T00:00:00
NaN
34970
-11.0
Other Fixed Object (Wall, Building, Tunnel, Etc.)
2014-12-18T00:00:00
NaN
34983
15576.0
Motor Vehicle In Transport
2014-12-08T00:00:00
NaN
35092
-11.0
Other Fixed Object (Wall, Building, Tunnel, Etc.)
2014-12-07T00:00:00
NaN
35154
-11.0
Motor Vehicle In Transport
2014-12-12T00:00:00
NaN
35160
-11.0
Hit and Run
2014-12-12T00:00:00
NaN
35200
227.0
Hit and Run
2014-12-08T00:00:00
NaN
35209
-11.0
Motor Vehicle In Transport
2014-12-12T00:00:00
NaN
682 rows × 4 columns
In [12]:
crash_filtered_merged.dropna().shape
Out[12]:
(34529, 4)
In [13]:
crash_filtered_merged.REPORTDATE = pd.DatetimeIndex(crash_filtered_merged.REPORTDATE)
print(crash_filtered_merged.info())
crash_filtered_merged.head().T
<class 'pandas.core.frame.DataFrame'>
Int64Index: 35211 entries, 0 to 35210
Data columns (total 4 columns):
STREETSEGID 35211 non-null float64
FIRSTHARMFULEVENTSPECIFICS 35211 non-null object
REPORTDATE 35211 non-null datetime64[ns]
SHAPE_Length 34529 non-null float64
dtypes: datetime64[ns](1), float64(2), object(1)
memory usage: 1.3+ MB
None
Out[13]:
0
1
2
3
4
STREETSEGID
2922
2825
12158
2623
2701
FIRSTHARMFULEVENTSPECIFICS
Motor Vehicle In Transport
Pedestrian
D.C. Property
Pedestrian
Hit and Run
REPORTDATE
2014-08-01 00:00:00
2013-02-01 00:00:00
2014-03-23 00:00:00
2013-02-21 00:00:00
2013-09-22 00:00:00
SHAPE_Length
130.278
26.7325
166.31
514.124
143.503
In [15]:
crash_filtered_merged['MONTH'] = crash_filtered_merged.REPORTDATE.dt.month
crash_filtered_merged = crash_filtered_merged.drop('REPORTDATE',axis=1)
crash_filtered_merged.head().T
Out[15]:
0
1
2
3
4
STREETSEGID
2922
2825
12158
2623
2701
FIRSTHARMFULEVENTSPECIFICS
Motor Vehicle In Transport
Pedestrian
D.C. Property
Pedestrian
Hit and Run
SHAPE_Length
130.278
26.7325
166.31
514.124
143.503
MONTH
8
2
3
2
9
In [19]:
crash_filtered_stats = crash_filtered_merged.groupby(['STREETSEGID', 'SHAPE_Length', 'MONTH']).size().reset_index()
crash_filtered_stats.columns = ['STREETSEGID', 'SHAPE_Length', 'MONTH', 'total_monthly_count']
crash_filtered_stats['total_monthly_count/len'] = crash_filtered_stats['total_monthly_count']/crash_filtered_stats['SHAPE_Length']
normalize('total_monthly_count', crash_filtered_stats)
normalize('total_monthly_count/len', crash_filtered_stats)
print(crash_filtered_stats.shape)
crash_filtered_stats.head().T
(22989, 7)
Out[19]:
0
1
2
3
4
STREETSEGID
1.000000
1.000000
1.000000
2.000000
2.000000
SHAPE_Length
180.261040
180.261040
180.261040
195.020224
195.020224
MONTH
7.000000
10.000000
11.000000
3.000000
4.000000
total_monthly_count
1.000000
1.000000
1.000000
1.000000
1.000000
total_monthly_count/len
0.005548
0.005548
0.005548
0.005128
0.005128
total_monthly_count_norm
0.244651
0.244651
0.244651
0.244651
0.244651
total_monthly_count/len_norm
0.020019
0.020019
0.020019
0.018508
0.018508
In [20]:
crash_filtered_stats.drop_duplicates().shape
Out[20]:
(22989, 7)
In [22]:
crash_filtered_typemerge = crash_filtered_merged.groupby(['STREETSEGID', 'SHAPE_Length', 'MONTH', 'FIRSTHARMFULEVENTSPECIFICS']).size().reset_index()
crash_filtered_typemerge.columns = ['STREETSEGID', 'SHAPE_Length', 'MONTH', 'FIRSTHARMFULEVENTSPECIFICS', 'count']
print(crash_filtered_typemerge.shape)
crash_filtered_typemerge.head().T
(28945, 5)
Out[22]:
0
1
2
3
4
STREETSEGID
1
1
1
2
2
SHAPE_Length
180.261
180.261
180.261
195.02
195.02
MONTH
7
10
11
3
4
FIRSTHARMFULEVENTSPECIFICS
Hit and Run
Parked Motor Vehicle
Parked Motor Vehicle
Motor Vehicle In Transport
Motor Vehicle In Transport
count
1
1
1
1
1
In [23]:
unique_hfevents = unique(crash_filtered_typemerge.FIRSTHARMFULEVENTSPECIFICS)
print(len(unique_hfevents), unique_hfevents)
20 ['Animal' 'Cargo/Equipment Loss Or Shift' 'Commercial Vehicle'
'D.C. Property' 'Hit and Run' 'Injury' 'Jackknife'
'Motor Vehicle In Transport'
'Other Fixed Object (Wall, Building, Tunnel, Etc.)' 'Other Non-collision'
'Other Non-fixed Object' 'Other Property Damage' 'Other Traffic Barrier'
'Overturn/Rollover' 'Parked Motor Vehicle' 'Pedestrian'
'Railway Vehicle (train, engine)' 'Unknown'
'Work Zone/maintenance Equipment' 'null']
In [24]:
crash_filtered_typemerge[crash_filtered_typemerge.FIRSTHARMFULEVENTSPECIFICS=='null']
Out[24]:
STREETSEGID
SHAPE_Length
MONTH
FIRSTHARMFULEVENTSPECIFICS
count
11
4.0
23.021827
4
null
1
29
5.0
70.403897
9
null
1
38
7.0
14.261136
7
null
1
41
7.0
14.261136
10
null
1
70
12.0
90.814307
9
null
1
83
14.0
98.204053
7
null
1
104
22.0
198.305936
5
null
1
118
26.0
167.580314
1
null
1
209
43.0
200.156658
10
null
1
219
44.0
91.327614
5
null
1
222
44.0
91.327614
9
null
1
224
44.0
91.327614
10
null
1
250
49.0
165.291553
2
null
1
282
55.0
135.031520
3
null
1
293
55.0
135.031520
10
null
1
316
56.0
135.385447
12
null
1
353
67.0
132.524230
5
null
1
435
81.0
102.338413
9
null
1
448
82.0
154.050070
5
null
1
452
82.0
154.050070
7
null
1
455
82.0
154.050070
9
null
1
466
84.0
119.220117
11
null
1
480
91.0
119.454612
3
null
1
487
91.0
119.454612
7
null
1
570
123.0
83.047123
2
null
1
579
124.0
337.062821
8
null
1
657
150.0
48.608612
9
null
1
706
164.0
652.705492
7
null
1
711
164.0
652.705492
8
null
1
751
178.0
131.112776
5
null
1
...
...
...
...
...
...
28328
13507.0
100.209544
5
null
1
28363
13560.0
122.611589
11
null
1
28387
13587.0
81.947076
9
null
1
28413
13636.0
677.015009
10
null
1
28443
13733.0
356.785996
2
null
1
28490
13800.0
290.813584
11
null
1
28506
13875.0
224.022363
2
null
1
28535
13972.0
38.967860
10
null
1
28542
13973.0
135.040777
1
null
1
28552
13973.0
135.040777
7
null
1
28592
14105.0
94.557446
6
null
1
28595
14105.0
94.557446
7
null
1
28613
14134.0
184.208048
6
null
1
28652
14173.0
76.891506
12
null
1
28672
14196.0
208.626835
2
null
1
28746
14551.0
164.720948
1
null
1
28759
14565.0
120.915647
6
null
1
28771
14593.0
112.536783
3
null
2
28786
14605.0
101.293774
4
null
1
28792
14634.0
283.478559
4
null
1
28820
14647.0
103.744170
10
null
1
28835
14658.0
873.198807
2
null
1
28845
14658.0
873.198807
6
null
1
28852
14658.0
873.198807
9
null
1
28861
14658.0
873.198807
12
null
1
28873
14745.0
290.790839
2
null
1
28882
14848.0
108.619128
5
null
1
28907
15302.0
160.320810
9
null
1
28917
15360.0
428.962009
1
null
1
28944
15360.0
428.962009
12
null
1
1075 rows × 5 columns
In [25]:
for event in unique_hfevents:
event_data = crash_filtered_typemerge[crash_filtered_typemerge.FIRSTHARMFULEVENTSPECIFICS==event]
event_count = event + '_count'
event_count_len = event_count + '/len'
event_data_count = event_data[['STREETSEGID', 'MONTH', 'count']]
event_data_count.columns = ['STREETSEGID', 'MONTH', event_count]
crash_filtered_stats = crash_filtered_stats.merge(event_data_count, left_on = ['STREETSEGID', 'MONTH'], right_on = ['STREETSEGID', 'MONTH'], right_index=False, how='left')
crash_filtered_stats[event_count_len] = crash_filtered_stats[event_count]/crash_filtered_stats['SHAPE_Length']
normalize(event_count, crash_filtered_stats)
normalize(event_count_len, crash_filtered_stats)
In [27]:
crash_filtered_stats = crash_filtered_stats.fillna(0)
print(crash_filtered_stats.shape, crash_filtered_stats.drop_duplicates().shape)
crash_filtered_stats.head().T
(22989, 87) (22989, 87)
Out[27]:
0
1
2
3
4
STREETSEGID
1.000000
1.000000
1.000000
2.000000
2.000000
SHAPE_Length
180.261040
180.261040
180.261040
195.020224
195.020224
MONTH
7.000000
10.000000
11.000000
3.000000
4.000000
total_monthly_count
1.000000
1.000000
1.000000
1.000000
1.000000
total_monthly_count/len
0.005548
0.005548
0.005548
0.005128
0.005128
total_monthly_count_norm
0.244651
0.244651
0.244651
0.244651
0.244651
total_monthly_count/len_norm
0.020019
0.020019
0.020019
0.018508
0.018508
Animal_count
0.000000
0.000000
0.000000
0.000000
0.000000
Animal_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Animal_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Animal_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Cargo/Equipment Loss Or Shift_count
0.000000
0.000000
0.000000
0.000000
0.000000
Cargo/Equipment Loss Or Shift_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Cargo/Equipment Loss Or Shift_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Cargo/Equipment Loss Or Shift_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Commercial Vehicle_count
0.000000
0.000000
0.000000
0.000000
0.000000
Commercial Vehicle_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Commercial Vehicle_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Commercial Vehicle_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
D.C. Property_count
0.000000
0.000000
0.000000
0.000000
0.000000
D.C. Property_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
D.C. Property_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
D.C. Property_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Hit and Run_count
1.000000
0.000000
0.000000
0.000000
0.000000
Hit and Run_count/len
0.005548
0.000000
0.000000
0.000000
0.000000
Hit and Run_count_norm
0.333333
0.000000
0.000000
0.000000
0.000000
Hit and Run_count/len_norm
0.037251
0.000000
0.000000
0.000000
0.000000
Injury_count
0.000000
0.000000
0.000000
0.000000
0.000000
Injury_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Injury_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
Other Traffic Barrier_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Other Traffic Barrier_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Overturn/Rollover_count
0.000000
0.000000
0.000000
0.000000
0.000000
Overturn/Rollover_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Overturn/Rollover_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Overturn/Rollover_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Parked Motor Vehicle_count
0.000000
1.000000
1.000000
0.000000
0.000000
Parked Motor Vehicle_count/len
0.000000
0.005548
0.005548
0.000000
0.000000
Parked Motor Vehicle_count_norm
0.000000
0.386853
0.386853
0.000000
0.000000
Parked Motor Vehicle_count/len_norm
0.000000
0.064521
0.064521
0.000000
0.000000
Pedestrian_count
0.000000
0.000000
0.000000
0.000000
0.000000
Pedestrian_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Pedestrian_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Pedestrian_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Railway Vehicle (train, engine)_count
0.000000
0.000000
0.000000
0.000000
0.000000
Railway Vehicle (train, engine)_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Railway Vehicle (train, engine)_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Railway Vehicle (train, engine)_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Unknown_count
0.000000
0.000000
0.000000
0.000000
0.000000
Unknown_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Unknown_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Unknown_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Work Zone/maintenance Equipment_count
0.000000
0.000000
0.000000
0.000000
0.000000
Work Zone/maintenance Equipment_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Work Zone/maintenance Equipment_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Work Zone/maintenance Equipment_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
null_count
0.000000
0.000000
0.000000
0.000000
0.000000
null_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
null_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
null_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
87 rows × 5 columns
In [28]:
crash_filtered_stats.dropna().shape
Out[28]:
(22989, 87)
In [29]:
crash_filtered_stats.to_csv('../DC_Crash_Details_2013-14_FIRSTHARMFULEVENTSPECIFICS.csv')
In [ ]:
In [6]:
dc_seg_gp = dc_segments[['OBJECTID','STREETSEGID','geometry']].copy()
crash_drop_gp = crash_gpd[['CRASHID','STREETSEGID','geometry']].dropna().copy()
In [56]:
crash_filtered_drop_gp = crash_filtered_gpd[['CRASHID','STREETSEGID','geometry', 'REPORTDATE']].dropna().copy()
In [7]:
crash_merged = crash_drop_gp.merge(dc_seg_gp, left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
In [58]:
dc_seg_gp = dc_segments[['OBJECTID','STREETSEGID','geometry']].copy()
crash_filtered_merged = crash_filtered_drop_gp.merge(dc_seg_gp, left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
In [49]:
dc_seg_buffer_gp.head().T
Out[49]:
0
1
2
3
4
OBJECTID
1
2
3
4
5
STREETSEGID
876
13161
8240
10395
2216
geometry
POLYGON ((-77.01242844202709 38.95095383950174...
POLYGON ((-77.01164820900649 38.95361152346422...
POLYGON ((-77.01167643211649 38.95462238890561...
POLYGON ((-77.01171529267847 38.95571708362685...
POLYGON ((-77.01171706423393 38.95667960148032...
In [10]:
crash_merged.head().T
Out[10]:
0
1
2
3
4
CRASHID
2.84879e+08
2.84794e+08
2.84794e+08
2.84794e+08
2.84794e+08
STREETSEGID
2480.0
296.0
612.0
12926.0
628.0
geometry_x
POINT (-77.01991459279999 38.9569923951)
POINT (-76.9763628826 38.8739935028)
POINT (-77.0275123694 38.9287124837)
POINT (-77.0398083253 38.8999813534)
POINT (-77.0536723136 38.9034414121)
OBJECTID
NaN
NaN
NaN
NaN
NaN
geometry_y
NaN
NaN
NaN
NaN
NaN
In [59]:
print(crash_filtered_merged.shape[0])
crash_filtered_merged.head().T
35211
Out[59]:
0
1
2
3
4
CRASHID
2.86524e+08
2.87781e+08
2.88503e+08
2.91274e+08
2.91438e+08
STREETSEGID
2922.0
2825.0
12158.0
2623.0
2701.0
geometry_x
POINT (-76.99749007939998 38.8242015593)
POINT (-77.0417070995 38.899601681)
POINT (-77.02009603239999 38.9175561961)
POINT (-77.0044954846 38.92880680010001)
POINT (-77.0007984107 38.8991113501)
REPORTDATE
2014-08-01T00:00:00
2013-02-01T00:00:00
2014-03-23T00:00:00
2013-02-21T00:00:00
2013-09-22T00:00:00
OBJECTID
NaN
NaN
NaN
NaN
NaN
geometry_y
NaN
NaN
NaN
NaN
NaN
In [35]:
gb = crash_merged.reset_index().groupby('CRASHID').count()
print(gb[gb.STREETSEGID_y==0].shape[0], ' points spatially match no segment')
print(gb[gb.STREETSEGID_y==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.STREETSEGID_y>1].shape[0], ' points spatially match multiple segments')
122354 points spatially match no segment
0 points spatially match 1 segment
0 points spatially match multiple segments
In [61]:
gb = crash_filtered_merged.reset_index().groupby('CRASHID').count()
print(gb[gb.OBJECTID==0].shape[0], ' points spatially match no segment')
print(gb[gb.OBJECTID==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.OBJECTID>1].shape[0], ' points spatially match multiple segments')
35211 points spatially match no segment
0 points spatially match 1 segment
0 points spatially match multiple segments
In [37]:
crash_gpd[crash_gpd.STREETSEGID==876]
Out[37]:
ADDRESS1
ADDRESS2
ADDRESS_ID
CRASHEVENTTYPES
CRASHID
CRASHSCENEIMAGE
CRIMEID
CYCLISTSINVOLVED
DCLOCATIONBEARING
DCLOCATIONBRIDGE
...
WEATHER
WEREWORKZONEWORKERSPRESENT
WORKZONELOCATION
WORKZONELOEPRESENT
WORKZONETYPE
XCOORD
Y
YCOORD
geometry
X
0 rows × 65 columns
In [38]:
gb = joined.reset_index().groupby('CRASHID').count()
print(gb[gb.STREETSEGID_right==0].shape[0], ' points spatially match no segment')
print(gb[gb.STREETSEGID_right==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.STREETSEGID_right>1].shape[0], ' points spatially match multiple segments')
45575 points spatially match no segment
38870 points spatially match 1 segment
37909 points spatially match multiple segments
In [42]:
gb[gb.STREETSEGID_right==0]
Out[42]:
index
STREETSEGID_left
geometry
index_right
OBJECTID
STREETSEGID_right
CRASHID
284558866.0
1
1
1
0
0
0
284558887.0
1
1
1
0
0
0
284558909.0
1
1
1
0
0
0
284558910.0
1
1
1
0
0
0
284559851.0
1
1
1
0
0
0
284560206.0
1
1
1
0
0
0
284560364.0
1
1
1
0
0
0
284560367.0
1
1
1
0
0
0
284560772.0
1
1
1
0
0
0
284560940.0
1
1
1
0
0
0
284561066.0
1
1
1
0
0
0
284561126.0
1
1
1
0
0
0
284561164.0
1
1
1
0
0
0
284561283.0
1
1
1
0
0
0
284561287.0
1
1
1
0
0
0
284561347.0
1
1
1
0
0
0
284561423.0
1
1
1
0
0
0
284561433.0
1
1
1
0
0
0
284561435.0
1
1
1
0
0
0
284561468.0
1
1
1
0
0
0
284561529.0
1
1
1
0
0
0
284561558.0
1
1
1
0
0
0
284561575.0
1
1
1
0
0
0
284561672.0
1
1
1
0
0
0
284561712.0
1
1
1
0
0
0
284561774.0
1
1
1
0
0
0
284561823.0
1
1
1
0
0
0
284561836.0
1
1
1
0
0
0
284562003.0
1
1
1
0
0
0
284562014.0
1
1
1
0
0
0
...
...
...
...
...
...
...
418146420.0
1
1
1
0
0
0
418147232.0
1
1
1
0
0
0
418147421.0
1
1
1
0
0
0
418148161.0
1
1
1
0
0
0
418152585.0
1
1
1
0
0
0
418154125.0
1
1
1
0
0
0
418154515.0
1
1
1
0
0
0
418156224.0
1
1
1
0
0
0
418158259.0
1
1
1
0
0
0
418159377.0
1
1
1
0
0
0
418159648.0
1
1
1
0
0
0
418160335.0
1
1
1
0
0
0
418161910.0
1
1
1
0
0
0
418163125.0
1
1
1
0
0
0
418167328.0
1
1
1
0
0
0
418167725.0
1
1
1
0
0
0
418175099.0
1
1
1
0
0
0
418175563.0
1
1
1
0
0
0
418176178.0
1
1
1
0
0
0
418180393.0
1
1
1
0
0
0
418180856.0
1
1
1
0
0
0
418181820.0
1
1
1
0
0
0
418188711.0
1
1
1
0
0
0
418192215.0
1
1
1
0
0
0
418192907.0
1
1
1
0
0
0
418195320.0
1
1
1
0
0
0
418195742.0
1
1
1
0
0
0
418195920.0
1
1
1
0
0
0
418196874.0
1
1
1
0
0
0
418198031.0
1
1
1
0
0
0
45575 rows × 6 columns
In [45]:
crash_gpd[crash_gpd.CRASHID==284558866].STREETSEGID
Out[45]:
1634 959.0
Name: STREETSEGID, dtype: object
In [63]:
crash_filtered_gpd[crash_filtered_gpd.CRASHID==284558866].STREETSEGID
Out[63]:
Series([], Name: STREETSEGID, dtype: object)
In [46]:
dc_segments[dc_segments.STREETSEGID==959]
Out[46]:
BEGINMEASURE
DIRECTIONALITY
ENDMEASURE
FACILITYID
FROMADDRESSLEFTTHEO
FROMADDRESSRIGHTTHEO
FROMNODEID
OBJECTID
OBJECTID_1
QUADRANT
...
SHAPE_Length
SOURCEID
STREETID
STREETSEGID
STREETTYPE
TOADDRESSLEFTTHEO
TOADDRESSRIGHTTHEO
TONODEID
UPDATETIMESTAMP
geometry
11101
0
2
120.33491
SEGID-959
4602.0
4559.0
13512
11102
10754
SE
...
120.334925
31534457
301534
959
RD
4612.0
4599.0
15911
2005-11-01T12:55:47
LINESTRING (-76.93660270520415 38.887584423568...
1 rows × 22 columns
In [8]:
crash_merged[crash_merged.STREETSEGID==959]
Out[8]:
CRASHID
STREETSEGID
geometry_x
OBJECTID
geometry_y
In [62]:
crash_filtered_merged[crash_filtered_merged.STREETSEGID==959]
Out[62]:
CRASHID
STREETSEGID
geometry_x
REPORTDATE
OBJECTID
geometry_y
In [56]:
crash_drop_gp.info()
<class 'geopandas.geodataframe.GeoDataFrame'>
Int64Index: 122354 entries, 1 to 124277
Data columns (total 3 columns):
CRASHID 122354 non-null float64
STREETSEGID 122354 non-null object
geometry 122354 non-null object
dtypes: float64(1), object(2)
memory usage: 3.7+ MB
In [57]:
dc_seg_gp.info()
<class 'geopandas.geodataframe.GeoDataFrame'>
RangeIndex: 13522 entries, 0 to 13521
Data columns (total 3 columns):
OBJECTID 13522 non-null int64
STREETSEGID 13522 non-null int64
geometry 13522 non-null object
dtypes: int64(2), object(1)
memory usage: 317.0+ KB
In [8]:
crash_drop_gp.STREETSEGID = crash_drop_gp.STREETSEGID.convert_objects(convert_numeric=True)
//anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:1: FutureWarning: convert_objects is deprecated. Use the data-type specific converters pd.to_datetime, pd.to_timedelta and pd.to_numeric.
if __name__ == '__main__':
In [12]:
crash_drop_gp.info()
<class 'geopandas.geodataframe.GeoDataFrame'>
Int64Index: 122354 entries, 1 to 124277
Data columns (total 3 columns):
CRASHID 122354 non-null float64
STREETSEGID 122354 non-null float64
geometry 122354 non-null object
dtypes: float64(2), object(1)
memory usage: 3.7+ MB
In [64]:
print(crash_filtered_drop_gp.info())
crash_filtered_drop_gp.STREETSEGID = crash_filtered_drop_gp.STREETSEGID.convert_objects(convert_numeric=True)
print(crash_filtered_drop_gp.info())
<class 'geopandas.geodataframe.GeoDataFrame'>
Int64Index: 35211 entries, 14961 to 113234
Data columns (total 4 columns):
CRASHID 35211 non-null float64
STREETSEGID 35211 non-null object
geometry 35211 non-null object
REPORTDATE 35211 non-null object
dtypes: float64(1), object(3)
memory usage: 1.3+ MB
None
<class 'geopandas.geodataframe.GeoDataFrame'>
Int64Index: 35211 entries, 14961 to 113234
Data columns (total 4 columns):
CRASHID 35211 non-null float64
STREETSEGID 35211 non-null float64
geometry 35211 non-null object
REPORTDATE 35211 non-null object
dtypes: float64(2), object(2)
memory usage: 1.3+ MB
None
//anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:2: FutureWarning: convert_objects is deprecated. Use the data-type specific converters pd.to_datetime, pd.to_timedelta and pd.to_numeric.
from ipykernel import kernelapp as app
In [9]:
crash_merged = crash_drop_gp.merge(dc_seg_gp, left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=True, how='left')
In [10]:
gb = crash_merged.reset_index().groupby('CRASHID').count()
print(gb[gb.STREETSEGID_y==0].shape[0], ' points spatially match no segment')
print(gb[gb.STREETSEGID_y==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.STREETSEGID_y>1].shape[0], ' points spatially match multiple segments')
3861 points spatially match no segment
118493 points spatially match 1 segment
0 points spatially match multiple segments
In [11]:
crash_merged[crash_merged.STREETSEGID_x==959]
Out[11]:
CRASHID
STREETSEGID_x
geometry_x
OBJECTID
STREETSEGID_y
geometry_y
1634
284558866.0
959.0
POINT (-76.93658944560001 38.8869410377)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
2162
284566606.0
959.0
POINT (-76.93670541289998 38.8871841467)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
3594
285174243.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
5061
285490513.0
959.0
POINT (-76.93658944560001 38.8869410377)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
8201
285790355.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
8405
285861785.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
11992
286057281.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
13957
286759330.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
17281
287151818.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
19426
287780418.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
20213
287331971.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
20415
287949558.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
20466
287950035.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
22466
287860300.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
24907
288503528.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
25525
288503308.0
959.0
POINT (-76.93658944560001 38.8869410377)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
26195
288761728.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
26528
288340371.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
29795
288844310.0
959.0
POINT (-76.93603325169998 38.8870081171)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
30458
289194460.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
31613
289455785.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
38460
290489649.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
38644
290490096.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
39629
290250863.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
44325
290971404.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
45205
291121562.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
53206
292186122.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
59079
293152956.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
59759
293151758.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
61543
293570234.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
62003
293366501.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
64147
293890806.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
65485
293732448.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
67123
294128405.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
70326
294635141.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
71787
294825761.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
72338
294733670.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
75169
295381609.0
959.0
POINT (-76.93658944560001 38.8869410377)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
75472
295590822.0
959.0
POINT (-76.93670541289998 38.8871841467)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
78275
295789864.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
83792
296714952.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
83983
296711904.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
92876
297583467.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
100668
298689249.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
103757
298943295.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
108083
405157343.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
111968
413373055.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
115303
400835706.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
120272
415643061.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
120403
415739171.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
122922
407267906.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
123945
415040558.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
124107
417980774.0
959.0
POINT (-76.9362801435 38.8876503696)
960.0
1015.0
LINESTRING (-77.03633567175983 38.987387049320...
In [65]:
crash_filtered_merged = crash_filtered_drop_gp.merge(dc_segments[['STREETSEGID', 'SHAPE_Length']], left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
In [67]:
gb = crash_filtered_merged.reset_index().groupby('CRASHID').count()
print(gb[gb.SHAPE_Length==0].shape[0], ' points spatially match no segment')
print(gb[gb.SHAPE_Length==1].shape[0], ' points spatially match 1 segment')
print(gb[gb.SHAPE_Length>1].shape[0], ' points spatially match multiple segments')
682 points spatially match no segment
34529 points spatially match 1 segment
0 points spatially match multiple segments
In [69]:
crash_filtered_merged[crash_filtered_merged.STREETSEGID==959]
Out[69]:
CRASHID
STREETSEGID
geometry
REPORTDATE
SHAPE_Length
1000
293570234.0
959.0
POINT (-76.9362801435 38.8876503696)
2014-01-08T00:00:00
120.334925
2458
293890806.0
959.0
POINT (-76.9362801435 38.8876503696)
2013-01-31T00:00:00
120.334925
4207
294128405.0
959.0
POINT (-76.9362801435 38.8876503696)
2013-02-18T00:00:00
120.334925
6251
294635141.0
959.0
POINT (-76.9362801435 38.8876503696)
2013-03-22T00:00:00
120.334925
7626
294825761.0
959.0
POINT (-76.9362801435 38.8876503696)
2014-03-16T00:00:00
120.334925
9580
295590822.0
959.0
POINT (-76.93670541289998 38.8871841467)
2014-05-01T00:00:00
120.334925
12050
295789864.0
959.0
POINT (-76.9362801435 38.8876503696)
2013-05-19T00:00:00
120.334925
21428
297583467.0
959.0
POINT (-76.9362801435 38.8876503696)
2014-08-12T00:00:00
120.334925
28871
298689249.0
959.0
POINT (-76.9362801435 38.8876503696)
2013-11-18T00:00:00
120.334925
31907
298943295.0
959.0
POINT (-76.9362801435 38.8876503696)
2014-11-15T00:00:00
120.334925
In [12]:
crash_merged = crash_drop_gp.merge(dc_seg_gp, left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
In [13]:
crash_merged = crash_merged.merge(dc_segments[['STREETSEGID', 'SHAPE_Length']], left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
In [14]:
crash_merged.head().T
Out[14]:
0
1
2
3
4
CRASHID
2.84879e+08
2.84794e+08
2.84794e+08
2.84794e+08
2.84794e+08
STREETSEGID
2480
296
612
12926
628
geometry_x
POINT (-77.01991459279999 38.9569923951)
POINT (-76.9763628826 38.8739935028)
POINT (-77.0275123694 38.9287124837)
POINT (-77.0398083253 38.8999813534)
POINT (-77.0536723136 38.9034414121)
OBJECTID
305
10709
2374
2709
4455
geometry_y
LINESTRING (-77.01988963792071 38.956456767937...
LINESTRING (-76.97636288257532 38.873993502902...
LINESTRING (-77.02751236956541 38.928712483718...
LINESTRING (-77.03945044684772 38.900215595946...
LINESTRING (-77.05330540817235 38.903643942147...
SHAPE_Length
118.998
113.594
191.017
195.386
45.2589
In [70]:
print(crash_filtered_merged.shape)
crash_filtered_merged.head().T
(35211, 5)
Out[70]:
0
1
2
3
4
CRASHID
2.86524e+08
2.87781e+08
2.88503e+08
2.91274e+08
2.91438e+08
STREETSEGID
2922
2825
12158
2623
2701
geometry
POINT (-76.99749007939998 38.8242015593)
POINT (-77.0417070995 38.899601681)
POINT (-77.02009603239999 38.9175561961)
POINT (-77.0044954846 38.92880680010001)
POINT (-77.0007984107 38.8991113501)
REPORTDATE
2014-08-01T00:00:00
2013-02-01T00:00:00
2014-03-23T00:00:00
2013-02-21T00:00:00
2013-09-22T00:00:00
SHAPE_Length
130.278
26.7325
166.31
514.124
143.503
In [79]:
import math
In [15]:
crash_merged.shape[0] - crash_merged.dropna().shape[0]
Out[15]:
1731
In [71]:
crash_filtered_merged.shape[0] - crash_filtered_merged.dropna().shape[0]
Out[71]:
682
In [16]:
crash_merged = crash_merged.drop(['geometry_x', 'geometry_y'], 1)
crash_merged.head().T
Out[16]:
0
1
2
3
4
CRASHID
2.848785e+08
2.847935e+08
2.847936e+08
2.847936e+08
2.847936e+08
STREETSEGID
2.480000e+03
2.960000e+02
6.120000e+02
1.292600e+04
6.280000e+02
OBJECTID
3.050000e+02
1.070900e+04
2.374000e+03
2.709000e+03
4.455000e+03
SHAPE_Length
1.189985e+02
1.135944e+02
1.910169e+02
1.953863e+02
4.525886e+01
In [20]:
crash_merged.shape
Out[20]:
(122354, 4)
In [17]:
crash_statistic = crash_merged.merge(crash_gpd[['CRASHID', 'CRASHEVENTTYPES', 'CYCLISTSINVOLVED', 'FATALITIES', 'FIRSTHARMFULEVENTSPECIFICS', 'ISDRINKING', 'PEDESTRIANSINVOLVED', 'STREETLIGHTING']], left_on = 'CRASHID', right_on = 'CRASHID', right_index=False, how='left')
In [18]:
print(crash_statistic.shape)
crash_statistic.head().T
(122354, 11)
Out[18]:
0
1
2
3
4
CRASHID
2.84879e+08
2.84794e+08
2.84794e+08
2.84794e+08
2.84794e+08
STREETSEGID
2480
296
612
12926
628
OBJECTID
305
10709
2374
2709
4455
SHAPE_Length
118.998
113.594
191.017
195.386
45.2589
CRASHEVENTTYPES
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
CYCLISTSINVOLVED
None
None
None
None
None
FATALITIES
None
None
None
None
None
FIRSTHARMFULEVENTSPECIFICS
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
ISDRINKING
No data provided
No data provided
No data provided
No data provided
No data provided
PEDESTRIANSINVOLVED
None
None
None
None
None
STREETLIGHTING
Street Lights On
Other
Street Lights Off
Street Lights Off
Street Lights Off
In [72]:
crash_filtered_merged = crash_filtered_merged.drop('geometry', 1)
crash_filtered_statistic = crash_filtered_merged.merge(crash_gpd[['CRASHID', 'CRASHEVENTTYPES', 'CYCLISTSINVOLVED', 'FATALITIES', 'FIRSTHARMFULEVENTSPECIFICS', 'ISDRINKING', 'PEDESTRIANSINVOLVED', 'STREETLIGHTING']], left_on = 'CRASHID', right_on = 'CRASHID', right_index=False, how='left')
print(crash_filtered_statistic.shape)
crash_filtered_statistic.head().T
(35211, 11)
Out[72]:
0
1
2
3
4
CRASHID
2.86524e+08
2.87781e+08
2.88503e+08
2.91274e+08
2.91438e+08
STREETSEGID
2922
2825
12158
2623
2701
REPORTDATE
2014-08-01T00:00:00
2013-02-01T00:00:00
2014-03-23T00:00:00
2013-02-21T00:00:00
2013-09-22T00:00:00
SHAPE_Length
130.278
26.7325
166.31
514.124
143.503
CRASHEVENTTYPES
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDI...
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
CYCLISTSINVOLVED
None
None
None
None
None
FATALITIES
None
None
None
None
None
FIRSTHARMFULEVENTSPECIFICS
Motor Vehicle In Transport
Pedestrian
D.C. Property
Pedestrian
Hit and Run
ISDRINKING
No data provided
No data provided
No data provided
No data provided
No data provided
PEDESTRIANSINVOLVED
None
None
None
None
None
STREETLIGHTING
Street Lights Off
Street Lights Off
Other
Street Lights Off
Street Lights On
In [19]:
unique_crash_event_types = set()
for event in crash_statistic.CRASHEVENTTYPES:
unique_crash_event_types.add(event)
print(len(unique_crash_event_types), unique_crash_event_types)
16 {'COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION', 'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION', 'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED', 'COLLISION_WITH_NON_FIXED, NON_COLLISION', 'NON_COLLISION', 'COLLISION_WITH_FIXED, NON_COLLISION', 'NON_COLLISION, PENDING_INVESTIGATION', 'COLLISION_WITH_FIXED', 'PENDING_INVESTIGATION', 'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION', 'COLLISION_WITH_NON_FIXED', 'COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION', 'COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION', 'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION', 'No data provided', 'COLLISION_WITH_FIXED, PENDING_INVESTIGATION'}
In [20]:
unique_fhes = set()
for event in crash_statistic.FIRSTHARMFULEVENTSPECIFICS:
unique_fhes.add(event)
print(len(unique_fhes), unique_fhes)
44 {'Tree(standing)', 'Concrete Traffic Barrier', 'Other Post, Pole Or Support', 'Mailbox', 'Jackknife', 'Guardrail End', 'Hit and Run', 'Other Non-fixed Object', 'Cargo/Equipment Loss Or Shift', 'Animal', 'Fire/Explosion', 'Other Fixed Object (Wall, Building, Tunnel, Etc.)', 'Commercial Vehicle', 'Bridge Rail', 'Pedestrian', 'Fell/Jumped From Motor Vehicle', 'Impact Attenuator/Crash Cushion', 'Struck By Falling, Shifting Cargo Or Anything Set In Motion By Motor Vehicle', 'Overturn/Rollover', 'Curb', 'Other Non-collision', 'Guardrail Face', 'Injury', 'Motor Vehicle In Transport', 'Utility Pole/light Support', 'Traffic Signal Support', 'Fatality', 'Other Property Damage', 'Bridge Overhead Structure', 'Culvert', 'Fence', 'Ditch', 'Bridge Pier Or Support', 'Parked Motor Vehicle', 'Traffic Sign Support', 'Unknown', 'Other Traffic Barrier', 'null', 'Railway Vehicle (train, engine)', 'D.C. Property', 'Cable Barrier', 'Pedalcycle', 'Embankment', 'Work Zone/maintenance Equipment'}
In [101]:
crash_statistic[crash_statistic.STREETSEGID==2480]
Out[101]:
CRASHID
STREETSEGID
OBJECTID
SHAPE_Length
CRASHEVENTTYPES
CYCLISTSINVOLVED
FATALITIES
FIRSTHARMFULEVENTSPECIFICS
ISDRINKING
PEDESTRIANSINVOLVED
STREETLIGHTING
0
284878528.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
309
284795093.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
null
No data provided
None
Street Lights Off
506
284797373.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
7089
285594380.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
33926
289892181.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
38848
290329548.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
43166
291049567.0
2480.0
305.0
118.998473
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED...
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
52116
292185114.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
53413
292448738.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
63133
294297732.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
66523
294052242.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
72918
295185179.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
74891
295287655.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Other
75895
295486503.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
82504
296822672.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
87948
297411771.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
92158
297501621.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Unknown
94219
298126968.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
98354
298318153.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
104260
300553478.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
107461
403470555.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
113395
401286838.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
117373
417890575.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
120245
407705720.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Pedestrian
No data provided
2.0
Street Lights Off
In [73]:
crash_filtered_statistic[crash_filtered_statistic.STREETSEGID==2480]
Out[73]:
CRASHID
STREETSEGID
REPORTDATE
SHAPE_Length
CRASHEVENTTYPES
CYCLISTSINVOLVED
FATALITIES
FIRSTHARMFULEVENTSPECIFICS
ISDRINKING
PEDESTRIANSINVOLVED
STREETLIGHTING
2392
294297732.0
2480.0
2014-02-22T00:00:00
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
4430
294052242.0
2480.0
2014-01-30T00:00:00
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
8841
295185179.0
2480.0
2013-04-11T00:00:00
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
10100
295287655.0
2480.0
2014-04-10T00:00:00
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Other
10963
295486503.0
2480.0
2013-04-25T00:00:00
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
15523
296822672.0
2480.0
2014-06-27T00:00:00
118.998473
PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
19062
297411771.0
2480.0
2014-07-21T00:00:00
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
22074
297501621.0
2480.0
2013-08-02T00:00:00
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Unknown
23948
298126968.0
2480.0
2014-09-18T00:00:00
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
28081
298318153.0
2480.0
2013-10-20T00:00:00
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
In [21]:
crash_count = crash_statistic.groupby('STREETSEGID').size().reset_index()
In [86]:
crash_filtered_statistic.REPORTDATE = pd.to_datetime(crash_filtered_statistic.REPORTDATE)
In [87]:
crash_filtered_statistic.info()
<class 'pandas.core.frame.DataFrame'>
Int64Index: 35211 entries, 0 to 35210
Data columns (total 11 columns):
CRASHID 35211 non-null float64
STREETSEGID 35211 non-null float64
REPORTDATE 35211 non-null datetime64[ns]
SHAPE_Length 34529 non-null float64
CRASHEVENTTYPES 35211 non-null object
CYCLISTSINVOLVED 0 non-null object
FATALITIES 59 non-null object
FIRSTHARMFULEVENTSPECIFICS 35211 non-null object
ISDRINKING 35211 non-null object
PEDESTRIANSINVOLVED 0 non-null object
STREETLIGHTING 35211 non-null object
dtypes: datetime64[ns](1), float64(3), object(7)
memory usage: 3.2+ MB
In [92]:
from pandas.tseries.resample import TimeGrouper
In [95]:
crash_filtered_statistic.REPORTDATE.dt.month
Out[95]:
0 8
1 2
2 3
3 2
4 9
5 1
6 1
7 1
8 1
9 1
10 1
11 1
12 1
13 1
14 1
15 1
16 1
17 1
18 1
19 1
20 1
21 1
22 1
23 1
24 1
25 1
26 1
27 1
28 1
29 1
..
35181 12
35182 12
35183 12
35184 12
35185 12
35186 12
35187 12
35188 12
35189 12
35190 12
35191 12
35192 12
35193 12
35194 12
35195 12
35196 12
35197 12
35198 12
35199 12
35200 12
35201 12
35202 12
35203 12
35204 12
35205 12
35206 12
35207 12
35208 12
35209 12
35210 12
Name: REPORTDATE, dtype: int64
In [98]:
crash_filtered_count = crash_filtered_statistic.groupby(['STREETSEGID', crash_filtered_statistic.REPORTDATE.dt.month]).size().reset_index()
crash_filtered_count.columns = ['STREETSEGID', 'MONTH', 'monthly_crash_count']
print(crash_filtered_count.shape)
crash_filtered_count.head().T
(23132, 3)
Out[98]:
0
1
2
3
4
STREETSEGID
-11.0
-11.0
-11.0
-11.0
-11.0
MONTH
1.0
2.0
3.0
4.0
5.0
monthly_crash_count
28.0
37.0
40.0
42.0
49.0
In [100]:
crash_count[crash_count.STREETSEGID==2480]
Out[100]:
STREETSEGID
crash_count
1981
2480.0
24
In [104]:
crash_filtered_count[crash_filtered_count.STREETSEGID == 2480]
Out[104]:
STREETSEGID
MONTH
monthly_crash_count
6012
2480.0
1
1
6013
2480.0
2
1
6014
2480.0
4
3
6015
2480.0
6
1
6016
2480.0
7
1
6017
2480.0
8
1
6018
2480.0
9
1
6019
2480.0
10
1
In [22]:
crash_count.columns = ['STREETSEGID', 'crash_count']
crash_count.head().T
Out[22]:
0
1
2
3
4
STREETSEGID
-11.0
1.0
2.0
3.0
4.0
crash_count
1137.0
7.0
14.0
12.0
15.0
In [23]:
crash_gpd[crash_gpd.STREETSEGID=='-11.0'].T
Out[23]:
85
252
691
733
801
826
843
886
893
991
...
118698
118840
119521
119783
119827
119978
121189
122171
122688
124025
ADDRESS1
7TH ST NW & K ST NW
I 395 & MAINE AVE SW
I 295 & MALCOLM X AVE SE
THEODORE ROOSEVELT BRIDGE
7TH ST NW & K ST NW
WASHINGTON CIRCLE
I 295 & MALCOLM X AVE SE
I 395 & MAINE AVE SW
WASHINGTON CIRCLE
I 395 & MAINE AVE SW
...
THOMAS CIRCLE NW
THOMAS CIRCLE NW
THOMAS CIRCLE NW
THOMAS CIRCLE NW
THOMAS CIRCLE NW
THOMAS CIRCLE NW
EASTERN AVE NE / KENILWORTH AVE NE
THOMAS CIRCLE NW
THOMAS CIRCLE NW
THOMAS CIRCLE NW
ADDRESS2
None
None
None
None
None
None
None
None
None
None
...
None
None
None
None
None
None
None
None
None
None
ADDRESS_ID
900796
913126
913182
303204
900796
294277
913182
913126
294277
913126
...
310386
310386
310386
310386
310386
310386
904150
310386
310386
310386
CRASHEVENTTYPES
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED...
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
...
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
CRASHID
2.84948e+08
2.84797e+08
2.84796e+08
2.84875e+08
2.85027e+08
2.85025e+08
2.84948e+08
2.85026e+08
2.85026e+08
2.8495e+08
...
4.06939e+08
4.10058e+08
4.16803e+08
4.16406e+08
4.18086e+08
4.18163e+08
4.16462e+08
4.08507e+08
4.06634e+08
4.16242e+08
CRASHSCENEIMAGE
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
CRIMEID
2.84953e+08
2.84794e+08
2.84793e+08
2.84875e+08
2.85025e+08
2.85027e+08
2.84953e+08
2.85025e+08
2.85025e+08
2.84949e+08
...
4.06937e+08
4.10056e+08
4.16745e+08
4.16405e+08
4.18086e+08
4.18162e+08
4.16462e+08
4.08507e+08
4.06634e+08
4.16241e+08
CYCLISTSINVOLVED
None
None
None
None
None
None
None
None
None
None
...
None
None
None
None
None
None
None
None
None
None
DCLOCATIONBEARING
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONBRIDGE
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONEXITRAMP
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONFEET
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONINTERSECTIONBLOCK
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONMILEPOST
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONOTHER
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONPEPCOPOLLNO
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONSECTION
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONTUNNEL
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DWHSOURCE
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
...
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
FATALITIES
None
None
None
None
None
None
None
None
None
None
...
None
None
None
None
None
None
None
None
None
None
FIRSTHARMFULEVENT
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
...
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
FIRSTHARMFULEVENTIMPACT
null
null
null
null
null
null
null
null
null
null
...
Sideswipe, Same Direction
Sideswipe, Same Direction
Front To Rear
Sideswipe, Same Direction
Front To Rear
Front To Rear
Sideswipe, Same Direction
Rear To Side
Sideswipe, Same Direction
Sideswipe, Same Direction
FIRSTHARMFULEVENTOTHER
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
FIRSTHARMFULEVENTRELATIVELOC
null
null
null
null
null
null
null
null
null
null
...
On Roadway
On Roadway
On Roadway
On Roadway
On Roadway
On Roadway
On Roadway
On Roadway
On Roadway
On Roadway
FIRSTHARMFULEVENTSPECIFICS
null
Motor Vehicle In Transport
Other Fixed Object (Wall, Building, Tunnel, Etc.)
Motor Vehicle In Transport
null
Motor Vehicle In Transport
Unknown
Motor Vehicle In Transport
Motor Vehicle In Transport
Other Non-fixed Object
...
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
Traffic Signal Support
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
INTERSECTIONTYPE
null
null
null
null
null
null
null
null
null
null
...
Roundabout
Roundabout
Roundabout
Roundabout
Roundabout
Roundabout
L-Intersection
Traffic Circle
Roundabout
Not an Intersection
ISCURRENT
1
1
1
1
1
1
1
1
1
1
...
1
1
1
1
1
1
1
1
1
1
ISDELETED
0
0
0
0
0
0
0
0
0
0
...
0
0
0
0
0
0
0
0
0
0
ISDRINKING
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
...
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
ISJUNCTIONINTERCHANGEAREA
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
1
null
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
MAJORCRASHNOTIFIEDPERSONID
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
MAJORINJURIES
None
None
None
None
None
None
2.0
None
None
3.0
...
None
None
None
None
None
None
None
None
None
None
MINORINJURIES
NaN
1
NaN
NaN
NaN
NaN
1
1
NaN
NaN
...
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
3
NaN
NUMBERPHOTOSTAKEN
null
null
null
0
null
0
null
null
7
null
...
null
0
null
6
null
null
0
null
0
0
OBJECTID
3113
3326
3889
3943
2027
2058
2080
2126
2134
2248
...
145957
146144
146959
147279
147329
147503
148947
150150
150786
152438
PEDESTRIANSINVOLVED
None
None
None
None
None
None
None
None
None
None
...
None
None
None
None
None
None
None
None
None
None
POSTEDSPEEDLIMIT
null
null
null
null
null
null
null
null
null
null
...
25
25
25
15
25
25
25
25
15
15
REPORTDATE
2009-02-26T00:00:00
2009-02-06T00:00:00
2009-02-11T00:00:00
2009-02-23T00:00:00
2009-03-20T00:00:00
2009-03-18T00:00:00
2009-03-09T00:00:00
2012-06-14T00:00:00
2009-03-16T00:00:00
2009-03-01T00:00:00
...
2015-12-08T18:45:57
2016-01-28T21:46:15
2016-05-05T12:43:42
2016-04-30T05:04:07
2016-05-25T22:00:10
2016-05-26T21:58:42
2016-05-01T05:53:31
2015-12-31T18:36:09
2015-12-03T18:37:29
2016-04-27T18:54:53
RUNTIME
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
...
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
SCHOOLBUSRELATED
null
null
null
null
null
null
null
null
null
null
...
No
No
No
No
No
No
No
No
No
No
SOURCEADDTIME
2012-04-24T13:24:00
2012-04-19T14:19:00
2012-04-23T13:23:00
2010-10-08T16:46:00
2012-06-19T12:50:00
2009-03-18T17:12:00
2012-04-20T07:35:00
2012-06-14T08:41:00
2009-03-17T03:09:00
2012-05-03T09:11:00
...
2015-12-09T15:12:00
2016-01-28T22:25:00
2016-05-06T07:44:00
2016-04-30T05:59:00
2016-05-25T22:59:00
2016-05-26T22:25:00
2016-05-01T06:14:00
2015-12-31T18:42:00
2015-12-03T21:43:00
2016-04-27T19:28:00
SOURCEMODTIME
None
None
None
None
None
None
None
None
None
None
...
None
None
None
None
None
None
None
None
None
None
STATE
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
...
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
STREETLIGHTING
Street Lights On
Street Lights On
Street Lights On
Street Lights Off
Other
Street Lights Off
Street Lights On
Street Lights On
Street Lights On
Street Lights Off
...
Street Lights On
Street Lights On
Street Lights Off
Street Lights On
Street Lights On
Street Lights On
Street Lights On
Street Lights On
Street Lights Off
Street Lights Off
STREETLIGHTINGOTHER
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
STREETSEGID
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
...
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
TRAFFICCONTROLDEVICES
Signals Pre-timed(multi-phase) (2)
No Controls (2)
No Controls (1)
Other (3)
No Controls (2)
None
Other (2)
No Controls (2)
None
No Controls (3)
...
Signals Fully Actuated(multi-phase) (2)
Signals Fully Actuated(multi-phase) (1), Signa...
Signals Fully Actuated(multi-phase) (2)
Signals Semi-actuated(multi-phase) (1), Signal...
Signals Fully Actuated(multi-phase) (2)
Signals Fully Actuated(multi-phase) (2)
No Controls (2)
Signals Fully Actuated(multi-phase) (2)
Signals Fully Actuated(multi-phase) (3)
Signals Fully Actuated(multi-phase) (1), Signa...
TRAFFICWAYRELATION
Trafficway, On Road
Other
Other
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Other
...
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
TRAFFICWAYRELATIONOTHER
At Intersection
Not at Intersection
null
Not at Intersection
Within 100 of Intersection | Public Space
Within 100 of Intersection
null
null
Not at Intersection
null
...
null
null
null
null
null
null
null
null
null
null
WASMAJORCRASHNOTIFIED
0
0
0
0
0
0
0
0
0
0
...
0
0
0
0
0
0
0
0
0
0
WEATHER
Clear
Clear
Clear
Clear
Clear
Clear
Clear
Clear
Rain
Snow
...
Clear
Clear
Cloudy
Clear
Clear
Clear
Rain
Clear
null
Cloudy
WEREWORKZONEWORKERSPRESENT
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
WORKZONELOCATION
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
WORKZONELOEPRESENT
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
WORKZONETYPE
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
XCOORD
398099
398100
399373
394769
398099
395653
399373
398100
395653
398100
...
397229
397229
397229
397229
397229
397229
405729
397229
397229
397229
Y
38.9021
38.8826
38.845
38.8922
38.9021
38.9025
38.845
38.8826
38.9025
38.8826
...
38.9057
38.9057
38.9057
38.9057
38.9057
38.9057
38.9121
38.9057
38.9057
38.9057
YCOORD
137139
134973
130799
136040
137139
137187
130799
134973
137187
134973
...
137537
137537
137537
137537
137537
137537
138251
137537
137537
137537
geometry
POINT (-77.0219173104 38.9021091423)
POINT (-77.0218970616 38.8825974722)
POINT (-77.0072250388 38.8449988108)
POINT (-77.0603046394 38.8921995199)
POINT (-77.0219173104 38.9021091423)
POINT (-77.05011448090001 38.9025363915)
POINT (-77.0072250388 38.8449988108)
POINT (-77.0218970616 38.8825974722)
POINT (-77.05011448090001 38.9025363915)
POINT (-77.0218970616 38.8825974722)
...
POINT (-77.0319544197 38.9056913703)
POINT (-77.0319544197 38.9056913703)
POINT (-77.0319544197 38.9056913703)
POINT (-77.0319544197 38.9056913703)
POINT (-77.0319544197 38.9056913703)
POINT (-77.0319544197 38.9056913703)
POINT (-76.93394511069998 38.9121113718)
POINT (-77.0319544197 38.9056913703)
POINT (-77.0319544197 38.9056913703)
POINT (-77.0319544197 38.9056913703)
X
-77.0219
-77.0219
-77.0072
-77.0603
-77.0219
-77.0501
-77.0072
-77.0219
-77.0501
-77.0219
...
-77.032
-77.032
-77.032
-77.032
-77.032
-77.032
-76.9339
-77.032
-77.032
-77.032
65 rows × 1137 columns
In [105]:
crash_filtered_gpd[crash_filtered_gpd.STREETSEGID=='-11.0'].T
Out[105]:
58516
58704
58947
58963
60820
61032
61037
61843
61917
62270
...
106162
106580
107031
107819
107879
107952
112954
113142
113153
113233
ADDRESS1
I 295 & SUITLAND PKY SE
7TH ST NW & K ST NW
EASTERN AVE NE / KENILWORTH AVE NE
14TH ST NW / PENNSYLVANIA AVE NW
MINNESOTA AVE SE / PENNSYLVANIA AVE SE
7TH ST NW & K ST NW
KENILWORTH AVE NE & NANNIE HELEN BURROUGHS AVE NE
15TH ST NW / K ST NW
MINNESOTA AVE SE / PENNSYLVANIA AVE SE
19TH ST NE / BENNING RD NE
...
MINNESOTA AVE SE / PENNSYLVANIA AVE SE
MINNESOTA AVE SE / PENNSYLVANIA AVE SE
THEODORE ROOSEVELT BRIDGE
NEW YORK AVE NE / SOUTH DAKOTA AVE NE
STANTON RD SE / SUITLAND PKWY SE
THEODORE ROOSEVELT BRIDGE
15TH ST NW / K ST NW
KENILWORTH AVE NE / NANNIE HELEN BURROUGHS AVE NE
7TH ST NW / K ST NW
MINNESOTA AVE SE / PENNSYLVANIA AVE SE
ADDRESS2
None
None
None
None
None
None
None
None
None
None
...
None
None
None
None
None
None
None
None
None
None
ADDRESS_ID
912699
900796
904150
902090
902809
900796
912830
900720
902809
901591
...
902809
902809
303204
913302
913059
303204
900720
912830
900796
902809
CRASHEVENTTYPES
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
...
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
NON_COLLISION, PENDING_INVESTIGATION
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
CRASHID
2.9365e+08
2.93503e+08
2.93571e+08
2.93569e+08
2.93433e+08
2.93435e+08
2.93435e+08
2.93811e+08
2.93811e+08
2.93814e+08
...
2.9938e+08
2.99283e+08
2.99379e+08
2.9938e+08
2.99281e+08
2.99377e+08
2.99284e+08
2.99279e+08
2.99279e+08
2.99282e+08
CRASHSCENEIMAGE
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
CRIMEID
1.83013e+08
1.82942e+08
1.97406e+08
1.97508e+08
1.8287e+08
1.82671e+08
2.93434e+08
1.97959e+08
1.97959e+08
1.97907e+08
...
2.0161e+08
2.01488e+08
2.01584e+08
2.01682e+08
2.01462e+08
2.01607e+08
2.01464e+08
2.0151e+08
2.01537e+08
2.01512e+08
CYCLISTSINVOLVED
None
None
None
None
None
None
None
None
None
None
...
None
None
None
None
None
None
None
None
None
None
DCLOCATIONBEARING
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONBRIDGE
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONEXITRAMP
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONFEET
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONINTERSECTIONBLOCK
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONMILEPOST
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONOTHER
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONPEPCOPOLLNO
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONSECTION
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DCLOCATIONTUNNEL
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
DWHSOURCE
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
...
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
RMS
FATALITIES
None
None
None
None
None
None
None
None
None
None
...
None
None
None
None
None
None
None
None
None
None
FIRSTHARMFULEVENT
COLLISION_WITH_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_FIXED
...
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
NON_COLLISION
COLLISION_WITH_NON_FIXED
COLLISION_WITH_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
COLLISION_WITH_NON_FIXED
FIRSTHARMFULEVENTIMPACT
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
FIRSTHARMFULEVENTOTHER
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
FIRSTHARMFULEVENTRELATIVELOC
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
FIRSTHARMFULEVENTSPECIFICS
Other Fixed Object (Wall, Building, Tunnel, Etc.)
Motor Vehicle In Transport
Hit and Run
Motor Vehicle In Transport
Motor Vehicle In Transport
Motor Vehicle In Transport
Hit and Run
Motor Vehicle In Transport
Motor Vehicle In Transport
null
...
Motor Vehicle In Transport
Hit and Run
Motor Vehicle In Transport
Hit and Run
Other Non-collision
Other Fixed Object (Wall, Building, Tunnel, Etc.)
Other Fixed Object (Wall, Building, Tunnel, Etc.)
Motor Vehicle In Transport
Hit and Run
Motor Vehicle In Transport
INTERSECTIONTYPE
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
ISCURRENT
1
1
1
1
1
1
1
1
1
1
...
1
1
1
1
1
1
1
1
1
1
ISDELETED
0
0
0
0
0
0
0
0
0
0
...
0
0
0
0
0
0
0
0
0
0
ISDRINKING
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No
...
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No data provided
No
ISJUNCTIONINTERCHANGEAREA
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
...
MAJORCRASHNOTIFIEDPERSONID
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
MAJORINJURIES
None
None
None
None
None
1.0
None
None
None
None
...
None
None
1.0
None
None
None
None
None
None
None
MINORINJURIES
NaN
1
NaN
NaN
NaN
NaN
NaN
NaN
NaN
NaN
...
NaN
NaN
1
NaN
1
NaN
1
NaN
1
NaN
NUMBERPHOTOSTAKEN
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
OBJECTID
73942
74161
74459
74478
76705
76956
76963
77903
77983
78383
...
128914
129390
129897
130022
130092
130170
137851
138091
138102
138196
PEDESTRIANSINVOLVED
None
None
None
None
None
None
None
None
None
None
...
None
None
None
None
None
None
None
None
None
None
POSTEDSPEEDLIMIT
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
REPORTDATE
2013-01-15T00:00:00
2013-01-13T00:00:00
2014-01-02T00:00:00
2014-01-06T00:00:00
2013-01-11T00:00:00
2013-01-05T00:00:00
2013-01-02T00:00:00
2014-01-24T00:00:00
2014-01-23T00:00:00
2014-01-23T00:00:00
...
2014-12-19T00:00:00
2014-12-10T00:00:00
2014-12-17T00:00:00
2014-12-23T00:00:00
2014-12-07T00:00:00
2014-12-18T00:00:00
2014-12-07T00:00:00
2014-12-12T00:00:00
2014-12-12T00:00:00
2014-12-12T00:00:00
RUNTIME
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
...
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
2016-05-27T12:04:00
SCHOOLBUSRELATED
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
SOURCEADDTIME
2013-01-15T21:53:00
2013-01-13T22:22:00
2014-01-02T22:51:00
2014-01-06T20:59:00
2013-01-12T15:30:00
2013-01-06T14:44:00
2013-01-02T19:28:00
2014-01-24T10:15:00
2014-01-23T21:01:00
2014-01-23T04:41:00
...
2014-12-19T12:59:00
2014-12-10T21:41:00
2014-12-17T20:43:00
2014-12-23T23:20:00
2014-12-07T05:09:00
2014-12-18T04:23:00
2014-12-07T13:00:00
2014-12-12T13:11:00
2014-12-13T22:52:00
2014-12-12T00:18:00
SOURCEMODTIME
None
None
None
None
None
None
None
None
None
None
...
None
None
None
None
None
None
None
None
None
None
STATE
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
...
DC
DC
DC
DC
DC
DC
DC
DC
DC
DC
STREETLIGHTING
Street Lights On
Street Lights On
Street Lights On
Street Lights On
Street Lights On
Street Lights On
Street Lights Off
Street Lights Off
Other
Street Lights On
...
Street Lights Off
Street Lights On
Street Lights On
Street Lights On
Other
Street Lights On
Street Lights Off
Other
Street Lights On
Street Lights On
STREETLIGHTINGOTHER
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
daylight
null
null
STREETSEGID
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
...
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
-11.0
TRAFFICCONTROLDEVICES
No Controls (1)
Signals Pre-timed(multi-phase) (2)
Signals Pre-timed(multi-phase) (2)
Signals Pre-timed(multi-phase) (2)
Signals Pre-timed(multi-phase) (2)
Signals Pre-timed(multi-phase) (2)
Signals Pre-timed(multi-phase) (2)
Signals Pre-timed(multi-phase) (2)
Signals Pre-timed(multi-phase) (2)
Unknown (1)
...
Signals Pre-timed(multi-phase) (2)
Signals Pre-timed(multi-phase) (2)
No Controls (4)
No Controls (2)
No Controls (1)
No Controls (1)
Signals Pre-timed(multi-phase) (1)
Signals Pre-timed(multi-phase) (2)
Signals Pre-timed(multi-phase) (2)
Signals Pre-timed(multi-phase) (2)
TRAFFICWAYRELATION
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
...
Other
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
Trafficway, On Road
TRAFFICWAYRELATIONOTHER
Public Space
At Intersection
At Intersection
Within 100 of Intersection | Public Space
At Intersection
At Intersection
At Intersection
Within 100 of Intersection | Public Space
Within 100 of Intersection | Public Space
null
...
Within 100 of Intersection
At Intersection
Public Space
Not at Intersection
Not at Intersection | Public Space
Not at Intersection
At Intersection
At Intersection
Within 100 of Intersection
At Intersection
WASMAJORCRASHNOTIFIED
0
0
0
0
0
0
0
0
0
0
...
0
0
0
0
0
0
0
0
0
0
WEATHER
Rain
Fog, Smog, Smoke
Snow
Clear
Clear
Clear
Clear
Clear
Clear
Cloudy
...
Clear
Clear
Clear
Fog, Smog, Smoke
Rain
Clear
Clear
Clear
Clear
Clear
WEREWORKZONEWORKERSPRESENT
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
WORKZONELOCATION
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
WORKZONELOEPRESENT
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
WORKZONETYPE
null
null
null
null
null
null
null
null
null
null
...
null
null
null
null
null
null
null
null
null
null
XCOORD
400046
398099
405729
397228
402547
398099
404871
397083
402547
402042
...
402547
402547
394769
403918
400525
394769
397083
404871
398099
402547
Y
38.8631
38.9021
38.9121
38.8955
38.8735
38.9021
38.9024
38.9025
38.8735
38.8989
...
38.8735
38.8735
38.8922
38.9182
38.8587
38.8922
38.9025
38.9024
38.9021
38.8735
YCOORD
132808
137139
138251
136406
133960
137139
137177
137185
133960
136784
...
133960
133960
136040
138923
132322
136040
137185
137177
137139
133960
geometry
POINT (-76.9994699268 38.86309399989999)
POINT (-77.0219173104 38.9021091423)
POINT (-76.93394511069998 38.9121113718)
POINT (-77.0319573503 38.8955064277)
POINT (-76.9706502945 38.8734713824)
POINT (-77.0219173104 38.9021091423)
POINT (-76.9438419513 38.9024456084)
POINT (-77.03363388459998 38.9025259845)
POINT (-76.9706502945 38.8734713824)
POINT (-76.9764586126 38.8989108798)
...
POINT (-76.9706502945 38.8734713824)
POINT (-76.9706502945 38.8734713824)
POINT (-77.0603046394 38.8921995199)
POINT (-76.95482178669998 38.9181775489)
POINT (-76.9939578572 38.8587186411)
POINT (-77.0603046394 38.8921995199)
POINT (-77.03363388459998 38.9025259845)
POINT (-76.9438419513 38.9024456084)
POINT (-77.0219173104 38.9021091423)
POINT (-76.9706502945 38.8734713824)
X
-76.9995
-77.0219
-76.9339
-77.032
-76.9707
-77.0219
-76.9438
-77.0336
-76.9707
-76.9765
...
-76.9707
-76.9707
-77.0603
-76.9548
-76.994
-77.0603
-77.0336
-76.9438
-77.0219
-76.9707
65 rows × 486 columns
In [24]:
crash_statistic[pd.isnull(crash_statistic.SHAPE_Length)==0].shape
Out[24]:
(120623, 11)
In [25]:
crash_statistic.shape[0] - crash_statistic[pd.isnull(crash_statistic.SHAPE_Length)==0].shape[0]
Out[25]:
1731
In [106]:
crash_filtered_statistic.shape[0] - crash_filtered_statistic[pd.isnull(crash_filtered_statistic.SHAPE_Length)==0].shape[0]
Out[106]:
682
In [107]:
crash_filtered_statistic[pd.isnull(crash_filtered_statistic.SHAPE_Length)]
Out[107]:
CRASHID
STREETSEGID
REPORTDATE
SHAPE_Length
CRASHEVENTTYPES
CYCLISTSINVOLVED
FATALITIES
FIRSTHARMFULEVENTSPECIFICS
ISDRINKING
PEDESTRIANSINVOLVED
STREETLIGHTING
33
293570929.0
3654.0
2014-01-14
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
72
293571360.0
227.0
2014-01-09
NaN
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED...
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
133
293502802.0
12537.0
2013-01-14
NaN
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED...
None
None
null
No data provided
None
Other
150
293649664.0
-11.0
2013-01-15
NaN
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights On
274
293502862.0
-11.0
2013-01-13
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
395
293570498.0
2731.0
2014-01-03
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Other
468
293571171.0
-11.0
2014-01-02
NaN
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
482
293569373.0
-11.0
2014-01-06
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
594
293433285.0
-11.0
2013-01-11
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
733
293434971.0
-11.0
2013-01-05
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
738
293435028.0
-11.0
2013-01-02
NaN
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
833
293435283.0
100.0
2013-01-09
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
1020
293570035.0
614.0
2014-01-11
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
1135
293815219.0
2731.0
2014-01-16
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
1183
293810870.0
-11.0
2014-01-24
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
1244
293815094.0
15436.0
2014-01-15
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
1254
293811047.0
-11.0
2014-01-23
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Other
1483
293814187.0
-11.0
2014-01-23
NaN
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
None
None
null
No
None
Street Lights On
1488
293814235.0
-11.0
2014-01-22
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
1511
293814158.0
-11.0
2014-01-21
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Unknown
1516
293814408.0
-11.0
2014-01-19
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
1556
293814560.0
-11.0
2014-01-15
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
1557
293814572.0
1879.0
2014-01-21
NaN
COLLISION_WITH_NON_FIXED
None
None
Other Non-fixed Object
No data provided
None
Street Lights Off
1649
293434488.0
-11.0
2013-01-09
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
1653
293432463.0
-11.0
2013-01-03
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
1800
293651594.0
-11.0
2013-01-25
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
1868
293653328.0
-11.0
2013-01-15
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Other Non-fixed Object
No data provided
None
Street Lights On
1877
293813656.0
-11.0
2014-01-28
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
1892
293813850.0
-11.0
2014-01-23
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
1942
293813997.0
-11.0
2014-01-25
NaN
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights On
...
...
...
...
...
...
...
...
...
...
...
...
33327
299045713.0
-11.0
2013-12-10
NaN
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights On
33351
299043376.0
-11.0
2013-12-03
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
33408
299129317.0
-11.0
2013-12-17
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
33455
299043603.0
298.0
2013-12-14
NaN
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDI...
None
None
Other Non-collision
No data provided
None
Other
33569
299043831.0
-11.0
2013-12-07
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
33600
299044804.0
-11.0
2013-12-09
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
33647
299127219.0
2731.0
2013-12-19
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
33675
299044679.0
15435.0
2013-12-04
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
33678
299044691.0
-11.0
2013-12-14
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No
None
Other
33753
299281570.0
227.0
2014-12-16
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
33825
299283619.0
5122.0
2014-12-09
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Other
33920
299278671.0
2731.0
2014-12-06
NaN
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
None
None
null
No data provided
None
Street Lights Off
34031
299378619.0
-11.0
2014-12-22
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
34046
299380348.0
8983.0
2014-12-20
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No
None
Street Lights On
34115
299380794.0
-11.0
2014-12-26
NaN
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
34118
299379624.0
-11.0
2014-12-19
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
34504
299283468.0
-11.0
2014-12-10
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
34643
299045957.0
227.0
2013-12-13
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
34693
299378838.0
614.0
2014-12-17
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
34779
299379157.0
-11.0
2014-12-17
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
34849
299379603.0
-11.0
2014-12-23
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
34899
299280912.0
-11.0
2014-12-07
NaN
NON_COLLISION, PENDING_INVESTIGATION
None
None
Other Non-collision
No data provided
None
Other
34940
299377678.0
2731.0
2014-12-18
NaN
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
34970
299377055.0
-11.0
2014-12-18
NaN
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights On
34983
299281198.0
15576.0
2014-12-08
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
35092
299283705.0
-11.0
2014-12-07
NaN
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
35154
299278778.0
-11.0
2014-12-12
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Other
35160
299278814.0
-11.0
2014-12-12
NaN
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
35200
299280492.0
227.0
2014-12-08
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
35209
299282160.0
-11.0
2014-12-12
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No
None
Street Lights On
682 rows × 11 columns
In [26]:
crash_statistic[pd.isnull(crash_statistic.SHAPE_Length)]
Out[26]:
CRASHID
STREETSEGID
OBJECTID
SHAPE_Length
CRASHEVENTTYPES
CYCLISTSINVOLVED
FATALITIES
FIRSTHARMFULEVENTSPECIFICS
ISDRINKING
PEDESTRIANSINVOLVED
STREETLIGHTING
81
284948143.0
-11.0
NaN
NaN
PENDING_INVESTIGATION
None
None
null
No data provided
None
Street Lights On
247
284796750.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
307
284795042.0
2731.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
338
284797125.0
298.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
397
284873484.0
15424.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Parked Motor Vehicle
No data provided
None
Street Lights On
683
284796027.0
-11.0
NaN
NaN
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED...
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights On
716
284874839.0
1879.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
725
284874961.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
790
285026505.0
-11.0
NaN
NaN
PENDING_INVESTIGATION
None
None
null
No data provided
None
Other
815
285024932.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
832
284948444.0
-11.0
NaN
NaN
PENDING_INVESTIGATION
None
None
Unknown
No data provided
None
Street Lights On
874
285025616.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
881
285025697.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
972
284949229.0
1879.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
976
284949874.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Other Non-fixed Object
No data provided
None
Street Lights Off
1145
284951572.0
-11.0
NaN
NaN
COLLISION_WITH_FIXED, PENDING_INVESTIGATION
None
None
Unknown
No data provided
None
Street Lights On
1347
284953039.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
1374
285024241.0
614.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
1377
285026444.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
1406
284952181.0
298.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Other Non-fixed Object
No data provided
None
Street Lights On
1520
285026071.0
298.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Other
1676
284562363.0
298.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
1790
284563616.0
10606.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
1821
284563001.0
-11.0
NaN
NaN
COLLISION_WITH_FIXED
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights On
1831
284563119.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
1893
284565043.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
1920
284564151.0
614.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
1990
284566166.0
100.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
2056
284638371.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
2182
284639660.0
2731.0
NaN
NaN
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
...
...
...
...
...
...
...
...
...
...
...
...
117697
416802619.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
117955
416405616.0
-11.0
NaN
NaN
COLLISION_WITH_FIXED
None
None
Traffic Signal Support
No data provided
None
Street Lights On
117999
418086184.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
118146
418163202.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
118298
415866475.0
15465.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Parked Motor Vehicle
No data provided
None
Street Lights On
118404
415157898.0
100.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
118470
416939897.0
15438.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
118685
415656149.0
15397.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
118924
415193251.0
15484.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Unknown
No data provided
None
Street Lights Off
119337
416462475.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
119340
416682258.0
2731.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
119490
415561586.0
10606.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
119676
415576447.0
15442.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
119795
417812976.0
15436.0
NaN
NaN
PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
119948
409717388.0
3372.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
120099
409242798.0
2731.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
120290
408507105.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
120352
409952017.0
2731.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
120421
407446554.0
298.0
NaN
NaN
COLLISION_WITH_FIXED
None
None
Utility Pole/light Support
No data provided
None
Street Lights On
120800
406634289.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
121020
406848566.0
298.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
121170
409786524.0
298.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
121204
406642787.0
15397.0
NaN
NaN
COLLISION_WITH_FIXED
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights On
121413
406677453.0
1879.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
121853
415294422.0
15437.0
NaN
NaN
COLLISION_WITH_NON_FIXED
2.0
None
Pedestrian
No data provided
None
Street Lights Off
121919
416440806.0
1879.0
NaN
NaN
COLLISION_WITH_NON_FIXED, NON_COLLISION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
121976
417538802.0
100.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
122108
416242439.0
-11.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
122216
414847027.0
3654.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
122266
415762483.0
2731.0
NaN
NaN
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
1731 rows × 11 columns
In [27]:
crash_stats = crash_statistic[pd.isnull(crash_statistic.SHAPE_Length)==0]
In [108]:
crash_filtered_stats = crash_filtered_statistic[pd.isnull(crash_filtered_statistic.SHAPE_Length)==0]
In [99]:
crash_stats[crash_stats.STREETSEGID==2480]
Out[99]:
CRASHID
STREETSEGID
OBJECTID
SHAPE_Length
CRASHEVENTTYPES
CYCLISTSINVOLVED
FATALITIES
FIRSTHARMFULEVENTSPECIFICS
ISDRINKING
PEDESTRIANSINVOLVED
STREETLIGHTING
crash_count
0
284878528.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
24
306
284795093.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
null
No data provided
None
Street Lights Off
24
501
284797373.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
24
7001
285594380.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
33596
289892181.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
38447
290329548.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
42712
291049567.0
2480.0
305.0
118.998473
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED...
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
24
51518
292185114.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
24
52784
292448738.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
62352
294297732.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
24
65687
294052242.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
71959
295185179.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
73905
295287655.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Other
24
74890
295486503.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
24
81361
296822672.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
24
86703
297411771.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
24
90829
297501621.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Unknown
24
92855
298126968.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
24
96908
298318153.0
2480.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
24
102711
300553478.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
105864
403470555.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
111734
401286838.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
115674
417890575.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
118528
407705720.0
2480.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Pedestrian
No data provided
2.0
Street Lights Off
24
In [28]:
crash_count_drop = crash_stats.groupby('STREETSEGID').size().reset_index()
crash_count_drop.columns = ['STREETSEGID', 'crash_count']
crash_count_drop.head().T
Out[28]:
0
1
2
3
4
STREETSEGID
1.0
2.0
3.0
4.0
5.0
crash_count
7.0
14.0
12.0
15.0
66.0
In [102]:
crash_count_drop[crash_count_drop.STREETSEGID==2480]
Out[102]:
STREETSEGID
crash_count
1968
2480.0
24
In [103]:
crash_stats = crash_count_drop.merge(crash_stats, left_on='STREETSEGID', right_on='STREETSEGID', right_index=False, how='left')
In [104]:
crash_stats[crash_stats.SHAPE_Length==0]
Out[104]:
STREETSEGID
crash_count_x
CRASHID
OBJECTID
SHAPE_Length
CRASHEVENTTYPES
CYCLISTSINVOLVED
FATALITIES
FIRSTHARMFULEVENTSPECIFICS
ISDRINKING
PEDESTRIANSINVOLVED
STREETLIGHTING
crash_count_y
In [109]:
crash_filtered_stats = crash_filtered_count.merge(crash_filtered_stats, left_on='STREETSEGID', right_on='STREETSEGID', right_index=False, how='left')
In [105]:
crash_stats.head().T
Out[105]:
0
1
2
3
4
STREETSEGID
1
1
1
1
1
crash_count_x
7
7
7
7
7
CRASHID
2.90331e+08
2.90253e+08
2.91934e+08
2.97409e+08
2.98315e+08
OBJECTID
10919
10919
10919
10919
10919
SHAPE_Length
180.261
180.261
180.261
180.261
180.261
CRASHEVENTTYPES
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_FIXED
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
CYCLISTSINVOLVED
None
None
None
None
None
FATALITIES
None
None
None
None
None
FIRSTHARMFULEVENTSPECIFICS
Parked Motor Vehicle
Other Fixed Object (Wall, Building, Tunnel, Etc.)
Parked Motor Vehicle
Hit and Run
Parked Motor Vehicle
ISDRINKING
No data provided
No data provided
No data provided
No data provided
No data provided
PEDESTRIANSINVOLVED
None
None
None
None
None
STREETLIGHTING
Street Lights Off
Street Lights Off
Street Lights Off
Street Lights On
Street Lights On
crash_count_y
7
7
7
7
7
In [106]:
crash_stats.shape
Out[106]:
(120623, 13)
In [114]:
crash_filtered_stats = crash_filtered_stats[pd.isnull(crash_filtered_stats.SHAPE_Length)==0]
print(crash_filtered_stats.shape)
crash_filtered_stats.head().T
(230471, 13)
Out[114]:
12
13
14
15
16
STREETSEGID
1
1
1
1
1
MONTH
7
7
7
10
10
monthly_crash_count
1
1
1
1
1
CRASHID
2.97409e+08
2.98315e+08
2.98687e+08
2.97409e+08
2.98315e+08
REPORTDATE
2014-07-17 00:00:00
2014-10-02 00:00:00
2013-11-14 00:00:00
2014-07-17 00:00:00
2014-10-02 00:00:00
SHAPE_Length
180.261
180.261
180.261
180.261
180.261
CRASHEVENTTYPES
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
CYCLISTSINVOLVED
None
None
None
None
None
FATALITIES
None
None
None
None
None
FIRSTHARMFULEVENTSPECIFICS
Hit and Run
Parked Motor Vehicle
Parked Motor Vehicle
Hit and Run
Parked Motor Vehicle
ISDRINKING
No data provided
No data provided
No data provided
No data provided
No data provided
PEDESTRIANSINVOLVED
None
None
None
None
None
STREETLIGHTING
Street Lights On
Street Lights On
Street Lights On
Street Lights On
Street Lights On
In [107]:
crash_stats[crash_stats.STREETSEGID==2480]
Out[107]:
STREETSEGID
crash_count_x
CRASHID
OBJECTID
SHAPE_Length
CRASHEVENTTYPES
CYCLISTSINVOLVED
FATALITIES
FIRSTHARMFULEVENTSPECIFICS
ISDRINKING
PEDESTRIANSINVOLVED
STREETLIGHTING
crash_count_y
32808
2480.0
24
284878528.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
24
32809
2480.0
24
284795093.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
null
No data provided
None
Street Lights Off
24
32810
2480.0
24
284797373.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
24
32811
2480.0
24
285594380.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
32812
2480.0
24
289892181.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
32813
2480.0
24
290329548.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
32814
2480.0
24
291049567.0
305.0
118.998473
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED...
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
24
32815
2480.0
24
292185114.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
24
32816
2480.0
24
292448738.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
32817
2480.0
24
294297732.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
24
32818
2480.0
24
294052242.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
32819
2480.0
24
295185179.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
32820
2480.0
24
295287655.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Other
24
32821
2480.0
24
295486503.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
24
32822
2480.0
24
296822672.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
24
32823
2480.0
24
297411771.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
24
32824
2480.0
24
297501621.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Unknown
24
32825
2480.0
24
298126968.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
24
32826
2480.0
24
298318153.0
305.0
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
24
32827
2480.0
24
300553478.0
305.0
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
32828
2480.0
24
403470555.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
32829
2480.0
24
401286838.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
32830
2480.0
24
417890575.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
24
32831
2480.0
24
407705720.0
305.0
118.998473
COLLISION_WITH_NON_FIXED
None
None
Pedestrian
No data provided
2.0
Street Lights Off
24
In [115]:
crash_filtered_stats[crash_filtered_stats.STREETSEGID==2480]
Out[115]:
STREETSEGID
MONTH
monthly_crash_count
CRASHID
REPORTDATE
SHAPE_Length
CRASHEVENTTYPES
CYCLISTSINVOLVED
FATALITIES
FIRSTHARMFULEVENTSPECIFICS
ISDRINKING
PEDESTRIANSINVOLVED
STREETLIGHTING
71567
2480.0
1
1
294297732.0
2014-02-22
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
71568
2480.0
1
1
294052242.0
2014-01-30
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71569
2480.0
1
1
295185179.0
2013-04-11
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71570
2480.0
1
1
295287655.0
2014-04-10
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Other
71571
2480.0
1
1
295486503.0
2013-04-25
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
71572
2480.0
1
1
296822672.0
2014-06-27
118.998473
PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
71573
2480.0
1
1
297411771.0
2014-07-21
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
71574
2480.0
1
1
297501621.0
2013-08-02
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Unknown
71575
2480.0
1
1
298126968.0
2014-09-18
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
71576
2480.0
1
1
298318153.0
2013-10-20
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
71577
2480.0
2
1
294297732.0
2014-02-22
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
71578
2480.0
2
1
294052242.0
2014-01-30
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71579
2480.0
2
1
295185179.0
2013-04-11
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71580
2480.0
2
1
295287655.0
2014-04-10
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Other
71581
2480.0
2
1
295486503.0
2013-04-25
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
71582
2480.0
2
1
296822672.0
2014-06-27
118.998473
PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
71583
2480.0
2
1
297411771.0
2014-07-21
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
71584
2480.0
2
1
297501621.0
2013-08-02
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Unknown
71585
2480.0
2
1
298126968.0
2014-09-18
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
71586
2480.0
2
1
298318153.0
2013-10-20
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
71587
2480.0
4
3
294297732.0
2014-02-22
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
71588
2480.0
4
3
294052242.0
2014-01-30
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71589
2480.0
4
3
295185179.0
2013-04-11
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71590
2480.0
4
3
295287655.0
2014-04-10
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Other
71591
2480.0
4
3
295486503.0
2013-04-25
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
71592
2480.0
4
3
296822672.0
2014-06-27
118.998473
PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
71593
2480.0
4
3
297411771.0
2014-07-21
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
71594
2480.0
4
3
297501621.0
2013-08-02
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Unknown
71595
2480.0
4
3
298126968.0
2014-09-18
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
71596
2480.0
4
3
298318153.0
2013-10-20
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
...
...
...
...
...
...
...
...
...
...
...
...
...
...
71617
2480.0
8
1
294297732.0
2014-02-22
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
71618
2480.0
8
1
294052242.0
2014-01-30
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71619
2480.0
8
1
295185179.0
2013-04-11
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71620
2480.0
8
1
295287655.0
2014-04-10
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Other
71621
2480.0
8
1
295486503.0
2013-04-25
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
71622
2480.0
8
1
296822672.0
2014-06-27
118.998473
PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
71623
2480.0
8
1
297411771.0
2014-07-21
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
71624
2480.0
8
1
297501621.0
2013-08-02
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Unknown
71625
2480.0
8
1
298126968.0
2014-09-18
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
71626
2480.0
8
1
298318153.0
2013-10-20
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
71627
2480.0
9
1
294297732.0
2014-02-22
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
71628
2480.0
9
1
294052242.0
2014-01-30
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71629
2480.0
9
1
295185179.0
2013-04-11
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71630
2480.0
9
1
295287655.0
2014-04-10
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Other
71631
2480.0
9
1
295486503.0
2013-04-25
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
71632
2480.0
9
1
296822672.0
2014-06-27
118.998473
PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
71633
2480.0
9
1
297411771.0
2014-07-21
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
71634
2480.0
9
1
297501621.0
2013-08-02
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Unknown
71635
2480.0
9
1
298126968.0
2014-09-18
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
71636
2480.0
9
1
298318153.0
2013-10-20
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
71637
2480.0
10
1
294297732.0
2014-02-22
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
71638
2480.0
10
1
294052242.0
2014-01-30
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71639
2480.0
10
1
295185179.0
2013-04-11
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights Off
71640
2480.0
10
1
295287655.0
2014-04-10
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Other
71641
2480.0
10
1
295486503.0
2013-04-25
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Parked Motor Vehicle
No data provided
None
Street Lights Off
71642
2480.0
10
1
296822672.0
2014-06-27
118.998473
PENDING_INVESTIGATION
None
None
Other Fixed Object (Wall, Building, Tunnel, Etc.)
No data provided
None
Street Lights Off
71643
2480.0
10
1
297411771.0
2014-07-21
118.998473
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
None
None
Motor Vehicle In Transport
No data provided
None
Street Lights On
71644
2480.0
10
1
297501621.0
2013-08-02
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Unknown
71645
2480.0
10
1
298126968.0
2014-09-18
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights Off
71646
2480.0
10
1
298318153.0
2013-10-20
118.998473
PENDING_INVESTIGATION
None
None
Hit and Run
No data provided
None
Street Lights On
80 rows × 13 columns
In [33]:
crash_typemerge = crash_stats.groupby(['STREETSEGID', 'CRASHEVENTTYPES']).size().reset_index()
crash_typemerge.columns = ['STREETSEGID', 'CRASHEVENTTYPES', 'count']
print(crash_typemerge.shape)
crash_typemerge.head().T
(28238, 3)
Out[33]:
0
1
2
3
4
STREETSEGID
1
1
1
1
2
CRASHEVENTTYPES
COLLISION_WITH_FIXED
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
NON_COLLISION
PENDING_INVESTIGATION
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_I...
count
1
4
1
1
1
In [118]:
crash_filtered_typemerge = crash_filtered_stats.groupby(['STREETSEGID','MONTH', 'CRASHEVENTTYPES']).size().reset_index()
crash_filtered_typemerge.columns = ['STREETSEGID','MONTH', 'CRASHEVENTTYPES', 'count']
print(crash_filtered_typemerge.shape)
crash_filtered_typemerge.head().T
(49822, 4)
Out[118]:
0
1
2
3
4
STREETSEGID
1
1
1
1
1
MONTH
7
7
10
10
11
CRASHEVENTTYPES
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
PENDING_INVESTIGATION
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION
count
2
1
2
1
2
In [95]:
crash_details = crash_stats[['STREETSEGID', 'SHAPE_Length', 'crash_count']]
In [128]:
print(crash_details.shape)
crash_details.head().T
(9695, 3)
Out[128]:
0
1
2
3
4
STREETSEGID
2480.000000
296.000000
612.000000
12926.000000
628.000000
SHAPE_Length
118.998473
113.594389
191.016915
195.386261
45.258864
crash_count
24.000000
4.000000
42.000000
48.000000
85.000000
In [119]:
crash_filtered_details = crash_filtered_stats[['STREETSEGID', 'SHAPE_Length', 'MONTH', 'monthly_crash_count']]
print(crash_filtered_details.shape)
crash_filtered_details.head().T
(230471, 4)
Out[119]:
12
13
14
15
16
STREETSEGID
1.00000
1.00000
1.00000
1.00000
1.00000
SHAPE_Length
180.26104
180.26104
180.26104
180.26104
180.26104
MONTH
7.00000
7.00000
7.00000
10.00000
10.00000
monthly_crash_count
1.00000
1.00000
1.00000
1.00000
1.00000
In [129]:
crash_details[crash_details.STREETSEGID==2480]
Out[129]:
STREETSEGID
SHAPE_Length
crash_count
0
2480.0
118.998473
24
In [121]:
crash_filtered_details = crash_filtered_details.drop_duplicates()
In [122]:
crash_filtered_details[crash_filtered_details.STREETSEGID==2480]
Out[122]:
STREETSEGID
SHAPE_Length
MONTH
monthly_crash_count
71567
2480.0
118.998473
1
1
71577
2480.0
118.998473
2
1
71587
2480.0
118.998473
4
3
71597
2480.0
118.998473
6
1
71607
2480.0
118.998473
7
1
71617
2480.0
118.998473
8
1
71627
2480.0
118.998473
9
1
71637
2480.0
118.998473
10
1
In [ ]:
unique_crash_event_types = set()
for event in crash_filtered_statistic.CRASHEVENTTYPES:
unique_crash_event_types.add(event)
print(len(unique_crash_event_types), unique_crash_event_types)
In [130]:
for event in unique_crash_event_types:
event_data = crash_typemerge[crash_typemerge.CRASHEVENTTYPES==event]
event_count = event + '_count'
event_data_count = event_data[['STREETSEGID', 'count']]
event_data_count.columns = ['STREETSEGID', event_count]
crash_details = crash_details.merge(event_data_count, left_on = 'STREETSEGID', right_on = 'STREETSEGID', right_index=False, how='left')
In [123]:
unique_crash_event_types = set()
for event in crash_filtered_statistic.CRASHEVENTTYPES:
unique_crash_event_types.add(event)
print(len(unique_crash_event_types), unique_crash_event_types)
16 {'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED', 'COLLISION_WITH_FIXED, NON_COLLISION', 'COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION', 'PENDING_INVESTIGATION', 'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION', 'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION', 'COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION', 'No data provided', 'COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION', 'NON_COLLISION, PENDING_INVESTIGATION', 'COLLISION_WITH_FIXED', 'NON_COLLISION', 'COLLISION_WITH_FIXED, PENDING_INVESTIGATION', 'COLLISION_WITH_NON_FIXED', 'COLLISION_WITH_NON_FIXED, NON_COLLISION', 'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION'}
In [126]:
for event in unique_crash_event_types:
event_data = crash_filtered_typemerge[crash_filtered_typemerge.CRASHEVENTTYPES==event]
event_count = event + '_count'
event_data_count = event_data[['STREETSEGID', 'MONTH', 'count']]
event_data_count.columns = ['STREETSEGID', 'MONTH', event_count]
crash_filtered_details = crash_filtered_details.merge(event_data_count, left_on = ['STREETSEGID', 'MONTH'], right_on = ['STREETSEGID', 'MONTH'], right_index=False, how='left')
In [131]:
crash_details = crash_details.fillna(0)
print(crash_details.shape)
crash_details.head().T
(9695, 19)
Out[131]:
0
1
2
3
4
STREETSEGID
2480.000000
296.000000
612.000000
12926.000000
628.000000
SHAPE_Length
118.998473
113.594389
191.016915
195.386261
45.258864
crash_count
24.000000
4.000000
42.000000
48.000000
85.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
1.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.000000
0.000000
1.000000
0.000000
0.000000
NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
1.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count
0.000000
0.000000
1.000000
0.000000
1.000000
PENDING_INVESTIGATION_count
6.000000
1.000000
3.000000
16.000000
1.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count
5.000000
1.000000
6.000000
4.000000
10.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
2.000000
0.000000
1.000000
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
12.000000
2.000000
26.000000
26.000000
70.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count
0.000000
0.000000
2.000000
1.000000
1.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
1.000000
1.000000
In [127]:
crash_filtered_details = crash_filtered_details.fillna(0)
print(crash_filtered_details.shape)
crash_filtered_details.head().T
(22989, 20)
Out[127]:
0
1
2
3
4
STREETSEGID
1.00000
1.00000
1.00000
2.000000
2.000000
SHAPE_Length
180.26104
180.26104
180.26104
195.020224
195.020224
MONTH
7.00000
10.00000
11.00000
3.000000
4.000000
monthly_crash_count
1.00000
1.00000
1.00000
1.000000
1.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
2.00000
2.00000
2.00000
2.000000
2.000000
PENDING_INVESTIGATION_count
1.00000
1.00000
1.00000
2.000000
2.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
No data provided_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED_count
0.00000
0.00000
0.00000
0.000000
0.000000
NON_COLLISION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.00000
0.00000
0.00000
0.000000
0.000000
In [129]:
crash_filtered_details.drop_duplicates().shape
Out[129]:
(22989, 20)
In [132]:
crash_details.shape
Out[132]:
(9695, 19)
In [133]:
crash_details.columns
Out[133]:
Index(['STREETSEGID', 'SHAPE_Length', 'crash_count',
'COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count',
'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count',
'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count',
'COLLISION_WITH_NON_FIXED, NON_COLLISION_count', 'NON_COLLISION_count',
'COLLISION_WITH_FIXED, NON_COLLISION_count',
'NON_COLLISION, PENDING_INVESTIGATION_count',
'COLLISION_WITH_FIXED_count', 'PENDING_INVESTIGATION_count',
'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count',
'COLLISION_WITH_NON_FIXED_count',
'COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count',
'COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count',
'COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count',
'No data provided_count',
'COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count'],
dtype='object')
In [134]:
def normalize(col_name, df):
col_name_norm = col_name + '_norm'
df[col_name_norm] = df[col_name]+1
df[col_name_norm] = np.log2(df[col_name_norm])
df[col_name_norm] = df[col_name_norm]/df[col_name_norm].max()
In [135]:
for column in crash_details.columns:
if('_count' in column):
col_len = column + '/len'
crash_details[col_len] = crash_details[column]/crash_details.SHAPE_Length
normalize(column, crash_details)
normalize(col_len, crash_details)
In [95]:
for column in crash_filtered_details.columns:
if('len' in column or 'norm' in column):
crash_filtered_details = crash_filtered_details.drop(column,axis=1)
In [97]:
for column in crash_filtered_details.columns:
if('_count' in column):
col_len = column + '/len'
crash_filtered_details[col_len] = crash_filtered_details[column]/crash_filtered_details.SHAPE_Length
normalize(column, crash_filtered_details)
normalize(col_len, crash_filtered_details)
In [98]:
print(crash_filtered_details.shape)
crash_filtered_details.head().T
(22989, 71)
Out[98]:
0
1
2
3
4
STREETSEGID
1.000000
1.000000
1.000000
2.000000
2.000000
SHAPE_Length
180.261040
180.261040
180.261040
195.020224
195.020224
MONTH
7.000000
10.000000
11.000000
3.000000
4.000000
monthly_crash_count
1.000000
1.000000
1.000000
1.000000
1.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
2.000000
2.000000
2.000000
2.000000
2.000000
PENDING_INVESTIGATION_count
1.000000
1.000000
1.000000
2.000000
2.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
monthly_crash_count/len
0.005548
0.005548
0.005548
0.005128
0.005128
monthly_crash_count_norm
0.244651
0.244651
0.244651
0.244651
0.244651
monthly_crash_count/len_norm
0.020019
0.020019
0.020019
0.018508
0.018508
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count/len
0.011095
0.011095
0.011095
0.010255
0.010255
...
...
...
...
...
...
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
71 rows × 5 columns
In [96]:
print(crash_filtered_details.shape)
crash_filtered_details.head().T
(22989, 20)
Out[96]:
0
1
2
3
4
STREETSEGID
1.00000
1.00000
1.00000
2.000000
2.000000
SHAPE_Length
180.26104
180.26104
180.26104
195.020224
195.020224
MONTH
7.00000
10.00000
11.00000
3.000000
4.000000
monthly_crash_count
1.00000
1.00000
1.00000
1.000000
1.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
2.00000
2.00000
2.00000
2.000000
2.000000
PENDING_INVESTIGATION_count
1.00000
1.00000
1.00000
2.000000
2.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
No data provided_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED_count
0.00000
0.00000
0.00000
0.000000
0.000000
NON_COLLISION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.00000
0.00000
0.00000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.00000
0.00000
0.00000
0.000000
0.000000
In [136]:
crash_details = crash_details.drop_duplicates()
print(crash_details.shape)
crash_details.head().T
(9695, 70)
Out[136]:
0
1
2
3
4
STREETSEGID
2480.000000
296.000000
612.000000
12926.000000
628.000000
SHAPE_Length
118.998473
113.594389
191.016915
195.386261
45.258864
crash_count
24.000000
4.000000
42.000000
48.000000
85.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
1.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.000000
0.000000
1.000000
0.000000
0.000000
NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
1.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count
0.000000
0.000000
1.000000
0.000000
1.000000
PENDING_INVESTIGATION_count
6.000000
1.000000
3.000000
16.000000
1.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count
5.000000
1.000000
6.000000
4.000000
10.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
2.000000
0.000000
1.000000
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
12.000000
2.000000
26.000000
26.000000
70.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count
0.000000
0.000000
2.000000
1.000000
1.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
1.000000
1.000000
crash_count/len
0.201683
0.035213
0.219876
0.245667
1.878085
crash_count_norm
0.537244
0.268622
0.627760
0.649561
0.743449
crash_count/len_norm
0.101056
0.019036
0.109321
0.120829
0.581467
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count/len
0.008403
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count_norm
0.262650
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count/len_norm
0.042823
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.005235
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.386853
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.051778
0.000000
0.000000
COLLISION_WITH_FIXED_count/len
0.000000
0.000000
0.005235
0.000000
0.022095
COLLISION_WITH_FIXED_count_norm
0.000000
0.000000
0.235409
0.000000
0.235409
COLLISION_WITH_FIXED_count/len_norm
0.000000
0.000000
0.027133
0.000000
0.113565
PENDING_INVESTIGATION_count/len
0.050421
0.008803
0.015705
0.081889
0.022095
PENDING_INVESTIGATION_count_norm
0.508251
0.181043
0.362085
0.740005
0.181043
PENDING_INVESTIGATION_count/len_norm
0.137092
0.024427
0.043430
0.219356
0.060907
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count/len
0.042017
0.008803
0.031411
0.020472
0.220951
COLLISION_WITH_NON_FIXED_count_norm
0.393458
0.152210
0.427308
0.353421
0.526561
COLLISION_WITH_NON_FIXED_count/len_norm
0.049873
0.010621
0.037476
0.024557
0.241900
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.010470
0.000000
0.022095
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.500000
0.000000
0.315465
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.101644
0.000000
0.213269
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count/len
0.100842
0.017607
0.136114
0.133070
1.546658
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count_norm
0.467294
0.200150
0.600451
0.600451
0.776595
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count/len_norm
0.063863
0.011602
0.084827
0.083044
0.621371
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count/len
0.000000
0.000000
0.010470
0.005118
0.022095
No data provided_count_norm
0.000000
0.000000
0.309003
0.194959
0.194959
No data provided_count/len_norm
0.000000
0.000000
0.012393
0.006074
0.026003
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.005118
0.022095
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.200000
0.200000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.027902
0.119448
70 rows × 5 columns
In [142]:
crash_details.to_csv('../DC Crash Details.csv')
In [99]:
crash_filtered_details.to_csv('../DC_Crash_Details_2013-14.csv')
In [79]:
crash_filtered_details = pd.read_csv('../DC_Crash_Details_2013-14.csv')
In [80]:
crash_filtered_details = crash_filtered_details.drop('Unnamed: 0', axis=1)
print(crash_filtered_details.shape)
crash_filtered_details.head().T
(22989, 37)
Out[80]:
0
1
2
3
4
STREETSEGID
1.000000
1.000000
1.000000
2.000000
2.000000
SHAPE_Length
180.261040
180.261040
180.261040
195.020224
195.020224
MONTH
7.000000
10.000000
11.000000
3.000000
4.000000
monthly_crash_count
1.000000
1.000000
1.000000
1.000000
1.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
2.000000
2.000000
2.000000
2.000000
2.000000
PENDING_INVESTIGATION_count
1.000000
1.000000
1.000000
2.000000
2.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
monthly_crash_count/len
0.005548
0.005548
0.005548
0.005128
0.005128
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count/len
0.011095
0.011095
0.011095
0.010255
0.010255
PENDING_INVESTIGATION_count/len
0.005548
0.005548
0.005548
0.010255
0.010255
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
In [90]:
for column in crash_filtered_details.columns:
if('len' in column or 'norm' in column):
crash_filtered_details = crash_filtered_details.drop(column, axis=1)
In [91]:
for column in crash_filtered_details.columns:
if('_count' in column):
col_len = column + '/len'
crash_filtered_details[col_len] = crash_filtered_details[column]/crash_filtered_details['SHAPE_Length']
normalize(column, crash_filtered_details)
normalize(col_len, crash_filtered_details)
In [100]:
print(crash_filtered_details.shape)
crash_filtered_details.head().T
(22989, 71)
Out[100]:
0
1
2
3
4
STREETSEGID
1.000000
1.000000
1.000000
2.000000
2.000000
SHAPE_Length
180.261040
180.261040
180.261040
195.020224
195.020224
MONTH
7.000000
10.000000
11.000000
3.000000
4.000000
monthly_crash_count
1.000000
1.000000
1.000000
1.000000
1.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
2.000000
2.000000
2.000000
2.000000
2.000000
PENDING_INVESTIGATION_count
1.000000
1.000000
1.000000
2.000000
2.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count
0.000000
0.000000
0.000000
0.000000
0.000000
monthly_crash_count/len
0.005548
0.005548
0.005548
0.005128
0.005128
monthly_crash_count_norm
0.244651
0.244651
0.244651
0.244651
0.244651
monthly_crash_count/len_norm
0.020019
0.020019
0.020019
0.018508
0.018508
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count/len
0.011095
0.011095
0.011095
0.010255
0.010255
...
...
...
...
...
...
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
No data provided_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
NON_COLLISION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
71 rows × 5 columns
In [93]:
print(crash_filtered_details.shape)
print(crash_filtered_details.drop_duplicates().shape)
print(crash_filtered_details.dropna().shape)
(22989, 71)
(22989, 71)
(22989, 71)
In [109]:
for column in crash_filtered_details.columns:
if(not('norm' in column or 'len' in column)):
print(column)
STREETSEGID
SHAPE_Length
MONTH
monthly_crash_count
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count
COLLISION_WITH_FIXED, NON_COLLISION_count
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
PENDING_INVESTIGATION_count
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
COLLISION_WITH_NON_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
No data provided_count
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
NON_COLLISION, PENDING_INVESTIGATION_count
COLLISION_WITH_FIXED_count
NON_COLLISION_count
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count
COLLISION_WITH_NON_FIXED_count
COLLISION_WITH_NON_FIXED, NON_COLLISION_count
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count
In [94]:
crash_filtered_details.to_csv('../DC_Crash_Details_2013-14.csv')
In [138]:
crash_details[crash_details['COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count']==0].shape
Out[138]:
(9387, 70)
In [139]:
crash_details.shape
Out[139]:
(9695, 70)
In [141]:
crash_details[crash_details.STREETSEGID==2480]
Out[141]:
STREETSEGID
SHAPE_Length
crash_count
COLLISION_WITH_FIXED, NON_COLLISION, PENDING_INVESTIGATION_count
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED_count
COLLISION_WITH_NON_FIXED, NON_COLLISION_count
NON_COLLISION_count
COLLISION_WITH_FIXED, NON_COLLISION_count
NON_COLLISION, PENDING_INVESTIGATION_count
...
COLLISION_WITH_NON_FIXED, PENDING_INVESTIGATION_count/len_norm
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count_norm
COLLISION_WITH_FIXED, COLLISION_WITH_NON_FIXED, NON_COLLISION_count/len_norm
No data provided_count/len
No data provided_count_norm
No data provided_count/len_norm
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count/len
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count_norm
COLLISION_WITH_FIXED, PENDING_INVESTIGATION_count/len_norm
0
2480.0
118.998473
24
0.0
1.0
0.0
0.0
0.0
0.0
0.0
...
0.063863
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
0.0
1 rows × 70 columns
In [94]:
unique_rows = set()
for segid in crash_details.STREETSEGID:
unique_rows.add(segid)
print(len(unique_rows), unique_rows)
9695 {1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 11.0, 12.0, 13.0, 14.0, 15.0, 16.0, 17.0, 18.0, 19.0, 22.0, 25.0, 26.0, 27.0, 28.0, 29.0, 30.0, 31.0, 32.0, 33.0, 34.0, 35.0, 36.0, 37.0, 39.0, 40.0, 41.0, 43.0, 44.0, 45.0, 46.0, 47.0, 48.0, 49.0, 50.0, 51.0, 52.0, 53.0, 54.0, 55.0, 56.0, 57.0, 58.0, 59.0, 60.0, 62.0, 63.0, 64.0, 65.0, 66.0, 67.0, 68.0, 69.0, 70.0, 71.0, 72.0, 73.0, 74.0, 75.0, 76.0, 77.0, 78.0, 79.0, 80.0, 81.0, 82.0, 83.0, 84.0, 85.0, 86.0, 87.0, 88.0, 89.0, 90.0, 91.0, 92.0, 93.0, 94.0, 95.0, 96.0, 97.0, 98.0, 99.0, 101.0, 104.0, 105.0, 106.0, 107.0, 108.0, 109.0, 110.0, 112.0, 113.0, 114.0, 115.0, 116.0, 118.0, 119.0, 120.0, 121.0, 123.0, 124.0, 125.0, 126.0, 127.0, 129.0, 130.0, 132.0, 133.0, 134.0, 135.0, 138.0, 139.0, 140.0, 141.0, 142.0, 143.0, 144.0, 145.0, 146.0, 148.0, 150.0, 151.0, 153.0, 155.0, 156.0, 158.0, 159.0, 160.0, 161.0, 162.0, 163.0, 164.0, 165.0, 166.0, 168.0, 170.0, 171.0, 172.0, 173.0, 174.0, 175.0, 176.0, 177.0, 178.0, 179.0, 180.0, 181.0, 182.0, 183.0, 184.0, 185.0, 186.0, 187.0, 189.0, 191.0, 193.0, 194.0, 195.0, 196.0, 197.0, 198.0, 199.0, 200.0, 201.0, 203.0, 204.0, 205.0, 206.0, 208.0, 209.0, 210.0, 212.0, 213.0, 214.0, 218.0, 219.0, 220.0, 221.0, 222.0, 224.0, 225.0, 228.0, 230.0, 231.0, 232.0, 233.0, 234.0, 235.0, 237.0, 238.0, 240.0, 241.0, 242.0, 243.0, 244.0, 246.0, 247.0, 248.0, 250.0, 251.0, 252.0, 253.0, 255.0, 257.0, 259.0, 260.0, 261.0, 262.0, 263.0, 264.0, 265.0, 266.0, 267.0, 268.0, 269.0, 270.0, 271.0, 272.0, 274.0, 275.0, 276.0, 277.0, 278.0, 279.0, 280.0, 281.0, 283.0, 285.0, 286.0, 287.0, 288.0, 289.0, 290.0, 291.0, 292.0, 293.0, 294.0, 295.0, 296.0, 297.0, 299.0, 301.0, 302.0, 303.0, 304.0, 305.0, 307.0, 308.0, 310.0, 312.0, 313.0, 315.0, 317.0, 319.0, 320.0, 321.0, 322.0, 323.0, 324.0, 325.0, 326.0, 327.0, 328.0, 329.0, 330.0, 331.0, 332.0, 334.0, 335.0, 338.0, 339.0, 340.0, 341.0, 342.0, 343.0, 344.0, 345.0, 346.0, 347.0, 348.0, 349.0, 350.0, 351.0, 352.0, 353.0, 355.0, 357.0, 358.0, 359.0, 360.0, 361.0, 362.0, 364.0, 365.0, 366.0, 367.0, 368.0, 370.0, 376.0, 377.0, 378.0, 380.0, 381.0, 382.0, 383.0, 384.0, 385.0, 386.0, 388.0, 389.0, 391.0, 392.0, 393.0, 394.0, 396.0, 397.0, 398.0, 399.0, 400.0, 401.0, 402.0, 403.0, 404.0, 409.0, 410.0, 411.0, 413.0, 414.0, 415.0, 416.0, 417.0, 418.0, 419.0, 421.0, 422.0, 423.0, 425.0, 426.0, 427.0, 428.0, 430.0, 431.0, 432.0, 433.0, 434.0, 435.0, 440.0, 441.0, 442.0, 443.0, 444.0, 445.0, 446.0, 447.0, 449.0, 450.0, 451.0, 452.0, 453.0, 454.0, 457.0, 458.0, 459.0, 460.0, 461.0, 462.0, 463.0, 464.0, 465.0, 466.0, 467.0, 468.0, 469.0, 470.0, 471.0, 472.0, 474.0, 475.0, 477.0, 478.0, 479.0, 481.0, 483.0, 484.0, 485.0, 486.0, 487.0, 488.0, 489.0, 490.0, 491.0, 492.0, 493.0, 494.0, 495.0, 496.0, 497.0, 498.0, 499.0, 500.0, 501.0, 503.0, 504.0, 505.0, 506.0, 507.0, 508.0, 509.0, 510.0, 511.0, 513.0, 514.0, 515.0, 519.0, 521.0, 523.0, 525.0, 526.0, 527.0, 528.0, 529.0, 531.0, 532.0, 533.0, 534.0, 535.0, 536.0, 538.0, 539.0, 540.0, 542.0, 543.0, 544.0, 545.0, 546.0, 547.0, 548.0, 549.0, 550.0, 551.0, 553.0, 554.0, 555.0, 556.0, 557.0, 558.0, 559.0, 560.0, 561.0, 564.0, 565.0, 566.0, 567.0, 568.0, 570.0, 572.0, 573.0, 574.0, 575.0, 576.0, 577.0, 578.0, 579.0, 580.0, 581.0, 582.0, 583.0, 585.0, 587.0, 588.0, 589.0, 590.0, 591.0, 592.0, 593.0, 594.0, 595.0, 596.0, 597.0, 598.0, 600.0, 601.0, 602.0, 604.0, 605.0, 608.0, 609.0, 610.0, 612.0, 613.0, 615.0, 616.0, 617.0, 618.0, 620.0, 621.0, 623.0, 624.0, 625.0, 626.0, 627.0, 628.0, 629.0, 630.0, 631.0, 632.0, 633.0, 634.0, 636.0, 637.0, 638.0, 640.0, 641.0, 642.0, 643.0, 644.0, 645.0, 646.0, 648.0, 649.0, 650.0, 651.0, 652.0, 655.0, 656.0, 657.0, 658.0, 659.0, 661.0, 662.0, 663.0, 665.0, 667.0, 668.0, 669.0, 671.0, 672.0, 673.0, 674.0, 675.0, 676.0, 677.0, 678.0, 679.0, 680.0, 681.0, 683.0, 684.0, 685.0, 686.0, 687.0, 689.0, 690.0, 691.0, 693.0, 694.0, 695.0, 696.0, 697.0, 698.0, 700.0, 701.0, 702.0, 703.0, 704.0, 705.0, 706.0, 707.0, 708.0, 709.0, 710.0, 711.0, 712.0, 713.0, 714.0, 715.0, 717.0, 719.0, 720.0, 721.0, 722.0, 723.0, 725.0, 726.0, 727.0, 728.0, 729.0, 730.0, 732.0, 733.0, 734.0, 736.0, 737.0, 738.0, 740.0, 743.0, 744.0, 745.0, 746.0, 747.0, 748.0, 749.0, 750.0, 751.0, 752.0, 753.0, 755.0, 756.0, 758.0, 759.0, 760.0, 761.0, 762.0, 763.0, 764.0, 765.0, 766.0, 767.0, 768.0, 770.0, 771.0, 772.0, 773.0, 774.0, 775.0, 777.0, 778.0, 779.0, 782.0, 785.0, 787.0, 788.0, 789.0, 790.0, 791.0, 792.0, 794.0, 795.0, 796.0, 797.0, 798.0, 799.0, 800.0, 802.0, 803.0, 804.0, 805.0, 806.0, 808.0, 810.0, 811.0, 813.0, 814.0, 815.0, 816.0, 819.0, 820.0, 821.0, 822.0, 823.0, 824.0, 826.0, 827.0, 828.0, 829.0, 830.0, 831.0, 832.0, 833.0, 834.0, 836.0, 839.0, 840.0, 841.0, 842.0, 843.0, 844.0, 845.0, 847.0, 849.0, 850.0, 853.0, 854.0, 855.0, 856.0, 857.0, 859.0, 860.0, 861.0, 863.0, 864.0, 865.0, 866.0, 868.0, 869.0, 870.0, 872.0, 873.0, 874.0, 875.0, 876.0, 878.0, 880.0, 882.0, 883.0, 885.0, 887.0, 888.0, 889.0, 890.0, 891.0, 892.0, 893.0, 894.0, 897.0, 898.0, 899.0, 901.0, 903.0, 904.0, 906.0, 907.0, 909.0, 910.0, 911.0, 912.0, 913.0, 914.0, 915.0, 916.0, 918.0, 919.0, 920.0, 922.0, 923.0, 924.0, 925.0, 926.0, 927.0, 928.0, 929.0, 930.0, 931.0, 932.0, 933.0, 934.0, 936.0, 937.0, 938.0, 939.0, 940.0, 941.0, 942.0, 943.0, 945.0, 946.0, 947.0, 949.0, 950.0, 951.0, 952.0, 953.0, 955.0, 957.0, 959.0, 960.0, 961.0, 962.0, 963.0, 964.0, 965.0, 966.0, 967.0, 968.0, 969.0, 970.0, 972.0, 973.0, 974.0, 975.0, 976.0, 977.0, 978.0, 979.0, 980.0, 981.0, 982.0, 983.0, 985.0, 986.0, 988.0, 990.0, 991.0, 992.0, 993.0, 997.0, 998.0, 999.0, 1000.0, 1001.0, 1002.0, 1004.0, 1005.0, 1006.0, 1007.0, 1008.0, 1010.0, 1012.0, 1013.0, 1014.0, 1015.0, 1016.0, 1017.0, 1018.0, 1019.0, 1021.0, 1022.0, 1024.0, 1027.0, 1028.0, 1029.0, 1030.0, 1031.0, 1033.0, 1034.0, 1035.0, 1037.0, 1039.0, 1041.0, 1042.0, 1043.0, 1044.0, 1045.0, 1048.0, 1050.0, 1051.0, 1052.0, 1053.0, 1054.0, 1055.0, 1056.0, 1057.0, 1059.0, 1060.0, 1061.0, 1062.0, 1063.0, 1064.0, 1065.0, 1066.0, 1067.0, 1070.0, 1071.0, 1072.0, 1074.0, 1075.0, 1076.0, 1078.0, 1079.0, 1080.0, 1081.0, 1082.0, 1084.0, 1085.0, 1087.0, 1089.0, 1090.0, 1091.0, 1092.0, 1093.0, 1094.0, 1095.0, 1096.0, 1097.0, 1098.0, 1099.0, 1100.0, 1101.0, 1102.0, 1103.0, 1105.0, 1106.0, 1107.0, 1108.0, 1110.0, 1111.0, 1112.0, 1113.0, 1114.0, 1116.0, 1117.0, 1118.0, 1119.0, 1120.0, 1121.0, 1122.0, 1123.0, 1124.0, 1125.0, 1128.0, 1129.0, 1130.0, 1131.0, 1132.0, 1133.0, 1135.0, 1137.0, 1138.0, 1139.0, 1140.0, 1141.0, 1142.0, 1143.0, 1144.0, 1145.0, 1146.0, 1147.0, 1148.0, 1150.0, 1151.0, 1152.0, 1153.0, 1154.0, 1156.0, 1158.0, 1159.0, 1161.0, 1162.0, 1163.0, 1166.0, 1167.0, 1168.0, 1169.0, 1170.0, 1171.0, 1172.0, 1173.0, 1174.0, 1175.0, 1176.0, 1178.0, 1179.0, 1180.0, 1181.0, 1182.0, 1183.0, 1184.0, 1185.0, 1186.0, 1187.0, 1190.0, 1191.0, 1192.0, 1195.0, 1196.0, 1197.0, 1198.0, 1201.0, 1202.0, 1211.0, 1214.0, 1215.0, 1216.0, 1218.0, 1219.0, 1220.0, 1222.0, 1223.0, 1225.0, 1226.0, 1229.0, 1230.0, 1231.0, 1232.0, 1233.0, 1234.0, 1235.0, 1236.0, 1237.0, 1238.0, 1239.0, 1240.0, 1244.0, 1245.0, 1246.0, 1247.0, 1248.0, 1249.0, 1250.0, 1252.0, 1253.0, 1254.0, 1255.0, 1257.0, 1259.0, 1260.0, 1261.0, 1262.0, 1263.0, 1264.0, 1265.0, 1266.0, 1267.0, 1268.0, 1269.0, 1270.0, 1271.0, 1272.0, 1273.0, 1274.0, 1275.0, 1276.0, 1277.0, 1278.0, 1279.0, 1280.0, 1281.0, 1284.0, 1285.0, 1286.0, 1288.0, 1289.0, 1290.0, 1292.0, 1293.0, 1294.0, 1296.0, 1301.0, 1302.0, 1303.0, 1306.0, 1307.0, 1309.0, 1310.0, 1311.0, 1312.0, 1313.0, 1315.0, 1319.0, 1320.0, 1321.0, 1322.0, 1323.0, 1324.0, 1328.0, 1329.0, 1330.0, 1331.0, 1332.0, 1333.0, 1334.0, 1335.0, 1336.0, 1337.0, 1338.0, 1339.0, 1340.0, 1341.0, 1342.0, 1343.0, 1344.0, 1345.0, 1346.0, 1348.0, 1349.0, 1350.0, 1352.0, 1353.0, 1355.0, 1356.0, 1358.0, 1359.0, 1361.0, 1362.0, 1364.0, 1365.0, 1366.0, 1367.0, 1368.0, 1369.0, 1370.0, 1371.0, 1372.0, 1374.0, 1376.0, 1379.0, 1380.0, 1381.0, 1382.0, 1383.0, 1384.0, 1385.0, 1386.0, 1387.0, 1388.0, 1389.0, 1391.0, 1392.0, 1393.0, 1394.0, 1395.0, 1396.0, 1398.0, 1399.0, 1400.0, 1401.0, 1402.0, 1403.0, 1404.0, 1405.0, 1407.0, 1408.0, 1409.0, 1410.0, 1411.0, 1413.0, 1414.0, 1418.0, 1420.0, 1423.0, 1424.0, 1425.0, 1426.0, 1427.0, 1428.0, 1429.0, 1430.0, 1431.0, 1432.0, 1433.0, 1434.0, 1435.0, 1436.0, 1437.0, 1438.0, 1440.0, 1441.0, 1442.0, 1443.0, 1444.0, 1445.0, 1446.0, 1447.0, 1448.0, 1449.0, 1450.0, 1451.0, 1452.0, 1453.0, 1454.0, 1455.0, 1456.0, 1457.0, 1458.0, 1459.0, 1460.0, 1461.0, 1462.0, 1463.0, 1464.0, 1466.0, 1468.0, 1469.0, 1470.0, 1471.0, 1474.0, 1475.0, 1476.0, 1477.0, 1478.0, 1479.0, 1481.0, 1482.0, 1483.0, 1484.0, 1485.0, 1486.0, 1488.0, 1489.0, 1490.0, 1491.0, 1493.0, 1494.0, 1495.0, 1496.0, 1497.0, 1499.0, 1500.0, 1501.0, 1502.0, 1503.0, 1504.0, 1505.0, 1506.0, 1508.0, 1509.0, 1510.0, 1511.0, 1512.0, 1513.0, 1514.0, 1515.0, 1516.0, 1517.0, 1518.0, 1519.0, 1521.0, 1522.0, 1523.0, 1524.0, 1525.0, 1526.0, 1527.0, 1528.0, 1529.0, 1530.0, 1533.0, 1535.0, 1536.0, 1537.0, 1538.0, 1539.0, 1540.0, 1541.0, 1542.0, 1543.0, 1545.0, 1546.0, 1547.0, 1548.0, 1549.0, 1550.0, 1551.0, 1553.0, 1554.0, 1555.0, 1556.0, 1557.0, 1558.0, 1559.0, 1560.0, 1562.0, 1564.0, 1565.0, 1567.0, 1568.0, 1569.0, 1570.0, 1571.0, 1572.0, 1573.0, 1575.0, 1577.0, 1578.0, 1579.0, 1580.0, 1582.0, 1583.0, 1584.0, 1585.0, 1586.0, 1588.0, 1589.0, 1590.0, 1591.0, 1592.0, 1593.0, 1594.0, 1596.0, 1597.0, 1598.0, 1599.0, 1600.0, 1601.0, 1602.0, 1603.0, 1605.0, 1606.0, 1608.0, 1609.0, 1610.0, 1611.0, 1612.0, 1613.0, 1615.0, 1617.0, 1618.0, 1619.0, 1620.0, 1622.0, 1623.0, 1625.0, 1626.0, 1627.0, 1628.0, 1629.0, 1630.0, 1631.0, 1632.0, 1633.0, 1634.0, 1635.0, 1637.0, 1638.0, 1639.0, 1640.0, 1641.0, 1642.0, 1643.0, 1645.0, 1646.0, 1647.0, 1648.0, 1649.0, 1650.0, 1651.0, 1652.0, 1653.0, 1654.0, 1655.0, 1656.0, 1657.0, 1658.0, 1660.0, 1661.0, 1662.0, 1663.0, 1664.0, 1665.0, 1666.0, 1668.0, 1669.0, 1670.0, 1671.0, 1672.0, 1673.0, 1674.0, 1675.0, 1677.0, 1678.0, 1680.0, 1681.0, 1682.0, 1683.0, 1684.0, 1685.0, 1686.0, 1687.0, 1688.0, 1689.0, 1690.0, 1691.0, 1693.0, 1694.0, 1695.0, 1696.0, 1697.0, 1698.0, 1699.0, 1700.0, 1702.0, 1704.0, 1706.0, 1707.0, 1708.0, 1709.0, 1710.0, 1711.0, 1712.0, 1713.0, 1715.0, 1716.0, 1717.0, 1718.0, 1719.0, 1720.0, 1721.0, 1726.0, 1727.0, 1728.0, 1729.0, 1730.0, 1731.0, 1732.0, 1733.0, 1734.0, 1735.0, 1736.0, 1737.0, 1738.0, 1739.0, 1740.0, 1742.0, 1743.0, 1744.0, 1745.0, 1746.0, 1747.0, 1748.0, 1749.0, 1750.0, 1751.0, 1752.0, 1753.0, 1754.0, 1755.0, 1757.0, 1758.0, 1759.0, 1761.0, 1763.0, 1765.0, 1766.0, 1769.0, 1771.0, 1772.0, 1773.0, 1774.0, 1775.0, 1777.0, 1778.0, 1779.0, 1780.0, 1782.0, 1783.0, 1784.0, 1785.0, 1786.0, 1787.0, 1788.0, 1789.0, 1790.0, 1791.0, 1792.0, 1793.0, 1794.0, 1795.0, 1796.0, 1797.0, 1799.0, 1800.0, 1801.0, 1802.0, 1803.0, 1804.0, 1805.0, 1806.0, 1807.0, 1808.0, 1809.0, 1810.0, 1811.0, 1812.0, 1814.0, 1815.0, 1816.0, 1817.0, 1820.0, 1821.0, 1822.0, 1823.0, 1827.0, 1829.0, 1831.0, 1832.0, 1833.0, 1834.0, 1835.0, 1836.0, 1837.0, 1838.0, 1839.0, 1840.0, 1841.0, 1842.0, 1843.0, 1844.0, 1845.0, 1846.0, 1847.0, 1848.0, 1850.0, 1851.0, 1852.0, 1853.0, 1854.0, 1855.0, 1856.0, 1857.0, 1858.0, 1860.0, 1861.0, 1863.0, 1865.0, 1866.0, 1867.0, 1868.0, 1870.0, 1872.0, 1874.0, 1875.0, 1876.0, 1877.0, 1878.0, 1880.0, 1881.0, 1883.0, 1884.0, 1885.0, 1887.0, 1888.0, 1889.0, 1890.0, 1892.0, 1893.0, 1894.0, 1895.0, 1896.0, 1897.0, 1898.0, 1899.0, 1900.0, 1901.0, 1903.0, 1904.0, 1905.0, 1906.0, 1907.0, 1909.0, 1910.0, 1911.0, 1912.0, 1915.0, 1916.0, 1917.0, 1918.0, 1919.0, 1920.0, 1921.0, 1922.0, 1923.0, 1924.0, 1925.0, 1926.0, 1927.0, 1928.0, 1929.0, 1931.0, 1932.0, 1933.0, 1934.0, 1935.0, 1936.0, 1937.0, 1939.0, 1940.0, 1942.0, 1943.0, 1945.0, 1946.0, 1949.0, 1950.0, 1951.0, 1953.0, 1954.0, 1955.0, 1956.0, 1957.0, 1958.0, 1961.0, 1964.0, 1966.0, 1967.0, 1968.0, 1969.0, 1972.0, 1973.0, 1974.0, 1975.0, 1976.0, 1977.0, 1978.0, 1979.0, 1980.0, 1981.0, 1982.0, 1983.0, 1984.0, 1985.0, 1986.0, 1988.0, 1989.0, 1990.0, 1991.0, 1992.0, 1993.0, 1994.0, 1995.0, 1996.0, 1999.0, 2000.0, 2002.0, 2003.0, 2004.0, 2005.0, 2006.0, 2007.0, 2008.0, 2009.0, 2010.0, 2015.0, 2016.0, 2017.0, 2018.0, 2019.0, 2020.0, 2021.0, 2022.0, 2024.0, 2026.0, 2027.0, 2028.0, 2030.0, 2031.0, 2032.0, 2035.0, 2039.0, 2040.0, 2041.0, 2043.0, 2044.0, 2045.0, 2046.0, 2047.0, 2049.0, 2050.0, 2051.0, 2053.0, 2054.0, 2055.0, 2058.0, 2059.0, 2060.0, 2061.0, 2063.0, 2064.0, 2065.0, 2066.0, 2068.0, 2069.0, 2072.0, 2073.0, 2074.0, 2075.0, 2076.0, 2077.0, 2078.0, 2079.0, 2080.0, 2081.0, 2082.0, 2084.0, 2085.0, 2086.0, 2087.0, 2088.0, 2089.0, 2090.0, 2091.0, 2092.0, 2094.0, 2095.0, 2096.0, 2097.0, 2099.0, 2100.0, 2101.0, 2103.0, 2104.0, 2105.0, 2106.0, 2107.0, 2108.0, 2109.0, 2112.0, 2113.0, 2114.0, 2115.0, 2116.0, 2117.0, 2118.0, 2119.0, 2120.0, 2121.0, 2122.0, 2123.0, 2124.0, 2125.0, 2127.0, 2129.0, 2131.0, 2133.0, 2134.0, 2135.0, 2136.0, 2138.0, 2139.0, 2140.0, 2141.0, 2142.0, 2146.0, 2147.0, 2148.0, 2149.0, 2150.0, 2151.0, 2152.0, 2153.0, 2154.0, 2155.0, 2156.0, 2157.0, 2158.0, 2159.0, 2160.0, 2161.0, 2162.0, 2164.0, 2165.0, 2166.0, 2167.0, 2168.0, 2169.0, 2172.0, 2173.0, 2174.0, 2175.0, 2176.0, 2178.0, 2180.0, 2181.0, 2182.0, 2183.0, 2184.0, 2185.0, 2188.0, 2189.0, 2194.0, 2195.0, 2197.0, 2198.0, 2200.0, 2202.0, 2203.0, 2204.0, 2205.0, 2206.0, 2207.0, 2208.0, 2211.0, 2214.0, 2215.0, 2216.0, 2218.0, 2219.0, 2221.0, 2222.0, 2223.0, 2224.0, 2225.0, 2226.0, 2227.0, 2228.0, 2230.0, 2231.0, 2232.0, 2233.0, 2234.0, 2236.0, 2237.0, 2241.0, 2243.0, 2245.0, 2246.0, 2248.0, 2250.0, 2251.0, 2253.0, 2254.0, 2256.0, 2257.0, 2259.0, 2260.0, 2261.0, 2262.0, 2264.0, 2265.0, 2266.0, 2267.0, 2269.0, 2270.0, 2272.0, 2273.0, 2274.0, 2275.0, 2277.0, 2280.0, 2281.0, 2282.0, 2283.0, 2287.0, 2288.0, 2290.0, 2291.0, 2292.0, 2293.0, 2295.0, 2296.0, 2297.0, 2299.0, 2300.0, 2303.0, 2304.0, 2305.0, 2306.0, 2308.0, 2309.0, 2313.0, 2314.0, 2316.0, 2317.0, 2318.0, 2319.0, 2320.0, 2321.0, 2322.0, 2323.0, 2325.0, 2326.0, 2327.0, 2328.0, 2329.0, 2330.0, 2331.0, 2333.0, 2334.0, 2336.0, 2338.0, 2339.0, 2340.0, 2341.0, 2342.0, 2343.0, 2344.0, 2345.0, 2346.0, 2347.0, 2349.0, 2350.0, 2351.0, 2352.0, 2354.0, 2355.0, 2356.0, 2357.0, 2359.0, 2360.0, 2361.0, 2362.0, 2366.0, 2368.0, 2369.0, 2370.0, 2371.0, 2373.0, 2374.0, 2375.0, 2379.0, 2380.0, 2382.0, 2383.0, 2384.0, 2385.0, 2386.0, 2387.0, 2388.0, 2389.0, 2390.0, 2391.0, 2392.0, 2394.0, 2396.0, 2397.0, 2398.0, 2399.0, 2400.0, 2401.0, 2402.0, 2404.0, 2405.0, 2406.0, 2407.0, 2408.0, 2409.0, 2410.0, 2411.0, 2412.0, 2413.0, 2414.0, 2415.0, 2416.0, 2418.0, 2419.0, 2420.0, 2421.0, 2422.0, 2424.0, 2425.0, 2426.0, 2427.0, 2428.0, 2429.0, 2431.0, 2432.0, 2433.0, 2435.0, 2437.0, 2438.0, 2439.0, 2440.0, 2441.0, 2442.0, 2443.0, 2444.0, 2446.0, 2447.0, 2450.0, 2451.0, 2452.0, 2453.0, 2454.0, 2455.0, 2457.0, 2459.0, 2460.0, 2462.0, 2464.0, 2465.0, 2466.0, 2467.0, 2470.0, 2471.0, 2472.0, 2473.0, 2474.0, 2477.0, 2478.0, 2479.0, 2480.0, 2481.0, 2482.0, 2483.0, 2484.0, 2485.0, 2486.0, 2488.0, 2489.0, 2490.0, 2491.0, 2493.0, 2496.0, 2497.0, 2499.0, 2500.0, 2502.0, 2503.0, 2504.0, 2505.0, 2506.0, 2507.0, 2508.0, 2509.0, 2510.0, 2511.0, 2512.0, 2513.0, 2514.0, 2516.0, 2518.0, 2520.0, 2521.0, 2522.0, 2523.0, 2526.0, 2527.0, 2528.0, 2529.0, 2530.0, 2531.0, 2532.0, 2533.0, 2534.0, 2535.0, 2536.0, 2537.0, 2538.0, 2539.0, 2540.0, 2541.0, 2542.0, 2545.0, 2546.0, 2547.0, 2548.0, 2549.0, 2551.0, 2552.0, 2556.0, 2557.0, 2558.0, 2561.0, 2562.0, 2563.0, 2566.0, 2567.0, 2568.0, 2569.0, 2570.0, 2571.0, 2572.0, 2573.0, 2574.0, 2575.0, 2576.0, 2577.0, 2578.0, 2580.0, 2581.0, 2582.0, 2583.0, 2584.0, 2586.0, 2588.0, 2589.0, 2590.0, 2591.0, 2593.0, 2594.0, 2595.0, 2598.0, 2599.0, 2602.0, 2604.0, 2605.0, 2606.0, 2607.0, 2609.0, 2610.0, 2613.0, 2614.0, 2615.0, 2616.0, 2617.0, 2618.0, 2619.0, 2622.0, 2623.0, 2624.0, 2625.0, 2626.0, 2627.0, 2628.0, 2629.0, 2632.0, 2633.0, 2634.0, 2635.0, 2636.0, 2638.0, 2639.0, 2640.0, 2641.0, 2642.0, 2643.0, 2644.0, 2646.0, 2647.0, 2650.0, 2651.0, 2653.0, 2654.0, 2655.0, 2656.0, 2657.0, 2658.0, 2661.0, 2663.0, 2665.0, 2667.0, 2668.0, 2669.0, 2670.0, 2672.0, 2673.0, 2676.0, 2678.0, 2679.0, 2682.0, 2684.0, 2686.0, 2687.0, 2688.0, 2689.0, 2690.0, 2691.0, 2692.0, 2694.0, 2695.0, 2696.0, 2697.0, 2698.0, 2699.0, 2700.0, 2701.0, 2702.0, 2703.0, 2704.0, 2705.0, 2708.0, 2711.0, 2713.0, 2714.0, 2715.0, 2718.0, 2719.0, 2720.0, 2721.0, 2723.0, 2725.0, 2726.0, 2728.0, 2729.0, 2730.0, 2732.0, 2733.0, 2734.0, 2735.0, 2737.0, 2739.0, 2741.0, 2743.0, 2744.0, 2745.0, 2747.0, 2748.0, 2749.0, 2751.0, 2752.0, 2754.0, 2755.0, 2756.0, 2757.0, 2758.0, 2759.0, 2761.0, 2762.0, 2763.0, 2764.0, 2765.0, 2767.0, 2769.0, 2770.0, 2771.0, 2772.0, 2774.0, 2775.0, 2776.0, 2777.0, 2779.0, 2780.0, 2781.0, 2782.0, 2783.0, 2784.0, 2787.0, 2788.0, 2789.0, 2790.0, 2791.0, 2792.0, 2798.0, 2801.0, 2803.0, 2804.0, 2805.0, 2806.0, 2808.0, 2809.0, 2811.0, 2815.0, 2817.0, 2818.0, 2821.0, 2823.0, 2824.0, 2825.0, 2828.0, 2829.0, 2831.0, 2832.0, 2833.0, 2834.0, 2835.0, 2836.0, 2838.0, 2842.0, 2844.0, 2845.0, 2846.0, 2847.0, 2848.0, 2850.0, 2851.0, 2854.0, 2855.0, 2858.0, 2860.0, 2862.0, 2863.0, 2865.0, 2866.0, 2867.0, 2870.0, 2871.0, 2875.0, 2876.0, 2877.0, 2878.0, 2881.0, 2882.0, 2883.0, 2884.0, 2886.0, 2887.0, 2888.0, 2889.0, 2890.0, 2892.0, 2893.0, 2894.0, 2896.0, 2897.0, 2900.0, 2901.0, 2902.0, 2904.0, 2905.0, 2906.0, 2907.0, 2908.0, 2909.0, 2910.0, 2911.0, 2912.0, 2913.0, 2914.0, 2915.0, 2916.0, 2917.0, 2919.0, 2920.0, 2921.0, 2922.0, 2924.0, 2925.0, 2926.0, 2927.0, 2928.0, 2929.0, 2931.0, 2932.0, 2933.0, 2936.0, 2937.0, 2938.0, 2939.0, 2940.0, 2941.0, 2942.0, 2943.0, 2944.0, 2945.0, 2946.0, 2947.0, 2948.0, 2949.0, 2950.0, 2952.0, 2953.0, 2954.0, 2959.0, 2960.0, 2961.0, 2963.0, 2964.0, 2965.0, 2966.0, 2967.0, 2968.0, 2969.0, 2970.0, 2971.0, 2972.0, 2973.0, 2975.0, 2976.0, 2977.0, 2978.0, 2979.0, 2982.0, 2983.0, 2984.0, 2986.0, 2991.0, 2993.0, 2995.0, 2997.0, 2999.0, 3000.0, 3001.0, 3003.0, 3004.0, 3005.0, 3006.0, 3008.0, 3009.0, 3010.0, 3011.0, 3012.0, 3013.0, 3014.0, 3015.0, 3016.0, 3017.0, 3019.0, 3022.0, 3023.0, 3024.0, 3025.0, 3026.0, 3028.0, 3030.0, 3032.0, 3034.0, 3035.0, 3036.0, 3039.0, 3041.0, 3042.0, 3043.0, 3044.0, 3045.0, 3046.0, 3047.0, 3048.0, 3051.0, 3053.0, 3055.0, 3056.0, 3057.0, 3058.0, 3059.0, 3060.0, 3062.0, 3063.0, 3064.0, 3065.0, 3066.0, 3067.0, 3070.0, 3071.0, 3072.0, 3073.0, 3075.0, 3076.0, 3077.0, 3082.0, 3083.0, 3086.0, 3087.0, 3089.0, 3090.0, 3091.0, 3092.0, 3093.0, 3096.0, 3098.0, 3099.0, 3106.0, 3107.0, 3108.0, 3109.0, 3110.0, 3111.0, 3112.0, 3113.0, 3116.0, 3117.0, 3118.0, 3120.0, 3121.0, 3122.0, 3123.0, 3124.0, 3125.0, 3126.0, 3127.0, 3128.0, 3129.0, 3130.0, 3131.0, 3133.0, 3134.0, 3135.0, 3136.0, 3137.0, 3139.0, 3141.0, 3142.0, 3144.0, 3145.0, 3146.0, 3147.0, 3148.0, 3149.0, 3150.0, 3152.0, 3153.0, 3154.0, 3156.0, 3158.0, 3159.0, 3160.0, 3161.0, 3162.0, 3163.0, 3164.0, 3165.0, 3166.0, 3167.0, 3168.0, 3172.0, 3174.0, 3175.0, 3177.0, 3178.0, 3180.0, 3181.0, 3182.0, 3184.0, 3185.0, 3188.0, 3190.0, 3191.0, 3192.0, 3193.0, 3196.0, 3203.0, 3204.0, 3207.0, 3212.0, 3213.0, 3215.0, 3216.0, 3217.0, 3218.0, 3220.0, 3221.0, 3223.0, 3224.0, 3225.0, 3226.0, 3227.0, 3229.0, 3230.0, 3231.0, 3232.0, 3233.0, 3234.0, 3235.0, 3236.0, 3237.0, 3238.0, 3241.0, 3242.0, 3243.0, 3244.0, 3245.0, 3246.0, 3248.0, 3249.0, 3250.0, 3251.0, 3252.0, 3254.0, 3255.0, 3256.0, 3257.0, 3258.0, 3259.0, 3260.0, 3262.0, 3264.0, 3265.0, 3266.0, 3267.0, 3269.0, 3270.0, 3271.0, 3272.0, 3273.0, 3274.0, 3275.0, 3276.0, 3277.0, 3278.0, 3279.0, 3282.0, 3283.0, 3284.0, 3285.0, 3287.0, 3288.0, 3289.0, 3291.0, 3292.0, 3293.0, 3294.0, 3295.0, 3296.0, 3298.0, 3300.0, 3301.0, 3302.0, 3303.0, 3304.0, 3305.0, 3306.0, 3307.0, 3308.0, 3309.0, 3310.0, 3312.0, 3313.0, 3315.0, 3316.0, 3317.0, 3318.0, 3319.0, 3320.0, 3321.0, 3322.0, 3324.0, 3325.0, 3326.0, 3327.0, 3329.0, 3330.0, 3332.0, 3334.0, 3338.0, 3339.0, 3340.0, 3341.0, 3342.0, 3343.0, 3344.0, 3347.0, 3348.0, 3349.0, 3350.0, 3353.0, 3354.0, 3356.0, 3357.0, 3358.0, 3359.0, 3360.0, 3362.0, 3364.0, 3365.0, 3366.0, 3368.0, 3369.0, 3371.0, 3373.0, 3374.0, 3375.0, 3376.0, 3377.0, 3378.0, 3379.0, 3381.0, 3382.0, 3384.0, 3385.0, 3387.0, 3389.0, 3390.0, 3392.0, 3393.0, 3394.0, 3395.0, 3397.0, 3399.0, 3400.0, 3401.0, 3402.0, 3403.0, 3404.0, 3405.0, 3406.0, 3407.0, 3409.0, 3410.0, 3412.0, 3413.0, 3416.0, 3417.0, 3418.0, 3419.0, 3420.0, 3421.0, 3422.0, 3423.0, 3424.0, 3425.0, 3426.0, 3427.0, 3429.0, 3430.0, 3431.0, 3432.0, 3433.0, 3434.0, 3437.0, 3438.0, 3439.0, 3441.0, 3442.0, 3444.0, 3445.0, 3446.0, 3447.0, 3448.0, 3449.0, 3450.0, 3451.0, 3453.0, 3454.0, 3455.0, 3456.0, 3459.0, 3460.0, 3461.0, 3462.0, 3464.0, 3465.0, 3466.0, 3468.0, 3469.0, 3470.0, 3471.0, 3473.0, 3474.0, 3475.0, 3476.0, 3478.0, 3479.0, 3482.0, 3483.0, 3484.0, 3485.0, 3486.0, 3489.0, 3490.0, 3491.0, 3492.0, 3493.0, 3495.0, 3498.0, 3501.0, 3502.0, 3503.0, 3504.0, 3505.0, 3508.0, 3509.0, 3510.0, 3513.0, 3514.0, 3515.0, 3516.0, 3517.0, 3520.0, 3521.0, 3522.0, 3523.0, 3524.0, 3525.0, 3527.0, 3528.0, 3529.0, 3530.0, 3531.0, 3532.0, 3536.0, 3537.0, 3539.0, 3540.0, 3542.0, 3543.0, 3544.0, 3546.0, 3547.0, 3548.0, 3550.0, 3552.0, 3554.0, 3556.0, 3558.0, 3559.0, 3560.0, 3561.0, 3562.0, 3565.0, 3566.0, 3567.0, 3568.0, 3569.0, 3571.0, 3572.0, 3574.0, 3575.0, 3576.0, 3579.0, 3580.0, 3581.0, 3583.0, 3584.0, 3586.0, 3588.0, 3589.0, 3592.0, 3593.0, 3595.0, 3596.0, 3597.0, 3598.0, 3599.0, 3600.0, 3603.0, 3604.0, 3605.0, 3606.0, 3609.0, 3611.0, 3612.0, 3614.0, 3615.0, 3616.0, 3617.0, 3621.0, 3623.0, 3625.0, 3627.0, 3628.0, 3629.0, 3630.0, 3631.0, 3632.0, 3636.0, 3637.0, 3638.0, 3639.0, 3640.0, 3641.0, 3642.0, 3643.0, 3644.0, 3646.0, 3647.0, 3649.0, 3650.0, 3651.0, 3653.0, 3655.0, 3656.0, 3657.0, 3658.0, 3659.0, 3663.0, 3664.0, 3669.0, 3670.0, 3671.0, 3673.0, 3674.0, 3676.0, 3677.0, 3678.0, 3679.0, 3680.0, 3681.0, 3682.0, 3683.0, 3684.0, 3686.0, 3687.0, 3688.0, 3690.0, 3691.0, 3692.0, 3694.0, 3695.0, 3696.0, 3697.0, 3698.0, 3699.0, 3700.0, 3701.0, 3706.0, 3708.0, 3709.0, 3712.0, 3713.0, 3714.0, 3716.0, 3717.0, 3720.0, 3721.0, 3724.0, 3725.0, 3726.0, 3727.0, 3730.0, 3732.0, 3734.0, 3735.0, 3736.0, 3737.0, 3738.0, 3739.0, 3740.0, 3742.0, 3743.0, 3745.0, 3747.0, 3749.0, 3750.0, 3752.0, 3753.0, 3756.0, 3758.0, 3761.0, 3762.0, 3764.0, 3765.0, 3767.0, 3768.0, 3769.0, 3770.0, 3771.0, 3773.0, 3774.0, 3775.0, 3776.0, 3777.0, 3778.0, 3779.0, 3780.0, 3781.0, 3782.0, 3783.0, 3784.0, 3785.0, 3786.0, 3787.0, 3788.0, 3789.0, 3793.0, 3795.0, 3796.0, 3797.0, 3799.0, 3800.0, 3801.0, 3802.0, 3803.0, 3804.0, 3806.0, 3807.0, 3808.0, 3810.0, 3811.0, 3812.0, 3813.0, 3814.0, 3815.0, 3816.0, 3817.0, 3819.0, 3820.0, 3823.0, 3825.0, 3826.0, 3827.0, 3828.0, 3829.0, 3830.0, 3831.0, 3832.0, 3833.0, 3834.0, 3837.0, 3840.0, 3843.0, 3844.0, 3845.0, 3846.0, 3847.0, 3848.0, 3849.0, 3850.0, 3851.0, 3852.0, 3853.0, 3854.0, 3856.0, 3857.0, 3858.0, 3861.0, 3862.0, 3863.0, 3864.0, 3865.0, 3866.0, 3867.0, 3868.0, 3869.0, 3870.0, 3873.0, 3874.0, 3875.0, 3876.0, 3877.0, 3878.0, 3883.0, 3884.0, 3885.0, 3889.0, 3890.0, 3891.0, 3892.0, 3893.0, 3894.0, 3895.0, 3896.0, 3898.0, 3899.0, 3900.0, 3905.0, 3906.0, 3907.0, 3911.0, 3912.0, 3914.0, 3915.0, 3917.0, 3918.0, 3919.0, 3920.0, 3921.0, 3923.0, 3925.0, 3926.0, 3927.0, 3928.0, 3929.0, 3931.0, 3932.0, 3933.0, 3934.0, 3935.0, 3936.0, 3937.0, 3939.0, 3940.0, 3942.0, 3943.0, 3944.0, 3945.0, 3946.0, 3947.0, 3948.0, 3949.0, 3950.0, 3952.0, 3953.0, 3954.0, 3955.0, 3957.0, 3958.0, 3960.0, 3961.0, 3962.0, 3963.0, 3964.0, 3967.0, 3968.0, 3969.0, 3970.0, 3971.0, 3972.0, 3973.0, 3976.0, 3978.0, 3979.0, 3980.0, 3981.0, 3983.0, 3984.0, 3986.0, 3989.0, 3990.0, 3991.0, 3992.0, 3993.0, 3994.0, 3995.0, 3996.0, 3997.0, 3998.0, 3999.0, 4000.0, 4001.0, 4003.0, 4004.0, 4005.0, 4006.0, 4007.0, 4008.0, 4010.0, 4012.0, 4013.0, 4014.0, 4016.0, 4017.0, 4018.0, 4019.0, 4021.0, 4024.0, 4026.0, 4029.0, 4030.0, 4031.0, 4032.0, 4033.0, 4034.0, 4036.0, 4038.0, 4039.0, 4040.0, 4042.0, 4043.0, 4044.0, 4045.0, 4046.0, 4047.0, 4049.0, 4050.0, 4053.0, 4054.0, 4055.0, 4056.0, 4057.0, 4058.0, 4059.0, 4060.0, 4061.0, 4063.0, 4064.0, 4065.0, 4066.0, 4067.0, 4068.0, 4069.0, 4070.0, 4071.0, 4072.0, 4073.0, 4077.0, 4078.0, 4079.0, 4080.0, 4081.0, 4082.0, 4083.0, 4084.0, 4085.0, 4086.0, 4087.0, 4088.0, 4089.0, 4090.0, 4091.0, 4092.0, 4094.0, 4095.0, 4096.0, 4097.0, 4098.0, 4099.0, 4100.0, 4102.0, 4103.0, 4104.0, 4105.0, 4106.0, 4108.0, 4109.0, 4111.0, 4112.0, 4114.0, 4116.0, 4118.0, 4119.0, 4120.0, 4122.0, 4123.0, 4124.0, 4125.0, 4126.0, 4127.0, 4128.0, 4130.0, 4131.0, 4132.0, 4133.0, 4134.0, 4138.0, 4139.0, 4140.0, 4141.0, 4142.0, 4144.0, 4145.0, 4146.0, 4147.0, 4148.0, 4150.0, 4151.0, 4152.0, 4153.0, 4154.0, 4155.0, 4156.0, 4157.0, 4158.0, 4159.0, 4162.0, 4164.0, 4165.0, 4167.0, 4169.0, 4173.0, 4175.0, 4176.0, 4177.0, 4178.0, 4179.0, 4180.0, 4181.0, 4182.0, 4183.0, 4184.0, 4185.0, 4186.0, 4187.0, 4188.0, 4190.0, 4191.0, 4192.0, 4195.0, 4196.0, 4197.0, 4198.0, 4200.0, 4201.0, 4203.0, 4204.0, 4206.0, 4207.0, 4209.0, 4210.0, 4211.0, 4212.0, 4213.0, 4217.0, 4218.0, 4219.0, 4220.0, 4221.0, 4222.0, 4223.0, 4224.0, 4227.0, 4228.0, 4229.0, 4232.0, 4233.0, 4234.0, 4236.0, 4237.0, 4238.0, 4239.0, 4241.0, 4243.0, 4245.0, 4246.0, 4249.0, 4251.0, 4252.0, 4253.0, 4254.0, 4255.0, 4256.0, 4257.0, 4258.0, 4259.0, 4260.0, 4261.0, 4263.0, 4264.0, 4265.0, 4266.0, 4267.0, 4268.0, 4269.0, 4273.0, 4275.0, 4276.0, 4277.0, 4278.0, 4279.0, 4280.0, 4282.0, 4283.0, 4284.0, 4286.0, 4287.0, 4288.0, 4289.0, 4290.0, 4291.0, 4292.0, 4293.0, 4294.0, 4295.0, 4297.0, 4298.0, 4300.0, 4301.0, 4302.0, 4303.0, 4304.0, 4305.0, 4306.0, 4307.0, 4309.0, 4310.0, 4311.0, 4312.0, 4314.0, 4316.0, 4317.0, 4319.0, 4320.0, 4321.0, 4322.0, 4323.0, 4327.0, 4328.0, 4329.0, 4331.0, 4332.0, 4334.0, 4335.0, 4336.0, 4337.0, 4338.0, 4339.0, 4340.0, 4341.0, 4343.0, 4344.0, 4345.0, 4346.0, 4347.0, 4350.0, 4351.0, 4352.0, 4353.0, 4354.0, 4355.0, 4356.0, 4357.0, 4358.0, 4359.0, 4361.0, 4362.0, 4364.0, 4366.0, 4368.0, 4369.0, 4370.0, 4371.0, 4372.0, 4374.0, 4375.0, 4376.0, 4377.0, 4378.0, 4379.0, 4380.0, 4381.0, 4382.0, 4385.0, 4386.0, 4388.0, 4389.0, 4390.0, 4391.0, 4392.0, 4393.0, 4394.0, 4396.0, 4397.0, 4398.0, 4399.0, 4401.0, 4403.0, 4404.0, 4405.0, 4406.0, 4407.0, 4408.0, 4410.0, 4413.0, 4414.0, 4415.0, 4416.0, 4417.0, 4419.0, 4420.0, 4421.0, 4424.0, 4425.0, 4429.0, 4430.0, 4431.0, 4434.0, 4435.0, 4437.0, 4439.0, 4440.0, 4441.0, 4443.0, 4444.0, 4445.0, 4446.0, 4447.0, 4448.0, 4449.0, 4451.0, 4453.0, 4455.0, 4456.0, 4457.0, 4459.0, 4460.0, 4462.0, 4466.0, 4467.0, 4468.0, 4469.0, 4470.0, 4471.0, 4474.0, 4475.0, 4477.0, 4478.0, 4479.0, 4480.0, 4481.0, 4482.0, 4483.0, 4484.0, 4485.0, 4486.0, 4489.0, 4491.0, 4492.0, 4493.0, 4494.0, 4495.0, 4497.0, 4499.0, 4501.0, 4502.0, 4503.0, 4504.0, 4506.0, 4507.0, 4508.0, 4509.0, 4511.0, 4512.0, 4514.0, 4515.0, 4517.0, 4519.0, 4521.0, 4522.0, 4524.0, 4526.0, 4529.0, 4530.0, 4531.0, 4532.0, 4533.0, 4534.0, 4535.0, 4536.0, 4540.0, 4541.0, 4543.0, 4544.0, 4545.0, 4546.0, 4547.0, 4548.0, 4550.0, 4551.0, 4552.0, 4554.0, 4556.0, 4557.0, 4558.0, 4559.0, 4560.0, 4561.0, 4562.0, 4563.0, 4564.0, 4565.0, 4568.0, 4571.0, 4572.0, 4573.0, 4574.0, 4575.0, 4576.0, 4577.0, 4578.0, 4579.0, 4580.0, 4581.0, 4582.0, 4583.0, 4586.0, 4587.0, 4591.0, 4592.0, 4593.0, 4594.0, 4596.0, 4598.0, 4599.0, 4600.0, 4601.0, 4602.0, 4603.0, 4604.0, 4606.0, 4608.0, 4609.0, 4610.0, 4611.0, 4612.0, 4613.0, 4614.0, 4615.0, 4616.0, 4617.0, 4618.0, 4619.0, 4620.0, 4621.0, 4623.0, 4624.0, 4626.0, 4627.0, 4628.0, 4629.0, 4630.0, 4631.0, 4632.0, 4634.0, 4635.0, 4636.0, 4637.0, 4638.0, 4641.0, 4642.0, 4643.0, 4644.0, 4645.0, 4646.0, 4647.0, 4649.0, 4650.0, 4653.0, 4654.0, 4655.0, 4656.0, 4658.0, 4659.0, 4660.0, 4661.0, 4662.0, 4663.0, 4664.0, 4666.0, 4667.0, 4668.0, 4669.0, 4671.0, 4672.0, 4674.0, 4675.0, 4676.0, 4677.0, 4678.0, 4679.0, 4680.0, 4681.0, 4683.0, 4685.0, 4687.0, 4688.0, 4689.0, 4690.0, 4691.0, 4693.0, 4695.0, 4696.0, 4698.0, 4699.0, 4700.0, 4701.0, 4702.0, 4704.0, 4705.0, 4706.0, 4707.0, 4711.0, 4712.0, 4713.0, 4714.0, 4716.0, 4717.0, 4718.0, 4719.0, 4720.0, 4721.0, 4722.0, 4723.0, 4725.0, 4726.0, 4727.0, 4728.0, 4729.0, 4730.0, 4733.0, 4734.0, 4738.0, 4740.0, 4741.0, 4742.0, 4745.0, 4746.0, 4749.0, 4750.0, 4751.0, 4752.0, 4753.0, 4754.0, 4755.0, 4757.0, 4758.0, 4760.0, 4761.0, 4762.0, 4763.0, 4765.0, 4766.0, 4767.0, 4768.0, 4769.0, 4771.0, 4773.0, 4774.0, 4776.0, 4777.0, 4778.0, 4779.0, 4782.0, 4783.0, 4784.0, 4786.0, 4788.0, 4789.0, 4791.0, 4792.0, 4794.0, 4795.0, 4798.0, 4799.0, 4800.0, 4801.0, 4802.0, 4803.0, 4804.0, 4805.0, 4806.0, 4807.0, 4810.0, 4812.0, 4813.0, 4814.0, 4816.0, 4817.0, 4818.0, 4819.0, 4820.0, 4821.0, 4822.0, 4823.0, 4824.0, 4826.0, 4827.0, 4828.0, 4829.0, 4830.0, 4832.0, 4833.0, 4835.0, 4836.0, 4837.0, 4838.0, 4839.0, 4840.0, 4841.0, 4842.0, 4843.0, 4844.0, 4845.0, 4846.0, 4847.0, 4848.0, 4849.0, 4850.0, 4851.0, 4853.0, 4854.0, 4855.0, 4856.0, 4857.0, 4859.0, 4860.0, 4861.0, 4865.0, 4866.0, 4867.0, 4868.0, 4869.0, 4870.0, 4871.0, 4872.0, 4873.0, 4874.0, 4875.0, 4876.0, 4877.0, 4878.0, 4879.0, 4880.0, 4882.0, 4883.0, 4884.0, 4885.0, 4886.0, 4888.0, 4889.0, 4890.0, 4891.0, 4894.0, 4895.0, 4896.0, 4897.0, 4898.0, 4899.0, 4900.0, 4902.0, 4903.0, 4905.0, 4908.0, 4909.0, 4910.0, 4911.0, 4912.0, 4914.0, 4915.0, 4916.0, 4919.0, 4920.0, 4921.0, 4922.0, 4923.0, 4924.0, 4925.0, 4926.0, 4927.0, 4928.0, 4929.0, 4930.0, 4931.0, 4932.0, 4933.0, 4934.0, 4935.0, 4936.0, 4938.0, 4940.0, 4942.0, 4944.0, 4945.0, 4946.0, 4948.0, 4950.0, 4952.0, 4953.0, 4954.0, 4955.0, 4956.0, 4958.0, 4961.0, 4962.0, 4963.0, 4964.0, 4967.0, 4970.0, 4971.0, 4972.0, 4973.0, 4974.0, 4975.0, 4977.0, 4978.0, 4980.0, 4981.0, 4982.0, 4984.0, 4986.0, 4987.0, 4988.0, 4989.0, 4991.0, 4993.0, 4994.0, 4995.0, 4996.0, 4998.0, 4999.0, 5001.0, 5003.0, 5004.0, 5005.0, 5006.0, 5007.0, 5009.0, 5011.0, 5012.0, 5013.0, 5015.0, 5016.0, 5018.0, 5019.0, 5020.0, 5021.0, 5022.0, 5023.0, 5025.0, 5027.0, 5028.0, 5031.0, 5033.0, 5034.0, 5036.0, 5037.0, 5039.0, 5041.0, 5042.0, 5043.0, 5044.0, 5046.0, 5048.0, 5049.0, 5050.0, 5051.0, 5054.0, 5056.0, 5058.0, 5059.0, 5060.0, 5061.0, 5064.0, 5065.0, 5067.0, 5069.0, 5070.0, 5071.0, 5073.0, 5074.0, 5077.0, 5079.0, 5080.0, 5081.0, 5083.0, 5084.0, 5085.0, 5086.0, 5088.0, 5089.0, 5090.0, 5091.0, 5095.0, 5096.0, 5097.0, 5098.0, 5099.0, 5100.0, 5102.0, 5103.0, 5108.0, 5109.0, 5112.0, 5113.0, 5116.0, 5120.0, 5121.0, 5123.0, 5125.0, 5126.0, 5128.0, 5130.0, 5131.0, 5136.0, 5137.0, 5141.0, 5142.0, 5143.0, 5144.0, 5145.0, 5146.0, 5149.0, 5150.0, 5151.0, 5153.0, 5154.0, 5155.0, 5156.0, 5157.0, 5158.0, 5159.0, 5160.0, 5161.0, 5162.0, 5163.0, 5166.0, 5167.0, 5168.0, 5169.0, 5171.0, 5172.0, 5174.0, 5175.0, 5178.0, 5180.0, 5181.0, 5182.0, 5183.0, 5184.0, 5185.0, 5187.0, 5188.0, 5190.0, 5191.0, 5192.0, 5193.0, 5194.0, 5195.0, 5198.0, 5199.0, 5200.0, 5201.0, 5202.0, 5203.0, 5204.0, 5205.0, 5206.0, 5208.0, 5209.0, 5210.0, 5211.0, 5212.0, 5213.0, 5214.0, 5217.0, 5218.0, 5219.0, 5220.0, 5221.0, 5222.0, 5223.0, 5224.0, 5226.0, 5227.0, 5228.0, 5229.0, 5231.0, 5232.0, 5234.0, 5235.0, 5236.0, 5237.0, 5238.0, 5239.0, 5240.0, 5241.0, 5242.0, 5243.0, 5244.0, 5245.0, 5246.0, 5249.0, 5250.0, 5251.0, 5252.0, 5253.0, 5254.0, 5255.0, 5256.0, 5257.0, 5258.0, 5259.0, 5260.0, 5262.0, 5263.0, 5264.0, 5265.0, 5269.0, 5270.0, 5271.0, 5272.0, 5274.0, 5275.0, 5276.0, 5278.0, 5280.0, 5282.0, 5283.0, 5284.0, 5289.0, 5290.0, 5292.0, 5296.0, 5297.0, 5300.0, 5301.0, 5304.0, 5305.0, 5306.0, 5308.0, 5309.0, 5311.0, 5312.0, 5315.0, 5318.0, 5319.0, 5322.0, 5326.0, 5327.0, 5328.0, 5331.0, 5332.0, 5333.0, 5334.0, 5338.0, 5339.0, 5340.0, 5342.0, 5343.0, 5344.0, 5345.0, 5346.0, 5347.0, 5348.0, 5351.0, 5352.0, 5353.0, 5354.0, 5355.0, 5356.0, 5357.0, 5358.0, 5359.0, 5361.0, 5362.0, 5363.0, 5364.0, 5365.0, 5366.0, 5367.0, 5368.0, 5369.0, 5370.0, 5371.0, 5372.0, 5377.0, 5380.0, 5381.0, 5382.0, 5383.0, 5384.0, 5387.0, 5388.0, 5389.0, 5391.0, 5392.0, 5395.0, 5396.0, 5397.0, 5398.0, 5400.0, 5401.0, 5402.0, 5403.0, 5404.0, 5407.0, 5408.0, 5409.0, 5410.0, 5413.0, 5414.0, 5415.0, 5417.0, 5418.0, 5422.0, 5423.0, 5424.0, 5426.0, 5427.0, 5428.0, 5429.0, 5430.0, 5431.0, 5434.0, 5435.0, 5436.0, 5437.0, 5438.0, 5440.0, 5441.0, 5442.0, 5444.0, 5445.0, 5447.0, 5448.0, 5449.0, 5450.0, 5451.0, 5452.0, 5453.0, 5454.0, 5455.0, 5456.0, 5458.0, 5459.0, 5460.0, 5461.0, 5462.0, 5464.0, 5465.0, 5466.0, 5467.0, 5468.0, 5470.0, 5471.0, 5472.0, 5473.0, 5475.0, 5476.0, 5477.0, 5478.0, 5479.0, 5480.0, 5481.0, 5482.0, 5483.0, 5484.0, 5488.0, 5489.0, 5490.0, 5491.0, 5492.0, 5493.0, 5494.0, 5496.0, 5498.0, 5499.0, 5500.0, 5501.0, 5502.0, 5504.0, 5507.0, 5508.0, 5509.0, 5511.0, 5512.0, 5513.0, 5514.0, 5515.0, 5516.0, 5517.0, 5519.0, 5521.0, 5522.0, 5523.0, 5524.0, 5525.0, 5526.0, 5527.0, 5528.0, 5529.0, 5530.0, 5531.0, 5534.0, 5536.0, 5537.0, 5538.0, 5540.0, 5541.0, 5542.0, 5543.0, 5544.0, 5545.0, 5546.0, 5548.0, 5549.0, 5551.0, 5552.0, 5554.0, 5557.0, 5558.0, 5559.0, 5561.0, 5562.0, 5563.0, 5564.0, 5566.0, 5567.0, 5568.0, 5569.0, 5570.0, 5571.0, 5572.0, 5573.0, 5575.0, 5577.0, 5578.0, 5579.0, 5581.0, 5582.0, 5583.0, 5585.0, 5588.0, 5589.0, 5590.0, 5591.0, 5592.0, 5594.0, 5596.0, 5597.0, 5602.0, 5605.0, 5607.0, 5608.0, 5609.0, 5611.0, 5612.0, 5613.0, 5614.0, 5615.0, 5616.0, 5617.0, 5618.0, 5621.0, 5622.0, 5623.0, 5625.0, 5626.0, 5629.0, 5630.0, 5631.0, 5633.0, 5634.0, 5635.0, 5636.0, 5637.0, 5638.0, 5640.0, 5641.0, 5642.0, 5643.0, 5644.0, 5645.0, 5649.0, 5650.0, 5653.0, 5654.0, 5655.0, 5656.0, 5657.0, 5659.0, 5660.0, 5661.0, 5662.0, 5663.0, 5665.0, 5666.0, 5667.0, 5668.0, 5669.0, 5670.0, 5673.0, 5674.0, 5675.0, 5676.0, 5677.0, 5678.0, 5679.0, 5680.0, 5681.0, 5682.0, 5683.0, 5684.0, 5685.0, 5687.0, 5688.0, 5690.0, 5692.0, 5693.0, 5694.0, 5695.0, 5696.0, 5697.0, 5698.0, 5699.0, 5702.0, 5703.0, 5704.0, 5705.0, 5709.0, 5710.0, 5713.0, 5714.0, 5715.0, 5716.0, 5717.0, 5718.0, 5719.0, 5721.0, 5722.0, 5724.0, 5725.0, 5727.0, 5728.0, 5729.0, 5730.0, 5733.0, 5734.0, 5736.0, 5737.0, 5739.0, 5742.0, 5743.0, 5744.0, 5745.0, 5747.0, 5749.0, 5750.0, 5751.0, 5752.0, 5753.0, 5754.0, 5755.0, 5756.0, 5757.0, 5761.0, 5763.0, 5764.0, 5765.0, 5766.0, 5767.0, 5769.0, 5770.0, 5771.0, 5772.0, 5773.0, 5774.0, 5775.0, 5776.0, 5778.0, 5779.0, 5780.0, 5781.0, 5782.0, 5783.0, 5785.0, 5786.0, 5787.0, 5790.0, 5791.0, 5792.0, 5793.0, 5794.0, 5797.0, 5798.0, 5799.0, 5801.0, 5802.0, 5808.0, 5809.0, 5811.0, 5813.0, 5815.0, 5816.0, 5817.0, 5818.0, 5820.0, 5823.0, 5824.0, 5825.0, 5827.0, 5829.0, 5830.0, 5831.0, 5832.0, 5834.0, 5835.0, 5837.0, 5838.0, 5839.0, 5840.0, 5842.0, 5843.0, 5846.0, 5848.0, 5849.0, 5850.0, 5851.0, 5852.0, 5853.0, 5855.0, 5856.0, 5857.0, 5858.0, 5859.0, 5860.0, 5861.0, 5862.0, 5863.0, 5864.0, 5865.0, 5866.0, 5867.0, 5868.0, 5871.0, 5872.0, 5874.0, 5876.0, 5878.0, 5879.0, 5881.0, 5882.0, 5883.0, 5884.0, 5885.0, 5886.0, 5890.0, 5891.0, 5892.0, 5893.0, 5896.0, 5897.0, 5898.0, 5899.0, 5900.0, 5902.0, 5904.0, 5905.0, 5907.0, 5908.0, 5909.0, 5910.0, 5911.0, 5912.0, 5913.0, 5914.0, 5915.0, 5917.0, 5918.0, 5919.0, 5921.0, 5922.0, 5923.0, 5924.0, 5925.0, 5926.0, 5927.0, 5930.0, 5931.0, 5934.0, 5935.0, 5936.0, 5937.0, 5938.0, 5940.0, 5941.0, 5942.0, 5943.0, 5945.0, 5946.0, 5947.0, 5948.0, 5949.0, 5950.0, 5951.0, 5952.0, 5953.0, 5955.0, 5956.0, 5957.0, 5959.0, 5960.0, 5962.0, 5963.0, 5964.0, 5965.0, 5966.0, 5969.0, 5970.0, 5971.0, 5972.0, 5973.0, 5974.0, 5975.0, 5976.0, 5980.0, 5983.0, 5984.0, 5985.0, 5987.0, 5988.0, 5989.0, 5992.0, 5993.0, 5994.0, 5995.0, 5996.0, 5997.0, 5998.0, 6001.0, 6003.0, 6004.0, 6005.0, 6007.0, 6008.0, 6009.0, 6010.0, 6011.0, 6012.0, 6013.0, 6014.0, 6015.0, 6016.0, 6017.0, 6018.0, 6019.0, 6020.0, 6021.0, 6022.0, 6024.0, 6025.0, 6026.0, 6027.0, 6029.0, 6031.0, 6032.0, 6033.0, 6034.0, 6036.0, 6037.0, 6039.0, 6040.0, 6041.0, 6043.0, 6045.0, 6046.0, 6047.0, 6049.0, 6050.0, 6055.0, 6056.0, 6057.0, 6058.0, 6059.0, 6061.0, 6065.0, 6068.0, 6069.0, 6071.0, 6072.0, 6073.0, 6074.0, 6075.0, 6076.0, 6077.0, 6079.0, 6081.0, 6082.0, 6083.0, 6084.0, 6087.0, 6091.0, 6092.0, 6093.0, 6095.0, 6096.0, 6097.0, 6098.0, 6099.0, 6100.0, 6101.0, 6103.0, 6106.0, 6107.0, 6108.0, 6109.0, 6110.0, 6111.0, 6113.0, 6114.0, 6115.0, 6116.0, 6117.0, 6120.0, 6123.0, 6124.0, 6126.0, 6129.0, 6131.0, 6136.0, 6137.0, 6138.0, 6139.0, 6140.0, 6141.0, 6142.0, 6144.0, 6145.0, 6148.0, 6149.0, 6150.0, 6151.0, 6152.0, 6153.0, 6154.0, 6155.0, 6156.0, 6157.0, 6158.0, 6160.0, 6163.0, 6164.0, 6167.0, 6169.0, 6170.0, 6171.0, 6172.0, 6173.0, 6175.0, 6177.0, 6180.0, 6181.0, 6182.0, 6183.0, 6184.0, 6185.0, 6186.0, 6188.0, 6189.0, 6190.0, 6193.0, 6194.0, 6195.0, 6196.0, 6197.0, 6198.0, 6199.0, 6200.0, 6201.0, 6202.0, 6203.0, 6204.0, 6205.0, 6207.0, 6208.0, 6210.0, 6211.0, 6212.0, 6213.0, 6214.0, 6215.0, 6216.0, 6218.0, 6219.0, 6220.0, 6224.0, 6226.0, 6227.0, 6228.0, 6229.0, 6230.0, 6231.0, 6232.0, 6234.0, 6235.0, 6236.0, 6237.0, 6240.0, 6242.0, 6243.0, 6244.0, 6245.0, 6246.0, 6247.0, 6248.0, 6249.0, 6250.0, 6251.0, 6252.0, 6253.0, 6254.0, 6255.0, 6256.0, 6258.0, 6259.0, 6260.0, 6262.0, 6263.0, 6264.0, 6265.0, 6266.0, 6267.0, 6268.0, 6270.0, 6271.0, 6274.0, 6275.0, 6276.0, 6277.0, 6278.0, 6279.0, 6280.0, 6281.0, 6282.0, 6283.0, 6284.0, 6285.0, 6286.0, 6287.0, 6288.0, 6291.0, 6292.0, 6295.0, 6297.0, 6298.0, 6301.0, 6303.0, 6304.0, 6305.0, 6306.0, 6307.0, 6308.0, 6309.0, 6310.0, 6311.0, 6313.0, 6314.0, 6316.0, 6317.0, 6318.0, 6321.0, 6325.0, 6326.0, 6328.0, 6329.0, 6331.0, 6332.0, 6333.0, 6334.0, 6337.0, 6338.0, 6340.0, 6341.0, 6342.0, 6345.0, 6346.0, 6347.0, 6348.0, 6349.0, 6350.0, 6351.0, 6352.0, 6353.0, 6354.0, 6355.0, 6356.0, 6357.0, 6358.0, 6359.0, 6362.0, 6363.0, 6365.0, 6367.0, 6368.0, 6369.0, 6370.0, 6371.0, 6372.0, 6373.0, 6374.0, 6375.0, 6378.0, 6379.0, 6382.0, 6383.0, 6384.0, 6385.0, 6386.0, 6387.0, 6389.0, 6391.0, 6392.0, 6395.0, 6396.0, 6397.0, 6401.0, 6404.0, 6406.0, 6407.0, 6408.0, 6409.0, 6410.0, 6411.0, 6412.0, 6414.0, 6415.0, 6416.0, 6418.0, 6420.0, 6421.0, 6422.0, 6424.0, 6426.0, 6427.0, 6430.0, 6431.0, 6432.0, 6433.0, 6434.0, 6435.0, 6436.0, 6437.0, 6438.0, 6439.0, 6440.0, 6442.0, 6443.0, 6444.0, 6445.0, 6446.0, 6447.0, 6449.0, 6450.0, 6451.0, 6452.0, 6453.0, 6454.0, 6455.0, 6457.0, 6458.0, 6460.0, 6461.0, 6463.0, 6464.0, 6467.0, 6468.0, 6469.0, 6470.0, 6471.0, 6472.0, 6474.0, 6475.0, 6476.0, 6479.0, 6480.0, 6482.0, 6484.0, 6486.0, 6487.0, 6488.0, 6489.0, 6490.0, 6493.0, 6494.0, 6495.0, 6496.0, 6497.0, 6499.0, 6500.0, 6501.0, 6504.0, 6506.0, 6507.0, 6508.0, 6509.0, 6510.0, 6511.0, 6512.0, 6513.0, 6515.0, 6516.0, 6518.0, 6519.0, 6527.0, 6529.0, 6530.0, 6531.0, 6532.0, 6534.0, 6536.0, 6537.0, 6538.0, 6541.0, 6544.0, 6545.0, 6548.0, 6549.0, 6550.0, 6551.0, 6552.0, 6553.0, 6554.0, 6555.0, 6556.0, 6558.0, 6559.0, 6560.0, 6561.0, 6562.0, 6563.0, 6564.0, 6565.0, 6566.0, 6567.0, 6569.0, 6570.0, 6571.0, 6572.0, 6574.0, 6576.0, 6578.0, 6579.0, 6580.0, 6581.0, 6582.0, 6583.0, 6585.0, 6587.0, 6588.0, 6589.0, 6591.0, 6593.0, 6595.0, 6596.0, 6598.0, 6599.0, 6602.0, 6603.0, 6604.0, 6606.0, 6608.0, 6609.0, 6610.0, 6611.0, 6612.0, 6614.0, 6615.0, 6616.0, 6617.0, 6618.0, 6620.0, 6622.0, 6623.0, 6624.0, 6626.0, 6627.0, 6629.0, 6630.0, 6631.0, 6632.0, 6633.0, 6634.0, 6635.0, 6638.0, 6640.0, 6642.0, 6643.0, 6644.0, 6645.0, 6646.0, 6647.0, 6649.0, 6650.0, 6652.0, 6655.0, 6656.0, 6657.0, 6660.0, 6661.0, 6664.0, 6665.0, 6666.0, 6668.0, 6671.0, 6672.0, 6673.0, 6674.0, 6675.0, 6676.0, 6677.0, 6678.0, 6680.0, 6681.0, 6682.0, 6684.0, 6688.0, 6689.0, 6690.0, 6691.0, 6693.0, 6694.0, 6695.0, 6697.0, 6698.0, 6699.0, 6700.0, 6701.0, 6702.0, 6703.0, 6705.0, 6707.0, 6708.0, 6709.0, 6710.0, 6711.0, 6712.0, 6713.0, 6714.0, 6715.0, 6716.0, 6717.0, 6719.0, 6720.0, 6725.0, 6726.0, 6728.0, 6729.0, 6730.0, 6732.0, 6734.0, 6735.0, 6736.0, 6741.0, 6742.0, 6743.0, 6745.0, 6746.0, 6748.0, 6751.0, 6752.0, 6753.0, 6754.0, 6755.0, 6756.0, 6757.0, 6759.0, 6761.0, 6762.0, 6764.0, 6765.0, 6767.0, 6768.0, 6774.0, 6775.0, 6776.0, 6777.0, 6778.0, 6780.0, 6781.0, 6782.0, 6784.0, 6785.0, 6786.0, 6787.0, 6792.0, 6793.0, 6794.0, 6795.0, 6796.0, 6799.0, 6800.0, 6801.0, 6802.0, 6804.0, 6805.0, 6808.0, 6810.0, 6811.0, 6812.0, 6813.0, 6815.0, 6816.0, 6818.0, 6820.0, 6822.0, 6823.0, 6824.0, 6825.0, 6826.0, 6827.0, 6830.0, 6831.0, 6834.0, 6835.0, 6836.0, 6840.0, 6842.0, 6843.0, 6844.0, 6846.0, 6847.0, 6848.0, 6853.0, 6855.0, 6856.0, 6857.0, 6858.0, 6860.0, 6862.0, 6863.0, 6864.0, 6866.0, 6867.0, 6868.0, 6870.0, 6871.0, 6873.0, 6874.0, 6876.0, 6877.0, 6880.0, 6882.0, 6883.0, 6884.0, 6886.0, 6888.0, 6890.0, 6891.0, 6892.0, 6894.0, 6895.0, 6896.0, 6898.0, 6903.0, 6904.0, 6906.0, 6907.0, 6908.0, 6909.0, 6910.0, 6911.0, 6914.0, 6915.0, 6917.0, 6918.0, 6919.0, 6921.0, 6923.0, 6924.0, 6925.0, 6928.0, 6929.0, 6930.0, 6931.0, 6933.0, 6937.0, 6938.0, 6940.0, 6941.0, 6943.0, 6944.0, 6945.0, 6946.0, 6947.0, 6948.0, 6950.0, 6955.0, 6956.0, 6957.0, 6959.0, 6960.0, 6961.0, 6963.0, 6964.0, 6966.0, 6967.0, 6969.0, 6970.0, 6971.0, 6972.0, 6973.0, 6975.0, 6976.0, 6977.0, 6978.0, 6979.0, 6981.0, 6985.0, 6986.0, 6987.0, 6988.0, 6989.0, 6991.0, 6992.0, 6994.0, 6995.0, 6997.0, 7001.0, 7003.0, 7004.0, 7005.0, 7006.0, 7008.0, 7009.0, 7010.0, 7011.0, 7012.0, 7013.0, 7014.0, 7015.0, 7017.0, 7018.0, 7019.0, 7020.0, 7021.0, 7022.0, 7023.0, 7025.0, 7027.0, 7032.0, 7033.0, 7035.0, 7037.0, 7038.0, 7040.0, 7041.0, 7045.0, 7046.0, 7048.0, 7051.0, 7052.0, 7053.0, 7054.0, 7055.0, 7056.0, 7057.0, 7059.0, 7061.0, 7063.0, 7064.0, 7065.0, 7067.0, 7068.0, 7070.0, 7072.0, 7073.0, 7074.0, 7075.0, 7076.0, 7077.0, 7079.0, 7086.0, 7087.0, 7090.0, 7091.0, 7092.0, 7093.0, 7094.0, 7095.0, 7096.0, 7097.0, 7098.0, 7099.0, 7100.0, 7103.0, 7104.0, 7107.0, 7108.0, 7109.0, 7110.0, 7112.0, 7113.0, 7114.0, 7115.0, 7116.0, 7117.0, 7122.0, 7124.0, 7126.0, 7127.0, 7128.0, 7130.0, 7133.0, 7134.0, 7135.0, 7136.0, 7137.0, 7138.0, 7139.0, 7141.0, 7142.0, 7143.0, 7146.0, 7147.0, 7148.0, 7150.0, 7151.0, 7153.0, 7154.0, 7156.0, 7157.0, 7158.0, 7159.0, 7161.0, 7162.0, 7163.0, 7164.0, 7165.0, 7166.0, 7167.0, 7168.0, 7169.0, 7171.0, 7173.0, 7174.0, 7175.0, 7176.0, 7177.0, 7178.0, 7179.0, 7180.0, 7181.0, 7182.0, 7183.0, 7185.0, 7186.0, 7187.0, 7188.0, 7189.0, 7190.0, 7192.0, 7193.0, 7195.0, 7196.0, 7197.0, 7198.0, 7199.0, 7200.0, 7201.0, 7202.0, 7203.0, 7204.0, 7206.0, 7208.0, 7209.0, 7211.0, 7212.0, 7213.0, 7215.0, 7216.0, 7219.0, 7221.0, 7224.0, 7226.0, 7227.0, 7228.0, 7230.0, 7231.0, 7232.0, 7233.0, 7234.0, 7238.0, 7239.0, 7240.0, 7241.0, 7242.0, 7244.0, 7247.0, 7251.0, 7254.0, 7255.0, 7256.0, 7257.0, 7260.0, 7261.0, 7262.0, 7266.0, 7268.0, 7270.0, 7271.0, 7274.0, 7275.0, 7276.0, 7277.0, 7281.0, 7282.0, 7283.0, 7284.0, 7285.0, 7286.0, 7287.0, 7290.0, 7292.0, 7294.0, 7295.0, 7296.0, 7297.0, 7298.0, 7299.0, 7300.0, 7302.0, 7303.0, 7304.0, 7305.0, 7306.0, 7307.0, 7314.0, 7315.0, 7317.0, 7319.0, 7321.0, 7323.0, 7324.0, 7325.0, 7328.0, 7329.0, 7330.0, 7331.0, 7332.0, 7334.0, 7335.0, 7336.0, 7340.0, 7341.0, 7342.0, 7343.0, 7345.0, 7346.0, 7348.0, 7351.0, 7352.0, 7353.0, 7355.0, 7357.0, 7358.0, 7359.0, 7361.0, 7362.0, 7363.0, 7365.0, 7366.0, 7369.0, 7371.0, 7372.0, 7374.0, 7376.0, 7378.0, 7379.0, 7380.0, 7381.0, 7383.0, 7384.0, 7385.0, 7386.0, 7387.0, 7389.0, 7392.0, 7394.0, 7395.0, 7396.0, 7397.0, 7400.0, 7401.0, 7402.0, 7403.0, 7404.0, 7407.0, 7408.0, 7410.0, 7413.0, 7415.0, 7416.0, 7417.0, 7419.0, 7420.0, 7421.0, 7423.0, 7424.0, 7425.0, 7427.0, 7431.0, 7434.0, 7436.0, 7437.0, 7438.0, 7439.0, 7440.0, 7441.0, 7443.0, 7444.0, 7446.0, 7447.0, 7449.0, 7450.0, 7452.0, 7453.0, 7454.0, 7455.0, 7456.0, 7457.0, 7458.0, 7459.0, 7460.0, 7463.0, 7464.0, 7469.0, 7470.0, 7471.0, 7474.0, 7475.0, 7476.0, 7477.0, 7478.0, 7479.0, 7480.0, 7481.0, 7482.0, 7483.0, 7484.0, 7485.0, 7487.0, 7488.0, 7490.0, 7491.0, 7492.0, 7495.0, 7497.0, 7498.0, 7499.0, 7500.0, 7501.0, 7502.0, 7504.0, 7507.0, 7508.0, 7509.0, 7511.0, 7513.0, 7515.0, 7516.0, 7517.0, 7522.0, 7523.0, 7524.0, 7525.0, 7527.0, 7528.0, 7529.0, 7530.0, 7532.0, 7534.0, 7536.0, 7537.0, 7538.0, 7539.0, 7540.0, 7541.0, 7542.0, 7543.0, 7545.0, 7546.0, 7548.0, 7549.0, 7553.0, 7556.0, 7557.0, 7559.0, 7560.0, 7561.0, 7565.0, 7566.0, 7567.0, 7568.0, 7569.0, 7570.0, 7571.0, 7572.0, 7575.0, 7576.0, 7578.0, 7583.0, 7584.0, 7587.0, 7588.0, 7589.0, 7591.0, 7592.0, 7594.0, 7595.0, 7596.0, 7597.0, 7599.0, 7602.0, 7603.0, 7604.0, 7605.0, 7608.0, 7610.0, 7611.0, 7615.0, 7616.0, 7618.0, 7619.0, 7621.0, 7625.0, 7626.0, 7627.0, 7629.0, 7630.0, 7632.0, 7633.0, 7634.0, 7636.0, 7637.0, 7639.0, 7640.0, 7641.0, 7642.0, 7643.0, 7644.0, 7645.0, 7647.0, 7648.0, 7649.0, 7650.0, 7651.0, 7652.0, 7654.0, 7655.0, 7656.0, 7658.0, 7659.0, 7661.0, 7662.0, 7663.0, 7664.0, 7667.0, 7668.0, 7669.0, 7670.0, 7671.0, 7672.0, 7674.0, 7675.0, 7676.0, 7678.0, 7680.0, 7682.0, 7683.0, 7684.0, 7685.0, 7686.0, 7687.0, 7688.0, 7689.0, 7690.0, 7692.0, 7693.0, 7695.0, 7697.0, 7700.0, 7701.0, 7703.0, 7704.0, 7705.0, 7706.0, 7707.0, 7708.0, 7709.0, 7711.0, 7712.0, 7713.0, 7714.0, 7715.0, 7716.0, 7717.0, 7718.0, 7719.0, 7720.0, 7721.0, 7723.0, 7724.0, 7725.0, 7726.0, 7727.0, 7729.0, 7733.0, 7734.0, 7735.0, 7737.0, 7738.0, 7741.0, 7743.0, 7744.0, 7746.0, 7747.0, 7749.0, 7750.0, 7751.0, 7754.0, 7755.0, 7756.0, 7758.0, 7759.0, 7760.0, 7762.0, 7763.0, 7764.0, 7765.0, 7766.0, 7767.0, 7768.0, 7769.0, 7770.0, 7771.0, 7773.0, 7774.0, 7775.0, 7776.0, 7778.0, 7779.0, 7780.0, 7781.0, 7782.0, 7783.0, 7784.0, 7785.0, 7786.0, 7787.0, 7789.0, 7790.0, 7796.0, 7799.0, 7807.0, 7808.0, 7809.0, 7810.0, 7811.0, 7812.0, 7815.0, 7816.0, 7818.0, 7819.0, 7820.0, 7821.0, 7822.0, 7824.0, 7825.0, 7828.0, 7829.0, 7830.0, 7831.0, 7832.0, 7833.0, 7834.0, 7835.0, 7836.0, 7837.0, 7838.0, 7839.0, 7840.0, 7841.0, 7842.0, 7845.0, 7846.0, 7847.0, 7848.0, 7849.0, 7850.0, 7851.0, 7852.0, 7853.0, 7854.0, 7855.0, 7857.0, 7858.0, 7859.0, 7861.0, 7862.0, 7864.0, 7865.0, 7868.0, 7869.0, 7870.0, 7871.0, 7872.0, 7874.0, 7876.0, 7880.0, 7882.0, 7883.0, 7884.0, 7885.0, 7886.0, 7887.0, 7889.0, 7890.0, 7891.0, 7892.0, 7893.0, 7894.0, 7896.0, 7897.0, 7899.0, 7902.0, 7904.0, 7908.0, 7910.0, 7911.0, 7912.0, 7913.0, 7914.0, 7916.0, 7917.0, 7918.0, 7920.0, 7921.0, 7922.0, 7923.0, 7925.0, 7926.0, 7927.0, 7928.0, 7929.0, 7930.0, 7931.0, 7932.0, 7934.0, 7937.0, 7938.0, 7939.0, 7940.0, 7941.0, 7942.0, 7943.0, 7944.0, 7946.0, 7947.0, 7948.0, 7949.0, 7950.0, 7952.0, 7953.0, 7954.0, 7955.0, 7956.0, 7957.0, 7958.0, 7960.0, 7962.0, 7963.0, 7964.0, 7966.0, 7967.0, 7968.0, 7970.0, 7971.0, 7973.0, 7975.0, 7976.0, 7977.0, 7978.0, 7979.0, 7980.0, 7981.0, 7982.0, 7983.0, 7985.0, 7988.0, 7989.0, 7991.0, 7992.0, 7993.0, 7994.0, 7995.0, 7997.0, 7998.0, 7999.0, 8001.0, 8002.0, 8004.0, 8006.0, 8007.0, 8008.0, 8009.0, 8011.0, 8012.0, 8013.0, 8015.0, 8016.0, 8018.0, 8019.0, 8023.0, 8025.0, 8026.0, 8028.0, 8029.0, 8030.0, 8033.0, 8034.0, 8035.0, 8036.0, 8037.0, 8038.0, 8039.0, 8040.0, 8041.0, 8042.0, 8043.0, 8047.0, 8049.0, 8050.0, 8051.0, 8053.0, 8054.0, 8058.0, 8059.0, 8060.0, 8061.0, 8062.0, 8064.0, 8067.0, 8069.0, 8072.0, 8073.0, 8074.0, 8077.0, 8078.0, 8079.0, 8081.0, 8082.0, 8087.0, 8089.0, 8090.0, 8092.0, 8093.0, 8094.0, 8095.0, 8096.0, 8097.0, 8099.0, 8101.0, 8102.0, 8103.0, 8104.0, 8105.0, 8107.0, 8109.0, 8110.0, 8115.0, 8116.0, 8117.0, 8119.0, 8120.0, 8121.0, 8122.0, 8123.0, 8124.0, 8125.0, 8127.0, 8128.0, 8130.0, 8131.0, 8132.0, 8134.0, 8135.0, 8136.0, 8137.0, 8140.0, 8142.0, 8143.0, 8144.0, 8145.0, 8146.0, 8147.0, 8148.0, 8149.0, 8151.0, 8152.0, 8154.0, 8155.0, 8157.0, 8158.0, 8160.0, 8161.0, 8162.0, 8163.0, 8164.0, 8165.0, 8166.0, 8167.0, 8168.0, 8171.0, 8172.0, 8173.0, 8174.0, 8175.0, 8176.0, 8177.0, 8182.0, 8184.0, 8185.0, 8186.0, 8187.0, 8189.0, 8191.0, 8192.0, 8193.0, 8195.0, 8198.0, 8199.0, 8200.0, 8201.0, 8203.0, 8205.0, 8206.0, 8207.0, 8209.0, 8210.0, 8211.0, 8213.0, 8214.0, 8216.0, 8217.0, 8218.0, 8220.0, 8221.0, 8222.0, 8224.0, 8225.0, 8228.0, 8229.0, 8230.0, 8232.0, 8233.0, 8235.0, 8236.0, 8238.0, 8240.0, 8243.0, 8244.0, 8245.0, 8246.0, 8247.0, 8249.0, 8250.0, 8252.0, 8254.0, 8255.0, 8256.0, 8257.0, 8258.0, 8259.0, 8260.0, 8262.0, 8263.0, 8264.0, 8266.0, 8267.0, 8269.0, 8271.0, 8272.0, 8273.0, 8274.0, 8277.0, 8278.0, 8279.0, 8280.0, 8281.0, 8282.0, 8283.0, 8284.0, 8285.0, 8286.0, 8287.0, 8289.0, 8291.0, 8292.0, 8293.0, 8295.0, 8296.0, 8297.0, 8301.0, 8302.0, 8303.0, 8304.0, 8305.0, 8306.0, 8307.0, 8308.0, 8309.0, 8310.0, 8311.0, 8313.0, 8314.0, 8315.0, 8316.0, 8317.0, 8318.0, 8319.0, 8320.0, 8321.0, 8322.0, 8323.0, 8325.0, 8326.0, 8327.0, 8328.0, 8329.0, 8330.0, 8331.0, 8332.0, 8333.0, 8335.0, 8336.0, 8338.0, 8339.0, 8340.0, 8341.0, 8342.0, 8343.0, 8344.0, 8347.0, 8348.0, 8350.0, 8351.0, 8353.0, 8354.0, 8355.0, 8359.0, 8360.0, 8361.0, 8362.0, 8363.0, 8364.0, 8365.0, 8366.0, 8367.0, 8368.0, 8369.0, 8370.0, 8371.0, 8372.0, 8373.0, 8375.0, 8376.0, 8377.0, 8378.0, 8380.0, 8382.0, 8383.0, 8384.0, 8385.0, 8387.0, 8388.0, 8389.0, 8390.0, 8391.0, 8393.0, 8394.0, 8395.0, 8396.0, 8398.0, 8399.0, 8400.0, 8401.0, 8402.0, 8403.0, 8405.0, 8406.0, 8408.0, 8409.0, 8410.0, 8411.0, 8412.0, 8413.0, 8414.0, 8415.0, 8417.0, 8418.0, 8419.0, 8420.0, 8421.0, 8422.0, 8423.0, 8425.0, 8426.0, 8427.0, 8428.0, 8429.0, 8431.0, 8432.0, 8433.0, 8436.0, 8438.0, 8439.0, 8440.0, 8442.0, 8443.0, 8444.0, 8446.0, 8447.0, 8448.0, 8449.0, 8451.0, 8452.0, 8453.0, 8456.0, 8457.0, 8458.0, 8460.0, 8461.0, 8462.0, 8464.0, 8465.0, 8466.0, 8467.0, 8468.0, 8469.0, 8471.0, 8474.0, 8475.0, 8476.0, 8477.0, 8478.0, 8479.0, 8482.0, 8483.0, 8485.0, 8490.0, 8491.0, 8492.0, 8493.0, 8496.0, 8497.0, 8499.0, 8502.0, 8504.0, 8505.0, 8508.0, 8509.0, 8511.0, 8512.0, 8513.0, 8514.0, 8515.0, 8517.0, 8518.0, 8519.0, 8522.0, 8523.0, 8524.0, 8525.0, 8527.0, 8528.0, 8529.0, 8530.0, 8531.0, 8532.0, 8533.0, 8534.0, 8535.0, 8536.0, 8537.0, 8539.0, 8540.0, 8542.0, 8544.0, 8545.0, 8546.0, 8548.0, 8549.0, 8550.0, 8551.0, 8553.0, 8555.0, 8557.0, 8558.0, 8559.0, 8560.0, 8562.0, 8564.0, 8565.0, 8566.0, 8569.0, 8572.0, 8573.0, 8575.0, 8577.0, 8578.0, 8579.0, 8580.0, 8583.0, 8584.0, 8585.0, 8587.0, 8588.0, 8590.0, 8591.0, 8592.0, 8593.0, 8595.0, 8597.0, 8598.0, 8599.0, 8600.0, 8602.0, 8603.0, 8604.0, 8605.0, 8606.0, 8607.0, 8608.0, 8609.0, 8610.0, 8611.0, 8612.0, 8613.0, 8615.0, 8616.0, 8617.0, 8619.0, 8620.0, 8621.0, 8622.0, 8623.0, 8624.0, 8628.0, 8629.0, 8631.0, 8633.0, 8634.0, 8635.0, 8637.0, 8638.0, 8642.0, 8643.0, 8644.0, 8645.0, 8646.0, 8647.0, 8648.0, 8649.0, 8650.0, 8652.0, 8654.0, 8655.0, 8656.0, 8657.0, 8658.0, 8659.0, 8660.0, 8662.0, 8664.0, 8665.0, 8666.0, 8667.0, 8668.0, 8670.0, 8671.0, 8672.0, 8674.0, 8675.0, 8677.0, 8679.0, 8681.0, 8683.0, 8684.0, 8685.0, 8688.0, 8689.0, 8690.0, 8692.0, 8693.0, 8694.0, 8697.0, 8698.0, 8699.0, 8701.0, 8702.0, 8703.0, 8705.0, 8706.0, 8707.0, 8708.0, 8709.0, 8711.0, 8713.0, 8714.0, 8715.0, 8716.0, 8718.0, 8721.0, 8723.0, 8725.0, 8730.0, 8737.0, 8738.0, 8739.0, 8742.0, 8743.0, 8745.0, 8746.0, 8747.0, 8748.0, 8750.0, 8753.0, 8754.0, 8755.0, 8756.0, 8757.0, 8759.0, 8761.0, 8762.0, 8763.0, 8764.0, 8765.0, 8766.0, 8767.0, 8769.0, 8771.0, 8772.0, 8773.0, 8775.0, 8776.0, 8777.0, 8778.0, 8779.0, 8780.0, 8781.0, 8783.0, 8784.0, 8785.0, 8788.0, 8791.0, 8792.0, 8793.0, 8794.0, 8796.0, 8797.0, 8798.0, 8799.0, 8800.0, 8801.0, 8802.0, 8803.0, 8805.0, 8807.0, 8808.0, 8810.0, 8811.0, 8812.0, 8814.0, 8815.0, 8816.0, 8817.0, 8819.0, 8820.0, 8821.0, 8822.0, 8823.0, 8824.0, 8825.0, 8826.0, 8829.0, 8830.0, 8831.0, 8833.0, 8835.0, 8836.0, 8837.0, 8838.0, 8839.0, 8840.0, 8841.0, 8843.0, 8844.0, 8846.0, 8847.0, 8848.0, 8849.0, 8850.0, 8851.0, 8852.0, 8853.0, 8856.0, 8857.0, 8858.0, 8859.0, 8860.0, 8864.0, 8865.0, 8867.0, 8868.0, 8869.0, 8870.0, 8871.0, 8872.0, 8873.0, 8875.0, 8876.0, 8877.0, 8878.0, 8880.0, 8881.0, 8883.0, 8884.0, 8885.0, 8886.0, 8887.0, 8888.0, 8889.0, 8890.0, 8893.0, 8900.0, 8901.0, 8902.0, 8906.0, 8907.0, 8909.0, 8910.0, 8913.0, 8914.0, 8915.0, 8916.0, 8918.0, 8919.0, 8920.0, 8921.0, 8922.0, 8923.0, 8925.0, 8927.0, 8928.0, 8929.0, 8930.0, 8931.0, 8934.0, 8936.0, 8937.0, 8938.0, 8942.0, 8943.0, 8945.0, 8946.0, 8947.0, 8948.0, 8950.0, 8951.0, 8957.0, 8958.0, 8959.0, 8961.0, 8963.0, 8965.0, 8966.0, 8967.0, 8969.0, 8971.0, 8973.0, 8974.0, 8976.0, 8977.0, 8978.0, 8979.0, 8980.0, 8985.0, 8986.0, 8990.0, 8991.0, 8992.0, 8993.0, 8994.0, 8995.0, 8997.0, 8998.0, 9000.0, 9002.0, 9003.0, 9004.0, 9005.0, 9006.0, 9008.0, 9010.0, 9011.0, 9012.0, 9013.0, 9014.0, 9016.0, 9017.0, 9018.0, 9019.0, 9021.0, 9023.0, 9024.0, 9032.0, 9034.0, 9035.0, 9036.0, 9037.0, 9039.0, 9040.0, 9041.0, 9042.0, 9044.0, 9045.0, 9046.0, 9047.0, 9048.0, 9049.0, 9050.0, 9051.0, 9052.0, 9053.0, 9054.0, 9056.0, 9058.0, 9060.0, 9065.0, 9066.0, 9068.0, 9069.0, 9070.0, 9072.0, 9074.0, 9075.0, 9077.0, 9078.0, 9081.0, 9083.0, 9084.0, 9086.0, 9088.0, 9090.0, 9091.0, 9092.0, 9094.0, 9095.0, 9096.0, 9098.0, 9099.0, 9100.0, 9101.0, 9102.0, 9103.0, 9104.0, 9105.0, 9107.0, 9109.0, 9111.0, 9112.0, 9113.0, 9114.0, 9115.0, 9116.0, 9118.0, 9120.0, 9122.0, 9123.0, 9124.0, 9126.0, 9127.0, 9130.0, 9133.0, 9134.0, 9135.0, 9136.0, 9137.0, 9138.0, 9140.0, 9142.0, 9143.0, 9145.0, 9146.0, 9147.0, 9148.0, 9149.0, 9153.0, 9155.0, 9157.0, 9159.0, 9160.0, 9161.0, 9162.0, 9163.0, 9164.0, 9165.0, 9167.0, 9169.0, 9170.0, 9171.0, 9172.0, 9173.0, 9174.0, 9176.0, 9177.0, 9178.0, 9179.0, 9180.0, 9184.0, 9185.0, 9187.0, 9188.0, 9189.0, 9190.0, 9191.0, 9192.0, 9194.0, 9196.0, 9197.0, 9200.0, 9202.0, 9203.0, 9204.0, 9206.0, 9207.0, 9208.0, 9213.0, 9214.0, 9219.0, 9220.0, 9221.0, 9224.0, 9225.0, 9226.0, 9229.0, 9231.0, 9233.0, 9234.0, 9235.0, 9238.0, 9239.0, 9240.0, 9241.0, 9242.0, 9243.0, 9245.0, 9246.0, 9248.0, 9249.0, 9250.0, 9251.0, 9252.0, 9253.0, 9254.0, 9255.0, 9256.0, 9257.0, 9258.0, 9260.0, 9261.0, 9263.0, 9264.0, 9265.0, 9266.0, 9267.0, 9268.0, 9270.0, 9271.0, 9272.0, 9275.0, 9276.0, 9277.0, 9278.0, 9279.0, 9280.0, 9282.0, 9284.0, 9285.0, 9287.0, 9290.0, 9292.0, 9293.0, 9294.0, 9295.0, 9297.0, 9303.0, 9304.0, 9305.0, 9307.0, 9308.0, 9309.0, 9311.0, 9312.0, 9313.0, 9314.0, 9316.0, 9318.0, 9319.0, 9322.0, 9323.0, 9332.0, 9333.0, 9334.0, 9335.0, 9336.0, 9337.0, 9340.0, 9341.0, 9342.0, 9343.0, 9345.0, 9346.0, 9347.0, 9348.0, 9349.0, 9350.0, 9351.0, 9354.0, 9355.0, 9356.0, 9357.0, 9358.0, 9359.0, 9361.0, 9363.0, 9364.0, 9365.0, 9367.0, 9368.0, 9369.0, 9372.0, 9373.0, 9375.0, 9376.0, 9377.0, 9378.0, 9379.0, 9380.0, 9381.0, 9382.0, 9383.0, 9384.0, 9385.0, 9387.0, 9388.0, 9390.0, 9391.0, 9392.0, 9393.0, 9395.0, 9396.0, 9398.0, 9399.0, 9400.0, 9401.0, 9402.0, 9403.0, 9405.0, 9406.0, 9407.0, 9408.0, 9409.0, 9410.0, 9411.0, 9412.0, 9413.0, 9414.0, 9415.0, 9417.0, 9418.0, 9421.0, 9422.0, 9423.0, 9431.0, 9432.0, 9433.0, 9434.0, 9435.0, 9436.0, 9437.0, 9438.0, 9440.0, 9441.0, 9443.0, 9444.0, 9445.0, 9446.0, 9447.0, 9448.0, 9450.0, 9451.0, 9452.0, 9453.0, 9454.0, 9456.0, 9457.0, 9458.0, 9459.0, 9462.0, 9464.0, 9465.0, 9466.0, 9467.0, 9468.0, 9469.0, 9470.0, 9471.0, 9472.0, 9473.0, 9474.0, 9475.0, 9476.0, 9478.0, 9481.0, 9482.0, 9483.0, 9484.0, 9486.0, 9487.0, 9488.0, 9489.0, 9490.0, 9492.0, 9493.0, 9494.0, 9495.0, 9497.0, 9498.0, 9499.0, 9501.0, 9502.0, 9503.0, 9504.0, 9506.0, 9507.0, 9508.0, 9509.0, 9510.0, 9511.0, 9512.0, 9514.0, 9515.0, 9517.0, 9518.0, 9519.0, 9520.0, 9521.0, 9522.0, 9523.0, 9524.0, 9525.0, 9526.0, 9527.0, 9528.0, 9529.0, 9530.0, 9531.0, 9532.0, 9533.0, 9534.0, 9535.0, 9536.0, 9537.0, 9538.0, 9540.0, 9541.0, 9542.0, 9543.0, 9544.0, 9545.0, 9546.0, 9547.0, 9549.0, 9550.0, 9552.0, 9553.0, 9554.0, 9556.0, 9558.0, 9559.0, 9560.0, 9561.0, 9562.0, 9563.0, 9564.0, 9567.0, 9568.0, 9570.0, 9571.0, 9572.0, 9573.0, 9574.0, 9576.0, 9577.0, 9578.0, 9579.0, 9580.0, 9581.0, 9582.0, 9585.0, 9586.0, 9589.0, 9590.0, 9591.0, 9593.0, 9595.0, 9596.0, 9598.0, 9599.0, 9600.0, 9603.0, 9604.0, 9607.0, 9608.0, 9609.0, 9610.0, 9611.0, 9612.0, 9615.0, 9619.0, 9621.0, 9623.0, 9628.0, 9629.0, 9630.0, 9632.0, 9634.0, 9636.0, 9639.0, 9640.0, 9644.0, 9645.0, 9646.0, 9647.0, 9650.0, 9651.0, 9652.0, 9655.0, 9656.0, 9660.0, 9661.0, 9662.0, 9664.0, 9665.0, 9666.0, 9667.0, 9668.0, 9670.0, 9671.0, 9672.0, 9673.0, 9674.0, 9675.0, 9677.0, 9678.0, 9680.0, 9681.0, 9682.0, 9683.0, 9684.0, 9686.0, 9687.0, 9689.0, 9690.0, 9691.0, 9692.0, 9693.0, 9694.0, 9696.0, 9699.0, 9700.0, 9702.0, 9704.0, 9705.0, 9706.0, 9707.0, 9708.0, 9712.0, 9713.0, 9714.0, 9716.0, 9718.0, 9720.0, 9721.0, 9722.0, 9723.0, 9724.0, 9726.0, 9728.0, 9729.0, 9731.0, 9732.0, 9733.0, 9734.0, 9735.0, 9736.0, 9737.0, 9738.0, 9739.0, 9740.0, 9741.0, 9742.0, 9743.0, 9744.0, 9745.0, 9747.0, 9748.0, 9749.0, 9751.0, 9752.0, 9753.0, 9754.0, 9756.0, 9758.0, 9759.0, 9760.0, 9761.0, 9762.0, 9763.0, 9764.0, 9766.0, 9767.0, 9768.0, 9769.0, 9770.0, 9771.0, 9772.0, 9773.0, 9775.0, 9776.0, 9777.0, 9778.0, 9780.0, 9783.0, 9784.0, 9786.0, 9787.0, 9788.0, 9789.0, 9791.0, 9792.0, 9793.0, 9794.0, 9796.0, 9797.0, 9798.0, 9799.0, 9800.0, 9804.0, 9805.0, 9809.0, 9810.0, 9811.0, 9812.0, 9814.0, 9815.0, 9816.0, 9817.0, 9819.0, 9820.0, 9821.0, 9823.0, 9826.0, 9827.0, 9830.0, 9831.0, 9832.0, 9833.0, 9835.0, 9838.0, 9839.0, 9840.0, 9842.0, 9843.0, 9846.0, 9850.0, 9851.0, 9852.0, 9853.0, 9854.0, 9855.0, 9856.0, 9857.0, 9858.0, 9861.0, 9862.0, 9863.0, 9865.0, 9866.0, 9867.0, 9868.0, 9874.0, 9875.0, 9876.0, 9877.0, 9878.0, 9879.0, 9880.0, 9881.0, 9883.0, 9885.0, 9886.0, 9888.0, 9890.0, 9891.0, 9893.0, 9895.0, 9896.0, 9897.0, 9899.0, 9901.0, 9902.0, 9903.0, 9904.0, 9906.0, 9907.0, 9908.0, 9909.0, 9910.0, 9913.0, 9914.0, 9915.0, 9916.0, 9917.0, 9918.0, 9920.0, 9921.0, 9922.0, 9923.0, 9924.0, 9925.0, 9926.0, 9928.0, 9929.0, 9931.0, 9933.0, 9935.0, 9936.0, 9937.0, 9943.0, 9944.0, 9945.0, 9946.0, 9947.0, 9948.0, 9949.0, 9950.0, 9951.0, 9952.0, 9953.0, 9954.0, 9955.0, 9959.0, 9960.0, 9961.0, 9964.0, 9966.0, 9967.0, 9968.0, 9969.0, 9970.0, 9971.0, 9972.0, 9973.0, 9974.0, 9976.0, 9977.0, 9978.0, 9979.0, 9982.0, 9984.0, 9985.0, 9986.0, 9987.0, 9988.0, 9989.0, 9991.0, 9992.0, 9993.0, 9994.0, 9997.0, 9998.0, 9999.0, 10000.0, 10002.0, 10004.0, 10006.0, 10008.0, 10009.0, 10010.0, 10011.0, 10012.0, 10013.0, 10014.0, 10015.0, 10016.0, 10017.0, 10018.0, 10019.0, 10021.0, 10022.0, 10024.0, 10028.0, 10029.0, 10031.0, 10032.0, 10033.0, 10034.0, 10035.0, 10036.0, 10038.0, 10039.0, 10040.0, 10043.0, 10044.0, 10045.0, 10046.0, 10047.0, 10048.0, 10049.0, 10051.0, 10054.0, 10056.0, 10057.0, 10058.0, 10059.0, 10062.0, 10063.0, 10064.0, 10066.0, 10067.0, 10068.0, 10069.0, 10070.0, 10071.0, 10072.0, 10073.0, 10074.0, 10076.0, 10080.0, 10081.0, 10082.0, 10084.0, 10085.0, 10086.0, 10087.0, 10089.0, 10090.0, 10091.0, 10093.0, 10094.0, 10095.0, 10097.0, 10098.0, 10099.0, 10100.0, 10102.0, 10103.0, 10104.0, 10105.0, 10106.0, 10108.0, 10109.0, 10111.0, 10113.0, 10114.0, 10115.0, 10117.0, 10118.0, 10119.0, 10121.0, 10123.0, 10125.0, 10127.0, 10128.0, 10129.0, 10130.0, 10131.0, 10133.0, 10136.0, 10138.0, 10139.0, 10140.0, 10141.0, 10142.0, 10143.0, 10144.0, 10145.0, 10146.0, 10147.0, 10148.0, 10149.0, 10150.0, 10151.0, 10152.0, 10156.0, 10157.0, 10161.0, 10163.0, 10164.0, 10165.0, 10166.0, 10168.0, 10170.0, 10171.0, 10172.0, 10174.0, 10175.0, 10176.0, 10177.0, 10178.0, 10179.0, 10182.0, 10184.0, 10185.0, 10186.0, 10187.0, 10190.0, 10191.0, 10192.0, 10193.0, 10195.0, 10197.0, 10198.0, 10201.0, 10202.0, 10203.0, 10206.0, 10207.0, 10208.0, 10212.0, 10213.0, 10215.0, 10216.0, 10217.0, 10218.0, 10220.0, 10221.0, 10222.0, 10223.0, 10224.0, 10225.0, 10226.0, 10227.0, 10228.0, 10230.0, 10234.0, 10237.0, 10238.0, 10239.0, 10240.0, 10241.0, 10242.0, 10243.0, 10244.0, 10245.0, 10248.0, 10249.0, 10250.0, 10251.0, 10252.0, 10253.0, 10254.0, 10255.0, 10258.0, 10260.0, 10261.0, 10264.0, 10265.0, 10266.0, 10268.0, 10269.0, 10270.0, 10271.0, 10274.0, 10275.0, 10276.0, 10278.0, 10279.0, 10281.0, 10282.0, 10283.0, 10284.0, 10285.0, 10288.0, 10289.0, 10290.0, 10292.0, 10294.0, 10295.0, 10298.0, 10299.0, 10302.0, 10303.0, 10304.0, 10305.0, 10306.0, 10307.0, 10310.0, 10312.0, 10313.0, 10314.0, 10315.0, 10316.0, 10318.0, 10320.0, 10321.0, 10322.0, 10324.0, 10325.0, 10327.0, 10328.0, 10329.0, 10330.0, 10332.0, 10333.0, 10334.0, 10335.0, 10337.0, 10338.0, 10339.0, 10342.0, 10344.0, 10345.0, 10346.0, 10347.0, 10348.0, 10349.0, 10350.0, 10351.0, 10352.0, 10353.0, 10354.0, 10355.0, 10356.0, 10357.0, 10358.0, 10359.0, 10362.0, 10363.0, 10365.0, 10366.0, 10368.0, 10369.0, 10370.0, 10371.0, 10373.0, 10374.0, 10375.0, 10377.0, 10378.0, 10380.0, 10384.0, 10385.0, 10386.0, 10387.0, 10388.0, 10389.0, 10390.0, 10391.0, 10394.0, 10395.0, 10396.0, 10397.0, 10398.0, 10400.0, 10401.0, 10402.0, 10403.0, 10405.0, 10407.0, 10408.0, 10409.0, 10410.0, 10411.0, 10413.0, 10414.0, 10415.0, 10416.0, 10417.0, 10421.0, 10422.0, 10423.0, 10424.0, 10427.0, 10429.0, 10430.0, 10431.0, 10432.0, 10433.0, 10435.0, 10436.0, 10437.0, 10438.0, 10439.0, 10440.0, 10441.0, 10442.0, 10445.0, 10446.0, 10447.0, 10458.0, 10459.0, 10460.0, 10462.0, 10464.0, 10465.0, 10466.0, 10468.0, 10470.0, 10471.0, 10472.0, 10473.0, 10474.0, 10475.0, 10477.0, 10478.0, 10479.0, 10481.0, 10482.0, 10483.0, 10485.0, 10486.0, 10488.0, 10489.0, 10490.0, 10493.0, 10494.0, 10495.0, 10496.0, 10499.0, 10503.0, 10505.0, 10506.0, 10508.0, 10509.0, 10511.0, 10513.0, 10514.0, 10515.0, 10516.0, 10517.0, 10518.0, 10520.0, 10521.0, 10523.0, 10526.0, 10527.0, 10528.0, 10530.0, 10531.0, 10532.0, 10533.0, 10534.0, 10535.0, 10538.0, 10540.0, 10541.0, 10543.0, 10544.0, 10546.0, 10548.0, 10550.0, 10552.0, 10555.0, 10556.0, 10559.0, 10560.0, 10561.0, 10563.0, 10564.0, 10565.0, 10568.0, 10569.0, 10570.0, 10571.0, 10572.0, 10573.0, 10574.0, 10575.0, 10578.0, 10579.0, 10581.0, 10583.0, 10584.0, 10587.0, 10588.0, 10589.0, 10590.0, 10591.0, 10592.0, 10594.0, 10595.0, 10598.0, 10599.0, 10600.0, 10601.0, 10602.0, 10603.0, 10607.0, 10608.0, 10609.0, 10610.0, 10611.0, 10613.0, 10615.0, 10616.0, 10619.0, 10620.0, 10622.0, 10624.0, 10626.0, 10628.0, 10629.0, 10630.0, 10631.0, 10634.0, 10635.0, 10636.0, 10637.0, 10638.0, 10639.0, 10640.0, 10641.0, 10642.0, 10643.0, 10644.0, 10648.0, 10649.0, 10651.0, 10652.0, 10653.0, 10654.0, 10656.0, 10657.0, 10663.0, 10666.0, 10667.0, 10668.0, 10669.0, 10670.0, 10674.0, 10675.0, 10676.0, 10678.0, 10680.0, 10681.0, 10682.0, 10683.0, 10684.0, 10686.0, 10687.0, 10689.0, 10690.0, 10691.0, 10694.0, 10695.0, 10697.0, 10698.0, 10701.0, 10702.0, 10703.0, 10705.0, 10706.0, 10707.0, 10709.0, 10716.0, 10717.0, 10718.0, 10720.0, 10722.0, 10723.0, 10724.0, 10725.0, 10726.0, 10727.0, 10728.0, 10730.0, 10731.0, 10733.0, 10734.0, 10736.0, 10737.0, 10739.0, 10740.0, 10742.0, 10743.0, 10744.0, 10745.0, 10746.0, 10747.0, 10748.0, 10752.0, 10755.0, 10756.0, 10758.0, 10759.0, 10761.0, 10762.0, 10763.0, 10764.0, 10765.0, 10766.0, 10767.0, 10769.0, 10771.0, 10772.0, 10774.0, 10775.0, 10776.0, 10777.0, 10779.0, 10781.0, 10782.0, 10784.0, 10786.0, 10787.0, 10789.0, 10791.0, 10792.0, 10793.0, 10794.0, 10795.0, 10796.0, 10799.0, 10803.0, 10804.0, 10807.0, 10808.0, 10809.0, 10810.0, 10813.0, 10814.0, 10818.0, 10819.0, 10820.0, 10821.0, 10822.0, 10823.0, 10824.0, 10825.0, 10826.0, 10828.0, 10829.0, 10830.0, 10833.0, 10834.0, 10835.0, 10836.0, 10837.0, 10838.0, 10840.0, 10841.0, 10842.0, 10845.0, 10846.0, 10847.0, 10850.0, 10851.0, 10853.0, 10855.0, 10856.0, 10858.0, 10860.0, 10861.0, 10864.0, 10867.0, 10870.0, 10871.0, 10872.0, 10874.0, 10875.0, 10876.0, 10877.0, 10878.0, 10879.0, 10882.0, 10883.0, 10884.0, 10886.0, 10889.0, 10890.0, 10891.0, 10892.0, 10896.0, 10897.0, 10899.0, 10900.0, 10902.0, 10903.0, 10904.0, 10906.0, 10907.0, 10908.0, 10909.0, 10911.0, 10912.0, 10914.0, 10915.0, 10916.0, 10918.0, 10920.0, 10921.0, 10922.0, 10925.0, 10926.0, 10928.0, 10929.0, 10930.0, 10931.0, 10932.0, 10933.0, 10934.0, 10936.0, 10938.0, 10939.0, 10940.0, 10943.0, 10944.0, 10945.0, 10946.0, 10947.0, 10948.0, 10949.0, 10950.0, 10955.0, 10956.0, 10957.0, 10959.0, 10960.0, 10961.0, 10962.0, 10963.0, 10964.0, 10970.0, 10972.0, 10973.0, 10974.0, 10975.0, 10977.0, 10978.0, 10979.0, 10981.0, 10982.0, 10983.0, 10984.0, 10985.0, 10986.0, 10987.0, 10988.0, 10989.0, 10990.0, 10991.0, 10992.0, 10993.0, 10994.0, 10995.0, 10996.0, 10998.0, 11000.0, 11001.0, 11002.0, 11006.0, 11007.0, 11011.0, 11012.0, 11013.0, 11014.0, 11015.0, 11016.0, 11017.0, 11019.0, 11020.0, 11022.0, 11023.0, 11024.0, 11025.0, 11026.0, 11028.0, 11030.0, 11031.0, 11033.0, 11036.0, 11037.0, 11038.0, 11040.0, 11042.0, 11045.0, 11047.0, 11048.0, 11050.0, 11051.0, 11052.0, 11053.0, 11054.0, 11055.0, 11057.0, 11058.0, 11059.0, 11060.0, 11061.0, 11063.0, 11065.0, 11066.0, 11067.0, 11068.0, 11069.0, 11071.0, 11072.0, 11073.0, 11075.0, 11077.0, 11078.0, 11079.0, 11081.0, 11082.0, 11085.0, 11086.0, 11087.0, 11088.0, 11092.0, 11093.0, 11094.0, 11095.0, 11099.0, 11100.0, 11103.0, 11105.0, 11107.0, 11108.0, 11109.0, 11111.0, 11112.0, 11113.0, 11114.0, 11116.0, 11117.0, 11118.0, 11119.0, 11120.0, 11123.0, 11124.0, 11125.0, 11128.0, 11131.0, 11132.0, 11133.0, 11136.0, 11139.0, 11140.0, 11141.0, 11142.0, 11144.0, 11145.0, 11148.0, 11149.0, 11151.0, 11152.0, 11154.0, 11155.0, 11156.0, 11158.0, 11159.0, 11161.0, 11165.0, 11166.0, 11167.0, 11169.0, 11173.0, 11174.0, 11177.0, 11178.0, 11179.0, 11180.0, 11182.0, 11183.0, 11184.0, 11185.0, 11186.0, 11187.0, 11188.0, 11189.0, 11192.0, 11194.0, 11196.0, 11197.0, 11198.0, 11200.0, 11201.0, 11202.0, 11203.0, 11204.0, 11207.0, 11208.0, 11209.0, 11210.0, 11211.0, 11213.0, 11214.0, 11218.0, 11220.0, 11221.0, 11222.0, 11223.0, 11228.0, 11229.0, 11230.0, 11231.0, 11232.0, 11233.0, 11234.0, 11235.0, 11236.0, 11237.0, 11238.0, 11239.0, 11240.0, 11241.0, 11242.0, 11244.0, 11245.0, 11246.0, 11248.0, 11249.0, 11250.0, 11251.0, 11252.0, 11253.0, 11256.0, 11257.0, 11259.0, 11260.0, 11265.0, 11268.0, 11269.0, 11270.0, 11271.0, 11273.0, 11274.0, 11276.0, 11277.0, 11280.0, 11282.0, 11283.0, 11284.0, 11285.0, 11286.0, 11287.0, 11288.0, 11289.0, 11290.0, 11291.0, 11293.0, 11294.0, 11295.0, 11298.0, 11299.0, 11300.0, 11301.0, 11302.0, 11305.0, 11306.0, 11308.0, 11309.0, 11310.0, 11311.0, 11313.0, 11315.0, 11316.0, 11317.0, 11320.0, 11321.0, 11322.0, 11323.0, 11325.0, 11328.0, 11329.0, 11331.0, 11332.0, 11334.0, 11335.0, 11336.0, 11337.0, 11338.0, 11340.0, 11341.0, 11342.0, 11343.0, 11345.0, 11346.0, 11347.0, 11348.0, 11349.0, 11350.0, 11351.0, 11352.0, 11353.0, 11354.0, 11355.0, 11356.0, 11357.0, 11358.0, 11359.0, 11361.0, 11362.0, 11363.0, 11364.0, 11365.0, 11366.0, 11369.0, 11370.0, 11371.0, 11372.0, 11374.0, 11375.0, 11376.0, 11378.0, 11379.0, 11380.0, 11383.0, 11385.0, 11386.0, 11387.0, 11388.0, 11389.0, 11390.0, 11391.0, 11392.0, 11394.0, 11395.0, 11397.0, 11398.0, 11399.0, 11400.0, 11401.0, 11403.0, 11404.0, 11405.0, 11406.0, 11407.0, 11408.0, 11410.0, 11412.0, 11413.0, 11414.0, 11417.0, 11418.0, 11419.0, 11421.0, 11422.0, 11423.0, 11424.0, 11426.0, 11432.0, 11433.0, 11435.0, 11436.0, 11441.0, 11442.0, 11443.0, 11444.0, 11445.0, 11446.0, 11450.0, 11452.0, 11456.0, 11457.0, 11458.0, 11459.0, 11460.0, 11461.0, 11463.0, 11464.0, 11465.0, 11466.0, 11467.0, 11468.0, 11469.0, 11470.0, 11471.0, 11473.0, 11475.0, 11477.0, 11478.0, 11479.0, 11480.0, 11485.0, 11486.0, 11487.0, 11488.0, 11489.0, 11490.0, 11491.0, 11492.0, 11493.0, 11494.0, 11495.0, 11496.0, 11497.0, 11498.0, 11502.0, 11504.0, 11505.0, 11506.0, 11511.0, 11512.0, 11513.0, 11514.0, 11515.0, 11517.0, 11519.0, 11520.0, 11521.0, 11522.0, 11523.0, 11524.0, 11525.0, 11529.0, 11530.0, 11533.0, 11534.0, 11535.0, 11537.0, 11539.0, 11540.0, 11542.0, 11545.0, 11547.0, 11548.0, 11549.0, 11550.0, 11552.0, 11556.0, 11557.0, 11560.0, 11561.0, 11564.0, 11565.0, 11568.0, 11569.0, 11570.0, 11571.0, 11572.0, 11573.0, 11574.0, 11577.0, 11579.0, 11580.0, 11581.0, 11583.0, 11585.0, 11587.0, 11588.0, 11590.0, 11593.0, 11594.0, 11595.0, 11596.0, 11597.0, 11598.0, 11599.0, 11600.0, 11601.0, 11602.0, 11603.0, 11605.0, 11607.0, 11608.0, 11609.0, 11610.0, 11612.0, 11613.0, 11615.0, 11616.0, 11617.0, 11618.0, 11619.0, 11620.0, 11621.0, 11622.0, 11625.0, 11626.0, 11628.0, 11631.0, 11633.0, 11634.0, 11635.0, 11638.0, 11641.0, 11642.0, 11646.0, 11647.0, 11650.0, 11651.0, 11652.0, 11654.0, 11655.0, 11656.0, 11657.0, 11658.0, 11660.0, 11661.0, 11662.0, 11665.0, 11666.0, 11667.0, 11669.0, 11670.0, 11671.0, 11672.0, 11673.0, 11674.0, 11675.0, 11676.0, 11678.0, 11679.0, 11681.0, 11682.0, 11683.0, 11684.0, 11685.0, 11686.0, 11687.0, 11688.0, 11689.0, 11692.0, 11694.0, 11695.0, 11700.0, 11702.0, 11705.0, 11706.0, 11707.0, 11708.0, 11709.0, 11710.0, 11713.0, 11714.0, 11716.0, 11718.0, 11720.0, 11721.0, 11724.0, 11726.0, 11727.0, 11728.0, 11729.0, 11730.0, 11731.0, 11738.0, 11739.0, 11741.0, 11742.0, 11743.0, 11747.0, 11748.0, 11749.0, 11750.0, 11751.0, 11752.0, 11753.0, 11754.0, 11755.0, 11756.0, 11757.0, 11758.0, 11759.0, 11760.0, 11763.0, 11764.0, 11765.0, 11766.0, 11768.0, 11769.0, 11770.0, 11772.0, 11773.0, 11774.0, 11775.0, 11776.0, 11779.0, 11781.0, 11783.0, 11784.0, 11785.0, 11787.0, 11788.0, 11789.0, 11790.0, 11792.0, 11793.0, 11794.0, 11795.0, 11796.0, 11797.0, 11799.0, 11801.0, 11803.0, 11805.0, 11807.0, 11808.0, 11811.0, 11812.0, 11813.0, 11815.0, 11817.0, 11818.0, 11819.0, 11820.0, 11821.0, 11822.0, 11823.0, 11827.0, 11828.0, 11829.0, 11830.0, 11835.0, 11836.0, 11837.0, 11838.0, 11840.0, 11841.0, 11842.0, 11843.0, 11844.0, 11846.0, 11847.0, 11850.0, 11851.0, 11852.0, 11853.0, 11854.0, 11856.0, 11857.0, 11858.0, 11859.0, 11860.0, 11861.0, 11863.0, 11864.0, 11867.0, 11868.0, 11871.0, 11872.0, 11873.0, 11874.0, 11875.0, 11877.0, 11880.0, 11881.0, 11882.0, 11883.0, 11885.0, 11886.0, 11887.0, 11888.0, 11889.0, 11890.0, 11891.0, 11894.0, 11895.0, 11897.0, 11899.0, 11900.0, 11902.0, 11904.0, 11905.0, 11907.0, 11908.0, 11909.0, 11911.0, 11913.0, 11914.0, 11917.0, 11918.0, 11919.0, 11920.0, 11922.0, 11924.0, 11925.0, 11926.0, 11927.0, 11929.0, 11930.0, 11931.0, 11932.0, 11933.0, 11936.0, 11938.0, 11939.0, 11940.0, 11941.0, 11942.0, 11943.0, 11944.0, 11945.0, 11946.0, 11947.0, 11948.0, 11949.0, 11950.0, 11952.0, 11953.0, 11954.0, 11955.0, 11957.0, 11958.0, 11959.0, 11960.0, 11961.0, 11962.0, 11963.0, 11964.0, 11965.0, 11966.0, 11967.0, 11968.0, 11969.0, 11970.0, 11971.0, 11972.0, 11973.0, 11974.0, 11975.0, 11976.0, 11977.0, 11978.0, 11979.0, 11980.0, 11982.0, 11986.0, 11987.0, 11988.0, 11989.0, 11990.0, 11991.0, 11992.0, 11994.0, 11995.0, 11996.0, 11998.0, 12001.0, 12005.0, 12006.0, 12007.0, 12009.0, 12010.0, 12011.0, 12012.0, 12014.0, 12016.0, 12020.0, 12021.0, 12023.0, 12024.0, 12026.0, 12028.0, 12030.0, 12032.0, 12033.0, 12034.0, 12035.0, 12038.0, 12039.0, 12040.0, 12041.0, 12042.0, 12043.0, 12046.0, 12047.0, 12048.0, 12049.0, 12050.0, 12051.0, 12056.0, 12057.0, 12058.0, 12059.0, 12060.0, 12061.0, 12063.0, 12064.0, 12065.0, 12067.0, 12069.0, 12070.0, 12071.0, 12072.0, 12073.0, 12074.0, 12075.0, 12079.0, 12080.0, 12081.0, 12082.0, 12083.0, 12084.0, 12085.0, 12087.0, 12088.0, 12093.0, 12098.0, 12099.0, 12101.0, 12103.0, 12105.0, 12107.0, 12108.0, 12109.0, 12110.0, 12111.0, 12112.0, 12113.0, 12114.0, 12115.0, 12116.0, 12117.0, 12118.0, 12119.0, 12120.0, 12121.0, 12122.0, 12123.0, 12126.0, 12127.0, 12131.0, 12133.0, 12134.0, 12137.0, 12138.0, 12139.0, 12141.0, 12143.0, 12144.0, 12146.0, 12147.0, 12148.0, 12152.0, 12154.0, 12155.0, 12157.0, 12158.0, 12159.0, 12160.0, 12162.0, 12163.0, 12166.0, 12167.0, 12168.0, 12169.0, 12170.0, 12172.0, 12173.0, 12175.0, 12176.0, 12178.0, 12179.0, 12182.0, 12183.0, 12184.0, 12185.0, 12187.0, 12188.0, 12191.0, 12193.0, 12199.0, 12200.0, 12201.0, 12202.0, 12203.0, 12204.0, 12205.0, 12206.0, 12207.0, 12208.0, 12210.0, 12213.0, 12214.0, 12215.0, 12218.0, 12219.0, 12220.0, 12221.0, 12222.0, 12223.0, 12224.0, 12226.0, 12227.0, 12228.0, 12231.0, 12232.0, 12233.0, 12235.0, 12237.0, 12238.0, 12240.0, 12241.0, 12242.0, 12244.0, 12245.0, 12248.0, 12249.0, 12250.0, 12251.0, 12252.0, 12253.0, 12254.0, 12256.0, 12257.0, 12258.0, 12259.0, 12262.0, 12265.0, 12266.0, 12267.0, 12268.0, 12269.0, 12270.0, 12271.0, 12273.0, 12274.0, 12276.0, 12277.0, 12278.0, 12279.0, 12281.0, 12284.0, 12285.0, 12286.0, 12288.0, 12289.0, 12290.0, 12291.0, 12297.0, 12298.0, 12299.0, 12303.0, 12304.0, 12306.0, 12307.0, 12308.0, 12309.0, 12310.0, 12314.0, 12316.0, 12317.0, 12318.0, 12319.0, 12320.0, 12321.0, 12323.0, 12325.0, 12326.0, 12328.0, 12329.0, 12330.0, 12333.0, 12335.0, 12336.0, 12337.0, 12339.0, 12340.0, 12341.0, 12342.0, 12343.0, 12344.0, 12345.0, 12346.0, 12348.0, 12349.0, 12350.0, 12352.0, 12353.0, 12355.0, 12356.0, 12357.0, 12358.0, 12359.0, 12360.0, 12362.0, 12363.0, 12365.0, 12366.0, 12369.0, 12370.0, 12371.0, 12372.0, 12373.0, 12376.0, 12378.0, 12379.0, 12381.0, 12382.0, 12383.0, 12384.0, 12386.0, 12388.0, 12389.0, 12390.0, 12391.0, 12392.0, 12394.0, 12399.0, 12400.0, 12403.0, 12404.0, 12405.0, 12407.0, 12409.0, 12410.0, 12411.0, 12413.0, 12415.0, 12416.0, 12418.0, 12420.0, 12421.0, 12423.0, 12429.0, 12430.0, 12432.0, 12433.0, 12435.0, 12437.0, 12438.0, 12439.0, 12440.0, 12441.0, 12442.0, 12444.0, 12445.0, 12446.0, 12447.0, 12449.0, 12450.0, 12453.0, 12454.0, 12455.0, 12456.0, 12457.0, 12460.0, 12461.0, 12462.0, 12463.0, 12465.0, 12466.0, 12468.0, 12469.0, 12470.0, 12472.0, 12473.0, 12474.0, 12475.0, 12476.0, 12477.0, 12478.0, 12479.0, 12480.0, 12481.0, 12483.0, 12484.0, 12485.0, 12486.0, 12487.0, 12488.0, 12490.0, 12491.0, 12493.0, 12494.0, 12495.0, 12496.0, 12499.0, 12500.0, 12501.0, 12503.0, 12504.0, 12506.0, 12507.0, 12509.0, 12512.0, 12513.0, 12514.0, 12515.0, 12517.0, 12518.0, 12519.0, 12520.0, 12521.0, 12524.0, 12525.0, 12526.0, 12528.0, 12529.0, 12531.0, 12532.0, 12535.0, 12538.0, 12540.0, 12541.0, 12542.0, 12543.0, 12544.0, 12547.0, 12548.0, 12549.0, 12550.0, 12552.0, 12553.0, 12555.0, 12556.0, 12558.0, 12559.0, 12560.0, 12561.0, 12562.0, 12563.0, 12565.0, 12566.0, 12567.0, 12568.0, 12569.0, 12573.0, 12574.0, 12576.0, 12577.0, 12578.0, 12579.0, 12582.0, 12583.0, 12584.0, 12585.0, 12586.0, 12587.0, 12589.0, 12591.0, 12593.0, 12594.0, 12596.0, 12597.0, 12600.0, 12601.0, 12602.0, 12604.0, 12607.0, 12609.0, 12610.0, 12611.0, 12612.0, 12614.0, 12616.0, 12617.0, 12618.0, 12619.0, 12622.0, 12624.0, 12626.0, 12628.0, 12630.0, 12631.0, 12634.0, 12637.0, 12639.0, 12644.0, 12645.0, 12647.0, 12648.0, 12649.0, 12650.0, 12651.0, 12655.0, 12656.0, 12657.0, 12659.0, 12660.0, 12661.0, 12663.0, 12665.0, 12666.0, 12669.0, 12671.0, 12673.0, 12674.0, 12678.0, 12679.0, 12681.0, 12682.0, 12684.0, 12688.0, 12690.0, 12691.0, 12693.0, 12694.0, 12696.0, 12698.0, 12700.0, 12701.0, 12702.0, 12703.0, 12704.0, 12705.0, 12706.0, 12707.0, 12709.0, 12711.0, 12712.0, 12713.0, 12714.0, 12715.0, 12716.0, 12718.0, 12719.0, 12720.0, 12721.0, 12725.0, 12726.0, 12727.0, 12729.0, 12730.0, 12731.0, 12732.0, 12733.0, 12737.0, 12738.0, 12739.0, 12740.0, 12744.0, 12746.0, 12750.0, 12751.0, 12754.0, 12756.0, 12757.0, 12758.0, 12760.0, 12762.0, 12763.0, 12764.0, 12766.0, 12769.0, 12771.0, 12772.0, 12773.0, 12774.0, 12776.0, 12777.0, 12778.0, 12779.0, 12780.0, 12781.0, 12782.0, 12786.0, 12787.0, 12788.0, 12790.0, 12791.0, 12792.0, 12794.0, 12795.0, 12797.0, 12800.0, 12803.0, 12804.0, 12805.0, 12808.0, 12809.0, 12812.0, 12815.0, 12817.0, 12818.0, 12819.0, 12821.0, 12822.0, 12823.0, 12826.0, 12827.0, 12828.0, 12830.0, 12834.0, 12835.0, 12836.0, 12837.0, 12838.0, 12839.0, 12840.0, 12843.0, 12847.0, 12848.0, 12849.0, 12850.0, 12851.0, 12852.0, 12853.0, 12856.0, 12857.0, 12858.0, 12859.0, 12860.0, 12861.0, 12863.0, 12865.0, 12867.0, 12868.0, 12869.0, 12870.0, 12871.0, 12872.0, 12873.0, 12874.0, 12877.0, 12878.0, 12879.0, 12882.0, 12883.0, 12886.0, 12889.0, 12892.0, 12896.0, 12897.0, 12899.0, 12901.0, 12902.0, 12903.0, 12905.0, 12906.0, 12907.0, 12910.0, 12911.0, 12913.0, 12916.0, 12917.0, 12918.0, 12919.0, 12920.0, 12922.0, 12923.0, 12925.0, 12926.0, 12927.0, 12930.0, 12931.0, 12932.0, 12933.0, 12934.0, 12935.0, 12938.0, 12939.0, 12940.0, 12941.0, 12942.0, 12943.0, 12946.0, 12947.0, 12950.0, 12951.0, 12952.0, 12954.0, 12955.0, 12956.0, 12957.0, 12958.0, 12959.0, 12963.0, 12964.0, 12965.0, 12967.0, 12968.0, 12970.0, 12974.0, 12975.0, 12976.0, 12978.0, 12979.0, 12980.0, 12981.0, 12982.0, 12984.0, 12985.0, 12986.0, 12987.0, 12988.0, 12989.0, 12991.0, 12992.0, 12993.0, 12995.0, 12996.0, 12997.0, 12999.0, 13000.0, 13002.0, 13004.0, 13005.0, 13006.0, 13007.0, 13008.0, 13010.0, 13011.0, 13013.0, 13014.0, 13016.0, 13018.0, 13019.0, 13020.0, 13021.0, 13022.0, 13023.0, 13024.0, 13025.0, 13027.0, 13028.0, 13029.0, 13030.0, 13031.0, 13033.0, 13034.0, 13035.0, 13036.0, 13037.0, 13038.0, 13040.0, 13041.0, 13042.0, 13043.0, 13045.0, 13046.0, 13047.0, 13048.0, 13050.0, 13051.0, 13052.0, 13053.0, 13054.0, 13057.0, 13058.0, 13061.0, 13062.0, 13064.0, 13065.0, 13066.0, 13068.0, 13069.0, 13070.0, 13072.0, 13073.0, 13074.0, 13078.0, 13080.0, 13081.0, 13083.0, 13084.0, 13085.0, 13086.0, 13089.0, 13090.0, 13092.0, 13093.0, 13094.0, 13097.0, 13099.0, 13100.0, 13101.0, 13103.0, 13104.0, 13106.0, 13108.0, 13109.0, 13110.0, 13111.0, 13112.0, 13113.0, 13114.0, 13117.0, 13119.0, 13120.0, 13123.0, 13124.0, 13125.0, 13126.0, 13128.0, 13129.0, 13130.0, 13132.0, 13134.0, 13135.0, 13136.0, 13138.0, 13139.0, 13141.0, 13142.0, 13145.0, 13146.0, 13147.0, 13148.0, 13149.0, 13151.0, 13152.0, 13153.0, 13154.0, 13155.0, 13156.0, 13157.0, 13159.0, 13160.0, 13161.0, 13162.0, 13163.0, 13164.0, 13165.0, 13166.0, 13168.0, 13169.0, 13176.0, 13177.0, 13180.0, 13183.0, 13184.0, 13185.0, 13187.0, 13189.0, 13191.0, 13192.0, 13193.0, 13194.0, 13196.0, 13197.0, 13199.0, 13200.0, 13201.0, 13203.0, 13205.0, 13207.0, 13209.0, 13210.0, 13211.0, 13212.0, 13213.0, 13214.0, 13215.0, 13216.0, 13218.0, 13219.0, 13220.0, 13221.0, 13222.0, 13223.0, 13224.0, 13226.0, 13227.0, 13229.0, 13232.0, 13234.0, 13236.0, 13237.0, 13239.0, 13240.0, 13243.0, 13244.0, 13245.0, 13248.0, 13249.0, 13251.0, 13256.0, 13257.0, 13258.0, 13261.0, 13263.0, 13266.0, 13267.0, 13268.0, 13270.0, 13271.0, 13272.0, 13273.0, 13275.0, 13277.0, 13278.0, 13280.0, 13281.0, 13284.0, 13285.0, 13287.0, 13288.0, 13290.0, 13291.0, 13304.0, 13305.0, 13306.0, 13307.0, 13337.0, 13349.0, 13350.0, 13378.0, 13379.0, 13381.0, 13382.0, 13384.0, 13386.0, 13431.0, 13433.0, 13484.0, 13491.0, 13492.0, 13494.0, 13496.0, 13497.0, 13499.0, 13500.0, 13501.0, 13502.0, 13504.0, 13505.0, 13506.0, 13507.0, 13508.0, 13516.0, 13517.0, 13518.0, 13528.0, 13530.0, 13537.0, 13538.0, 13539.0, 13540.0, 13551.0, 13552.0, 13553.0, 13557.0, 13558.0, 13559.0, 13560.0, 13561.0, 13581.0, 13582.0, 13583.0, 13585.0, 13587.0, 13588.0, 13589.0, 13595.0, 13599.0, 13600.0, 13623.0, 13635.0, 13636.0, 13640.0, 13642.0, 13643.0, 13649.0, 13650.0, 13660.0, 13673.0, 13674.0, 13688.0, 13690.0, 13692.0, 13696.0, 13697.0, 13698.0, 13699.0, 13701.0, 13702.0, 13703.0, 13708.0, 13709.0, 13719.0, 13733.0, 13758.0, 13759.0, 13761.0, 13794.0, 13800.0, 13806.0, 13844.0, 13863.0, 13864.0, 13875.0, 13881.0, 13952.0, 13953.0, 13954.0, 13955.0, 13972.0, 13973.0, 13974.0, 14102.0, 14103.0, 14104.0, 14105.0, 14106.0, 14115.0, 14116.0, 14117.0, 14126.0, 14127.0, 14128.0, 14129.0, 14134.0, 14136.0, 14147.0, 14148.0, 14151.0, 14153.0, 14154.0, 14155.0, 14162.0, 14167.0, 14170.0, 14172.0, 14173.0, 14174.0, 14175.0, 14176.0, 14178.0, 14179.0, 14185.0, 14186.0, 14187.0, 14189.0, 14190.0, 14194.0, 14195.0, 14196.0, 14197.0, 14200.0, 14203.0, 14208.0, 14223.0, 14224.0, 14227.0, 14252.0, 14258.0, 14359.0, 14366.0, 14368.0, 14377.0, 14390.0, 14391.0, 14397.0, 14398.0, 14404.0, 14406.0, 14409.0, 14430.0, 14433.0, 14462.0, 14463.0, 14498.0, 14500.0, 14501.0, 14502.0, 14505.0, 14507.0, 14512.0, 14519.0, 14520.0, 14522.0, 14523.0, 14524.0, 14533.0, 14551.0, 14552.0, 14559.0, 14565.0, 14566.0, 14569.0, 14572.0, 14593.0, 14594.0, 14603.0, 14605.0, 14610.0, 14611.0, 14627.0, 14632.0, 14634.0, 14646.0, 14647.0, 14655.0, 14656.0, 14658.0, 14659.0, 14660.0, 14661.0, 14662.0, 14745.0, 14785.0, 14787.0, 14788.0, 14846.0, 14848.0, 14849.0, 14857.0, 14865.0, 14867.0, 15191.0, 15192.0, 15302.0, 15303.0, 15360.0}
In [110]:
crash_details.drop_duplicates()[crash_details.STREETSEGID==2480]
//anaconda/lib/python3.5/site-packages/ipykernel/__main__.py:1: UserWarning: Boolean Series key will be reindexed to match DataFrame index.
if __name__ == '__main__':
Out[110]:
STREETSEGID
SHAPE_Length
crash_count
0
2480.0
118.998473
24
In [28]:
dc_city_req_details = pd.DataFrame(pd.read_csv('../DC_City_Request_Details_filtered.csv'))
In [29]:
dc_city_req_details.shape
Out[29]:
(13522, 241)
In [30]:
dc_city_req_details.drop_duplicates().shape
Out[30]:
(13522, 241)
In [32]:
dc_city_req_details = pd.DataFrame(pd.read_csv('../DC_City_Request_Details_complete.csv'))
dc_city_req_details.shape
Out[32]:
(13522, 245)
In [33]:
dc_city_req_details.drop_duplicates().shape
Out[33]:
(13522, 245)
In [34]:
dc_city_req_details = dc_city_req_details.drop('Unnamed: 0', axis=1)
In [ ]:
dc_city_req_details['city_req_count/len']
In [35]:
dc_city_req_details.head().T
Out[35]:
0
1
2
3
4
OBJECTID
1
2
3
4
5
STREETSEGID
876
13161
8240
10395
2216
SHAPE_Length
192.925
131.936
117.887
108.331
119.19
geometry
LINESTRING (-77.01239193659748 38.950836102255...
LINESTRING (-77.01163764014346 38.953383268855...
LINESTRING (-77.01157276320811 38.954558133776...
LINESTRING (-77.0116155077942 38.9556194835925...
LINESTRING (-77.01161670521323 38.956595348877...
city_req_seg_count
3
2
80
6
2
STREET PAVING SCHEDU_count
0
0
0
0
0
LIGHT-TUNNEL/UNDPASS_count
0
0
0
0
0
RESIDENTIAL PERMIT -_count
0
0
0
0
0
PUBLIC SPACE - OBSTR_count
0
0
0
0
0
SIGN NEW_count
0
0
0
0
0
UTILITY REPAIR MAJOR_count
0
0
0
0
0
SPEED STUDY DATA MAP_count
0
0
0
0
0
MARKING INSTALLATION_count
0
0
0
0
0
SIGNS CONFLICTING_count
0
0
0
0
0
SIGN MISSING_count
0
0
0
0
0
BRIDGE MAINTENANCE R_count
0
0
0
0
0
TRAFFIC CALMING_count
0
0
0
0
0
RESIDENT PARKING PER_count
0
0
0
0
0
MARKING MODIFICATION_count
0
0
0
0
0
ALLEYLIGHT REPAIR_count
0
0
0
1
0
STREETLIGHT REPAIR_count
0
0
0
0
0
SAFE ROUTES TO SCHOO_count
0
0
0
0
0
S0306_count
0
0
0
0
0
PAVE_count
0
0
0
0
0
S0457_count
0
0
0
0
0
MARKING REMOVAL_count
0
0
0
0
0
SCHOOL SUBSIDY_count
0
0
0
0
0
TREE REMOVAL_count
0
0
0
0
1
LIGHT-OHGS_count
0
0
0
0
0
BICYCLES_count
0
0
0
0
0
...
...
...
...
...
...
LIGHT-LIGHT POLE_count_norm
0
0
0
0
0
LIGHT-LIGHT POLE_count/len_norm
0
0
0
0
0
TREE PRUNING_count_norm
0
0
0
0
0
TREE PRUNING_count/len_norm
0
0
0
0
0
S0381_count_norm
0
0
0
0
0
S0381_count/len_norm
0
0
0
0
0
SIDEWALK REPAIR_count_norm
0.157293
0
0.64293
0
0
SIDEWALK REPAIR_count/len_norm
0.00504485
0
0.124189
0
0
PEDESTRIAN SAFETY PR_count_norm
0
0
0
0
0
PEDESTRIAN SAFETY PR_count/len_norm
0
0
0
0
0
PARKING - HANDICAP_count_norm
0
0
0
0
0
PARKING - HANDICAP_count/len_norm
0
0
0
0
0
BULB OUT_count_norm
0
0
0
0
0
BULB OUT_count/len_norm
0
0
0
0
0
MARKING MAINTENANCE_count_norm
0
0
0
0
0
MARKING MAINTENANCE_count/len_norm
0
0
0
0
0
PUSH BUTTON MALFUNCT_count_norm
0
0
0
0
0
PUSH BUTTON MALFUNCT_count/len_norm
0
0
0
0
0
SIGN TRAFFIC CONTROL_count_norm
0
0
0
0
0
SIGN TRAFFIC CONTROL_count/len_norm
0
0
0
0
0
PEDESTRIAN SIGNAL RE_count_norm
0
0
0
0
0
PEDESTRIAN SIGNAL RE_count/len_norm
0
0
0
0
0
TRAFFIC SIGNAL MAIN_count_norm
0
0
0
0
0
TRAFFIC SIGNAL MAIN_count/len_norm
0
0
0
0
0
city_req_seg_count_norm
0.122598
0.0971566
0.388626
0.172088
0.0971566
city_req_count/len_norm
0.00244208
0.00238111
0.0819761
0.00853145
0.00263362
Parking Meter_count
2
1
64
5
1
Parking_Meter_count/len
0.0103667
0.00757945
0.542893
0.0461548
0.00838994
Parking Meter_count_norm
0.0971575
0.0612996
0.369169
0.158457
0.0612996
Parking_Meter_count/len_norm
0.00163246
0.0011952
0.0686421
0.00714207
0.00132247
244 rows × 5 columns
In [6]:
dc_vision0_details=pd.read_csv('../DC_Vision_Zero_Details.csv')
dc_vision0_details.shape
Out[6]:
(15071, 76)
In [7]:
dc_vision0_details.drop_duplicates().shape
Out[7]:
(15071, 76)
In [10]:
dc_vision0_details = dc_vision0_details.drop('Unnamed: 0', axis=1)
In [11]:
dc_vision0_details.head().T
Out[11]:
0
1
2
3
4
OBJECTID
1.000000
2.000000
3.000000
4.000000
5.000000
STREETSEGID
876.000000
13161.000000
8240.000000
10395.000000
2216.000000
SHAPE_Length
192.925131
131.935677
117.887011
108.331118
119.190312
vision0_pts_seg
2.000000
1.000000
0.000000
0.000000
0.000000
vision0_pts/len
0.010367
0.007579
0.000000
0.000000
0.000000
vision0_pts_seg_norm
0.350379
0.221065
0.000000
0.000000
0.000000
vision0_pts/len_norm
0.030195
0.022107
0.000000
0.000000
0.000000
Red light running_count
0.000000
0.000000
0.000000
0.000000
0.000000
Accessibility Issue_count
0.000000
0.000000
0.000000
0.000000
0.000000
Failure to stop for pedestrians_count
0.000000
0.000000
0.000000
0.000000
0.000000
Double parking_count
0.000000
0.000000
0.000000
0.000000
0.000000
Stop sign running_count
0.000000
1.000000
0.000000
0.000000
0.000000
Long distance to cross_count
0.000000
0.000000
0.000000
0.000000
0.000000
Other Walking Issue_count
0.000000
0.000000
0.000000
0.000000
0.000000
Jaywalking_count
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the bikebox_count
0.000000
0.000000
0.000000
0.000000
0.000000
Other Driving Issue_count
0.000000
0.000000
0.000000
0.000000
0.000000
Other Biking Issue_count
2.000000
0.000000
0.000000
0.000000
0.000000
Speeding_count
0.000000
0.000000
0.000000
0.000000
0.000000
Cyclist behavior_count
0.000000
0.000000
0.000000
0.000000
0.000000
Not enough time to cross_count
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the crosswalk_count
0.000000
0.000000
0.000000
0.000000
0.000000
Long wait to cross_count
0.000000
0.000000
0.000000
0.000000
0.000000
Poor visibility_count
0.000000
0.000000
0.000000
0.000000
0.000000
Red light running_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Red light running_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Red light running_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Accessibility Issue_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Accessibility Issue_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Accessibility Issue_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
...
...
...
...
...
...
Jaywalking_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Jaywalking_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Jaywalking_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the bikebox_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the bikebox_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the bikebox_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Other Driving Issue_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Other Driving Issue_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Other Driving Issue_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Other Biking Issue_count/len
0.010367
0.000000
0.000000
0.000000
0.000000
Other Biking Issue_count_norm
0.613147
0.000000
0.000000
0.000000
0.000000
Other Biking Issue_count/len_norm
0.214425
0.000000
0.000000
0.000000
0.000000
Speeding_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Speeding_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Speeding_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Cyclist behavior_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Cyclist behavior_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Cyclist behavior_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Not enough time to cross_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Not enough time to cross_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Not enough time to cross_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the crosswalk_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the crosswalk_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Blocking the crosswalk_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Long wait to cross_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Long wait to cross_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Long wait to cross_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Poor visibility_count/len
0.000000
0.000000
0.000000
0.000000
0.000000
Poor visibility_count_norm
0.000000
0.000000
0.000000
0.000000
0.000000
Poor visibility_count/len_norm
0.000000
0.000000
0.000000
0.000000
0.000000
75 rows × 5 columns
In [1]:
def gradient_color(percent):
min_color = np.array([255,255,255])
max_color = np.array([178,34,34])
return '#%02x%02x%02x' % tuple([int(k) for k in min_color+(max_color-min_color)*percent])
def write_var(col_name, var_name, df,f):
df['color']=df[col_name].apply(gradient_color)
f.write('var %s = %s;\n' % (var_name, df.to_json()))
with open('../visualization/Volumes of City Requests with Parking Meter Req.js','w+') as f:
write_var('city_req_seg_count_norm', 'city_req_count', dc_city_req_details,f)
write_var('city_req_count/len_norm', 'city_req_count_norm', dc_city_req_details,f)
#write_var('Parking Meter_count_norm', 'Parking_Meter_count', dc_city_req_details,f)
#write_var('Parking_Meter_count/len_norm', 'Parking_Meter_count_norm', dc_city_req_details,f)
---------------------------------------------------------------------------
NameError Traceback (most recent call last)
<ipython-input-1-8aafa890eb71> in <module>()
9
10 with open('../visualization/Volumes of City Requests with Parking Meter Req.js','w+') as f:
---> 11 write_var('city_req_seg_count_norm', 'city_req_count', dc_city_req_details,f)
12 write_var('city_req_count/len_norm', 'city_req_count_norm', dc_city_req_details,f)
13 #write_var('Parking Meter_count_norm', 'Parking_Meter_count', dc_city_req_details,f)
NameError: name 'dc_city_req_details' is not defined
In [ ]:
Content source: KiranJavkar/Cycling_Safety
Similar notebooks: