numpy.select#

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

根据条件,返回从 choicelist 中的元素绘制的数组.

参数:
condlistbool ndarray 的列表

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

choicelistndarray 的列表

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

default标量,可选.

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

返回:
outputndarray

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

参见

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