У меня есть данные в кадре, который выглядит следующим образом:
Region Date Drip Coffee Espresso Latte Other
Central 1 5 1 2 3
East 1 3 3 1 4
North 1 5 1 3 2
Central 2 2 7 2 0
East 2 10 3 2 1
North 2 6 9 4 2
.
.
.
Я хочу повернуть Drip Coffee, Espresso, Latte и Other так, чтобы они выстраивались так же, как и повторения в Date и Region, например:
Region Date Type Value
Central 1 Drip Coffee 5
East 1 Drip Coffee 3
North 1 Drip Coffee 5
Central 1 Espresso 1
East 1 Espresso 3
North 1 Espresso 1
.
.
.
Central 2 Drip Coffee 2
East 2 Drip Coffee 10
North 2 Drip Coffee 6
.
.
Я пробовал несколько методов, таких как:
df_new = df_old.pivot(index='Date',columns=['Drip Coffee', 'Espresso', 'Latte', 'Other']).stack(0).rename_axis(['Date','Type']).reset_index()
Но это дает мне ValueError: all arrays must be same length
Я понимаю, что мне не хватает нового столбцаздесь, в моем тесте на Value
, но это потому, что я не понимаю, как развернуть такой ряд значений, как этот.
Я хотел бы посмотреть, есть ли возможное решение, потому что эта проблема, кажется,довольно уникальный;и я не могу найти такое решение для многократного повторения.