Вы можете использовать встроенные оконные функции:
scipy.signal.windows.gaussian(5,1) * 6
>>> array([0.8120117 , 3.63918396, 6. , 3.63918396, 0.8120117 ])
Дает почти такой же результат вашей функции:
build_gaussian_filter(5)
>>> [1 4 6 4 1]
Хотя это кажется случайностью, как с При увеличении размеров окна ваши результаты расходятся с ядром, возвращаемым Scipy. Вы также можете посмотреть на обобщенное гауссовское окно в scipy.