[Numpy-discussion] should numpy.equal raise an exception instead of returning NotImplemented?

Ernest Adrogué eadrogue@gmx....
Tue Jan 26 07:28:15 CST 2010


Hi,

Do you think it is sensible for np.equal to return a NotImplemented
object when is given an array of variable length dtype?
Consider this code:

x = np.array(['xyz','zyx'])
np.where(np.equal(x, 'zyx'), [0,0], [1,1])

the last line returns array([0, 0]) which is wrong. Compare with

np.where(x == 'zyx', [0,0], [1,1])

I think in this case raising an exception would be better, because
of the way np.equal is often used as an argument to another function.
It's not easy to see where the bug is or even that there is a bug
in your code.

Cheers.

Ernest


More information about the NumPy-Discussion mailing list