如何使用Pandas将二维表(DataFrame)反转为一维列表?

Nin*_*hen 8 python pivot-table dataframe pandas

我正在寻找Python/Pandas的提示,将二维表反转为一维列表.

我通常利用Excel函数来完成它,但我相信有一种聪明的Python方法可以做到这一点.

Excel方式的更多细节:http: //www.extendoffice.com/documents/excel/2461-excel-reverse-pivot-table.html

Ale*_*ley 25

也可以使用这种类型的操作来完成pd.melt,这会使DataFrame无法移动.

如果DataFrame df看起来像这样:

  row labels  Tue  Wed  Thu  Sat  Sun  Fri  Mon
0      Apple   21   39   24   27   37   46   42
1     Banana   32   50   48   35   21   27   22
2       Pear   37   20   45   45   31   50   32
Run Code Online (Sandbox Code Playgroud)

然后我们选择列为我们的row_labels列,id_var其余列为我们的值(value_vars).我们甚至可以同时为列选择新名称:

>>> pd.melt(df, 
            id_vars='row labels', 
            value_vars=list(df.columns[1:]), # list of days of the week
            var_name='Column', 
            value_name='Sum of Value')

   row labels   Column   Sum of Value
0       Apple      Tue             21
1      Banana      Tue             32
2        Pear      Tue             37
3       Apple      Wed             39
4      Banana      Wed             50
5        Pear      Wed             20
...
Run Code Online (Sandbox Code Playgroud)

所述value_vars堆叠下面相互:如果列值需要以特定的顺序将需要熔融之后到列进行排序.