[SciPy-dev] extract and where
eric jones
eric at enthought.com
Sun Sep 21 03:37:46 CDT 2003
extract has the following signature:
>>> help(extract)
Help on function extract in module __main__:
extract(arr, mask)
1D array of those elements of ravel(arr) where ravel(mask) is true.
This is backward from most of the Numeric routines where the condition
(mask) array comes first (where, compress, and maybe others). Any
objections to reversing these?
Also, the one argument form of where() included in numarray would be
useful to have in SciPy while we are still relying on Numeric. Should
we wait until after 0.2, or go ahead and add this?
From the numarray docs:
Starting with numarray-0.6, where supports a one parameter form that is
equivalent to nonzero but reads better:
>>> where(arange(10) % 2)
(array([1, 3, 5, 7, 9]),) # indices where expression is true
< the following would have to use take() instead of indexing while we
are still relying on Numeric>
Like nonzero, the one parameter form of where can be used to do array
indexing:
>>> a = arange(10,20)
>>> a[ where( a % 2 ) ]
array([11, 13, 15, 17, 19])
Note that for array indices which are boolean arrays, using where is not
necessary but is still OK:
>>> a[(a % 2) != 0]
array([11, 13, 15, 17, 19])
>>> a[where((a%2) != 0)]
array([11, 13, 15, 17, 19])
eric
More information about the Scipy-dev
mailing list