Commit 1f1d026d by Dave Foote

fuck

parent 962f8196
Showing with 21 additions and 4 deletions
...@@ -6,6 +6,7 @@ Dave Foote ...@@ -6,6 +6,7 @@ Dave Foote
import pandas as pd import pandas as pd
import matplotlib as plt import matplotlib as plt
from sodapy import Socrata from sodapy import Socrata
from shapely.geometry import Point, Polygon, MultiPolygon
#data download helpers #data download helpers
def get_full_dataset(data_set_id): def get_full_dataset(data_set_id):
...@@ -33,7 +34,23 @@ def make_new_downloads(data_set_id, client, limit, offset): ...@@ -33,7 +34,23 @@ def make_new_downloads(data_set_id, client, limit, offset):
def create_df(list_of_dicts): def create_df(list_of_dicts):
#takes the full list of crime records and makes a df out of them #takes the full list of crime records and makes a df out of them
return pd.DataFrame(list_of_dicts) return pd.DataFrame(list_of_dicts)
'''
def get_coordinates(df):
'''
inputs: df with string lat/long columns
creates an associated GeoPandas series of points
'''
longs = [float(x) for x in df.longitude]
lats = [float(x) for x in df.latitude]
return geopandas.GeoSeries([Point(x) for x in list(zip(longs, lats))])
def get_tracts(df_info, df_tract):
'''
inputs: a dataframe with records you'd like to assign tracts to and a dataframe
with boundaries of census tracts (df_tract)
output:
'''
#get the data #get the data
id_17 = 'd62x-nvdr' id_17 = 'd62x-nvdr'
id_18 = '3i3m-jwuy' id_18 = '3i3m-jwuy'
...@@ -64,8 +81,8 @@ print('Change in Arrest Per Stop Rate from 17-18:\n', (aps_18 - aps_17)) ...@@ -64,8 +81,8 @@ print('Change in Arrest Per Stop Rate from 17-18:\n', (aps_18 - aps_17))
#pull in census tract data from chicago data portal: #pull in census tract data from chicago data portal:
id_tract = '74p9-q2aq' id_tract = '74p9-q2aq'
df_tract_info = create_df(get_full_datset(id_tract)) df_tract_info = create_df(get_full_datset(id_tract))
#update 17 and 18 dfs with tracts
df_17.tract = df_17.location.apply()
''' '''
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment