[SciPy-User] extracting row from 2D array
josef.pktd at gmail.com
josef.pktd at gmail.com
Wed Sep 29 13:09:48 EDT 2010
On Wed, Sep 29, 2010 at 1:05 PM, Dan Lussier <dtlussier at gmail.com> wrote:
> I want to extract a row from an 2D array given a criteria that is
> based on each entry in that row.
>
> By way of an example:
>
> xyz = np.array([[ 159.278 , 14.7733 , 11.6785 ],
> [ 158.251 , 1.11666, 4.76546],
> [ 21.1418 , 84.8988 , 56.5169 ],
> [ 154.149 , 4.9442 , 131.672 ],
> [ 31.578 , 11.1078 , 8.47435]])
>
> magnitude_sq = xyz*xyz.sum(axis=1)
>
> I want to pull out the rows that satisfy a condition per row like
> magnitude_sq < 16. I've found and tried np.extract, np.take and
> np.compress. While np.extract fails to do what I want given that it
> effectively wants to treat the 2D array was a 1D vector, I moved onto
> np.compress and can get what I want via:
>
> np.compress( magnitude_sq < 16 , xyz, axis=0)
with indexing
xyz[magnitude_sq < 16, :]
Josef
>
> What I'm trying to understand is the relationship between these
> different functions (i.e. which one(s) are more fundamental) as the
> documentation doesn't really identify how they might relate to each
> other.
>
> I have also posted the question to
> http://ask.scipy.org/en/topic/50-extracting-entries-from-2d-numpy-array
> to give that system at try.
> _______________________________________________
> SciPy-User mailing list
> SciPy-User at scipy.org
> http://mail.scipy.org/mailman/listinfo/scipy-user
>
More information about the SciPy-User
mailing list