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

如何在Pandas DataFrame中依据Winner与Host_Country添加Home_Away列

实现方法

没问题,这事儿用pandas的条件判断就能轻松搞定,我给你两种常用方案,你可以根据场景选:

方案一:用numpy.where(推荐,大数据量更高效)

这是最直接的方式,一行代码就能完成列的新增和赋值:

首先确保你已经导入了必要的库:

import pandas as pd
import numpy as np

假设你已经有了目标DataFrame(这里先给个示例数据方便你测试):

# 构造示例DataFrame
data = {
    'Team1': ['Brazil', 'Germany', 'France'],
    'Team2': ['Italy', 'Argentina', 'Croatia'],
    'Winner': ['Brazil', 'Argentina', 'France'],
    'Host_Country': ['Brazil', 'Germany', 'France']
}
df = pd.DataFrame(data)

然后执行新增列的代码:

# 新增Home_Away列,根据条件赋值
df['Home_Away'] = np.where(df['Winner'] == df['Host_Country'], 'Home', 'Away')

方案二:用pandas.apply(灵活,适合复杂条件扩展)

如果之后你需要更复杂的判断逻辑,用apply会更灵活,写法如下:

# 用apply遍历每一行进行判断
df['Home_Away'] = df.apply(lambda row: 'Home' if row['Winner'] == row['Host_Country'] else 'Away', axis=1)

最终效果

执行完上面任意一种方法后,你的DataFrame就会包含原四列加上新增的Home_Away列,示例输出如下:

Team1      Team2    Winner Host_Country Home_Away
0   Brazil      Italy    Brazil       Brazil      Home
1  Germany  Argentina  Argentina      Germany      Away
2   France    Croatia    France       France      Home

提示:如果你的数据里有缺失值,记得先处理(比如用df.dropna()或者填充),避免条件判断出错。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:56:36