2016-12-20 66 views
1

我已經寫了一個代碼,以獲得一個字典,它顯示了我作爲值的博物館的關鍵和地理位置信息。博物館總是從博物館列表中獲取(df2)。我幾乎得到了我想要的結果。但是,不幸的是,返回的字典總是保持相同的座標。因此,這些值不會根據密鑰更新。地理定位字典

想得到一些幫助!

def geocode(museum): 
    location = geolocator.geocode(museum, exactly_one = False) 
    return location 

d = {} 
for museum in df2: 
    if geocode(museum) is False: 
     d[museum] = 'Nothing found' 
    else: 
     d[museum] = [location[0].latitude],[location[0].longitude], [len(location)] 
+0

你應該保存'geocode'函數的返回,然後用它來分配它,即'location'應更新根據您的來電到'geocode'。 –

回答

0

,可以儲存的geocode函數的返回,然後用它來分配它,即位置應根據您的來電geocode進行更新。

嘗試你建立你的字典時,按如下修改:

for museum in df2: 
    loc = geocode(museum) 
    if loc is None: 
     d[museum] = 'Nothing found' 
    else: 
     d[museum] = [loc[0].latitude],[loc[0].longitude], [len(loc)] 
+0

然後我得到一個錯誤..由於某種原因 – PCUnique

+1

什麼是錯誤?我同意給出的答案。 – user6035379

+0

@PCUnique你可以發佈錯誤的追溯?由於我沒有geolocator的數據,我無法重現您的問題。 –