【发布时间】:2019-11-30 23:05:26
【问题描述】:
尝试在 Python 中的 Excel 中执行我可以在 5 秒内完成的事情,但我发现自己非常沮丧。
我的数据如下所示:
HomeTeam AwayTeam HomeScore AwayScore TotalScore
0 OAK LAC 26 24 50
1 CHI DET 20 13 33
2 CIN BAL 13 49 62
3 CLE BUF 19 16 35
4 NO ATL 9 26 35
我想在名为“WINNER”的数据框中创建一个新列。如果 HomeScore > AwayScore,我希望新列 WINNER 等于 HomeTeam 值,ELSE 等于 AwayTeam 值。例如,WINNER 应该 = OAK 在第 0 行,CHI 在第 1 行。
这是我迄今为止所尝试的,但这并没有给我上面需要的结果。
我知道这很简单!请帮忙
#new df
df1 = df[['HomeTeam','AwayTeam','HomeScore','AwayScore','TotalScore']]
df1['winner'] = lambda x : df['HomeTeam'] if (df['HomeScore'] > df['AwayScore']) else df['AwayTeam']
print(df1.head())
【问题讨论】:
-
查熊猫申请
-
感谢您的回答,但查找应用并没有让我走得太远。我应该在其他任何特定的地方寻找这样的例子吗?
标签: python pandas dataframe if-statement lambda