Python de bucle lento para buscar datos en un marco de datos adicional en python

Tengo dos marcos de datos: uno con todos mis datos (llamados 'datos') y otro con latitudes y longitudes de diferentes estaciones donde cada observación comienza y termina (llamada 'información'), estoy tratando de obtener un marco de datos donde Tendré la latitud y longitud al lado de cada estación en cada observación, mi código en Python:

for i in range(0,15557580):
    for j in range(0,542):
         if data.year[i] == '2018' and data.station[i]==info.station[j]:
             data.latitude[i] = info.latitude[j]
             data.longitude[i] = info.longitude[j]
             break

pero como tengo alrededor de 15 millones de observaciones, hacerlo, lleva mucho tiempo, ¿hay alguna forma más rápida de hacerlo?

Muchas gracias (todavía soy nuevo en esto)

editar:

mi información de archivo se ve así (aproximadamente 500 observaciones, una para cada estación)

mi datos de archivo como este (hay otras variables que no se muestran aquí) (alrededor de 15 millones de observaciones, una para cada viaje)

y lo que estoy buscando es que, cuando los números de las estaciones coincidan, los datos resultantes se verían así:

Respuestas a la pregunta(2)

Su respuesta a la pregunta