[Numpy-discussion] Re place array values

Gökhan Sever gokhansever at gmail.com
Wed Mar 14 19:51:04 EDT 2012


Hi,

You can try masked_array module:

x = np.array([[0,1,2],[3,4,5],[6,7,8]])

I3 np.ma.masked_where(x<1, x)
O3
masked_array(data =
 [[-- 1 2]
 [3 4 5]
 [6 7 8]],
             mask =
 [[ True False False]
 [False False False]
 [False False False]],
       fill_value = 999999)

There might be a smarter solution than this, since ma tends to get slower
when you deal with big data arrays. But you retain the 2D information
instead of getting a flattened np.array.


On Wed, Mar 14, 2012 at 5:35 PM, jonasr <jonas.ruebsam at web.de> wrote:

>
> Hello,
>
> my problem is that i want to remove some small numbers of an 2d array,
> for example if i want to sort out all numbers smaller then 1 of an array i
> get
>
> x=[[0,1,2],[3,4,5][6,7,8]]
>
> c=x>=1
>
> In [213]: c
> Out[213]:
> array([[False,  True,  True],
>       [ True,  True,  True],
>       [ True,  True,  True]], dtype=bool)
>
> In [214]: x[c]
> Out[214]: array([1, 2, 3, 4, 5, 6, 7, 8])
>
> the problem ist that i now have a 1d array, is there any possibility to
> keep the 2d structure ?
>
> greets jonas
> --
> View this message in context:
> http://old.nabble.com/Replace-array-values-tp33506446p33506446.html
> Sent from the Numpy-discussion mailing list archive at Nabble.com.
>
> _______________________________________________
> NumPy-Discussion mailing list
> NumPy-Discussion at scipy.org
> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>



-- 
Gökhan
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/numpy-discussion/attachments/20120314/967f0015/attachment.html>


More information about the NumPy-Discussion mailing list