这个python案例显示低平球传中次数?

wen python案例 6

本文目录导读:

这个python案例显示低平球传中次数?

  1. 一般判定逻辑
  2. 如果是 StatsBomb 数据
  3. 如果是 mplsoccer + Opta 数据

如果您想统计低平球传中次数,通常的思路是这样的:

一般判定逻辑

低平球传中 = 传中 + 传球高度为"低平"

# 伪代码示例
low_crosses = df[
    (df['pass_type'] == 'cross') &          # 是传中
    (df['pass_height'] == 'Low Pass') |      # 低平球
    (df['cross_ground'] == True)
]
count = len(low_crosses)

如果是 StatsBomb 数据

StatsBomb 的传球事件里有 pass.height 字段:

  • "High Pass" — 高球
  • "Low Pass" — 低平球
  • "Ground Pass" — 地滚球

传中则看 pass.cross == True

import pandas as pd
from statsbombpy import sb
events = sb.events(match_id=XXXX)
# 展开传球相关字段
passes = events[events['type'] == 'Pass'].copy()
passes['is_cross'] = passes['pass_cross'].fillna(False)
passes['height'] = passes['pass_height']
# 低平球传中:传球=传中 且 高度=Low Pass
low_crosses = passes[
    (passes['is_cross'] == True) &
    (passes['height'] == 'Low Pass')
]
print("低平球传中次数:", len(low_crosses))
# 按球员统计
by_player = low_crosses.groupby('player').size().sort_values(ascending=False)
print(by_player)

如果是 mplsoccer + Opta 数据

Opta 用 pass_type 里的 qualifier 区分:

  • type_id == 1 表示传中相关
  • qualifier 210 = 低平球

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