С входным фреймом данных, созданным из заданного CSV, мне нужно транспонировать данные на основе определенных условий.Группировка должна применяться на основе значения ключа.
Для любого значения в той же группе «Ключ», если «Тип» равен «T», эти значения должны быть записаны в столбцы «T», помеченные как T1, T2, T3 ... и т. Д..
Для любого значения в той же группе «Ключ», если «Тип» равен «P», а «Код» заканчивается на «00», эти значения должны быть записаны в столбцах «U», помеченных как U1,U2, U3 ... и т. Д.
Для любого значения в той же группе «Ключ», если «Тип» равен «P» и «Код» не заканчивается на «00», эти значениядолжно быть написано в столбцах «P», помеченных как P1, P2, P3 ... и т. д.
Может быть n значений типа T & P для любого значения ключа и выходных столбцов для TЗначение & P должно обновляться соответственно
Входной кадр данных:
df = pd.DataFrame({'Key': ['1', '1', '1', '1', '1', '2', '2', '2', '2', '2'],
'Value': ['T101', 'T102', 'P101', 'P102', 'P103', 'T201', 'T202', 'P201', 'P202', 'P203'],
'Type': ['T', 'T', 'P', 'P', 'P', 'T', 'T', 'P', 'P', 'P'],
'Code': ['0', '0', 'ABC00', 'TWY01', 'JTH02', '0', '0', 'OUJ00', 'LKE00', 'WDF45']
})
Ожидаемый кадр данных:
Кто-нибудь может предложить эффективное решение для этого случая?