Question:I am getting an error while running the below code . I am new to this and not sure how to fix the issue. creae function to assign each coordinates point to its borough.
def find_borough(lat,lon):
"""
return the borough of a location given its latitude and longitude
lat: float, latitude
lon: float, longitude
"""
boro = 0 # initialize borough as 0
for k,v in boros.iteritems(): # update boro to the right key corresponding to the parent polygon
if v['polygon'].contains(Point(lon,lat)):
boro = k
break # break the loop once the borough is found
return [boro]
## Analyse the cluster now
# create data frame of boroughs
df = data1[data1.Trip_duration>=1350]
orig_dest = []
for v in df[['Pickup_latitude','Pickup_longitude','Dropoff_latitude','Dropoff_longitude']].values:
orig_dest.append((find_borough(v[0],v[1])[0],find_borough(v[2],v[3])[0]))
df2 = pd.DataFrame(orig_dest)
---------------------------------------------------------------------------
AttributeError Traceback (most recent call last)
<ipython-input-92-6a4861346be4> in <module>()
35 orig_dest = []
36 for v in df[['Pickup_latitude','Pickup_longitude','Dropoff_latitude','Dropoff_longitude']].values:
---> 37 orig_dest.append((find_borough(v[0],v[1])[0],find_borough(v[2],v[3])[0]))
38 df2 = pd.DataFrame(orig_dest)
39
<ipython-input-92-6a4861346be4> in find_borough(lat, lon)
24 """
25 boro = 0 # initialize borough as 0
---> 26 for k,v in boros.iteritems(): # update boro to the right key corresponding to the parent polygon
27 if v['polygon'].contains(Point(lon,lat)):
28 boro = k
AttributeError: 'dict' object has no attribute 'iteritems'
In Python 3, dict.iteritems was renamed to dict.items. You should do this renaming in your code as well. In Python 2, dict.items works too, though this will give back a list of items, whereas dict.iteritems in Python 2 (and dict.items in Python 3) gives back a generator, enabling low-memory looping over the items.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With