MathGroup Archive 2008

[Date Index] [Thread Index] [Author Index]

Search the Archive

Re: Re: Replace non-numeric values in a list

  • To: mathgroup at smc.vnet.net
  • Subject: [mg88812] Re: [mg88786] Re: [mg88745] Replace non-numeric values in a list
  • From: Syd Geraghty <sydgeraghty at mac.com>
  • Date: Sat, 17 May 2008 05:30:39 -0400 (EDT)
  • References: <12929374.1210891275393.JavaMail.root@m08> <200805160934.FAA01192@smc.vnet.net>

Hi Adel et al,

There were a lot of interesting replies to this question.

I thought you might be interested in speed of some of them on a big  
list.

Bobby was fastest followed by Szabolcs.

bigriffledlist = Riffle[RandomInteger[{1, 5}, 5000000], {x, y, z}];

newlistbob =  Replace[bigriffledlist, {x_?NumericQ -> x, x_ -> 0},   
1]; // Timing   (* DrMajorBob *)

{5.81391, Null}

newlistszabolcs = Replace[bigriffledlist, x_ /; ! NumericQ[x] -> 0,   
1]; // Timing (*Szabolcs Horvat*)

{8.11852, Null}


newlistszabolcs == newlistbob // Timing

{0.090427, True}

Other notables were.

newlist = Map[(If[NumericQ[#], #, 0] &), bigriffledlist]; // Timing   
(*Bob Hanlon*)

{10.2462, Null}

newlist = Replace[bigriffledlist, _?(Not[NumericQ[#]] &) -> 0,  1]; //  
Timing   (*Bob Hanlon*)

{11.9771, Null}

Cheers ... Syd

Syd Geraghty B.Sc, M.Sc.

sydgeraghty at mac.com

My System

Mathematica 6.0.2.1 for Mac OS X x86 (64 - bit) (March 13, 2008)
MacOS X V 10.5.2
MacBook Pro 2.33 Ghz Intel Core 2 Duo  2GB RAM






On May 16, 2008, at 2:34 AM, DrMajorBob wrote:

> list = {a, 1, 2, b, 3};
> Replace[list, {x_?NumericQ -> x, x_ -> 0}, 1]
>
> {0, 1, 2, 0, 3}
>
> or
>
> Replace[list, x_ /; ! NumericQ[x] -> 0, 1]
>
> {0, 1, 2, 0, 3}
>
> Bobby
>
> On Thu, 15 May 2008 06:50:03 -0500, Adel Elsabbagh <aelsabbagh at gmail.com 
> >
> wrote:
>
>> Dear all,
>>
>> I have a list that contains numeric and non-numeric values
>> list = { a, 1, 2, b, 3};
>> How can I replace non-numeric values with zeros?
>> Thanks!
>>
>
>
>
> -- 
>
> DrMajorBob at longhorns.com
>



  • Prev by Date: Re: Problem with cell brackets and Manipulate
  • Next by Date: Re: Multiple threads using Mathlink
  • Previous by thread: Re: Replace non-numeric values in a list
  • Next by thread: Re: Replace non-numeric values in a list