根据开源项目,进攻三区传球成功率?

wen 开源项目 1

本文目录导读:

根据开源项目,进攻三区传球成功率?

  1. 指标定义(先统一口径)
  2. 推荐的开源项目与数据源
  3. 用 StatsBomb Open Data 计算的示例
  4. 如果你想要现成结果
  5. 常见参数建议

在足球数据分析的开源项目中,“进攻三区传球成功率”通常需要自己基于事件数据(event data)计算,因为不同项目/数据源对这个指标的定义并不统一,下面按常见开源生态说明怎么算、去哪儿找。

指标定义(先统一口径)

进攻三区(Final Third):一般指球场纵向靠近对方球门的 1/3 区域。

  • 以 105m × 68m 标准球场为例,进攻三区约为 x > 70m(即从对方底线往中场方向 35m 内)。
  • 在 StatsBomb 坐标系(120 × 80)中,通常是 x > 80
  • Opta / F24 等坐标需按比例换算。

传球成功率

传球成功率 = 成功传球次数 / 总传球次数 × 100%

进攻三区传球成功率

= 在进攻三区内完成的成功传球 / 在进攻三区内的总传球尝试

需要注意两种常见口径:

  1. 传球起点在进攻三区(更常见,衡量在该区域的控球质量)
  2. 传球终点在进攻三区(衡量打入该区域的效率,接近“推进传球”)

多数开源分析用的是口径 1

推荐的开源项目与数据源

项目 数据 是否可直接算
StatsBomb Open Data 事件级,含坐标、传球结果 ✅ 最推荐
FBref(基于 StatsBomb/Opta) 聚合统计 ⚠️ 无直接“进攻三区传球成功率”,需自算
Understat xG 等,无传球坐标
soccerdata(Python 库) 抓 FBref/Understat 等 ⚠️ 需底层数据
mplsoccer 绘图 + StatsBomb 加载 ✅ 配合计算
kloppy 多源事件数据统一接口
OpenFootball 基础数据 ❌ 无事件坐标

用 StatsBomb Open Data 计算的示例

from statsbombpy import sb
import pandas as pd
# 1. 取一场比赛的事件数据
events = sb.events(match_id=3788741)  # 示例 match_id
# 2. 筛选传球事件
passes = events[events['type'] == 'Pass'].copy()
# 3. 提取传球起点坐标
passes['x'] = passes['location'].apply(lambda l: l[0] if isinstance(l, list) else None)
# 4. 定义进攻三区(StatsBomb 坐标 x > 80)
final_third = passes[passes['x'] > 80]
# 5. 判断成功传球(StatsBomb 中用 pass_outcome 是否为空)
final_third['success'] = final_third['pass_outcome'].isna()
# 6. 计算成功率
success_rate = final_third['success'].mean()
print(f"进攻三区传球成功率: {success_rate:.2%}")
print(f"样本量: {len(final_third)} 次传球")

关键字段说明(StatsBomb)

  • location[x, y],x 范围 0–120
  • pass_outcome:为空 = 成功;有值(如 Incomplete)= 失败
  • pass_end_location:传球终点,可用于“终点在进攻三区”的口径

如果你想要现成结果

目前没有主流开源项目直接发布“进攻三区传球成功率”这张表,原因:

  • 各数据商区域划分不同(Opta 用 0–100,StatsBomb 用 0–120)
  • “成功”定义不同(是否算被断、出界、被犯规中断)
  • 分母是否包含传中、角球、定位球差异大

所以实践路径通常是:

  1. statsbombpy / kloppy / soccerdata 拉事件数据
  2. 按上面代码自定义区域和成功口径
  3. 按球员/球队聚合

常见参数建议

参数 推荐值
坐标系 StatsBomb 120×80
进攻三区阈值 x > 80
是否含定位球 通常剔除角球、任意球、界外球
最小样本 ≥ 30 次传球才报告成功率
成功定义 pass_outcome 为空

如果你告诉我:

  • 你想分析某支球队/某球员/某联赛
  • 手头用的是 StatsBomb / Opta / FBref 哪种数据

我可以给你一段可直接跑的计算脚本。

抱歉,评论功能暂时关闭!