python pandas dataframe融化多索引多级

问题描述 投票:0回答:1

我有一个具有以下结构的DF:

                    | Level           | Rate      |
Indicator           | AAA | BBB | CCC | XXX | YYY |
location   variable |
One        2017       0.69  0.22  0.71  0.02  0.98
           2018       0.31  0.15  0.78  0.03  0.96
           2019       0.55  0.19  0.82  0.04  0.83
Two        2017       0.31  0.33  0.93  0.11  0.21
           2018       0.24  0.35  0.01  0.12  0.14
           2019       0.16  0.25  0.12  0.14  0.17
Three      2017       0.58  0.11  0.55  0.21  0.27
           2018       0.75  0.10  0.68  0.22  0.25
           2019       0.42  0.08  0.71  0.23  0.41

我需要使DF具有以下结构(只有一个级别):


location | variable | Indicator | Level | Rate |
------------------------------------------------
One      | 2017     | AAA       | 0.69  | NaN  |
...
Three    | 2019     | YYY       | NaN   | 0.41 |

我在下面做了几次这样的尝试,但是它们不起作用:

df.melt(col_level=0, id_vars = ['Location','Indicator','variable'] , value_vars = ['Level', 'Rate'])

任何帮助都将受到赞赏

python pandas dataframe melt
1个回答
0
投票

DataFrame.stackDataFrame.stackDataFrame.rename_axis一起使用:

DataFrame.rename_axis
© www.soinside.com 2019 - 2024. All rights reserved.