本文目录导读:

你提到的“赛后python案例”应该是指用 Python 做赛后数据分析的案例(比如足球/篮球比赛的技术统计、事件数据分析),不过你没有贴具体代码和数据,所以我只能基于常见的赛后 Python 分析框架来回答“进攻套路是否单一”这个问题,并给出可操作的判断方法。
先明确“进攻套路单一”在数据上怎么定义
通常从以下几个维度判断,而不是凭感觉:
| 维度 | 单一的表现 | 丰富的表现 |
|---|---|---|
| 进攻发起区域 | 高度集中在某一侧/某一区域 | 分布均匀或多点开花 |
| 进攻方式 | 大量长传冲吊 / 只打边路 / 只靠个人突破 | 边中结合、阵地战+反击并存 |
| 传球网络 | 少数几个节点垄断球权 | 多节点参与、传球路径多样 |
| 射门来源 | 射门集中在少数套路(如定位球、远射) | 禁区内多点、运动战+定位球均衡 |
| 进攻序列 | 进攻回合长度/模式高度重复 | 回合模式多样 |
用 Python 怎么量化(常见做法)
进攻区域分布熵
import numpy as np
from collections import Counter
def attack_entropy(zones):
# zones: 每次进攻发起/结束的区域标签列表
counts = Counter(zones)
probs = np.array(list(counts.values())) / len(zones)
return -np.sum(probs * np.log2(probs))
- 熵值低 → 进攻区域集中 → 套路单一
- 熵值高 → 分布分散 → 套路多样
进攻方式占比
import pandas as pd
df = pd.read_csv("attacks.csv") # 含 attack_type 列
print(df["attack_type"].value_counts(normalize=True))
如果某一类(如“边路传中”)占比 > 50%~60%,基本可判定套路偏单一。
传球网络集中度
# 用 networkx 算球权集中度 import networkx as nx G = nx.from_pandas_edgelist(passes, "passer", "receiver", edge_attr="count") centrality = nx.degree_centrality(G) print(sorted(centrality.items(), key=lambda x: -x[1])[:5])
若前 2~3 名球员占据绝大部分传球权重 → 进攻组织点单一。
射门来源多样性
shots.groupby("shot_type").size().plot(kind="bar")
看是否过度依赖某一种射门方式(定位球、远射、反击单刀等)。
进攻回合模式聚类
from sklearn.cluster import KMeans # 把每个进攻回合编码为特征向量(时长、传球次数、推进距离、是否边路等) kmeans = KMeans(n_clusters=4).fit(X) print(np.bincount(kmeans.labels_) / len(X))
70%+ 的回合落在同一个簇 → 套路高度重复。
结论性判断逻辑
综合以上指标,可以给出判断:
- 多项指标同时指向集中(区域熵低 + 单一方式占比高 + 传球集中 + 回合聚类单一)→ 进攻套路确实单一
- 仅个别指标集中(比如射门方式单一但区域分散)→ 局部单一,整体尚可
- 指标分散 → 套路多样
需要你补充的信息
如果你能提供以下任一内容,我可以给出更具体的结论(而不是通用方法):
- 赛后 Python 案例的代码片段或输出表格
- 数据字段说明(比如是否有 attack_type、zone、pass network 等)
- 你关心的具体运动项目(足球/篮球/其他)
你把案例数据或代码贴出来,我可以直接帮你跑一遍上面的判断,给出“是否单一”的明确结论和依据。