Correspondência difusa do Python (FuzzyWuzzy) - Mantenha apenas a melhor correspondência

Estou tentando fazer a correspondência difusa de dois arquivos csv, cada um contendo uma coluna de nomes, que são semelhantes, mas não iguais.

Meu código até agora é o seguinte:

import pandas as pd
from pandas import DataFrame
from fuzzywuzzy import process
import csv

save_file = open('fuzzy_match_results.csv', 'w')
writer = csv.writer(save_file, lineterminator = '\n')

def parse_csv(path):

with open(path,'r') as f:
    reader = csv.reader(f, delimiter=',')
    for row in reader:
        yield row


if __name__ == "__main__":
## Create lookup dictionary by parsing the products csv
data = {}
for row in parse_csv('names_1.csv'):
    data[row[0]] = row[0]

## For each row in the lookup compute the partial ratio
for row in parse_csv("names_2.csv"):
    #print(process.extract(row,data, limit = 100))
    for found, score, matchrow in process.extract(row, data, limit=100):
        if score >= 60:
            print('%d%% partial match: "%s" with "%s" ' % (score, row, found))
            Digi_Results = [row, score, found]
            writer.writerow(Digi_Results)


save_file.close()

A saída é a seguinte:

Name11 , 90 , Name25 
Name11 , 85 , Name24 
Name11 , 65 , Name29

O script funciona bem. A saída é conforme o esperado. Mas o que estou procurando é apenas a melhor correspondência.

Name11 , 90 , Name25
Name12 , 95 , Name21
Name13 , 98 , Name22

Então, de alguma forma, preciso soltar os nomes duplicados na coluna 1, com base no valor mais alto da coluna 2. Deve ser bem direto, mas não consigo descobrir. Qualquer ajuda seria apreciada.

questionAnswers(3)

yourAnswerToTheQuestion