It appears that you're trying to perform a stepping average across the input data set, while preserving the length of the initial input vector. To my knowledge, there is no single function to do this.
However, you can do it in Python fairly easily. For example:
def blurryAverage(inputCollection, step=1):
""" Perform a tiling average of an input data set according to its
step length, preserving the length of the initial input vector """
# Preconditions
if (len(inputCollection) % step != 0):
raise ValueError('Input data must be of divisible length')
ret = []
for i in range(len(inputCollection) / step):
tot = 0.0
for j in range(step):
tot += inputCollection[(i*step)+j]
for j in range(step):
ret.append(tot / step) # Implicit float coercion of step
return ret
>>> blurryAverage([1,2,3,4,5,6],3)
[2.0, 2.0, 2.0, 5.0, 5.0, 5.0]
>>> blurryAverage([1,2,3],4)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "<stdin>", line 3, in blurryAverage
ValueError: Input data must be of divisible length