Hi, Is there a simple way to compare each element of an object array to a single object? objarray == None, for example, gives me a single "False". I couldn't find any reference to it in the documentation, but I'll admit, I wasn't quite sure where to look. David
On Mon, May 4, 2009 at 3:55 PM, David WardeFarley
Hi,
Is there a simple way to compare each element of an object array to a single object? objarray == None, for example, gives me a single "False". I couldn't find any reference to it in the documentation, but I'll admit, I wasn't quite sure where to look.
I think it might depend on some factors: In [1]: a = np.array(['a','b'], dtype=np.object) In [2]: a=='a' Out[2]: array([ True, False], dtype=bool) In [3]: a==None Out[3]: False In [4]: a == [] Out[4]: False In [5]: a == '' Out[5]: array([False, False], dtype=bool) In [6]: a == dict() Out[6]: array([False, False], dtype=bool) In [7]: numpy.__version__ Out[7]: '1.4.0.dev6885' In [8]: a == 5 Out[8]: array([False, False], dtype=bool) In [9]: a == 5. Out[9]: array([False, False], dtype=bool) But based on these results, I have no idea what the factors might be. I know this works with datetime objects, but I'm really not sure why None and the empty list don't work. Ryan  Ryan May Graduate Research Assistant School of Meteorology University of Oklahoma Sent from Norman, Oklahoma, United States
On Mon, May 4, 2009 at 2:02 PM, Ryan May
On Mon, May 4, 2009 at 3:55 PM, David WardeFarley
wrote: Hi,
Is there a simple way to compare each element of an object array to a single object? objarray == None, for example, gives me a single "False". I couldn't find any reference to it in the documentation, but I'll admit, I wasn't quite sure where to look.
I think it might depend on some factors:
In [1]: a = np.array(['a','b'], dtype=np.object)
In [2]: a=='a' Out[2]: array([ True, False], dtype=bool)
In [3]: a==None Out[3]: False
In [4]: a == [] Out[4]: False
In [5]: a == '' Out[5]: array([False, False], dtype=bool)
In [6]: a == dict() Out[6]: array([False, False], dtype=bool)
In [7]: numpy.__version__ Out[7]: '1.4.0.dev6885'
In [8]: a == 5 Out[8]: array([False, False], dtype=bool)
In [9]: a == 5. Out[9]: array([False, False], dtype=bool)
But based on these results, I have no idea what the factors might be. I know this works with datetime objects, but I'm really not sure why None and the empty list don't work.
Doing a little poking around, I found this:
a = np.array([True, False]) a == None False np.equal(a, None) array([False, False], dtype=bool)
participants (3)

David WardeFarley

Keith Goodman

Ryan May