SciPy

numpy.ma.choose

numpy.ma.choose(indices, choices, out=None, mode='raise')[source]

Use an index array to construct a new array from a set of choices.

Given an array of integers and a set of n choice arrays, this method will create a new array that merges each of the choice arrays. Where a value in a is i, the new array will have the value that choices[i] contains in the same place.

Parameters:
a : ndarray of ints

This array must contain integers in [0, n-1], where n is the number of choices.

choices : sequence of arrays

Choice arrays. The index array and all of the choices should be broadcastable to the same shape.

out : array, optional

If provided, the result will be inserted into this array. It should be of the appropriate shape and dtype.

mode : {‘raise’, ‘wrap’, ‘clip’}, optional

Specifies how out-of-bounds indices will behave.

  • ‘raise’ : raise an error
  • ‘wrap’ : wrap around
  • ‘clip’ : clip to the range
Returns:
merged_array : array

See also

choose
equivalent function

Examples

>>> choice = np.array([[1,1,1], [2,2,2], [3,3,3]])
>>> a = np.array([2, 1, 0])
>>> np.ma.choose(a, choice)
masked_array(data=[3, 2, 1],
             mask=False,
       fill_value=999999)

Previous topic

numpy.ma.arange

Next topic

numpy.ma.ediff1d