pandas выбор наиболее частого значения в строке
df = pd.DataFrame(pd.DataFrame({'LogReg':pred_2, 'MLCP' : mlcp_pred,'DTC':dtc_pred})
у меня есть 3 колонки в датафрейме, как мне выбрать наиболее часто встречающееся значение в строке и записать его в новую колонку:
df['target']
значения, которые указаны в переменных строковые
Ответы (1 шт):
Автор решения: Алексей Р
→ Ссылка
Вариант с методом pandas.DataFrame.mode. Метод возвращает фрейм cо значениями в порядке убывания частот. В данном случае забираем первый столбец результата с индексом [0] (самое частое значение). При вызове метода указываем аргумент axis=1 - посчитать моду по каждой строке фрейма.
df = pd.DataFrame({'LogReg': ['aaa', 'aaa', 'bbb'], 'MLCP': ['ccc', 'bbb', 'ccc'], 'DTC': ['bbb', 'aaa', 'bbb']})
df['target'] = df.mode(axis=1)[0]
print(df)
LogReg MLCP DTC target
0 aaa ccc bbb aaa
1 aaa bbb aaa aaa
2 bbb ccc bbb bbb