Это относится к весам [1,2,1] и требует двух шагов, поэтому это не лучшее решение, но оно довольно быстрое:
я бегу / катаюсь со взвешиванием весов, я, например, сделать что-то вроде этого:
data = np.random.random(100) # Example data...
weights = np.array([1, 2, 1])
data_m = np.convolve(data, weights/float(np.sum(weights)), "same")
И затем замените data_m [0] и data_m [-1], например, Нанс, в зависимости от применения.
Нечто подобное можно сделать с помощью xarray. Что я делаю (в этом случае)
xr.DataArray(data).rolling(dim_0=3, center=True).mean(dim="dim_0")
Но это соответствует весам
weights = np.array([1, 1, 1])
в клочковатом примере. Как бы я применил другие веса при использовании xarray?