如何编写带有返回整数值的Multiple-If-Else


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((、.any((或.all((。如何使用Multiple if else条件返回整数值

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

这是你的答案

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

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

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.假人(.

您只需要清除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

最新更新