列名称到pd DataFrame中的列

时间:2019-03-14 20:05:54

标签: python pandas dataframe data-science reshape

我有一个熊猫DataFrame,我想重塑它。

  Country       1991  1992  1993  
Deutschland      1     2     3
Griechenland     4     7     0

如何制作一个如下所示的新DataFrame:

      Country       Year   Value
    Deutschland     1991     1
    Deutschland     1992     2
    Deutschland     1993     3
    Griechenland    1991     4
    Griechenland    1992     7
    Griechenland    1993     0

1 个答案:

答案 0 :(得分:1)

使用melt(然后按国家和年份对值进行排序并重置索引):

(df.melt('Country', var_name='Year', value_name='Value')
   .sort_values(['Country', 'Year'])
   .reset_index(drop=True))

输出:

        Country  Year  Value
0   Deutschland  1991      1
1   Deutschland  1992      2
2   Deutschland  1993      3
3  Griechenland  1991      4
4  Griechenland  1992      7
5  Griechenland  1993      0