【问题标题】:Reshape Dataframe columns to rows将数据框列重塑为行
【发布时间】:2014-04-16 06:17:34
【问题描述】:

我有一个像这样的 DataFrame;

Year   US  China   Russia
2007   NaN   45      12
2008   12    22       4
2009   12    NaN     41

我想让它看起来像这样;

Year Country Value
2007  US      NaN
2007  China    45
2007  Russia   12
2008  US       12
2008  China    22
2008  Russia   4
2009  US       12
2009  China   NaN
2009  Russia    41

我该怎么做?

【问题讨论】:

    标签: python pandas


    【解决方案1】:

    刚刚遇到pd.melt() 函数。

    它是这样工作的;

    pd.melt(data,id_vars=['Year']).sort('Year')
    

    【讨论】:

    • 如果您希望将第二列称为Country 而不是variable,请执行pd.melt(data,id_vars=['Year'],var_name='Country')。当然,您以后可以随时重命名。
    猜你喜欢
    • 2016-02-14
    • 2016-12-05
    • 2012-07-28
    • 2022-12-05
    • 2020-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多