这个开源项目显示横传转移球次数?

wen 开源项目 3

本文目录导读:

这个开源项目显示横传转移球次数?

  1. 情况 1:基于 StatsBomb 360 数据(如 statsbombpykloppy
  2. 情况 2:基于 “OpenFootball” 或 “understat” 数据
  3. 情况 3:项目自带“战术面板”功能(如社区开源的 Soccer Action AI
  4. 🙋 如果你没有具体项目,只是想找现成代码

要回答这个问题,首先需要明确你指的是哪个开源项目

因为“横传转移球”是足球数据分析中的高级指标,不同的开源项目(如 StatsBomb、 或 各种基于事件数据的分析库)对它的定义和统计方式完全不同。

为了给你最准确的答案,请先告诉我项目名称仓库地址,我可以先根据市面上主流的几类开源足球分析项目,分情况说明它们是否以及如何统计“横传转移球”:

情况 1:基于 StatsBomb 360 数据(如 statsbombpykloppy

  • 是否有该数据?
  • 如何统计? StatsBomb 官方定义的指标叫 “Switch of Play(转移)”、“Passes to Final Third” 等。
    • Switch of Play(转移球):指传球跨越了较大的横向距离(通常跨越中线或禁区宽度),且改变了进攻方向。
    • kloppystatsbombpy 中,你可以通过筛选 pass 事件,计算传球起终点坐标的X轴(横向)差值,如果差值大于某个阈值(25 米),且 Y 轴方向发生改变,即可视为横传转移。
  • 注意:开源项目本身提供的是原始事件流,并不会直接给出一张“本场转移次数”的聚合图,这需要你自己用 Pandas 去算。

情况 2:基于 “OpenFootball” 或 “understat” 数据

  • 是否有该数据? 没有直接的“转移”分类
  • 如何统计? 这些项目只提供基础的 x(横向)和 y(纵向)坐标,通常的做法是写自定义函数:
    • 过滤出 typePass 的数据。
    • 计算 abs(start_x - end_x)(横向位移绝对值)。
    • 如果横向位移 > 20 码/米,且纵向推进距离较小,且传球方向与整体进攻方向相反,就人工判定为“横传转移”。

情况 3:项目自带“战术面板”功能(如社区开源的 Soccer Action AI

  • 是否有该数据? 取决于该项目的模型训练
  • 许多结合了计算机视觉(CV)的项目,会直接调用预置的“StatsBomb 事件库”,这种情况下输出结果中通常包含 switch_of_play 字段,如果该字段为 True,即为一次横传转移。

🙋 如果你没有具体项目,只是想找现成代码

你可以直接搜索 opensource football pass switch,比较热门的推荐是 Football-Analytics 系列仓库(国外博主 ersanyamarya 的项目),这个项目里有现成的函数,

def passes_between_zones(df, own_goal, opp_goal):
    # 通常这叫 zone passes,里面会有一列专门标记 “Tempo” 或 “Switch”

请回复一下:

  1. 项目名字/链接是什么?
  2. 你使用的是哪种数据源(英超/欧洲杯等)?

我可以直接告诉你在那个项目里该调用哪个函数,或者修改哪个参数来统计出横传次数。

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