本文目录导读:

针对你提出的“进攻三区传球成功率”这一具体数据指标,需要明确一点:这个数据并非由某个固定的开源“项目”直接提供,而是通过开源足球数据分析工具对原始事件数据进行计算得出的。
我们需要结合原始赛事数据源(如 StatsBomb 的开源数据)和分析工具(如 Python 的 pandas、matplotlib 或 mplsoccer)来自行计算。
以下是根据主流开源足球分析项目的标准和实践,给出的具体解答和计算逻辑:
核心数据来源:StatsBomb 开源数据集
最常被用于此类分析的公开、高质量数据集是 StatsBomb 的 GitHub 仓库。
- 项目地址:
statsbomb/open-data - 特点:包含 2018 世界杯、欧冠、英超等比赛的详细事件数据,其中定义了逐行事件(Event Data),包含坐标、结果、类型、位置等关键字段。
关键数据字段:
event_type:事件类型(传球、射门等)pass_outcome:传球结果(Complete= 成功,Incomplete= 失败,Key Pass等)location:传球起始坐标 (x, y)pass_end_location:传球结束坐标 (x, y)play_pattern:比赛模式(常规、定位球等)
如何定义“进攻三区”?
在开源数据分析(尤其是 StatsBomb 坐标系)中,进攻三区通常定义为:
- StatBomb 坐标系(标准 120 x 80 球场):X 轴 80 到 120(对方球门线)。
- Pitchmap / mplsoccer 坐标系(常见归一化 105 x 68 球场):如果数据被归一化,通常从 X > 66 或 X > 75(取决于具体实现)开始。最通用的定义是对方半场最后 1/3 的区域。
核心计算逻辑(Python 示例)
你可以使用以下逻辑从 StatsBomb 数据中计算该指标:
import pandas as pd
import statsbombpy as sb # 或直接读取JSON
# 假设你已经加载了比赛事件数据到 'events_df' 中
# events_df = sb.events(match_id=something)
# 第一步:筛选出传球事件
passes = events_df[events_df['event_type'] == 'Pass'].copy()
# 第二步:定义进攻三区的X坐标(假设StatsBomb坐标:球场长120,对方球门线在120)
# 进攻三区 = X >= 80 (对方半场的最后1/3)
ATTACKING_THIRD_X_MIN = 80
# 第三步:计算每脚传球是否成功(Complete == 1 通常表示成功,但需检查数据)
# 注意:StatsBomb 数据里 pass_outcome 为 NaN 表示成功,非空表示失败(如 Incomplete, Offside 等)
passes['is_successful'] = passes['pass_outcome'].isna()
# 第四步:筛选出发生在进攻三区的传球(传球起始点在进攻三区 或 传球结束点在进攻三区,根据需要选择)
# 通常分析“传球进入或起始于”进攻三区。
# 这里选择:传球起始点在进攻三区(更常见于控球阶段分析)
in_attacking_third = passes['location'].apply(lambda x: x[0] >= ATTACKING_THIRD_X_MIN)
# 或选择:传球结束点在进攻三区(更常见于威胁传球分析)
# in_attacking_third = passes['pass_end_location'].apply(lambda x: x[0] >= ATTACKING_THIRD_X_MIN)
passes_in_attacking_third = passes[in_attacking_third]
# 第五步:计算成功率
total_passes = len(passes_in_attacking_third)
successful_passes = passes_in_attacking_third['is_successful'].sum()
if total_passes > 0:
success_rate = (successful_passes / total_passes) * 100
print(f"进攻三区传球成功率: {success_rate:.2f}%")
else:
print("进攻三区无传球数据")
典型数值参考(根据开源数据分析的结果)
- 顶级联赛 (如欧洲五大联赛、欧冠):平均成功率通常在 70% - 82% 之间。
- 传球次数越多的队伍(如曼城、巴萨),成功率往往略低(因为尝试更冒险的传球)。
- 防守反击型队伍或长传较多的队伍,成功率通常低于70%。
- 不同位置差异:
- 中场球员在进攻三区的成功率通常在 78%-85%。
- 边锋/前锋在禁区的成功率较低(约 65%-75%),因为高压下传球。
- 低级别联赛或青少年比赛:可能低至 55% - 65%。
- 我没有直接提供一个固定的数字,因为这个值取决于你分析的是哪场比赛、哪个队伍、哪个赛季。
- 推荐的开源项目组合:
- 数据源:
statsbomb/open-data(免费,但是部分数据需按规则使用) - 分析库:
mplsoccer(用于球场景可化)、pandas、scikit-learn(用于统计) - 实践案例:GitHub 上有大量 Jupyter Notebook 利用上述数据计算“进攻三区传球成功率”(通常搜索
StatsBomb attacking third passing accuracy能找到)。
- 数据源:
如果你正在处理一个具体的开源数据集(比如最近欧洲杯/世界杯的公开数据),或者需要针对特定球队的数值,可以告诉我更多细节,我可以帮你确认或直接计算出一个准确值。