如何转置数据框

How to transpose a data frame

我有一个看起来像这样的数据框 -

      project name       comment1     comment2           comment3      comment4
Row1           NY       Not good    somewhat ok         ridiculous  satisfactory
Row2           LA   job well done     standard   under performance      standard

如何像下面那样转换它?

     project name            comment
Row1           NY           Not good
Row2           NY        Somewhat Ok
Row3           NY         ridiculous
Row4           NY       satisfactory
Row5           LA      job well done
Row6           LA           standard
Row7           LA  under performance
Row8           LA           standard

这是一个类似转置的操作,但只有 comment1 到 comment4 被转置。在 SAS 中,这可以通过创建数组来完成。但我不知道如何解决 python 中的问题。有人做过吗?

你需要melt:

df.melt(id_vars='project name', value_name='comment').drop('variable', axis=1)\
  .sort_values(by='project name')

输出:

  project name            comment
1           LA      job well done
3           LA           standard
5           LA  under performance
7           LA           standard
0           NY           Not good
2           NY        somewhat ok
4           NY         ridiculous
6           NY       satisfactory