numpy.select#

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

根据条件返回从 choicelist 中元素组成的数组。

参数:
condlist布尔型 ndarrays 列表

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

choicelistndarrays 列表

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

default标量,可选

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

返回值:
outputndarray

位置 m 处的输出是 choicelist 中数组的第 m 个元素,其中 condlist 中相应数组的第 m 个元素为 True。

参见

where

根据条件返回来自两个数组之一的元素。

takechoosecompressdiagdiagonal

示例

>>> import numpy as np

从包含从 0 到 5(包括 5)的整数的数组开始,小于 3 的元素取反,大于 3 的元素平方,并且不满足这两个条件的元素(正好为 3)替换为 default42

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