首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >大熊猫群中的列和

大熊猫群中的列和
EN

Stack Overflow用户
提问于 2021-12-31 03:53:18
回答 2查看 51关注 0票数 1

下面是数据

代码语言:javascript
复制
Skill   Category    Location    Market Type Count
Java    Cat1        Europe      Tier1   A    2       
Java    Cat1        Europe      Tier1   B    1       
Java    Cat1        Europe      Tier1   C    1       
Java    Cat2        Asia        Tier2   D    1       
Java    Cat3        Asia        Tier1   E    1       

下面是预期的输出数据

代码语言:javascript
复制
Skill   Category    Location    Market Type Count   Sum_Market
Java    Cat1        Europe      Tier1   A    2       4
Java    Cat1        Europe      Tier1   B    1       4
Java    Cat1        Europe      Tier1   C    1       4
Java    Cat2        Asia        Tier2   D    1       1
Java    Cat3        Asia        Tier1   E    1       1

问题陈述:在这些选择中,Sum_Market应该使用特定技能、类别、位置和市场层次之和的组合来完成。下面是我最后的尝试:

代码语言:javascript
复制
df.groupby(['Skill','Category','Location','Market','Type'])['count'].sum()
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-12-31 04:00:03

使用

代码语言:javascript
复制
df['Sum_Market'] = df.groupby(['Skill','Category','Location'])['Count'].transform('sum')

OUTPUT

代码语言:javascript
复制
  Skill Category Location Market Type  Count  Sum_Market
0  Java     Cat1   Europe  Tier1    A      2           4
1  Java     Cat1   Europe  Tier1    B      1           4
2  Java     Cat1   Europe  Tier1    C      1           4
3  Java     Cat2     Asia  Tier2    D      1           1
4  Java     Cat3     Asia  Tier1    E      1           1
票数 0
EN

Stack Overflow用户

发布于 2021-12-31 03:58:45

只是合并回到原来的:

代码语言:javascript
复制
df.merge(
df.groupby(['Skill','Category','Location','Market','Type'])['count'].sum().rename('Sum_Market').reset_index()
)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70538852

复制
相关文章

相似问题

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