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

如何通过条件判断为DataFrame添加落败球队新列

解决方法

方法一:使用numpy.where(高效简洁)

先构造示例DataFrame,再通过嵌套的numpy.where完成逻辑判断,一行代码即可新增目标列:

import pandas as pd
import numpy as np

# 构造示例数据
data = {
    'home': ['Tampa Bay', 'San Jose', 'New England', 'Colorado', 'New England'],
    'away': ['Colorado', 'Colombus', 'San Jose', 'Tampa Bay', 'KC Wizards'],
    'home_score': [3, 1, 1, 2, 2],
    'away_score': [1, 3, 5, 0, 1]
}
df = pd.DataFrame(data)

# 添加lost_team列,同时处理平局场景
df['lost_team'] = np.where(
    df['home_score'] > df['away_score'],
    df['away'],
    np.where(df['away_score'] > df['home_score'], df['home'], 'Draw')
)

方法二:使用pandas.apply(逻辑直观)

如果偏好逐行判断的直观逻辑,可以用apply方法实现:

df['lost_team'] = df.apply(
    lambda row: row['away'] if row['home_score'] > row['away_score'] 
    else row['home'] if row['away_score'] > row['home_score'] 
    else 'Draw',
    axis=1
)

最终结果

执行代码后,DataFrame会新增lost_team列,结果如下:

homeawayhome_scoreaway_scorelost_team
Tampa BayColorado31Colorado
San JoseColombus13San Jose
New EnglandSan Jose15New England
ColoradoTampa Bay20Tampa Bay
New EnglandKC Wizards21KC Wizards

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 21:45:35