如何基于序列替换Numpy Ndarrays中的值

时间:2019-02-18 20:12:22

标签: python numpy numpy-ndarray

我有一个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]])

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