numpy.select#

numpy.select(condlist, choicelist, default=0)[源码]#

根据条件,从 choicelist 中的元素中选择并返回一个数组。

参数:
condlist布尔值 ndarrays 列表

用于确定输出元素从 choicelist 中的哪个数组中获取的条件列表。当多个条件满足时,将使用 condlist 中遇到的第一个条件。

choicelistndarrays 列表

用于从中获取输出元素的数组列表。其长度必须与 condlist 相同。

default标量, 可选

当所有条件都评估为 False 时,插入到 output 中的元素。

返回:
outputndarray

位置 m 处的输出是 choicelist 中对应 condlist 中对应数组的 m-th 元素为 True 的数组中的 m-th 元素。

另请参阅

where

根据条件从两个数组中的一个返回元素。

take, choose, compress, diag, diagonal

示例

>>> import numpy as np

从一个从 0 到 5(包含)的整数数组开始,小于 3 的元素被取反,大于 3 的元素被平方,不满足任一条件的元素(正好是 3)被替换为 42default 值。

>>> 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])

当多个条件满足时,将使用 condlist 中遇到的第一个条件。

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