嗨,我有一个要成型的数据框。
数据框
Month StartAt WorksDone
0 2017-1 1000
1 2017-1 1000
2 2017-1 1000
3 2017-1 800
4 2017-1 800
5 2017-1 800
0 2017-2 800
1 2017-2 800
2 2017-2 800
3 2017-2 800
4 2017-2 800
我想将其重塑为
2017-1 2017-2
0 1000 800
1 1000 800
2 1000 800
3 800 800
4 800 800
5 800
我发现df.T可以交换列和行,但是我只想移动特定的列。有什么建议怎么做吗?
答案 0 :(得分:0)
答案 1 :(得分:0)
您需要pd.crosstab
import numpy as np
pd.crosstab(df['Month'],df['StartAt'],values=df['WorksDone'],aggfunc=np.mean).reset_index(drop=True)
out[]:
StartAt 2017-1 2017-2
0 1000.0 800.0
1 1000.0 800.0
2 1000.0 800.0
3 800.0 800.0
4 800.0 800.0
5 800.0 NaN