( , ) , :
b = np.sum(x[:, None, :] == x, axis=2)
b
array([[2, 0, 0, 2, 1, 0, 0, 0],
[0, 2, 0, 0, 0, 0, 1, 2],
[0, 0, 2, 0, 0, 2, 1, 0],
[2, 0, 0, 2, 1, 0, 0, 0],
[1, 0, 0, 1, 2, 0, 0, 0],
[0, 0, 2, 0, 0, 2, 1, 0],
[0, 1, 1, 0, 0, 1, 2, 1],
[0, 2, 0, 0, 0, 0, 1, 2]])
, . , :
np.fill_diagonal(b, 0)
b
array([[0, 0, 0, 2, 1, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 2],
[0, 0, 0, 0, 0, 2, 1, 0],
[2, 0, 0, 0, 1, 0, 0, 0],
[1, 0, 0, 1, 0, 0, 0, 0],
[0, 0, 2, 0, 0, 0, 1, 0],
[0, 1, 1, 0, 0, 1, 0, 1],
[0, 2, 0, 0, 0, 0, 1, 0]])
, :
c = np.max(b, axis=0)
c
array([2, 2, 2, 2, 1, 2, 1, 2])
, !=2 :
x[np.where([c != 2])[1]]
array([[4, 5],
[1, 4]])