我有一个如下所示的数据框,我想执行一个支点,以便我可以绘制每年前3个国家的GDP。因此,我需要以这样一种方式转动数据对象,使其返回到每年GDP最高的3个国家
有什么想法吗?
Year Country GDP
01 USA 100
01 UK 80
01 Japan 50
01 China 75
02 USA 90
02 UK 65
02 Japan 70
02 China 80
答案 0 :(得分:2)
你想要这样的东西吗?
In [19]: df
Out[19]:
Year Country GDP
0 1 USA 100
1 1 UK 80
2 1 Japan 50
3 1 China 75
4 2 USA 90
5 2 UK 65
6 2 Japan 70
7 2 China 80
In [20]: df.sort_values(['Year', 'GDP'], ascending=[True, False]).groupby('Year').head(3)
Out[20]:
Year Country GDP
0 1 USA 100
1 1 UK 80
3 1 China 75
4 2 USA 90
7 2 China 80
6 2 Japan 70