首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >每个组有哪些应用函数?

问每个组有哪些应用函数?
EN

Stack Overflow用户
提问于 2020-04-10 15:07:06
回答 2查看 38关注 0票数 4

我有一份数据

代码语言:javascript
复制
df = 
type value
 A     5
 A     7
 B     2
 B     6
 A     1

我要按列type的组应用函数,所以等级将适用于每种类型,新的df将是

代码语言:javascript
复制
df = 
type value rank
 A     5    1
 A     7    0
 B     2    1
 B     6    0
 A     1    2
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-04-10 15:08:58

您可以使用groupby.rank,设置ascending=False

代码语言:javascript
复制
df['rank'] = df.groupby('type').value.rank(ascending=False).sub(1).astype(int)

代码语言:javascript
复制
print(df)

  type  value rank
0    A      5    1
1    A      7    0
2    B      2    1
3    B      6    0
4    A      1    2
票数 0
EN

Stack Overflow用户

发布于 2020-04-10 15:12:31

这可以用sort_values和groupby().cumcount()来完成。

代码语言:javascript
复制
df['rank'] = df.sort_values('value', ascending=False).groupby('type').cumcount()

输出:

代码语言:javascript
复制
  type  value  rank
0    A      5     1
1    A      7     0
2    B      2     1
3    B      6     0
4    A      1     2
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61143150

复制
相关文章

相似问题

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