def best_matches(links):
    """
    Subsequent to duke() with singlematch=True. Returns reduced list of
    matches on the base of the highest score for each duplicated entry.

    Parameters
    ----------
    links : pd.DataFrame
        Links as returned by duke
    """
    labels = links.columns.difference({'scores'})
    return links.groupby(links.iloc[:, (1)], as_index=False, sort=False).apply(
        lambda x: x.loc[x.scores.idxmax(), labels])
