综合python案例,变向突破次数对比?

wen python案例 4

Python案例:变向突破次数对比分析

下面用篮球运动作为场景,演示"变向突破次数对比"的完整 Python 案例,涵盖数据生成、统计、可视化与对比结论。

综合python案例,变向突破次数对比?


案例背景

假设我们要对比 3 名球员 在 5 场比赛 中的变向突破次数,分析谁更擅长突破、稳定性如何。


完整代码

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 解决中文显示
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# ========== 1. 构造数据 ==========
np.random.seed(42)
players = ['球员A', '球员B', '球员C']
games = [f'第{i}场' for i in range(1, 6)]
# 模拟 5 场比赛的变向突破次数
data = {
    '球员A': [8, 10, 7, 12, 9],
    '球员B': [5, 6, 8, 4, 7],
    '球员C': [11, 13, 9, 14, 12],
}
df = pd.DataFrame(data, index=games)
print("===== 各场变向突破次数 =====")
print(df)
# ========== 2. 统计对比 ==========
summary = pd.DataFrame({
    '总次数': df.sum(),
    '场均次数': df.mean().round(2),
    '最高': df.max(),
    '最低': df.min(),
    '标准差(稳定性)': df.std().round(2),
})
print("\n===== 统计对比 =====")
print(summary)
# ========== 3. 可视化对比 ==========
fig, axes = plt.subplots(1, 3, figsize=(15, 4))
# 图1:折线图 —— 各场趋势
df.plot(ax=axes[0], marker='o')
axes[0].set_title('各场变向突破次数趋势')
axes[0].set_ylabel('次数')
axes[0].grid(alpha=0.3)
# 图2:柱状图 —— 总次数对比
summary['总次数'].plot(kind='bar', ax=axes[1], color=['#4C72B0','#DD8452','#55A868'])
axes[1].set_title('总变向突破次数对比')
axes[1].set_ylabel('次数')
axes[1].tick_params(axis='x', rotation=0)
# 图3:箱线图 —— 稳定性对比
df.boxplot(ax=axes[2])
axes[2].set_title('变向突破次数分布(稳定性)')
axes[2].set_ylabel('次数')
plt.tight_layout()
plt.savefig('breakthrough_compare.png', dpi=120)
plt.show()
# ========== 4. 自动结论 ==========
best_total = summary['总次数'].idxmax()
best_avg   = summary['场均次数'].idxmax()
most_stable = summary['标准差(稳定性)'].idxmin()
print("\n===== 对比结论 =====")
print(f"突破总次数最多:{best_total}({summary.loc[best_total,'总次数']} 次)")
print(f"场均突破最高:{best_avg}({summary.loc[best_avg,'场均次数']} 次/场)")
print(f"发挥最稳定(标准差最小):{most_stable}(标准差 {summary.loc[most_stable,'标准差(稳定性)']})")

运行结果示例

统计对比表:

指标 球员A 球员B 球员C
总次数 46 30 59
场均次数 20 00 80
最高 12 8 14
最低 7 4 9
标准差 92 58 92

对比结论:

  • 突破总次数最多:球员C(59 次)
  • 场均突破最高:球员C(11.8 次/场)
  • 发挥最稳定:球员B(标准差 1.58,虽次数少但波动小)

三张图的解读

图类型 作用
折线图 看每场趋势 C 每场都最高,A 稳中有升,B 波动大
柱状图 看累计总量 C > A > B,差距明显
箱线图 看稳定性 B 箱子最短最稳;A、C 波动相近但 C 上限更高

扩展方向(可继续优化)

  1. 多维度对比:加入"变向成功率""造成犯规次数",用雷达图综合评分
  2. 对阵不同防守强度:按对手分档做分组对比(df.groupby)
  3. 显著性检验:用 scipy.stats.ttest_ind 判断 A、C 差异是否显著
  4. 动态可视化:用 plotly 做交互式对比

需要哪个方向的扩展代码,我可以继续补上 👍

上一篇python案例如何利用历史同赔数据预测?

下一篇当前分类已是最新一篇

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