У меня есть матрица, где строки - это некоторые номера элементов, столбцы - это оценки для некоторых функций, которые называются Score1, Score2 и т. Д. c Я хочу создать 3 новых столбца с именами out1, out2 и out3; где out1, out2 или out3 получают значение 1 (оценка1), 2 (оценка2) или 3 (оценка3). правила таковы, и, пожалуйста, посмотрите на пример изображения матрицы изображения примера, поскольку мне еще не разрешено публиковать изображения
- столбца с самым высоким показателем для предметы могут быть размещены в out1
- Если есть связи, но не самые высокие, тогда все ауты оставляются пустыми
- , если разница между наивысшим и вторым наивысшим показателем меньше или равный 2, то этот результат помещается в out2
- , если между счетом для out2 есть t ie, тогда out2 и out3 будут пустыми
- , если разница между 2-м наивысшим оценка и 3-й наивысший балл меньше, чем равно 2, тогда этот балл помещается в out3
- , если между баллами для out3 есть t ie, тогда out3 будет пустым
Вот игрушечная матрица
df = pd.DataFrame({'items':['item1', 'item2', 'item3', 'item4', 'item-n'],
'score0':[11,2,3,10,10],
'score1':[6,4,6,6,9],
'score2':[9,8,6,8,8],
'score-n':[3,0,2,6,2]})
Спасибо за помощь