numpy.ma.choose#

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

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

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

Parameters:
indicesndarray of ints

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

choicessequence of arrays

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

outarray, 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_arrayarray

See also

choose

equivalent function

Examples

>>> import numpy as np
>>> 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)