首页 > 解决方案 > Pandas 将列转置为行

问题描述

我有一个像这样的熊猫数据框:

DATE     NAME    INCOME   EXPENSE
201811    XX      100      50

我需要它像这样转置(长格式):

DATE     NAME    ATTRIBUTE  ATTRIBUTE_VALUE
201811    XX      INCOME      100
201811    XX      EXPENSE      50

我查看了 pandas 转置功能,但我不确定如何从宽格式转到长格式

标签: pandas

解决方案


使用pd.melt()

pd.melt(df1,id_vars=['DATE','NAME'],var_name='ATTRIBUTE',value_name='ATTRIBUTE_VALUE')

     DATE NAME ATTRIBUTE  ATTRIBUTE_VALUE
0  201811   XX    INCOME              100
1  201811   XX   EXPENSE               50

推荐阅读