def assignGroup(row):
if row["E114"]=="Very good":
return 1
elif row['E114']=="Fairly good":
return 2
elif row['E114'] =="Bad":
return 3
elif row['E114'] =="Very bad":
return 4
else:
return np.nan
outcome["leader"]=outcome.apply(assignGroup,axis=1)