熊猫枢轴和合并工作不
问题描述:
我输入的是:熊猫枢轴和合并工作不
Col1 Col2 Col3 Col4 Col5
0 1 Y A PQR 56
1 1 Y A XYZ 2
2 1 Y A DEF 20
3 2 Y B PQR 18
4 2 Y B XYZ 24
5 2 Y B DEF 11
6 3 Y C PQR 20
7 3 Y C XYZ 4
8 3 Y C DEF 18
9 3 Y C HHH 23
我输出我想要的是:
Col1 Col2 Col3 PQR XYZ DEF HHH
0 1 Y A 56 2 20 NaN
1 2 Y B 18 24 11 NaN
2 3 Y C 20 4 18 23.0
然而,当我做如下:
output = input.pivot_table(index='Col1',columns='Col4',values='Col5')
我得到:
Col1 PQR XYZ DEF HHH
1 56 2 20 NaN
2 18 24 11 NaN
3 20 4 18 23.0
哪里Col1中现在是该指数
这不是整个事情 - 所以我尝试和应用:
output = output.merge(input,how='left',left_index=True,right_on='Col1')
这只是给了我绝对的垃圾
思考PLS?
答
我想你需要添加Col2
和Col3
到参数index
:
output = input.pivot_table(index=['Col1', 'Col2','Col3'],columns='Col4',values='Col5')
.reset_index()
print (output)
Col4 Col1 Col2 Col3 DEF HHH PQR XYZ
0 1 Y A 20.0 NaN 56.0 2.0
1 2 Y B 11.0 NaN 18.0 24.0
2 3 Y C 18.0 23.0 20.0 4.0
答
df.groupby(['Col1', 'Col2', 'Col3', 'Col4']).Col5.mean().unstack() \
.rename_axis(None, 1).reset_index()
+0
感谢您的回复 - 确实使用堆栈(),这也是我尝试过的,但未成功 – spiff
这就行了 - 感谢VM! – spiff