从单列创建多列熊猫并输入值

时间:2020-05-27 15:47:19

标签: python pandas

我有一个像这样的数据框(df1):

enter image description here

我想重新创建以下数据框(df2),使其看起来像df1:

enter image description here

df2中的年数达到2020年。

因此,实质上,对于df2中的每一行,应该为每年创建一个新行。然后,应该为每个月创建新的列。最后,应将每一行中的%值复制到与“月”列中的月份相对应的列中。

有什么想法吗? 非常感谢。

1 个答案:

答案 0 :(得分:1)

这是关键点:

(df2.assign(Year=df2.Month.str[:4],
            Month=df2.Month.str[5:])
    .pivot(index='Year', columns='Month', values='%')
)

有关旋转数据框here的更多详细信息。