Python Pandas:将行转换为列标题
发布于 2021-01-29 19:37:13
我有以下数据框:
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
堆叠/堆叠似乎不起作用。
关注者
0
被浏览
371
1 个回答
-
您正在寻找
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