我有一个数据框 df1 ,如下所示:
df1 = pd.DataFrame({'ID': [1,2,3,4,5,6],
'date': [1, 1, 1, 2, 2, 2],
'p_id': [1, 2, 3, 1, 2, 3],
'9h30': [0.11,0.12,0.13,0.14,0.15,0.16],
'9h35': [0.21,0.22,0.23,0.24,0.25,0.26],
'9h40': [0.31,0.32,0.33,0.34,0.35,0.36]})
df1.set_index('ID', inplace=True)
9h30 9h35 9h40 date p_id
ID
1 0.11 0.21 0.31 1 1
2 0.12 0.22 0.32 1 2
3 0.13 0.23 0.33 1 3
4 0.14 0.24 0.34 2 1
5 0.15 0.25 0.35 2 2
6 0.16 0.26 0.36 2 3
如果我使用df2 = df.pivot(index='p_id', columns='date')
我得到 df2 :
9h30 9h35 9h40
date 1 2 1 2 1 2
p_id
1 0.11 0.14 0.21 0.24 0.31 0.34
2 0.12 0.15 0.22 0.25 0.32 0.35
3 0.13 0.16 0.23 0.26 0.33 0.36
但这并不完全是我想要的 df3:
date 1 2
9h30 9h35 9h40 9h30 9h35 9h40
p_id
1 0.11 0.21 0.31 0.14 0.24 0.34
2 0.12 0.22 0.32 0.15 0.25 0.35
3 0.13 0.23 0.33 0.16 0.26 0.36
有没有办法只用枢轴直接产生这个输出?
如果没有,您能告诉我您将如何有效地做到这一点吗?
谢谢。