У меня есть функция, которая требует три аргумента:
def R0(confirm, suspect,t):
p = 0.695
si = 7.5
yt = suspect * p + confirm
lamda = math.log(yt)/t
R0 = 1 + lamda * si + p * (1 - p) * pow(lamda * si,2)
return R0
И фрейм данных с тремя столбцами:
data = {'confirm': ['41', '41', '43', '44'],
'suspect': ['0', '0', '0', '10'],
't': ['0', '1', '2', '3']
}
df = pd.DataFrame (data, columns = ['confirm','suspect', 't'])
Я хотел бы использовать каждую строку (с тремя столбцами и отсюда три значения) в качестве значений аргументов для функции. Наконец, я хотел бы l oop по строкам кадра данных и вернуть список.
Например, результаты должны выглядеть следующим образом:
result = [R0_Value1, R0_Value2, R0_Value3, ....] where
R0_Value1 = R0(41, 0, 0)
R0_Value2 = R0(41, 0, 1)
R0_Value3 = R0(43, 0, 2)
...
Я выяснил вероятно, это как-то связано с pandas.DataFrame.apply
и *
. Но я новичок в Python и не мог понять, как это сделать. Может ли кто-нибудь помочь, пожалуйста?