df1 = df.set_index('PARMAM_NAME', append=True)['PARMAM_VALUE'].unstack()
df = df.drop(['PARMAM_NAME','PARMAM_VALUE'],axis=1).join(df1)
print (df)
col1 col2 a b c d
0 1 1 100.0 NaN NaN NaN
1 2 2 NaN 200.0 NaN NaN
2 3 3 NaN NaN 300.0 NaN
3 4 4 NaN NaN NaN 400.0
使用^{} 和} 重塑形状,然后删除不必要的列并通过^{} 连接到原始列:
append=True
表示MultiIndex
并通过^{你可以用unstack这样的一行代码来完成
基本上,我将索引中的其他列放在开头(
col1
,col2
),然后是要透视的列(PARMAM_NAME
)。之后,我在PARMAM_VALUE
上取消了最后一个索引的堆栈。为了完成,我重置了索引,将col1
和col2
从索引移回数据帧尽管如此,如果您对pivot_table没有问题,也可以这样做:
相关问题 更多 >
编程相关推荐