微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Python Pandas:将行转换为列标题

参见英文答案 > How to pivot a dataframe                                    1个
我有以下数据帧:

Year    Country          medal    no of medals
1896    Afghanistan      Gold        5
1896    Afghanistan      Silver      4
1896    Afghanistan      bronze      3
1896    Algeria          Gold        1
1896    Algeria          Silver      2
1896    Algeria          bronze      3

我想要这样.

Year    Country      Gold   Silver   bronze
1896    Afghanistan    5      4         3
1896    Algeria        1      2         3

Stack / Unstack似乎不起作用.

解决方法:

你在找pivot_table

In [11]: medals = df.pivot_table('no of medals', ['Year', 'Country'], 'medal')

In [12]: medals
Out[12]:
medal             bronze  Gold  Silver
Year Country
1896 Afghanistan       3     5       4
     Algeria           3     1       2

如果要重新排序列:

In [12]: medals.reindex_axis(['Gold', 'Silver', 'bronze'], axis=1)
Out[12]:
medal             Gold  Silver  bronze
Year Country
1896 Afghanistan     5       4       3
     Algeria         1       2       3

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐