Как изменить переменные анонимной функции в Python? - PullRequest
0 голосов
/ 14 марта 2019

Я работаю с некоторым примером в Интернете.Я хотел запустить следующие значения с разными значениями B0 и D0 , но он назначается анонимной функцией lambda.Как я могу изменить

alpha,beta,loc,scale = stats.beta.fit(value)  

error=(scale/(1.96))**2

gpdf = lambda B0, mu, sigma2: 1/np.sqrt(2*pi*sigma2)*np.exp(-1/2*((B0-mu)**2)/sigma2)
approx_sigma2 = lambda scale: (scale/(1.96))**2
ggpdf_v  = lambda B0, D0, error: gpdf(B0, mu=0.8, sigma2=error) * (D0 < 3) + (D0 >= 3) * gpdf(B0, mu=0.5, sigma2=error)
ggpdf_r  = lambda B0, D0, error: gpdf(B0, mu=0.5, sigma2=error)
ggpdf_c  = lambda B0, D0, error: gpdf(B0, mu=0.7, sigma2=error)
ggpdf_v  = lambda B0, D0, error: gpdf(B0, mu=0.9, sigma2=error)

1 Ответ

1 голос
/ 14 марта 2019

B0 - это параметр в каждой из этих лямбд. Как и обычная функция, вы можете указать любое значение для каждого параметра при вызове. Например, gpdf(4, 8, 15) устанавливает B0 на 4, mu на 8 и sigma2 на 15.

...