Re: [Numpy-discussion] mean of two or more arrays while ignoring a specific value

2009-07-15 Thread Zachary Pincus
Might want to look into masked arrays: numpy.ma.array. a = numpy.array([1,5,4,99]) b = numpy.array([3,7,2,8]) arr = numpy.array([a, b]) masked = numpy.ma.array(arr, mask = arr==99) masked.mean(axis=0) masked_array(data = [2.0 6.0 3.0 8.0], mask = [False False False False], fi

[Numpy-discussion] mean of two or more arrays while ignoring a specific value

2009-07-15 Thread Greg Fiske
Dear list, I'm learning to work with numpy arrays. Can somebody explain how to get the average of two separate arrays while ignoring a user defined value in one array? For example: >>>a = numpy.array([1,5,4,99]) >>>b = numpy.array([3,7,2,8]) Ignoring the value 99, the result should b

Re: [Numpy-discussion] mean of two or more arrays while ignoring a specific value

2009-07-14 Thread David Warde-Farley
On 14-Jul-09, at 3:33 PM, Greg Fiske wrote: > Dear list, > > > > I'm learning to work with numpy arrays. Can somebody explain how to > get the > average of two separate arrays while ignoring a user defined value > in one > array? > > > > For example: > a = numpy.array([1,5,4,99]) >

Re: [Numpy-discussion] mean of two or more arrays while ignoring a specific value

2009-07-14 Thread Robert Kern
On Tue, Jul 14, 2009 at 14:42, Chris Colbert wrote: > for your particular case: > a = np.array([1, 5, 4, 99], 'f') b = np.array([3, 7, 2, 8], 'f') c = b.copy() d = a!=99 c[d] = (a[d] + b[d])/2. c > array([ 2.,  6.,  3.,  8.], dtype=float32) A more general answer

Re: [Numpy-discussion] mean of two or more arrays while ignoring a specific value

2009-07-14 Thread Angus McMorland
2009/7/14 Greg Fiske : > Dear list, > > I’m learning to work with numpy arrays.  Can somebody explain how to get the > average of two separate arrays while ignoring a user defined value in one > array? > > For example: > a = numpy.array([1,5,4,99]) b = numpy.array([3,7,2,8]) > > Ignoring th

Re: [Numpy-discussion] mean of two or more arrays while ignoring a specific value

2009-07-14 Thread Chris Colbert
for your particular case: >>> a = np.array([1, 5, 4, 99], 'f') >>> b = np.array([3, 7, 2, 8], 'f') >>> c = b.copy() >>> d = a!=99 >>> c[d] = (a[d] + b[d])/2. >>> c array([ 2., 6., 3., 8.], dtype=float32) >>> On Tue, Jul 14, 2009 at 3:36 PM, Chris Colbert wrote: > index with a boolean array? >

Re: [Numpy-discussion] mean of two or more arrays while ignoring a specific value

2009-07-14 Thread Chris Colbert
index with a boolean array? >>> import numpy as np >>> a = np.array([3, 3, 3, 4, 4, 4]) >>> a array([3, 3, 3, 4, 4, 4]) >>> np.average(a) 3.5 >>> b = a != 3 >>> b array([False, False, False, True, True, True], dtype=bool) >>> np.average(a[b]) 4.0 >>> On Tue, Jul 14, 2009 at 3:33 PM, Greg Fisk

[Numpy-discussion] mean of two or more arrays while ignoring a specific value

2009-07-14 Thread Greg Fiske
Dear list, I'm learning to work with numpy arrays. Can somebody explain how to get the average of two separate arrays while ignoring a user defined value in one array? For example: >>>a = numpy.array([1,5,4,99]) >>>b = numpy.array([3,7,2,8]) Ignoring the value 99, the result should b