Функция quad
принимает функцию в качестве первого входа, но вы предоставляете данные из гауссиана, оцененные в x:
import numpy as np
import scipy
mu = 5
sigma = 30
lowerbound = 0.5
upperbound = np.inf
# generate Gaussian function
def gauss(x):
return scipy.stats.norm.pdf(x, mu, sigma)
# integrate between bounds
integral = scipy.integrate.quad(gauss, lowerbound, upperbound)
print(integral)
(0.5596176923702426, 5.087725389583706e-10)
Если вы хотите интегрировать дискретные данные, scipy.integrate.quad
это не инструмент для работы.Вместо этого используйте scipy.integrate.simps
.