首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用熊猫DataFrame按作物排列国家

用熊猫DataFrame按作物排列国家
EN

Stack Overflow用户
提问于 2020-07-08 14:55:18
回答 2查看 93关注 0票数 1

我的DataFrame看起来是这样的:

代码语言:javascript
复制
,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,世界各国和所有的农产品。这就是我想做的:

  1. 选择国家,例如法国。

  1. 发现法国在一种特定作物的世界排名中所处的位置。

诸如此类的农作物。

法国的燕麦产量位居世界第一。

法国黄瓜产量居世界第二位。

法国黑麦产量居世界第二位。

法国排名..。在法国生产的每一种产品上都有类似的情况。

我一开始

代码语言:javascript
复制
df = df.loc[df.groupby('Item')['Value'].idxmax()]

但我不仅需要第一名,还需要第二、第三、第四.请帮帮我。

我对熊猫很陌生。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-07-08 15:00:40

您可以指定一个级别列:

代码语言:javascript
复制
df['rank'] = df.groupby('Item')['Value'].rank(ascending=False)

然后提取下列国家的信息:

代码语言:javascript
复制
df[df['Area']=='France']
票数 1
EN

Stack Overflow用户

发布于 2020-07-08 14:58:34

rank核对

代码语言:javascript
复制
s = df.groupby('Item')['Value'].rank(ascending = False)

然后

代码语言:javascript
复制
d = { x : y  for x , y in df.groupby(s)}

d[1] # output put rank one
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62797657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档