У меня есть словарь, подобный этому
Station Latitude Longitude
London Bridge 51.50467435 -0.086005598
Kings Cross 51.53079819 -0.122756421
Kings Cross St. Pancras 51.53031246 -0.12387213
Euston Square 51.52866433 -0.133296472
Leicester Square 51.51129118 -0.128242148
Russell Square 51.52301304 -0.124590198
Sloane Square 51.49235976 -0.156488857
...
И я хочу сопоставить столбцы ['ORIGIN'] и ['DESTINATION'] в df со словарем и получить их координаты.
ДФ:
ORIGIN DESTINATION origin_coor destination_coor
St. Pancras london bridge/farringdon
London' Kings Cross Euston Sq
...
Идеальный результат будет:
ORIGIN DESTINATION origin_coor destination_coor
St. Pancras london bridge/farringdon (51.53031246,-0.12387213) (51.50467435,-0.086005598)
London's Kings Cross Euston Sq (51.53079819,-0.122756421) (51.52866433,-0.133296472)
...
Мой код указан ниже:
import pandas as pd
df = pd.DataFrame({'ORIGIN': ['Kings Cross St. Pancras', 'Kings Cross'],
'DESTINATION': ['London Bridge', 'Euston Square']})
geo = {'London Bridge':(51.50467435, -0.086005598),
'Euston Square':(51.53031246, -0.12387213),
'Kings Cross':(51.49235976, -0.124590198),
'Kings Cross St. Pancras':(51.52301304, -0.086005598)
}
df['origin_coor'] = df['ORIGIN'].map(geo)
df['destination_coor'] = df['DESTINATION'].map(geo)
df
Но вопрос в том, есть ли расхождения между географическими названиями в моем словаре и фреймом данных, поэтому я не могу просто использовать функцию карты. У кого-нибудь есть решение?