[Numpy-discussion] Multiplicity of an entry

Michael Droettboom mdroe@stsci....
Tue Oct 27 14:31:39 CDT 2009

Christopher Barker wrote:
> Nadav Horesh wrote:
>> np.equal(a,a).sum(0)
>> but, for unknown reason, np.equal operates only on "normal" arrays.
> true:
> In [25]: a
> Out[25]:
> array(['abc', 'def', 'abc', 'ghij'],
>        dtype='|S4')
> In [27]: np.equal(a,a)
> Out[27]: NotImplemented
> however:
> In [28]: a == a
> Out[28]: array([ True,  True,  True,  True], dtype=bool)
> don't they use the same code? or is "==" reverting to plain old generic 
> python sequence comparison, which would partly explain why it is so slow.
It looks as if "a == a" (that is array_richcompare) is triggering 
special case code for strings, so it is fast.  However, IMHO np.equal 
should be made to work as well.  Can you file a bug and assign it to me 
(I'm dealing with a number of other string-related things, so I might as 
well take this too). 


Michael Droettboom
Science Software Branch
Operations and Engineering Division
Space Telescope Science Institute
Operated by AURA for NASA

More information about the NumPy-Discussion mailing list