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
→ Ссылка