统计定位球得分占比
下面给你一个可直接用的 Python 脚本,用于统计一支球队(或一批比赛)中定位球得分占总进球的百分比。

数据准备(CSV 格式最方便)
新建 goals.csv,字段示例:
match_id,team,goal_type 1,主队,运动战 1,主队,角球 1,客队,任意球 1,客队,运动战 2,主队,点球 2,主队,角球 2,客队,运动战
goal_type 建议统一为以下几类:
- 运动战
- 角球
- 任意球
- 点球
- 定位球(其他,如界外球、间接任意球)
Python 脚本
import pandas as pd
# 1. 读取数据
df = pd.read_csv("goals.csv")
# 2. 定义哪些属于“定位球”
SET_PIECE_TYPES = {"角球", "任意球", "点球", "定位球"}
# 3. 标记
df["is_set_piece"] = df["goal_type"].isin(SET_PIECE_TYPES)
# 4. 总体统计
total_goals = len(df)
set_piece_goals = df["is_set_piece"].sum()
ratio = set_piece_goals / total_goals * 100 if total_goals else 0
print(f"总进球数:{total_goals}")
print(f"定位球进球:{set_piece_goals}")
print(f"定位球得分占比:{ratio:.2f}%")
# 5. 分球队统计
team_stats = df.groupby("team").agg(
总进球=("goal_type", "count"),
定位球进球=("is_set_piece", "sum"),
)
team_stats["定位球占比(%)"] = (
team_stats["定位球进球"] / team_stats["总进球"] * 100
).round(2)
print("\n=== 各队定位球占比 ===")
print(team_stats)
# 6. 导出结果
team_stats.to_csv("set_piece_ratio.csv", encoding="utf-8-sig")
print("\n已导出:set_piece_ratio.csv")
进阶:按赛事/阶段统计
CSV 里还有 competition(赛事)或 stage(阶段)字段,改一下分组即可:
group_stats = df.groupby(["competition", "team"]).agg(
总进球=("goal_type", "count"),
定位球进球=("is_set_piece", "sum"),
)
group_stats["定位球占比(%)"] = (
group_stats["定位球进球"] / group_stats["总进球"] * 100
).round(2)
print(group_stats)
常见分类口径参考
| 统计口径 | 是否算定位球 |
|---|---|
| 角球直接/二次进攻得分 | |
| 任意球直接破门 | |
| 点球 | ✅(有些统计会单列) |
| 界外球战术得分 | ✅(可算可不算) |
| 门球发起进攻 | |
| 运动战渗透 |
建议:点球是否计入会影响结果约 5–10 个百分点,写报告时注明口径。
示例输出
总进球数:7
定位球进球:4
定位球得分占比:57.14%
=== 各队定位球占比 ===
总进球 定位球进球 定位球占比(%)
team
主队 4 3 75.0
客队 3 1 33.3
如果你告诉我:
- 数据来源(Excel / 手动录入 / API)
- 是否需要按赛事、按赛季、按球队对手多维透视
- 点球是否单独统计
我可以帮你把脚本改成对应的版本。
版权声明:NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
足球直播
足球直播
足球直播
篮球直播
篮球直播
篮球直播
NBA直播
NBA直播
NBA直播
CBA直播
CBA直播
CBA直播
亚冠直播
亚冠直播
亚冠直播
欧冠直播
欧冠直播
欧冠直播
英超直播
英超直播
英超直播
西甲直播
西甲直播
西甲直播
中超直播
中超直播
中超直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
曼联直播
曼联直播
曼联直播
日职联直播
日职联直播
日职联直播
澳超直播
澳超直播
澳超直播
阿森纳直播
阿森纳直播
阿森纳直播
足球直播
足球直播
足球直播
NBA直播
NBA直播
NBA直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
欧冠直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
足球直播
足球直播
足球直播
足球直播
足球直播
英超直播
英超直播
英超直播
英超直播
英超直播
篮球直播
篮球直播
篮球直播
篮球直播
篮球直播
CBA直播
CBA直播
CBA直播
CBA直播
CBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
NBA直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播
中超直播