如何用 Python 分析这次角球战术配合
你没有贴出具体代码,我先给你一个通用的分析框架,你可以对照自己的代码看,角球战术分析一般分成 4 个层次,从原始数据到战术洞察逐层递进。

先搞清楚数据是什么形态
角球分析常见的数据源有三类,看代码先确认你属于哪一类:
| 数据类型 | 典型字段 | 能回答的问题 |
|---|---|---|
| 事件数据(StatsBomb / Opta) | type, location, player, timestamp |
谁发的、发到哪、谁接的 |
| 追踪数据(25fps 坐标) | x, y(22名球员+球) |
跑位路线、防守站位、空当 |
| 视频+姿态估计 | 关键点坐标 | 身体朝向、争顶动作 |
如果你的代码里出现 events、location、pass_type='Corner' → 事件数据
如果出现 frame、player_id、x、y 每秒多行 → 追踪数据
事件数据视角:看"决策链"
# 典型分析流程 corner = df[(df['type']=='Pass') & (df['pass_type']=='Corner')]
要回答的战术问题:
-
短角球 vs 直接传中?
- 看接球点
end_location的 x 坐标 - x < 60 → 短角球战术;x 在禁区 → 直接传中
- 看接球点
-
传中落点区域(Zone 分析)
# 把禁区划分 6 区:前点/中路/后点 × 近门柱/远门柱 def classify_zone(x, y): if x < 108: return 'short' elif y < 24: return 'near_post' elif y > 44: return 'far_post' else: return 'central'- 落点集中在前点 → 通常配前点蹭后点战术
- 落点在中路 → 摆渡/头球攻门
- 落点在后点 → 包抄战术
-
接球人身份
- 中卫/前锋 = 直接攻门
- 边后卫/中场 = 战术配合(二次传中)
追踪数据视角:看"空间与跑位"(这才是战术核心)
事件数据只能告诉你"球去了哪",追踪数据才能告诉你"为什么能到那"。
防守方站位识别
# 角球发出瞬间,冻结一帧
frame_t = tracking[tracking['frame']==corner_frame]
defenders = frame_t[frame_t['team']=='defense']
# 判断防守类型
if defenders['y'].std() < 3: # 一条线
print("区域防守 (Zonal)")
elif defenders['player'].nunique() < 8:
print("混合防守")
else:
print("人盯人")
进攻方跑位路径
# 追踪某球员在角球前后的轨迹
runner = tracking[(tracking['player']==target) &
(tracking['frame'].between(f-50, f+50))]
plt.plot(runner['x'], runner['y'])
关键模式:
- 交叉跑位(crossing runs):两条轨迹在中途交汇 → 制造混乱
- 阻挡跑(screening/block run):一人跑向防守者,为队友清空
- 后插上(late run):起点在禁区外,终点在落点
空间创造量化
# 计算落点周围 5 米内的防守球员数
def space_at(ball_x, ball_y, defenders, r=5):
return ((defenders['x']-ball_x)**2 +
(defenders['y']-ball_y)**2 < r**2).sum()
# 落点处防守人数 ≤1 → 战术成功制造空当
print(f"落点防守人数: {space_at(...)}")
把两层结合:还原"配合剧本"
真正读懂一次角球配合,是从数据里讲出一个故事:
# 伪代码:自动生成战术描述
if pass_end_x < 60:
tactic = "短角球"
# 看接球后的二次传球
elif space_at(box) <= 1:
tactic = "战术跑位制造空当"
# 找谁吸引防守、谁插上
elif contested_players >= 4:
tactic = "直接高空球争顶"
举例输出:
角球开出前,7号球员从中场启动,在禁区弧顶做了一个反向跑(screening),吸引了两名防守者;同时3号中卫从后点插上,落点区域仅剩1名防守者 → 战术成功,形成头球射门。
给你一个自检清单
看你的代码能不能回答这 5 个问题:
- [ ] 角球发出瞬间,双方站位是什么阵型?
- [ ] 球的落点具体在哪一区?(画出来)
- [ ] 进攻方有几条有效跑位?是交叉还是分散?
- [ ] 防守方是区域、盯人还是混合?错位在哪?
- [ ] 这次配合的"预期威胁"是多少?(xG/ xT 变化)
如果你把代码贴出来,我可以逐行帮你解读这次角球具体打的是什么战术(前点蹭、后点包、短角回做、阻挡跑等),并指出代码里可能漏掉的关键维度,你方便发一下吗?