如何使用返回整数值编写多个If-Else

时间:2018-11-22 07:08:22

标签: python-3.x

def score():
    edu = df.dummy
    if edu == 1:
        score= 10
    elif edu == 2:
        score= 30
    elif edu == 3:
        score= 80
    elif edu == 4:
        score= 100
    elif edu == 5:
        score= 125
    elif edu == 6:
        score= 150
    elif edu == 7:
        score= 200
    else: return score
  

发生的错误:系列的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。   如何使用Multiple if else条件返回整数值

4 个答案:

答案 0 :(得分:0)

首先,如果edu大于7,则分数不分配任何值。所以你不能返回分数。

而且,您可以尝试df = pd.get_dummies(df, columns=['type'])

答案 1 :(得分:0)

您只需要清除else语句就可以了

def scores():
    score=0
    edu = df.dummy

    if edu == 1:
        score= 10
    elif edu == 2:
        score= 30
    elif edu == 3:
        score= 80
    elif edu == 4:
        score= 100
    elif edu == 5:
        score= 125
    elif edu == 6:
        score= 150
    elif edu == 7:
        score= 200
    return score

答案 2 :(得分:0)

def score(edu):
    if edu == 1:
        score= 10
    elif edu == 2:
        score= 30
    elif edu == 3:
        score= 80
    elif edu == 4:
        score= 100
    elif edu == 5:
        score= 125
    elif edu == 6:
        score= 150
    elif edu == 7:
        score= 200
    else:
        score=0
return score

现在,在调用函数时,将数据帧传递为 得分(df.dummy)。

答案 3 :(得分:0)

def edu_score():
    edu = df.dummy
    edu_score=[]
    for i in edu:
        if(i == 1):
            score = 10
        elif(i == 2):
            score = 30
        elif(i == 3):
            score = 80
        elif(i == 4):
            score = 100
        elif(i == 5):
            score = 125
        elif(i == 6):
            score = 150
        elif(i == 7):
            score = 200
        edu_score.append(score)
    return edu_score

这是你的答案

相关问题