下面是数据
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 下面是预期的输出数据
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应该使用特定技能、类别、位置和市场层次之和的组合来完成。下面是我最后的尝试:
df.groupby(['Skill','Category','Location','Market','Type'])['count'].sum()发布于 2021-12-31 04:00:03
使用
df['Sum_Market'] = df.groupby(['Skill','Category','Location'])['Count'].transform('sum')OUTPUT
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发布于 2021-12-31 03:58:45
只是合并回到原来的:
df.merge(
df.groupby(['Skill','Category','Location','Market','Type'])['count'].sum().rename('Sum_Market').reset_index()
)https://stackoverflow.com/questions/70538852
复制相似问题