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 [ ]: