def calc_dist2(arg):
    grp, lst = arg
return pd.DataFrame([[grp, df.loc[c[0]].ser_no, df.loc[c[1]].ser_no,
    vincenty(df.loc[c[0], ['lat', 'lon']], df.loc[c[1], ['lat', 'lon']])] for
    c in combinations(lst, 2)], columns=['co_nm', 'machineA', 'machineB',
    'distance'])
Python: использование многопроцессорности в кадре данных pandas