实用脚本统计传球成功率哪队更高?

wen 实用脚本 2

统计传球成功率哪队更高?

下面给你一个实用脚本,可以读取比赛传球数据并统计两队传球成功率,我提供 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="传球成功率")

如果你把实际数据表头发给我(或截图),我可以直接改成适配你字段的脚本。

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