On Di, 2014-02-18 at 09:05 -0700, Charles R Harris wrote: > Hi All, > > > There is an old ticket, #1499, that suggest adding a segment_axis > function. > > def segment_axis(a, length, overlap=0, axis=None, end='cut', endvalue=0): > """Generate a new array that chops the given array along the given axis > into overlapping frames. > > Parameters > ---------- > a : array-like > The array to segment > length : int > The length of each frame > overlap : int, optional > The number of array elements by which the frames should overlap > axis : int, optional > The axis to operate on; if None, act on the flattened array > end : {'cut', 'wrap', 'end'}, optional > What to do with the last frame, if the array is not evenly > divisible into pieces. > > - 'cut' Simply discard the extra values > - 'wrap' Copy values from the beginning of the array > - 'pad' Pad with a constant value > > endvalue : object > The value to use for end='pad' > > > Examples > -------- > >>> segment_axis(arange(10), 4, 2) > array([[0, 1, 2, 3], > [2, 3, 4, 5], > [4, 5, 6, 7], > [6, 7, 8, 9]]) > > > Is there and interest in having this function available? >
Just to note, there have been similar proposals with a rolling_window function. It could be made ND aware, too (though maybe this one is also). > > Chuck > > _______________________________________________ > NumPy-Discussion mailing list > NumPy-Discussion@scipy.org > http://mail.scipy.org/mailman/listinfo/numpy-discussion _______________________________________________ NumPy-Discussion mailing list NumPy-Discussion@scipy.org http://mail.scipy.org/mailman/listinfo/numpy-discussion