Я пытаюсь скопировать границу двумерного массива:
>>> from numpy import *
>>> test = array(range(9)).reshape(3,3)
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
Есть ли простой способ скопировать границу в любом направлении?
, например:
>>>> replicate(test, idx=0, axis=0, n=3)
array([[0, 1, 2],
[0, 1, 2],
[0, 1, 2],
[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
edit :
выполнялась следующая функция:
def replicate(a, xy, se, n):
rptIdx = numpy.ones(a.shape[0 if xy == 'X' else 1], dtype=int)
rptIdx[0 if se == 'start' else -1] = n + 1
return numpy.repeat(a, rptIdx, axis=0 if xy == 'X' else 1)
с xy в ['X', 'Y'] и seв ['начало', 'конец']