Я хочу вычислить среднее значение трехмерного массива вдоль двух осей и вычесть это среднее значение из массива. В Matlab я использую функцию repmat
, чтобы добиться этого следующим образом
% A is an array of size 100x50x100
mean_A = mean(mean(A,3),1); % mean_A is 1D of length 50
Am = repmat(mean_A,[100,1,100]) % Am is 3D 100x50x100
flc_A = A - Am % flc_A is 3D 100x50x100
Теперь я пытаюсь сделать то же самое с python.
mean_A = numpy.mean(numpy.mean(A,axis=2),axis=0);
дает мне 1D массив. Однако я не могу найти способ скопировать это, чтобы сформировать трехмерный массив, используя numpy.tile()
. Я что-то упустил или есть другой способ сделать это в python?