Данные выглядят так:
Группа оценок Idx
5 0,85 Европа
8 0,77 Австралия
12 0,70 Южная Америка
13 0,71 Австралия
42 0,82 Европа
45 0,90 Азия
65 0,91 Азия
73 0,72 Южная Америка
77 0,84 Азия
Должен выглядеть так:
Группа оценки Idx
65 0,91 Азия
77 0,84 Азия
45 0,73 Азия
12 0,87 Южная Америка
73 0,72 Южная Америка < br /> 5 0,85 Европа
42 0,82 Европа
8 0,83 Австралия
13 0,71 Австралия
Посмотрите, как у Азии самый высокий балл, и он показывает мне все баллы Азии, затем следует группа, которая имеет 2-й наивысший балл, и так далее? Мне нужно сделать это на Python. Это сильно отличается от сортировки по одному элементу, а затем по другому. Пожалуйста помоги. Извините, если этот вопрос лишний. Я даже не знаю, как это спросить, не говоря уже о поиске.
У меня было это как словарь, так что dict = {5: [0.85, Europe], 8: [0.77, Australia] ...} И я создал функцию, которая пытается анализировать данные:
def sortResults(dict):
newDict = {}
for k,v in dict.items():
if v[-1] in newDict:
sorDic[v[-1]].append((k,float(v[0]),v[1]))
else:
newDict[v[-1]] = [(k,float(v[0]),v[1])]
for k in newDict.keys():
for resList in newDict[k]:
resList = sorted(resList,key=itemgetter(1),reverse=True)
return sorDic
Там написано, что float нельзя подписывать ... Я просто запутался.