迭代两个列表/列,条件添加到第三个列表/列

时间:2021-01-20 05:02:52

标签: python-3.x dataframe for-loop iteration

我正在做一项任务,我目前面临一个挑战,希望有人能够帮助我。
我有两列或列表(任何更适合的),我想迭代将结果添加到第三列。它是自 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

1 个答案:

答案 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 )