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
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
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])
>
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
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
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?
>
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
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