Python 使用熊猫数据框按作物对国家进行排名
我的数据框如下所示:Python 使用熊猫数据框按作物对国家进行排名,python,pandas,Python,Pandas,我的数据框如下所示: ,Area,Item,Year,Unit,Value 524473,Ecuador,Sesame,2018,tonnes,16.0 524602,Ecuador,Sorghum,2018,tonnes,14988.0 524776,Ecuador,Soybeans,2018,tonnes,25504.0 524907,Ecuador,Spices nes,2018,tonnes,746.0 525021,Ecuador,Strawberries,2018,tonnes,1
,Area,Item,Year,Unit,Value
524473,Ecuador,Sesame,2018,tonnes,16.0
524602,Ecuador,Sorghum,2018,tonnes,14988.0
524776,Ecuador,Soybeans,2018,tonnes,25504.0
524907,Ecuador,Spices nes,2018,tonnes,746.0
525021,Ecuador,Strawberries,2018,tonnes,1450.0
525195,Ecuador,Sugar beet,2018,tonnes,4636.0
525369,Ecuador,Sugar cane,2018,tonnes,7502251.0
...
1075710,Mexico,Tomatoes,2018,tonnes,4559375.0
1075865,Mexico,Triticale,2018,tonnes,25403.0
1076039,Mexico,Vanilla,2018,tonnes,495.0
1076213,Mexico,"Vegetables, fresh nes",2018,tonnes,901706.0
1076315,Mexico,"Vegetables, leguminous nes",2018,tonnes,75232.0
1076469,Mexico,Vetches,2018,tonnes,93966.0
1076643,Mexico,"Walnuts, with shell",2018,tonnes,159535.0
1076817,Mexico,Watermelons,2018,tonnes,1472459.0
1076991,Mexico,Wheat,2018,tonnes,2943445.0
1077134,Mexico,Yautia (cocoyam),2018,tonnes,38330.0
1077308,Mexico,Cereals (Rice Milled Eqv),2018,tonnes,35974485.0
在DataFrame中,有世界上所有的国家和所有的农产品。
这就是我想做的:
df = df.loc[df.groupby('Item')['Value'].idxmax()]
但我不仅需要第一名,还需要第二、第三、第四。。。。请帮帮我
我对熊猫很陌生。查看
rank
s = df.groupby('Item')['Value'].rank(ascending = False)
然后
您可以指定列组:
df['rank'] = df.groupby('Item')['Value'].rank(ascending=False)
然后提取以下国家的信息:
df[df['Area']=='France']
df[df['Area']=='France']