[Numpy-discussion] finding nonzero elements in list

Gökhan Sever gokhansever at gmail.com
Mon Oct 12 10:44:04 EDT 2009


On Mon, Oct 12, 2009 at 9:39 AM, Gökhan Sever <gokhansever at gmail.com> wrote:

>
>
> On Mon, Oct 12, 2009 at 9:18 AM, per freem <perfreem at gmail.com> wrote:
>
>> hi all,
>>
>> i'm trying to find nonzero elements in an array, as follows:
>>
>> a = array([[1, 0],
>>       [1, 1],
>>       [1, 1],
>>       [0, 1]])
>>
>> i want to find all elements that are [1,1]. i tried: nonzero(a ==
>> [1,0]) but i cannot interpret the output. the output i get is:
>> (array([0, 0, 1, 2]), array([0, 1, 0, 0]))
>>
>> i simply want to find the indices of the elements that equal [1,0].
>> how can i do this? thanks.
>>
>
>
> You might simply apply a mask to your array satisfying the condition:
>
> I[1]: a = array([[1, 0],
>    ...:       [1, 1],
>    ...:       [1, 1],
>    ...:       [0, 1]])
>
> I[2]: a == [1,0]
> O[2]:
> array([[ True,  True],
>        [ True, False],
>        [ True, False],
>        [False, False]], dtype=bool)
>
> I[3]: a[a==[1,0]]
> O[3]: array([1, 0, 1, 1])
>


Addendum;

This might work better since you are looking non-zero elements

I[19]: a[a==[1,0]] & a[a==[0,1]]
O[19]: array([1, 0, 0, 1])



>
>
>> _______________________________________________
>> NumPy-Discussion mailing list
>> NumPy-Discussion at scipy.org
>> http://mail.scipy.org/mailman/listinfo/numpy-discussion
>>
>
>
>
> --
> Gökhan
>



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


More information about the NumPy-Discussion mailing list