python案例统计挑球过人次数多不多?

wen python案例 1

统计"挑球过人"次数

下面我用一个完整的 Python 案例,模拟一场比赛中统计球员"挑球过人"次数,并判断是否"多"。

python案例统计挑球过人次数多不多?

场景说明

假设我们有球员每场比赛的技术统计数据(含 挑球过人 字段),需要:

  1. 统计每名球员的挑球过人总次数
  2. 判断是否"多"(设定阈值,如 ≥5 次为多)
  3. 排序输出结果

完整代码

import pandas as pd
# ========== 1. 模拟数据 ==========
data = {
    "球员": ["梅西", "梅西", "内马尔", "内马尔", "姆巴佩", "姆巴佩", "维尼修斯", "维尼修斯"],
    "场次": [1, 2, 1, 2, 1, 2, 1, 2],
    "挑球过人": [3, 4, 6, 5, 2, 1, 7, 6]
}
df = pd.DataFrame(data)
# ========== 2. 按球员统计总次数 ==========
summary = df.groupby("球员", as_index=False)["挑球过人"].sum()
summary.columns = ["球员", "挑球过人总数"]
# ========== 3. 判断是否"多"(阈值可调) ==========
THRESHOLD = 8
def judge(x):
    if x >= THRESHOLD:
        return "多"
    elif x >= THRESHOLD * 0.5:
        return "一般"
    else:
        return "少"
summary["评价"] = summary["挑球过人总数"].apply(judge)
# ========== 4. 排序输出 ==========
summary = summary.sort_values("挑球过人总数", ascending=False).reset_index(drop=True)
print("=" * 40)
print("各球员挑球过人统计")
print("=" * 40)
print(summary.to_string(index=False))
# ========== 5. 整体判断 ==========
avg = summary["挑球过人总数"].mean()
print(f"\n全队场均挑球过人总数:{avg:.1f} 次")
print(f"判定阈值:≥{THRESHOLD} 次为“多”")
print("", "挑球过人次数偏多" if avg >= THRESHOLD else "挑球过人次数不算多")

输出结果

========================================
各球员挑球过人统计
========================================
    球员  挑球过人总数  评价
维尼修斯         13   多
  内马尔         11   多
    梅西          7  一般
  姆巴佩          3   少
全队场均挑球过人总数:8.5 次
判定阈值:≥8 次为“多”
 挑球过人次数偏多

关键点解析

步骤 作用
groupby("球员")["挑球过人"].sum() 按球员汇总过人次数
apply(judge) 按阈值分类为 多 / 一般 / 少
sort_values 按次数降序排名
mean() 计算全队平均水平,做整体结论

想扩展?可以加这些

# ① 对比两队的挑球过人能力
df.groupby(["球队","球员"])["挑球过人"].sum()
# ② 挑球过人占总过人比例
df["挑球过人占比"] = df["挑球过人"] / df["总过人次数"]
# ③ 可视化(需安装 matplotlib)
summary.plot(x="球员", y="挑球过人总数", kind="bar", legend=False)

回答你的问题:从模拟数据看,维尼修斯和内马尔的挑球过人次数明显"多",全队平均值也超过了阈值,说明该队在这项技术上整体偏多。

如果你有真实的数据表(Excel / CSV),把字段名告诉我,我可以帮你改成直接读取真实数据的版本,你需要用真实数据统计吗?

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

友情链接攻略窝 · 礼包窝 · 配置窝 · 换算窝 · 算法窝 · 查文窝 · 手册窝 · 问答窝 · 全文搜 · 手册库
相关站点礼包窝 · 查文窝