[Numpy-discussion] Numpy Array of dtype=object with strings and floats question
Tue Nov 10 12:32:15 CST 2009
On Tue, Nov 10, 2009 at 12:09 PM, Darryl Wallace
> Hello again,
> The best way so far that's come to my attention is to use:
> The problem with this is that it's looking for a specific instance of an
> object. So if the user had some elements of their array that were, for
> example, "randomString" , then it would not be picked up
> from numpy import *
> mixedArray=array([1,2, '', 3, 4, 'randomString'], dtype=object)
> mixedArrayMask = ma.masked_object(mixedArray, 'randomString').mask
> then mixedArrayMask will yield:
> array([ False, False, False, False, False, True])
> Can anyone help me so that all strings are found in the array without having
> to explicitly loop through them in Python?
Why not stick to a same Missing-Value-Code or for all the non-valid
data? I don't know how MA module would handle mixed MVCs in a same
array without modifying the existing code. Otherwise looping over the
array an masking the str instances as NaN would be my alternative
> On Fri, Nov 6, 2009 at 3:56 PM, Darryl Wallace <email@example.com>
>> What I'm doing is importing some data from excel and sometimes there are
>> strings in the worksheet. Often times a user will use an empty cell or a
>> string to represent data that is missing.
>> from numpy import *
>> mixedArray=array([1, 2, '', 3, 4, 'String'], dtype=object)
>> Two questions:
>> 1) Is there a quick way to find the elements in the array that are the
>> strings without iterating over each element in the array?
>> 2) Could I quickly turn it into a masked array of type float where all
>> string elements are set as missing points?
>> I've been struggling with this for a while and can't come across a method
>> that will all me to do it without iterating over each element.
>> Any help or pointers in the right direction would be greatly appreciated.
> Darryl Wallace: Project Leader
> ProSensus Inc.
> McMaster Innovation Park
> 175 Longwood Road South, Suite 301
> Hamilton, Ontario, L8P 0A1
> Canada (GMT -05:00)
> Tel: 1-905-528-9136
> Fax: 1-905-546-1372
> Web site: http://www.prosensus.ca/
> NumPy-Discussion mailing list
More information about the NumPy-Discussion