本文目录导读:

- 方案一:你有一份比赛事件表(Excel/CSV)
- 方案二:统计某球员的任意球直接得分
- 方案三:按球队/赛季分组统计
- 方案四:从文本(解说词/新闻)中提取
- 方案五:接入 API(如 API-Football)
- 关键判断逻辑(无论哪种数据源)
"任意球直接得分"的统计,需要先明确一个关键点:数据从哪里来,不同场景下脚本写法完全不同,下面给你几个实用方案,按数据源分类。
你有一份比赛事件表(Excel/CSV)
假设表结构如下:
| 比赛 | 时间 | 球队 | 球员 | 事件类型 | 备注 |
|---|---|---|---|---|---|
| A vs B | 23' | A | 张三 | 任意球 | 直接破门 |
| A vs B | 45' | B | 李四 | 任意球 | 传中 |
import pandas as pd
df = pd.read_csv("events.csv")
# 统计任意球直接得分
direct_fk_goals = df[
(df["事件类型"] == "任意球") &
(df["备注"].str.contains("直接破门|直接得分", na=False))
]
print(f"任意球直接得分:{len(direct_fk_goals)} 次")
print(direct_fk_goals[["比赛", "时间", "球员"]])
统计某球员的任意球直接得分
player = "梅西"
count = df[
(df["球员"] == player) &
(df["事件类型"] == "任意球") &
(df["备注"].str.contains("直接", na=False))
].shape[0]
print(f"{player} 任意球直接得分:{count} 次")
按球队/赛季分组统计
result = (
df[df["备注"].str.contains("直接", na=False) &
(df["事件类型"] == "任意球")]
.groupby(["球队"])
.size()
.reset_index(name="直接任意球得分")
.sort_values("直接任意球得分", ascending=False)
)
print(result)
从文本(解说词/新闻)中提取
如果只有一段文字,用正则:
import re
text = """
第23分钟,张三主罚任意球直接破门。
第67分钟,李四任意球传中,队友头球得分。
第80分钟,王五任意球直接得分。
"""
# 匹配"任意球...直接(破门|得分)"
pattern = r"任意球[^。]*?直接(?:破门|得分)"
matches = re.findall(pattern, text)
print(f"直接任意球得分:{len(matches)} 次")
for m in matches:
print(" -", m)
接入 API(如 API-Football)
如果你要抓实时数据:
import requests
API_KEY = "你的key"
url = "https://v3.football.api-sports.io/fixtures/events"
params = {"fixture": 123456}
headers = {"x-apisports-key": API_KEY}
data = requests.get(url, headers=headers, params=params).json()
count = 0
for e in data["response"]:
# type=Goal, detail=Free Kick 表示任意球直接破门
if e["type"] == "Goal" and e["detail"] == "Free Kick":
count += 1
print(e["time"]["elapsed"], e["player"]["name"])
print(f"任意球直接得分:{count} 次")
API-Football 里
detail: "Free Kick"就是直接任意球破门;detail: "Normal Goal"是普通进球。
关键判断逻辑(无论哪种数据源)
判断"直接"最重要,要区分:
| 情况 | 是否算直接得分 |
|---|---|
| 任意球直接射门入网 | |
| 任意球传中,队友头球破门 | |
| 任意球射门被扑,补射入网 | |
| 任意球射门击中门柱弹进 | ✅(一般算) |
所以脚本的核心过滤条件通常是:
事件类型 == 任意球- 且
进球方式 == 直接射门/直接破门
告诉我你的数据长什么样(CSV 列名、Excel 截图、文字样本、还是想调 API),我可以给你写一个完全对得上的脚本。