本文目录导读:

核心指标
| 指标 | 说明 |
|---|---|
| 主队主场胜率 | 主队在自己主场赢球比例 |
| 客队客场胜率 | 客队在别人主场赢球比例 |
| 主队主场场均净胜分 | 主队主场得分-失分 |
| 客队客场场均净胜分 | 客队客场得分-失分 |
| 主客场差异值 | 主场表现 - 客场表现,差值越大说明主客场依赖性越强 |
实用脚本示例(Python)
import pandas as pd
# 假设数据格式:每行一场比赛
# columns: home_team, away_team, home_score, away_score, date
def team_home_away_stats(df, team_name):
"""计算某队的主客场战绩差异"""
# 该队作为主队的比赛
home_games = df[df['home_team'] == team_name].copy()
home_games['win'] = home_games['home_score'] > home_games['away_score']
home_games['diff'] = home_games['home_score'] - home_games['away_score']
# 该队作为客队的比赛
away_games = df[df['away_team'] == team_name].copy()
away_games['win'] = away_games['away_score'] > away_games['home_score']
away_games['diff'] = away_games['away_score'] - away_games['home_score']
stats = {
'球队': team_name,
'主场场次': len(home_games),
'主场胜率': round(home_games['win'].mean(), 3),
'主场场均净胜': round(home_games['diff'].mean(), 2),
'客场场次': len(away_games),
'客场胜率': round(away_games['win'].mean(), 3),
'客场场均净胜': round(away_games['diff'].mean(), 2),
}
stats['胜率差(主-客)'] = round(stats['主场胜率'] - stats['客场胜率'], 3)
stats['净胜分差(主-客)'] = round(stats['主场场均净胜'] - stats['客场场均净胜'], 2)
return stats
def compare_two_teams(df, team_a, team_b):
"""对比两队主客场差异"""
a = team_home_away_stats(df, team_a)
b = team_home_away_stats(df, team_b)
return pd.DataFrame([a, b])
# 使用示例
# result = compare_two_teams(df, '湖人', '凯尔特人')
# print(result)
进阶分析维度
-
对手强度修正
- 单纯看胜率会被对手强弱干扰,可按对手排名加权
- 或用 Elo/净效率值替代原始胜率
-
vs 赛季整体
- 只看最近 10 场的主客场表现,捕捉状态变化
df.sort_values('date').groupby(...).tail(10)
-
盘口/让分视角
- 主队主场让分是否被高估(赢球但输盘)
- 客队客场受让是否常赢盘
-
休息天数与背靠背
客场背靠背第二场胜率通常明显下滑
快速判断口诀
- 主队主场胜率 > 65% 且客队客场胜率 < 40% → 主队优势明显
- 两队主客场胜率差都 < 10% → 主客场因素影响小,看整体实力
- 客队客场净胜分为正 → 客队是"客场龙",需警惕
如果你告诉我具体场景(NBA / 足球 / 电竞?数据来源?),我可以给你更针对性的脚本。