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条件返回整数值
答案 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
这是你的答案