我是python的新手,我正在寻找一种方法来比较上面和下面的数组,这样我就可以让计算机根据它们做出决定,然后更新数组。如果这是一个不好的方法,我愿意接受不同的方法。
import numpy as np
import matplotlib.pylab as plt
return 1/(1+np.exp(-x))
#the array
X = np.array([[5,5,5,5,5,5,5,5,5,5,5,5],
[5,4,1,0,1,1,1,0,1,1,1,5],
[5,0,1,0,1,0,1,0,1,0,1,5],
[5,0,1,0,1,0,1,0,1,0,1,5],
[5,0,1,0,1,0,1,0,1,0,1,5],
[5,0,1,0,1,0,1,0,1,0,1,5],
[5,0,1,2,1,2,1,2,1,2,1,5],
[5,0,1,0,1,0,1,0,1,0,1,5],
[5,0,1,0,1,0,1,0,1,0,1,5],
[5,0,1,0,1,0,1,0,1,0,1,5],
[5,0,1,0,1,0,1,0,1,0,3,5],
[5,5,5,5,5,5,5,5,5,5,5,5]])
print(X)
此输出
[[5 5 5 5 5 5 5 5 5 5 5 5]
[5 4 1 0 1 1 1 0 1 1 1 5]
[5 0 1 0 1 0 1 0 1 0 1 5]
[5 0 1 0 1 0 1 0 1 0 1 5]
[5 0 1 0 1 0 1 0 1 0 1 5]
[5 0 1 0 1 0 1 0 1 0 1 5]
[5 0 1 2 1 2 1 2 1 2 1 5]
[5 0 1 0 1 0 1 0 1 0 1 5]
[5 0 1 0 1 0 1 0 1 0 1 5]
[5 0 1 0 1 0 1 0 1 0 1 5]
[5 0 1 0 1 0 1 0 1 0 3 5]
[5 5 5 5 5 5 5 5 5 5 5 5]]
例如,将4与上述5和0以下进行比较,以便根据相邻数字做出决定。我还需要比较左右两个,所以重新格式化数组90度是不行的。
答案 0 :(得分:0)
执行此类操作的最佳方法是使用scipy.signal.convolve2d:
您可以使用所需的数字模式制作第二个矩阵,例如
[[0,-1,0],[-1,1,-1],[0,-1,0]]
这将返回一个新的矩阵,其中心减去周围环境的总和。
答案 1 :(得分:0)
来源: https://docs.scipy.org/doc/numpy/reference/generated/numpy.array_equal.html
import numpy as np
p = np.array_equal([1, 2], [1, 2])
print(p) # True
c = np.array_equal([1, 2], [1, 2, 3])
print(c) # False