实用脚本统计直塞球成功率是多少?

wen 实用脚本 2

本文目录导读:

实用脚本统计直塞球成功率是多少?

  1. 先定义“直塞球成功率”
  2. 假设你的数据格式
  3. 统计脚本(按球员/球队)
  4. 如果你只有事件数据(需要自己判定直塞)
  5. 输出示例
  6. 你需要提供的信息

你要统计“直塞球成功率”,需要先明确数据来源和判定口径,下面给你一个可直接改用的 Python 脚本模板,并说明统计逻辑。

先定义“直塞球成功率”

通常计算方式:

[ 直塞球成功率 = \frac{成功直塞次数}{直塞总次数} \times 100\% ]

需要明确:

  • 直塞球:向前穿透防线、送入防线身后或肋部空当的传球(通常用数据商标签,如 through_ball、key_pass 中的直塞类型)
  • 成功直塞:接球队友在可控范围内接到球,且未出界/未被拦截
  • 失败直塞:被拦截、出界、传大、队友未接到

假设你的数据格式

假设你有一个 CSV,字段如下:

match_id,player,team,pass_type,outcome
1,张三,A队,through_ball,success
1,张三,A队,through_ball,fail
1,李四,A队,through_ball,success
2,张三,A队,through_ball,success
2,王五,B队,through_ball,fail

统计脚本(按球员/球队)

import pandas as pd
# 读取数据
df = pd.read_csv("passes.csv")
# 筛选直塞球(根据你的数据标签调整)
through = df[df["pass_type"].str.lower().isin(["through_ball", "直塞", "through pass"])].copy()
# 统一结果字段
through["is_success"] = through["outcome"].str.lower().isin(["success", "成功", "completed"])
# 按球员统计
player_stats = through.groupby(["team", "player"]).agg(
    直塞总次数=("is_success", "size"),
    直塞成功次数=("is_success", "sum")
).reset_index()
player_stats["直塞成功率(%)"] = (
    player_stats["直塞成功次数"] / player_stats["直塞总次数"] * 100
).round(2)
print(player_stats.sort_values("直塞成功率(%)", ascending=False))
# 按球队统计
team_stats = through.groupby("team").agg(
    直塞总次数=("is_success", "size"),
    直塞成功次数=("is_success", "sum")
).reset_index()
team_stats["直塞成功率(%)"] = (
    team_stats["直塞成功次数"] / team_stats["直塞总次数"] * 100
).round(2)
print(team_stats)

如果你只有事件数据(需要自己判定直塞)

如果你的数据没有 pass_type 标签,可以用简化规则近似:

# 近似规则:向前传球 + 传球距离 > 15m + 目标点在防线身后
# 需要字段:start_x, start_y, end_x, end_y, opponent_def_line_x
df["is_forward"] = df["end_x"] > df["start_x"]
df["is_long_enough"] = ((df["end_x"]-df["start_x"])**2 + (df["end_y"]-df["start_y"])**2)**0.5 > 15
df["behind_defense"] = df["end_x"] > df["opponent_def_line_x"]
df["is_through_ball"] = df["is_forward"] & df["is_long_enough"] & df["behind_defense"]

注意:这种近似误差较大,正式统计建议用 Opta / StatsBomb / Wyscout 的 through_ball

输出示例

   team player  直塞总次数  直塞成功次数  直塞成功率(%)
0   A队    张三        10          7          70.0
1   A队    李四         5          2          40.0
2   B队    王五         8          3          37.5

你需要提供的信息

要帮你写成真正可运行的脚本,请告诉我:

  1. 数据格式(CSV / JSON / API / 数据库?)
  2. 字段名(传球类型、结果、球员、球队)
  3. “直塞球”和“成功”的判定标准
  4. 统计维度(按球员 / 球队 / 比赛 / 赛季)

如果你把一小段样例数据贴出来,我可以直接帮你改成能跑的版本。

友情链接

欧易欧易欧易欧易欧易欧易欧易欧易直播帮篮球控NBA帮比赛虎聊足球

上一篇根据实时实用脚本,体能低谷期何时到来?

下一篇当前分类已是最新一篇

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

友情链接攻略窝 · 礼包窝 · 配置窝 · 换算窝 · 算法窝 · 查文窝 · 手册窝 · 问答窝 · 全文搜 · 手册库
相关站点礼包窝 · 查文窝