我正在努力解决数据重塑问题。我有大约类似的数据(但直到C10组,我添加了自己的多索引。
df = pd.DataFrame({('C0',0) : {0:'ID1', 1:'ID2', 2:'ID3'},
('C0',1) : {0:'ID1', 1:'ID2', 2:'ID3'},
('C1',2) : {0:'A' , 1:'A' , 2:'A'},
('C1',3) : {0:'B' , 1:'B' , 2:'B'},
('C1',4) : {0:'C' , 1:'C' , 2:'C'},
('C2',5) : {0:'A' , 1:'A' , 2:'A'},
('C2',6) : {0:'B' , 1:'B' , 2:'B'},
('C2',7) : {0:'C' , 1:'C' , 2:'C'},
('C3',8) : {0:'A' , 1:'A' , 2:'A'},
('C3',9) : {0:'B' , 1:'B' , 2:'B'},
('C3',10) : {0:'C' , 1:'C' , 2:'C'}
})
C0 C1 C2 C3
0 1 2 3 4 5 6 7 8 9 10
0 ID1 ID1 A B C A B C A B C
1 ID2 ID2 A B C A B C A B C
2 ID3 ID3 A B C A B C A B C
ID列实际上不是相同的值,但是此数据的唯一键跨多个列。类似地,As,Bs,Cs实际上不是相同的值,而只是不同类型的值。理想的最终结果是这样
0 1 2 3 4 5
0 ID1 ID1 C1 A B C
1 ID1 ID1 C1 A B C
2 ID1 ID1 C1 A B C
3 ID2 ID2 C2 A B C
4 ID2 ID2 C2 A B C
5 ID2 ID2 C2 A B C
6 ID3 ID3 C3 A B C
7 ID3 ID3 C3 A B C
8 ID3 ID3 C3 A B C
为了解决这个问题,我进入了一个中间点,在这里我融化了第一位,以便将两个列索引都包含在一行中,但是我无法将其重新设置为所需的格式。最终,我还需要列举C组中的内容,但我相信我可以做到。在这里先发帖,谢谢,但是我已经尽我所能检查了这里和其他地方。