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 Warde-Farley <dwf@cs.toronto.edu>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. 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 <rmay31@gmail.com> wrote:
On Mon, May 4, 2009 at 3:55 PM, David Warde-Farley <dwf@cs.toronto.edu> 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 Warde-Farley
-
Keith Goodman
-
Ryan May