Я работаю над проблемой многоуровневой классификации. Каждое значение в X является категориальным значением. Исходные данные ниже
ID X1 X2 X3 Y
111 AA LL KK MMM
111 AA LL KK MMM
111 BB LL jj NNN
121 HH DD uu III
121 HH DD yy OOO
121 HH LL aa PPP
Я пытаюсь преобразовать это в фрейм данных, где каждое уникальное значение, присутствующее в столбцах (X1, X2, X3, Y), станет новым столбцом, и каждый идентификатор будет иметь одну запись. Ожидаемый результат, который я пытаюсь получить -
ID X1_AA X1_BB X1_HH X2_LL X2_DD X3_KK X3_jj X3_uu X3_yy x3_aa Y_MMM Y_NNN Y_III Y_OOO Y_PPP
111 1 1 0 1 0 1 1 0 0 0 1 1 0 0 0
121 0 0 1 1 1 0 0 1 1 1 0 0 1 1 1
Я пытался использовать pandas get_dummies, он создает фиктивный столбец, но идентификаторы дублируются. Здесь Y - мой целевой столбец. Несколько значений Y для идентификатора означают, что идентификатор имеет доступ к нескольким каналам.
Также, пожалуйста, предложите, если я могу напрямую использовать исходные данные, создав фиктивные столбцы для X и Y в классификации