Como verificar se todos os valores nas colunas de uma matriz numpy são os mesmos?

Eu quero verificar se todos os valores nas colunas de uma matriz / matriz numpy são os mesmos. Eu tentei usarreduce doufunc equal, mas parece não funcionar em todos os casos:

In [55]: a = np.array([[1,1,0],[1,-1,0],[1,0,0],[1,1,0]])

In [56]: a
Out[56]: 
array([[ 1,  1,  0],
       [ 1, -1,  0],
       [ 1,  0,  0],
       [ 1,  1,  0]])

In [57]: np.equal.reduce(a)
Out[57]: array([ True, False,  True], dtype=bool)

In [58]: a = np.array([[1,1,0],[1,0,0],[1,0,0],[1,1,0]])

In [59]: a
Out[59]: 
array([[1, 1, 0],
       [1, 0, 0],
       [1, 0, 0],
       [1, 1, 0]])

In [60]: np.equal.reduce(a)
Out[60]: array([ True,  True,  True], dtype=bool)

Por que a coluna do meio no segundo caso também avalia paraTrue, enquanto deveria serFalse?

Obrigado por qualquer ajuda!

questionAnswers(2)

yourAnswerToTheQuestion