Fórmula de Haversine vetorizada com um dataframe de pandas

Eu sei que, para encontrar a distância entre dois pontos de latitude e longitude, preciso usar a função haversine:

def haversine(lon1, lat1, lon2, lat2):
    lon1, lat1, lon2, lat2 = map(radians, [lon1, lat1, lon2, lat2])
    dlon = lon2 - lon1 
    dlat = lat2 - lat1 
    a = sin(dlat/2)**2 + cos(lat1) * cos(lat2) * sin(dlon/2)**2
    c = 2 * asin(sqrt(a)) 
    km = 6367 * c
    return km

Eu tenho um DataFrame onde uma coluna é latitude e outra coluna é longitude. Quero descobrir a que distância esses pontos estão de um ponto definido, -56.7213600, 37.2175900. Como eu pego os valores do DataFrame e os coloco na função?

exemplo DataFrame:

     SEAZ     LAT          LON
1    296.40,  58.7312210,  28.3774110  
2    274.72,  56.8148320,  31.2923240
3    192.25,  52.0649880,  35.8018640
4     34.34,  68.8188750,  67.1933670
5    271.05,  56.6699880,  31.6880620
6    131.88,  48.5546220,  49.7827730
7    350.71,  64.7742720,  31.3953780
8    214.44,  53.5192920,  33.8458560
9      1.46,  67.9433740,  38.4842520
10   273.55,  53.3437310,   4.4716664

questionAnswers(1)

yourAnswerToTheQuestion