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

基于其他列索引对列值求和并分配至每行:篮球数据集团队投篮数统计

解决方案:基于现有列快速统计团队总投篮次数

嘿,我来帮你搞定这个需求!咱们完全不用给单个球员写重复的统计代码,靠分组聚合+合并的思路就能轻松实现,下面分工具给你演示——先讲最常用的Python Pandas,再补个SQL写法,你按需取用就行:

一、用Python Pandas实现(最适合数据分析场景)

步骤1:先把示例数据转换成DataFrame

import pandas as pd

# 你的示例数据集
data = {
    'Player_ID': [1, 2, 3, 4, 2, 3],
    'Team': ['Red', 'Blue', 'Red', 'Blue', 'Blue', 'Red'],
    'Shot_Count': [14, 12, 23, 15, 14, 23],
    'Date': ['12/15/12', '2/14/12', '12/15/12', '3/15/12', '5/2/12', '11/11/12']
}

df = pd.DataFrame(data)

步骤2:按球队计算总投篮次数

用groupby按Team分组求和,直接得到每个球队的总投篮数,不用管单个球员:

# 分组求和并重命名列,方便后续区分
team_total = df.groupby('Team')['Shot_Count'].sum().reset_index()
team_total.rename(columns={'Shot_Count': 'Team_Total_Shots'}, inplace=True)

步骤3:合并回原数据集

把球队总投篮数和原表关联,这样每一行都会带上对应球队的总次数,同时保留所有原字段:

result_df = pd.merge(df, team_total, on='Team', how='left')

最终输出结果

result_df就是你要的格式,新增的Team_Total_Shots列会对应每一行的球队总投篮数:

Player_IDTeamShot_CountDateTeam_Total_Shots
1Red1412/15/1260
2Blue122/14/1241
3Red2312/15/1260
4Blue153/15/1241
2Blue145/2/1241
3Red2311/11/1260

二、用SQL实现(如果数据存在数据库里)

逻辑和Pandas完全一致,先分组求和再关联原表:

SELECT 
    t1.Player_ID,
    t1.Team,
    t1.Shot_Count,
    t1.Date,
    t2.Team_Total_Shots
FROM your_table_name t1
LEFT JOIN (
    -- 子查询计算各球队总投篮数
    SELECT Team, SUM(Shot_Count) AS Team_Total_Shots
    FROM your_table_name
    GROUP BY Team
) t2 ON t1.Team = t2.Team;

为啥这个方法靠谱?

  • 完全不用针对单个球员写重复代码,所有统计逻辑都是按团队批量处理的,哪怕新增球员/球队,代码也不用改
  • 全程基于现有列计算,没有额外的复杂操作,效率拉满
  • 合并/关联操作保证了原数据的完整性,所有字段都能保留

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 11:54:03