Я пытаюсь воссоздать мой фрейм данных. Ниже приведен исходный фрейм данных:
df = pd.DataFrame([['January','Monday',0,1,20],['January','Monday',1,2,15],['January','Wednesday',0,1,35],['March','Monday',0,1,23],['March','Monday',1,2,50],['March','Monday',2,3,60] ,['April','Wednesday',0,1,75]],columns = ['Month','Day','Data1','Data2','Random'])
Month Day Data1 Data2 Random
0 January Monday 0 1 20
1 January Monday 1 2 15
2 January Wednesday 0 1 35
3 March Monday 0 1 23
4 March Monday 1 2 50
5 March Monday 2 3 60
6 April Wednesday 0 1 75
Я стремлюсь получить следующий результат:
Month Day 0 1 2
0 January Monday 1 2.0 NaN
1 January Monday 1 2.0 NaN
2 January Wednesday 1 NaN NaN
3 March Monday 1 2.0 3.0
Я пытался использовать сводную таблицу, как показано ниже, но, конечно, она не работала, так какpivot_table не допускает дублирования индекса, и у меня также будет мультииндекс, который вызывает проблемы в моем последующем процессе.
df1 = pd.pivot_table(df, values = 'Data2', index = ['Month','Day'], columns = ['Data1'])
Data1 0 1 2
Month Day
April Wednesday 1.0 NaN NaN
January Monday 1.0 2.0 NaN
Wednesday 1.0 NaN NaN
March Monday 1.0 2.0 3.0
Есть ли другой способ получить мой целевой результат? Большое спасибо заранее.