我当前的数据集看起来像上面的图片(第一张图片)。 我想要这样的形状(第二张图片):
国家1945 1950 1951 阿富汗0.01 0.08 0.09 津巴布韦0.5 0.6 0.7
因此,单个国家/地区的每个数据都在同一行中。
有人可以使用Python和Pandas帮助我实现这一目标
答案 0 :(得分:1)
尝试:
df = df.set_index(['Entity','Year'],append=True).unstack()
答案 1 :(得分:1)
查看您的数据和所需的输出,我看到以下转换:
幸运的是,pandas.DataFrame具有pivot方法,两者都像这样:
>>> df
Entity Year CO2Emissions
0 Afghanistan 1945 1
1 Afghanistan 1950 2
2 Zimbabwe 1950 3
3 Zimbabwe 1955 4
>>> df.pivot('Entity', columns='Year', values='CO2Emissions')
Year 1945 1950 1955
Entity
Afghanistan 1.0 2.0 NaN
Zimbabwe NaN 3.0 4.0