统计传球成功率哪队更高?
下面给你一个实用脚本,可以读取比赛传球数据并统计两队传球成功率,我提供 Python 和 Excel 公式 两种方案,你可以按需选用。

数据格式假设
假设 CSV 文件 passes.csv 长这样:
| team | player | pass_result |
|---|---|---|
| A | 张三 | success |
| A | 李四 | fail |
| B | 王五 | success |
| B | 赵六 | success |
| A | 张三 | success |
team:球队名pass_result:success或fail
Python 脚本(推荐)
import pandas as pd
# 1. 读取数据
df = pd.read_csv("passes.csv")
# 2. 统一字段(防止大小写/空格问题)
df["pass_result"] = df["pass_result"].str.strip().str.lower()
df["team"] = df["team"].str.strip()
# 3. 标记成功
df["is_success"] = df["pass_result"].eq("success")
# 4. 按球队汇总
summary = df.groupby("team").agg(
总传球=("is_success", "size"),
成功传球=("is_success", "sum"),
).reset_index()
# 5. 计算成功率
summary["传球成功率"] = (summary["成功传球"] / summary["总传球"] * 100).round(2)
# 6. 排序,找出更高的一队
summary = summary.sort_values("传球成功率", ascending=False)
print(summary.to_string(index=False))
winner = summary.iloc[0]
print(f"\n✅ 传球成功率更高的是:{winner['team']}({winner['传球成功率']}%)")
运行结果示例:
team 总传球 成功传球 传球成功率
B 2 2 100.00
A 3 2 66.67
✅ 传球成功率更高的是:B(100.0%)
Excel 公式方案
如果数据在 Excel 里,A 列 = 球队,C 列 = 结果:
=COUNTIFS(A:A,"A",C:C,"success") / COUNTIF(A:A,"A")
对比两队:
=IF( COUNTIFS(A:A,"A",C:C,"success")/COUNTIF(A:A,"A") > COUNTIFS(A:A,"B",C:C,"success")/COUNTIF(A:A,"B"), "A 队更高", "B 队更高" )
扩展建议
| 需求 | 做法 |
|---|---|
| 按球员统计 | groupby(["team","player"]) |
| 区分传球区域 | 增加 zone 列再分组 |
| 只算关键传球 | 过滤 pass_type == "key" |
| 输出图表 | summary.plot.bar(x="team", y="传球成功率") |
如果你把实际数据表头发给我(或截图),我可以直接改成适配你字段的脚本。