我正在做一项任务,我目前面临一个挑战,希望有人能够帮助我。
我有两列或列表(任何更适合的),我想迭代将结果添加到第三列。它是自 2016 年以来的英超联赛数据集 raw db,它将有条件设置赢、输和平局,并将获得的分数添加到第 3 列/列表中。
谢谢
def pointsF(df):
x, y = list(df['score1']), list(df['score2'])
#x, y = iter(xl), iter(yl)
g = 0
r = list()
#for (i, z) in itertools.zip_longest(x, y):
for x, y in zip(x, y):
if x == y:
g = g +1
r.append(g)
next
elif x > y:
g = g+3
r.append(g)
next
else:
g = g
r.append(g)
next
return r
答案 0 :(得分:0)
如果有人遇到同样的情况,这里是我发现最好的解决方案!
cond1 = [ (dfPL['GoalsHome'] > dfPL['GoalsAway']), (dfPL['GoalsHome'] < dfPL['GoalsAway']), (dfPL['GoalsHome'] == dfPL['GoalsAway'])]
#choices result and points
cc = ['w','l','d']
ccp = [3,0,1]
dfPL['HomeResult'] = np.select(cond1, cc, default=0 )