本文目录导读:

要统计“脚后跟传球成功几次”,需要先明确数据来源和统计口径,下面给你一个可落地的 Python 脚本框架,假设你有一份传球事件数据(CSV 或 JSON),包含传球方式、是否成功等字段。
先定义统计口径
统计“脚后跟传球成功”通常需要满足:
- 传球方式 = 脚后跟(backheel / heel pass)
- 传球结果 = 成功(成功找到队友 / 未被拦截)
- 可选:按球员、比赛、时间段分组统计
假设数据结构
假设你有一份 passes.csv,字段如下:
| 字段 | 说明 |
|---|---|
| player | 球员名 |
| match_id | 比赛ID |
| pass_type | 传球方式(如 foot, header, backheel) |
| outcome | 结果(success / fail / intercepted) |
| minute | 分钟 |
示例:
player,match_id,pass_type,outcome,minute Messi,001,backheel,success,23 Messi,001,backheel,fail,45 Xavi,001,backheel,success,60 Xavi,001,foot,success,70
Python 统计脚本
import pandas as pd
# 1. 读取数据
df = pd.read_csv("passes.csv")
# 2. 统一字段值(防止大小写/空格问题)
df["pass_type"] = df["pass_type"].str.strip().str.lower()
df["outcome"] = df["outcome"].str.strip().str.lower()
# 3. 筛选脚后跟传球
backheel = df[df["pass_type"].isin(["backheel", "heel", "脚后跟"])]
# 4. 筛选成功
backheel_success = backheel[backheel["outcome"].isin(["success", "successful", "成功"])]
# 5. 总成功次数
total_success = len(backheel_success)
print(f"脚后跟传球成功总次数:{total_success}")
# 6. 按球员统计
by_player = (
backheel_success.groupby("player")
.size()
.reset_index(name="backheel_success_count")
.sort_values("backheel_success_count", ascending=False)
)
print("\n按球员统计:")
print(by_player)
# 7. 按比赛统计
by_match = (
backheel_success.groupby("match_id")
.size()
.reset_index(name="backheel_success_count")
)
print("\n按比赛统计:")
print(by_match)
# 8. 导出结果
by_player.to_csv("backheel_success_by_player.csv", index=False)
如果你用的是 JSON / API 数据
如果是 StatsBomb、Opta、Wyscout 等事件数据,字段名不同,核心逻辑一样:
# 示例:StatsBomb 风格
# pass_type 可能是 pass.height / pass.body_part / pass.technique
# 脚后跟通常标记为 pass.technique == "Backheel"
events = [...] # 你的事件列表
backheel_success = [
e for e in events
if e.get("type", {}).get("name") == "Pass"
and e.get("pass", {}).get("technique", {}).get("name") == "Backheel"
and e.get("pass", {}).get("outcome", {}).get("name") is None # 无 outcome = 成功
]
print(len(backheel_success))
注意:不同数据源“成功”的定义不同,StatsBomb 中传球没有
outcome字段通常表示成功;Opta 中outcome=1表示成功。
需要你确认的 3 件事
为了给你更精确的脚本,请告诉我:
- 数据来源:CSV / Excel / JSON / API(StatsBomb、Opta、Wyscout、FIFA 等)?
- 字段名:传球方式和成功与否分别叫什么?
- 统计维度:只要总次数,还是按球员/比赛/赛季分组?
你把这三点补上,我可以直接给你一份能跑的完整脚本。