gpt4 book ai didi

python - 为现有值中的新值列创建循环

转载 作者:行者123 更新时间:2023-12-04 08:21:52 25 4
gpt4 key购买 nike

这个问题在这里已经有了答案:





Numpy Where with more than 2 conditions

(2 个回答)


8 个月前关闭。




我希望在数据框中创建一个新列,指示比赛是以主场胜利、客场胜利还是平局结束。
这是我目前使用的代码:

for value in df2:
if value in df2['home_goals'] > df2['away_goals']:
df2['result'] = 'H'
elif value in df2['home_goals'] < df2['away_goals']:
df2['result'] = 'A'
else:
df2['result'] = 'D'
这是输出。
              Home Team       Away Team home_goals away_goals result
Season
2018-2019 Man Utd Leicester 2 1 D
2018-2019 Newcastle Spurs 1 2 D
2018-2019 Bournemouth Cardiff 2 0 D
2018-2019 Fulham Crystal Palace 0 2 D
2018-2019 Huddersfield Chelsea 0 3 D
正如您所看到的,而是显示主队或客队在这种情况下获胜,它将所有结果显示为平局。
有人可以请教我哪里出错了吗?
谢谢

最佳答案

一种pythonic的方式可能是,

import numpy as np

df2['result'] = np.where(df2['home_goals'] > df2['away_goals'], 'H',
np.where(df2['home_goals'] < df2['away_goals'], 'A', 'D'))
使用链式 np.where()命令。

关于python - 为现有值中的新值列创建循环,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65457544/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com