[Numpy-discussion] another little index puzzle
Henry Gomersall
heng@cantab....
Mon Jan 21 08:02:14 CST 2013
On Mon, 2013-01-21 at 08:41 -0500, Neal Becker wrote:
> I have an array to be used for indexing. It is 2d, where the rows are
> all the
> permutations of some numbers. So:
>
> array([[-2, -2, -2],
> [-2, -2, -1],
> [-2, -2, 0],
> [-2, -2, 1],
> [-2, -2, 2],
> ...
> [ 2, 1, 2],
> [ 2, 2, -2],
> [ 2, 2, -1],
> [ 2, 2, 0],
> [ 2, 2, 1],
> [ 2, 2, 2]])
>
> Here the array is 125x3
>
> I want to select all the rows of the array in which all the 3 elements
> are
> equal, so I can remove them. So for example, the 1st and last row.
You can use a convolution to pick out the changes...
conv_arr = numpy.array([[1, -1, 0], [0, 1, -1]])
equal_selector = ~numpy.any(numpy.dot(b, numpy.transpose(a)), 0)
or
unequal_selector = numpy.any(numpy.dot(b, numpy.transpose(a)), 0)
hen
More information about the NumPy-Discussion
mailing list