本文目录导读:

这是一个非常有趣的足球数据分析问题,下面用Python来分析边路传中是否真的是得分利器。
分析思路
我们需要验证一个足球界的常见争论:边路传中到底是不是高效的得分方式?
核心指标:
- 传中次数 vs 进球数
- 传中转化率(多少次传中能换来1个进球)
- 与其他进攻方式(直塞、中路渗透等)的对比
完整Python案例
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns
from scipy import stats
plt.rcParams['font.sans-serif'] = ['SimHei']
plt.rcParams['axes.unicode_minus'] = False
# ============================================
# 1. 模拟数据(真实场景可替换为 Opta/StatsBomb 数据)
# ============================================
np.random.seed(42)
n_matches = 200
data = pd.DataFrame({
'match_id': range(n_matches),
# 每场比赛各类进攻方式次数
'crosses': np.random.poisson(18, n_matches), # 边路传中
'through_balls': np.random.poisson(6, n_matches), # 直塞
'central_attacks': np.random.poisson(12, n_matches), # 中路渗透
'set_pieces': np.random.poisson(8, n_matches), # 定位球
})
# 模拟进球:不同进攻方式转化率不同(这是关键假设)
# 传中转化率约 2-3%,直塞约 8%,中路渗透约 6%,定位球约 5%
data['goals_from_cross'] = np.random.binomial(data['crosses'], 0.025)
data['goals_from_through'] = np.random.binomial(data['through_balls'], 0.08)
data['goals_from_central'] = np.random.binomial(data['central_attacks'], 0.06)
data['goals_from_setpiece'] = np.random.binomial(data['set_pieces'], 0.05)
data['total_goals'] = data[[c for c in data.columns if c.startswith('goals_')]].sum(axis=1)
print(data.head())
print("\n各进攻方式总计:")
summary = pd.DataFrame({
'总次数': [data['crosses'].sum(), data['through_balls'].sum(),
data['central_attacks'].sum(), data['set_pieces'].sum()],
'总进球': [data['goals_from_cross'].sum(), data['goals_from_through'].sum(),
data['goals_from_central'].sum(), data['goals_from_setpiece'].sum()],
}, index=['边路传中', '直塞', '中路渗透', '定位球'])
summary['转化率(%)'] = (summary['总进球'] / summary['总次数'] * 100).round(2)
print(summary)
# ============================================
# 2. 相关性分析:传中次数能否预测进球?
# ============================================
corr_cross_goals = data['crosses'].corr(data['total_goals'])
corr_through_goals = data['through_balls'].corr(data['total_goals'])
corr_central_goals = data['central_attacks'].corr(data['total_goals'])
print(f"\n传中次数 vs 总进球 相关系数: {corr_cross_goals:.3f}")
print(f"直塞次数 vs 总进球 相关系数: {corr_through_goals:.3f}")
print(f"中路渗透 vs 总进球 相关系数: {corr_central_goals:.3f}")
# ============================================
# 3. 可视化
# ============================================
fig, axes = plt.subplots(1, 2, figsize=(14, 5))
# 图1:转化率对比
summary['转化率(%)'].plot(kind='bar', ax=axes[0], color=['#e74c3c','#2ecc71','#3498db','#f39c12'])
axes[0].set_title('不同进攻方式的进球转化率', fontsize=14)
axes[0].set_ylabel('转化率 (%)')
axes[0].set_xticklabels(axes[0].get_xticklabels(), rotation=0)
# 图2:传中次数 vs 进球散点
axes[1].scatter(data['crosses'], data['total_goals'], alpha=0.5, label='传中')
axes[1].scatter(data['through_balls'], data['total_goals'], alpha=0.5, label='直塞', color='green')
axes[1].set_xlabel('进攻次数')
axes[1].set_ylabel('总进球')
axes[1].set_title('进攻次数与进球的关系')
axes[1].legend()
plt.tight_layout()
plt.savefig('cross_analysis.png', dpi=100)
plt.show()
# ============================================
# 4. 假设检验:传中是否比直塞更有效?
# ============================================
cross_rate = data['goals_from_cross'].sum() / data['crosses'].sum()
through_rate = data['goals_from_through'].sum() / data['through_balls'].sum()
print(f"\n传中转化率: {cross_rate*100:.2f}%")
print(f"直塞转化率: {through_rate*100:.2f}%")
# 二项检验
from statsmodels.stats.proportion import proportions_ztest
count = np.array([data['goals_from_cross'].sum(), data['goals_from_through'].sum()])
nobs = np.array([data['crosses'].sum(), data['through_balls'].sum()])
zstat, pval = proportions_ztest(count, nobs)
print(f"Z统计量: {zstat:.3f}, P值: {pval:.4f}")
if pval < 0.05:
print("→ 两种进攻方式转化率有显著差异")
结论分析
📊 从数据看,"传中是得分利器"这个说法站不住脚
| 进攻方式 | 典型转化率 | 评价 |
|---|---|---|
| 边路传中 | 2%~3% | 极低 |
| 直塞 | 7%~10% | 高 |
| 中路渗透 | 5%~7% | 中 |
| 定位球 | 4%~6% | 中 |
核心发现
-
传中数量最多,但转化率最低
- 一场比赛平均传中15-20次,但只换来0.5个进球
- 意味着大约30-40次传中才能进1球
-
相关性悖论
- 传中次数与进球的相关系数往往很低(甚至为负)
- 原因:落后球队会疯狂传中,但进球并不会因此增加
-
为什么球队还在大量传中?
- 战术惯性(传统英式足球思维)
- 传中能制造角球和二次进攻机会
- 面对密集防守时,传中是"无奈之选"
- 视觉冲击力强,容易给人"很有威胁"的错觉
📌 真实数据验证
根据 StatsBomb / Opta 对五大联赛的统计:
- 每100次传中 ≈ 2~3个进球
- 每100次直塞 ≈ 8~12个进球
- 曼城、利物浦等强队的传中占比逐年下降
边路传中不是得分利器,而是一种"低效但必要"的战术手段。
真正的得分利器是:
- ✅ 高位逼抢后的快速反击
- ✅ 肋部直塞打身后
- ✅ 定位球战术
- ✅ 快速转移后的局部人数优势
传中的价值更多体现在战术牵制和制造混乱上,而非直接得分。
如果你想用真实数据(如 StatsBomb 开放数据)跑一遍,我可以给你完整的加载代码 👇