Мой набор данных (называемый «поезд») касается заявок на ипотеку. Чтобы улучшить мой прогноз «принято» (0/1), я пытаюсь рассчитать «коэффициент приемлемости кредитора» и хотел бы добавить этот новый столбец в мой набор данных.
Набор данных состоит из 500 тыс. Строк, идентификатор кредитора варьируется от 0 до 6508, но фактически не все идентификаторы (целые числа) между ними существуют.
Я пробовал:
Способ 1:
Создание сводной таблицы. Это работает:
train.pivot_table(index=['lender'], aggfunc='mean', values=['accepted'])
НО: кажется, я не могу добавить результаты этой сводной таблицы в мой набор данных:
Не напрямую, в одной строке кода.
Не косвенно, путем добавления результатов этой сводной таблицы в пустой фрейм данных, а затем слияния с 'on = lender_id'.
Метод 2:
Создание нового столбца с функцией groupby. Я использовал это:
train['lender_ar'] = train.groupby('lender').transform('mean')
, но получаю:
ValueError: Wrong number of items passed 21, placement implies 1
Немного из моего набора данных:
lender accepted
4536 1
2458 0
5710 1
5888 1
289 1
Я надеюсь, что кто-то может помочь! Спасибо!