我正在尝试从长到宽重组数据帧,同时考虑到多个分组变量。
我已经尝试将groupby和ivot结合起来,如所讨论的here,并且还尝试过使用集合索引来进行here的讨论;但是我无法正确实现分组变量之间的交互以实现所需的输出。 (我是Python的新手,因此仍然可以掌握一些东西。)
这是输入数据集(可以是任何总长度)
import pandas as pd
d = {'key1': [1,1,1,1,2,2,2,2,3,3,3,3],
'key2': ['A','B','C','D','A','B','C','D','A','B','C','D'],
'X':[1.11, 4.44, 7.77, 10, 100, 110, 120, 130, 200, 210, 220, 230],
'Y': [2.22, 5.55, 8.88, 11, 101, 111, 121, 131, 201, 211, 221, 231],
'Z':[3.33, 6.66, 9.99, 12, 102, 112, 122, 132, 202, 212, 222, 232]}
df = pd.DataFrame(data=d)
我想要的输出是这样:
key 2 A A A B B B C C C D D D
Key 1 X Y Z X Y Z X Y Z X Y Z
1 1.11 2.22 3.33 4.44 5.55 6.66 7.77 8.88 9.99 10 11 12
2 100 101 102 110 111 112 120 121 122 130 131 132
3 200 201 202 210 211 212 220 221 222 230 231 232
任何提示都值得赞赏