You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

groupby分组结果拆分行生成新列遇阻,求助解决方法

解决同场比赛groupby结果合并问题

步骤1:执行分组计数逻辑

先运行你原有的groupby代码得到分组后的计数结果:

grouped_df = df[['home_team_name','away_team_name','match_id','type_name','possession_team_name']].groupby(
    ['home_team_name','away_team_name','match_id','possession_team_name']
).agg({'type_name':'count'}).reset_index()

步骤2:标记控球队伍角色

给每行数据添加字段,判断当前控球队伍是主队还是客队:

grouped_df['team_role'] = grouped_df.apply(
    lambda row: 'home' if row['possession_team_name'] == row['home_team_name'] else 'away',
    axis=1
)

步骤3:用pivot合并同场记录

通过pivot将主队、客队的计数转成独立列,实现两行合并:

result_df = grouped_df.pivot(
    index=['home_team_name','away_team_name','match_id'],
    columns='team_role',
    values='type_name'
).rename(columns={'home':'home_team_type_name', 'away':'away_team_type_name'}).reset_index()

最终结果示例

处理后的结果结构如下:

home_team_nameaway_team_namematch_idhome_team_type_nameaway_team_type_name
Angel CityChicago Red Stars3829340632744

内容的提问来源于stack exchange,提问作者JayRSP

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 08:36:22