尝试用 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 值,否则,等于 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())
假设使用 numpy 是一个选项,您可以执行类似 df['winner'] = np.where(df['HomeScore'] > df['AwayScore'], df['HomeTeam'], df['AwayScore'])
我是一名优秀的程序员,十分优秀!