2017-09-04 70 views
0

我有兩個csv數據集,我試圖合併在一起。第一個數據集包含非傳統的城市名稱(即曼哈頓或皇后區應該是紐約)和它們的經度/緯度。第二個數據集包含常規城市名稱和緯度/經度數據。我需要以這種方式合併這兩個數據集,以便數據集1中的非傳統城市名稱與傳統城市名稱(數據集2)基於最接近的緯度/經度接近度匹配。基於變量的接近匹配數據集

有人可以指導我如何編程這個問題?

感謝

數據集1個樣品:

city state latitude longitude 
Manhattan NY 42.436503 -71.608599 
Long Island NY 54.266667 -6.916667 
East Los Angeles CA 56.2 10.683333 

數據集2樣本:

city state latitude longitude 
New York NY 40.75 -74 
Los Angeles CA 33.97 -118.24 

結果數據集1:

city state latitude longitude new_city 
Manhattan NY 42.436503 -71.608599 New York 
Long Island NY 54.266667 -6.916667 New York 
East Los Angeles CA 56.2 10.683333 Los Angeles 

回答

0

這是很簡單計算兩點間的距離(see here)。 您也可以使用GeoPy

因此,如果您的數據集不是太大,您可以計算第一個和第二個數據框中的城市之間的距離,並保持兩個城市之間距離最短。

您可以按狀態過濾以避免爲每個元組計算這些距離。