[Numpy-discussion] String array equality test does not broadcast
Travis Oliphant
oliphant.travis at ieee.org
Mon Feb 13 20:38:15 CST 2006
Tim Hochberg wrote:
> Travis Oliphant wrote:
>
>> Russel Howe wrote:
>>
>>> I am converting some numarray code to numpy and I noticed this
>>> behavior:
>>>
>>> >>> from numpy import *
>>> >>> sta=array(['abc', 'def', 'ghi'])
>>> >>> stb=array(['abc', 'jkl', 'ghi'])
>>> >>> sta==stb
>>> False
>>>
>>> I expected the same as this:
>>> >>> a1=array([1,2,3])
>>> >>> a2=array([1,4,3])
>>> >>> a1==a2
>>> array([True, False, True], dtype=bool)
>>>
>>> I am trying to figure out how to fix this now...
>>
>>
>>
>>
>> Equality testing on string arrays does not work (equality testing
>> uses ufuncs internally which are not supported generally for flexible
>> arrays). You must use chararray's.
>
>
> Should string arrays then perhaps raise an exception here to keep
> people out of trouble?
Probably. The equal (not_equal) rich comparison code has some left-over
stuff from Numeric which is implemented so that if the ufunc equal
(not_equal) failed False (True) was returned.
I did not special-case the string arrays in this code.
-Travis
>
> -tim
>
>
>>
>> Thus,
>>
>> sta.view(chararray) == stb.view(chararray)
>>
>> Or create chararray's from the beginning:
>>
>> sta = char.array(['abc','def','ghi'])
>> stb = char.array(['abc','jkl','ghi'])
>>
>> Char arrays are a special subclass of the ndarray that give arrays
>> all the methods of strings (and unicode) elements and allow (rich)
>> comparison operations.
>>
>> -Travis
>>
>>
>>
>>
>>
>>
>>
>>
>> -------------------------------------------------------
>> This SF.net email is sponsored by: Splunk Inc. Do you grep through
>> log files
>> for problems? Stop! Download the new AJAX search engine that makes
>> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
>> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
>> _______________________________________________
>> Numpy-discussion mailing list
>> Numpy-discussion at lists.sourceforge.net
>> https://lists.sourceforge.net/lists/listinfo/numpy-discussion
>>
>>
>
>
>
>
> -------------------------------------------------------
> This SF.net email is sponsored by: Splunk Inc. Do you grep through log
> files
> for problems? Stop! Download the new AJAX search engine that makes
> searching your log files as easy as surfing the web. DOWNLOAD SPLUNK!
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=103432&bid=230486&dat=121642
> _______________________________________________
> Numpy-discussion mailing list
> Numpy-discussion at lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/numpy-discussion
More information about the Numpy-discussion
mailing list