首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >基于条件Pandas的聚合子组值

基于条件Pandas的聚合子组值
EN

Stack Overflow用户
提问于 2021-10-08 18:40:39
回答 1查看 39关注 0票数 0

基于条件的聚合子组值--如果子组中的所有值相同,则取最大值,如果其中任何值不同,则求和。例:数据

预期产出:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-08 20:24:07

使用groupby_apply和逻辑条件获取summax值:

代码语言:javascript
复制
>>> df.groupby(['index', 'columns'], as_index=False)['values'] \
      .apply(lambda x: x.sum() if len(set(x)) != 1 else x.max())[df.columns]

   index  values columns
0      1      80       A
1      1      13       B
2      2      30       A
3      2      20       B
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69500410

复制
相关文章

相似问题

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