Skip to main content
`Ctrl`+`K`

# numpy.select

numpy.select(condlist, choicelist, default=0)

  Return an array drawn from elements in choicelist, depending on conditions.

  Parameters:
    condlist list of bool ndarrays

      The list of conditions which determine from which array in choicelist the output elements are taken. When multiple conditions are satisfied, the first one encountered in condlist is used.

    choicelist list of ndarrays

      The list of arrays from which the output elements are taken. It has to be of the same length as condlist.

    default array_like, optional

      The element inserted in output when all conditions evaluate to False.

  Returns:
    output ndarray

      The output at position m is the m-th element of the array in choicelist where the m-th element of the corresponding array in condlist is True.

  See also

  `where`

    Return elements from one of two arrays depending on condition.

  `take`, `choose`, `compress`, `diag`, `diagonal`

  Examples

      >>> import numpy as np

  Beginning with an array of integers from 0 to 5 (inclusive), elements less than `3` are negated, elements greater than `3` are squared, and elements not meeting either of these conditions (exactly `3`) are replaced with a default value of `42`.

      >>> x = np.arange(6)
      >>> condlist = [x<3, x>3]
      >>> choicelist = [-x, x**2]
      >>> np.select(condlist, choicelist, 42)
      array([ 0,  -1,  -2, 42, 16, 25])

  When multiple conditions are satisfied, the first one encountered in condlist is used.

      >>> condlist = [x<=4, x>3]
      >>> choicelist = [x, x**2]
      >>> np.select(condlist, choicelist, 55)
      array([ 0,  1,  2,  3,  4, 25])