Вы можете использовать DataFrame.apply , а затем использовать pandas.concat , чтобы объединить их:
df=pd.DataFrame({'Venda':[100,150,200,205,210,250,251]})
print(df)
def check(val):
if (val<200):
return [0,'Não']
elif ((val>=200) and (val<250)):
return [0.5*val,'Sim']
else:
return [0.7*val,'Sim']
df2=pd.DataFrame(list(df.Venda.apply(check)), columns=['Comissão','Direito a Bonus'])
df=pd.concat([df,df2], axis=1)
print(df)
Выход:
Venda
0 100
1 150
2 200
3 205
4 210
5 250
6 251
Venda Comissão Direito a Bonus
0 100 0.0 Não
1 150 0.0 Não
2 200 100.0 Sim
3 205 102.5 Sim
4 210 105.0 Sim
5 250 175.0 Sim
6 251 175.7 Sim