如何在python中转换或融化列?

我有这个表格,但我想把它做成一个简单的表格。现有的表格是这样的:

group      mp_current   mh_current   mp_total   mh_total 
contractor       25         4825        0          0

我想将表格转换成这种形式:

group        mp    mh    period
contractor   25   4825   current
contractor   0      0    total

我将有一个专门用于 mp 和 mh 的列,还有一个额外的列作为周期列。

我如何在 python 中执行此操作?

回答

wide_to_long

您指定存根名称(列前缀)、分隔符 ( '_'),并且后缀是任何内容 ( '.*'),因为它默认需要数字。该j参数成为分隔符后值的列标签。引用的列i需要对每一行进行唯一标记。

df1 = (pd.wide_to_long(df, i='group', j='period', 
                       stubnames=['mh', 'mp'], sep='_', suffix='.*')
         .reset_index())

        group   period    mh  mp
0  contractor  current  4825  25
1  contractor    total     0   0


以上是如何在python中转换或融化列?的全部内容。
THE END
分享
二维码
< <上一篇
下一篇>>