本文目录导读:

如果您想统计低平球传中次数,通常的思路是这样的:
一般判定逻辑
低平球传中 = 传中 + 传球高度为"低平"
# 伪代码示例
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= 低平球
版权声明:足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
足球直播
足球直播
足球直播
足球直播
足球直播
中超直播
中超直播
中超直播
中超直播
中超直播
英超直播
英超直播
英超直播
英超直播
英超直播
德甲直播
德甲直播
德甲直播
德甲直播
德甲直播
西甲直播
西甲直播
西甲直播
西甲直播
西甲直播
意甲直播
意甲直播
意甲直播
意甲直播
意甲直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播