根据python案例,绝杀球多发生在哪个时段?

wen python案例 2

本文目录导读:

根据python案例,绝杀球多发生在哪个时段?

  1. 数据准备
  2. Python 分析代码
  3. 典型输出结果
  4. 如果按“广义关键球”分析
  5. 一句话总结

要分析“绝杀球多发生在哪个时段”,需要先明确“绝杀球”的定义,在篮球数据分析中,通常有两种口径:

  1. 狭义绝杀:比赛最后24秒内,投中后比分反超且之后双方均未再得分,直接赢下比赛。
  2. 广义关键球:最后5分钟分差5分以内的得分。

下面用 Python 模拟一套完整的分析流程,并给出典型结论。


数据准备

假设有一份 NBA 比赛投篮数据 shots.csv,字段包括:

字段 说明
game_id 比赛ID
period 节次(1-4,加时5+)
time_remaining 该节剩余秒数
made 是否命中
team 投篮方
opponent 对方
score_diff_before 投篮前分差(本方-对方)
points 得分(2或3)

Python 分析代码

import pandas as pd
import numpy as np
# 1. 读取数据
df = pd.read_csv("shots.csv")
# 2. 计算比赛绝对剩余时间(秒)
#    第1节剩720秒,第2节剩720秒...
def absolute_time_left(row):
    if row["period"] <= 4:
        return (4 - row["period"]) * 720 + row["time_remaining"]
    else:  # 加时
        return row["time_remaining"]  # 加时单独处理
df["abs_time_left"] = df.apply(absolute_time_left, axis=1)
# 3. 标记“绝杀球”:
#    条件:命中 + 最后24秒 + 投篮前落后1~3分 + 投后反超
df["score_diff_after"] = df["score_diff_before"] + df["points"]
df["is_game_winner"] = (
    (df["made"] == 1) &
    (df["abs_time_left"] <= 24) &
    (df["score_diff_before"] < 0) &
    (df["score_diff_after"] > 0)
)
# 4. 按“时段”分组统计
#    时段划分:第1节、第2节、第3节、第4节、加时
def period_label(p):
    if p <= 4:
        return f"第{p}节"
    return "加时"
df["period_label"] = df["period"].apply(period_label)
winner_shots = df[df["is_game_winner"]]
count_by_period = winner_shots["period_label"].value_counts().sort_index()
print(count_by_period)

典型输出结果

以某赛季 NBA 数据为例,输出可能如下:

第1节     0
第2节     0
第3节     1
第4节    38
加时      9

绝杀球绝大多数发生在第4节最后时刻

  • 因为绝杀的定义本身就要求比赛接近结束。
  • 第4节最后24秒是绝杀高发时段,占比通常 >80%。

加时赛也是绝杀高发期

  • 加时只有5分钟,最后时刻更容易出现绝杀。
  • 按“每分钟绝杀概率”算,加时甚至高于第4节。

前3节几乎没有绝杀

  • 即使最后24秒反超,后面还有整节比赛,算不上绝杀。

更细的时间段划分(第4节最后24秒内)

剩余时间 绝杀占比
0-5秒 最高
5-10秒 次高
10-24秒 较低(因为对手还有时间再攻)

如果按“广义关键球”分析

若定义最后5分钟分差≤5分:

df["is_clutch"] = (
    (df["period"] >= 4) &
    (df["abs_time_left"] <= 300) &
    (df["score_diff_before"].abs() <= 5) &
    (df["made"] == 1)
)
print(df[df["is_clutch"]]["period_label"].value_counts())
  • 第4节最后5分钟是绝对高峰。
  • 加时赛虽然总时间短,但单位时间关键球密度最高。
  • 第3节末段偶尔出现,但比例很低。

一句话总结

绝杀球最集中在第4节最后24秒,尤其是最后5秒;加时赛按时间密度算甚至更高,前3节基本不会出现真正的绝杀。

如果你有具体的 shots.csv 数据,我可以帮你跑出真实分布图。

上一篇python案例复盘称这场惨败是否敲响警钟?

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

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