Я пытаюсь реализовать следующий алгоритм для моего DataFrame:
if Tenure==0:
s=1
else:
s = (previous value from "s") * (1-previous value from "h")
Столбец s
вычисляется как функция h
с начальным значением 1.
Входные данныеФрейм:
popt stopt popcum h s
Tenure
0.0 2383 508.0 5067890 0.000100 1
1.0 18358 17310.0 5065507 0.003417 0
2.0 16742 15103.0 5047149 0.002992 0
3.0 13298 11361.0 5030407 0.002258 0
4.0 9566 9522.0 5017109 0.001898 0
result3["s"]=result3.apply(funkcyjka)
Чтобы пропустить первое условие, я только что отредактировал первый ряд, потому что это единственный с Tenure = 0
Вот что я придумал:
def funkcyjka(res):
x=0
lol=(res["s"].iloc[x])*(1-(res["h"].iloc[x]))
x+=1
return lol
Но он не делает то, что я ожидаю. Как я могу реализовать эту функцию в моем Dataframe?