Python将多列pandas数据框转换为单值表数据框

Viv*_*mar 2 python dataframe python-3.x pandas

我希望将以下多级列熊猫数据框转换为单值表。

初始表:

    Name    Monica          Rachel      
    Paper    1  2   3        1  2   3

2018-01-01  13  33  15      31  25  33
2018-06-01  11  43  30      36  23  37
Run Code Online (Sandbox Code Playgroud)

新所需的数据帧表格式:

Index        Name   Paper   Scores
2018-01-01  Monica    1       13
2018-01-01  Monica    2       33
2018-01-01  Monica    3       15
2018-06-01  Monica    1       11
2018-06-01  Monica    2       43
2018-06-01  Monica    3       30
2018-01-01  Rachel    1       31
2018-01-01  Rachel    2       25
2018-01-01  Rachel    3       33
2018-06-01  Rachel    1       36
2018-06-01  Rachel    2       23
2018-06-01  Rachel    3       37
Run Code Online (Sandbox Code Playgroud)

我尝试了 3 个 for 循环,但无法多次复制索引值。

Sco*_*ton 5

就像@Wen 所说的那样使用melt

df.rename_axis('Index').reset_index().melt('Index', value_name='Score')
Run Code Online (Sandbox Code Playgroud)

输出:

         Index Name Paper  Score
0   2018-01-01    m     1     13
1   2018-06-01    m     1     11
2   2018-01-01    m     2     33
3   2018-06-01    m     2     43
4   2018-01-01    m     3     15
5   2018-06-01    m     3     30
6   2018-01-01    r     1     31
7   2018-06-01    r     1     36
8   2018-01-01    r     2     25
9   2018-06-01    r     2     23
10  2018-01-01    r     3     33
11  2018-06-01    r     3     37
Run Code Online (Sandbox Code Playgroud)