Groupby与Sum函数处理NHL数据集时过滤非分组索引项的方法咨询
更简便的实现方案
你可以直接从运算逻辑上提前过滤非太平洋赛区的比赛,从根源上避免生成不需要的0索引行,代码更简洁效率也更高:
# 定义太平洋赛区球队缩写到全称的映射字典 pacific_team_map = { 'VAN': 'Vancouver', 'CGY': 'Calgary', 'ANA': 'Anaheim', 'SEA': 'Seattle', 'SJS': 'San Jose', 'LAK': 'LA', 'VGK': 'Vegas' } # 先筛选太平洋赛区的对阵记录,替换球队名后直接分组求和 result = df[df['Opponent'].isin(pacific_team_map.keys())]\ .replace({'Opponent': pacific_team_map})\ .groupby('Opponent')['Goals_Against']\ .sum()
如果你不想修改现有生成PAC列的逻辑,也可以在分组求和后直接删除索引为0的行,只需要加一行drop操作:
# 原有逻辑生成PAC列后,直接丢弃0索引结果即可 df['PAC'] = np.select(pacific_conditions, pacific_teams) result = df.groupby('PAC')['Goals_Against'].sum().drop(0)
内容的提问来源于stack exchange,提问作者d.keenan
相关产品推荐
相关产品推荐

