Есть ли способ распространить значения массива numpy? Как противоположность нарезке с размером шага> 1:
>>> a = np.array([[1, 0, 2], [0, 0, 0], [3, 0, 4]])
>>> a
array([[1, 0, 2],
[0, 0, 0],
[3, 0, 4]])
>>> b = a[::2, ::2]
>>> b
array([[1, 2],
[3, 4]])
В этом примере есть ли элегантный способ получить a
из b
?
Вы можете сначала создать массив нулей с правильной формой, а затем назначить размер шага:
import numpy as np
b = np.array([[1, 2], [3, 4]])
a = np.zeros((b.shape[0] * 2 - 1, b.shape[1] * 2 - 1), dtype='int')
a[::2, ::2] = b
a
# array([[1, 0, 2],
# [0, 0, 0],
# [3, 0, 4]])