Pandas 将国家/地区列合并为单行

https://img1.mukewang.com/65094d47000180df06551091.jpg

我当前的数据集类似于上图(第一张图片)。我想要它的形状像这样(第二张图):

国家 1945 1950 1951 阿富汗 0.01 0.08 0.09 津巴布韦 0.5 0.6 0.7

因此,单个国家/地区的每个数据都位于一行中。

有人可以帮我使用 Python 和 Pandas 实现这个目标吗


ABOUTYOU
浏览 108回答 2
2回答

拉风的咖菲猫

尝试:df = df.set_index(['Entity','Year'],append=True).unstack()

大话西游666

查看您的数据和所需的输出,我看到以下转换:将国家/地区名称设置为每行的索引将年份旋转到列中,并在索引和年份的交集处选择年度二氧化碳排放量的值幸运的是,pandas.DataFrame有pivot方法,它的作用如下:>>> df        Entity  Year  CO2Emissions0  Afghanistan  1945             11  Afghanistan  1950             22     Zimbabwe  1950             33     Zimbabwe  1955             4>>> df.pivot('Entity', columns='Year', values='CO2Emissions')Year         1945  1950  1955EntityAfghanistan   1.0   2.0   NaNZimbabwe      NaN   3.0   4.0
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python