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

wen python案例 4

本文目录导读:

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

  1. 核心思路
  2. 示例代码
  3. 如果是 StatsBomb 数据
  4. 常见的高度分类(StatsBomb)
  5. 请补充信息

我理解您想查询某个 Python 案例中“低平球传中次数”的统计方法,但您没有提供具体的代码或数据,我先给出一个通用的实现思路,您可以根据自己的数据结构调整。

核心思路

低平球传中通常需要同时满足几个条件:

  1. 传球类型是传中(cross)
  2. 传球高度较低(如 ground / low)
  3. 可能还需判断起始位置在边路区域

示例代码

假设数据来自 StatsBomb 或类似事件数据:

import pandas as pd
# 假设 df 包含传球事件,字段示例:
# type_name, pass_height_name, start_x, start_y, end_x, end_y
# 方法1:直接按传球高度筛选
low_cross = df[
    (df['type_name'] == 'Pass') &
    (df['pass_height_name'].isin(['Ground Pass', 'Low Pass'])) &
    (df['pass_cross'] == True)   # 若是传中标记
]
count = len(low_cross)
print(f"低平球传中次数: {count}")

如果是 StatsBomb 数据

import pandas as pd
from statsbombpy import sb
events = sb.events(match_id=12345)
# 提取传球事件
passes = events[events['type'] == 'Pass'].copy()
# 展开 pass 子字段
passes['pass_height'] = passes['pass'].apply(
    lambda x: x.get('height', {}).get('name') if isinstance(x, dict) else None
)
passes['is_cross'] = passes['pass'].apply(
    lambda x: x.get('cross', False) if isinstance(x, dict) else False
)
# 低平球传中:高度为"低平球"且是传中
low_cross = passes[
    (passes['is_cross'] == True) &
    (passes['pass_height'] == 'Low Pass')   # 或 'Ground Pass'
]
print(f"低平球传中次数: {len(low_cross)}")

常见的高度分类(StatsBomb)

英文 中文
Ground Pass 地面球
Low Pass 低平球
High Pass 高球

请补充信息

为了给您更准确的答案,能否提供:

  1. 您用的数据源(StatsBomb / Opta / 自建 CSV)?
  2. 相关代码片段或字段名?
  3. 是否要按球员/球队/区域细分统计?

发给我后,我可以直接帮您定位或修正代码。

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