Вы можете отобразить ваши значения, отсортировать и затем удалить дубликаты:
df = pd.DataFrame([[1,67,'one'], [1, 89, 'three'],
[2, 78, 'two'], [2, 70, 'one']], columns = ['Id', 'Score', 'Version' ])
d = {'one':1,'two':2, 'three':3}
df['vers'] = df['Version'].map(d)
df = df.sort_values('vers', ascending=False).drop_duplicates('Id').sort_index()
Вывод:
Id Score Version vers
1 1 89 three 3
2 2 78 two 2