我有一个numpy多维数组,其中包含零和一的序列。我想将任何序列101替换为零。例如:
a = np.array([[0,0,1,0,1],[1,0,1,1,1], [1,1,1,1,1], [1,1,1,0,1]])
应成为:
a = np.array([[0,0,1,1,1],[1,1,1,1,1], [1,1,1,1,1], [1,1,1,1,1]])
答案 0 :(得分:2)
我们可以使用2D convolution
-
from scipy.signal import convolve2d
k = np.array([[1,0,1]]) # kernel for convolution
a[(convolve2d(a,k,'same')==2) & (a==0)] = 1