You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何从给定数据集找出拥有最多连胜场次的球队?

找出拥有最长连胜场次的球队

1. 数据预处理

首先清理数据中的空格问题,并提取每场比赛的获胜球队:

import pandas as pd

# 原始数据集
df_dict = {
    "game": ["1201", "1202", "1203", "1204", "1205"],
    "home team": ["B", "C", "D", "E", "D"],
    "away team": ["A", "B", "C ", "D", "A"],
    "winner": ["home", "away", "home ", "away", "away"],
}

# 转为DataFrame并清理字段空格
df = pd.DataFrame(df_dict)
df["away team"] = df["away team"].str.strip()
df["winner"] = df["winner"].str.strip()

# 确定每场的获胜球队
df["winning_team"] = df.apply(
    lambda row: row["home team"] if row["winner"] == "home" else row["away team"],
    axis=1
)

2. 计算连胜场次

通过标记连胜中断点,分组统计各段连胜的长度:

# 标记连胜的起始点(当前场获胜球队与上一场不同则为新连胜)
df["streak_start"] = df["winning_team"] != df["winning_team"].shift(1)
# 为每个连胜阶段分配唯一ID
df["streak_id"] = df["streak_start"].cumsum()
# 统计每个连胜阶段的长度
streak_details = df.groupby(["streak_id", "winning_team"]).size().reset_index(name="streak_length")

3. 筛选最长连胜的球队

找到最长连胜的数值,再筛选出达到该长度的球队:

# 获取最长连胜的长度
max_streak = streak_details["streak_length"].max()
# 筛选出拥有最长连胜的球队(去重避免重复显示)
top_teams = streak_details[streak_details["streak_length"] == max_streak][["winning_team", "streak_length"]].drop_duplicates()
# 重命名列以匹配期望格式
top_teams.columns = ["team", "number of wins"]

# 输出结果
print(top_teams.to_markdown(index=False))

最终输出结果

teamnumber of wins
B2
D2

内容的提问来源于stack exchange,提问作者CBX_DO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.19 13:12:10