NumPy的实用函数整理之where

1495-冯同学

发表文章数:86

首页 » 数据科学库 » 正文

NumPy函数where()用于条件返回,根据条件确定返回值,或返回满足条件索引。

where()

where(condition, x=None, y=None)

其中参数

condition : numpy数组,数组元素为布尔值。
x, y: numpy数组,其中x,y,condition必须有相同的维度

函数返回值:
numpy数组,满足条件返回索引对应的x的值,不满足则返回y的值。

举例如下:
例1:
输入:

a = np.arange(10)
a

输出:

array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])

输入:

np.where(a < 5, a, 10*a)

输出:

array([ 0,  1,  2,  3,  4, 50, 60, 70, 80, 90])

输入:

np.where(a < 5)

输出:

(array([0, 1, 2, 3, 4]),)

例2:
输入:
```python
np.where([[True, False], [True, True]],[[1, 2], [3, 4]],[[9, 8], [7, 6]])

输出:

array([[1, 8],
       [3, 4]])

在第一个二位数组的元素为2的位置由于是False,所以用y中的元素8来替代。

例3:
输入:

a = np.array([[0, 1, 2],
[0, 2, 4],
[0, 3, 6]])

输入:

np.where(a < 4, a, -1) 

输出:

array([[ 0,  1,  2],
       [ 0,  2, -1],
       [ 0,  3, -1]])

在不满足条件的地方broadcast机制会拓展-1

拜师教育学员文章:作者:1495-冯同学, 转载或复制请以 超链接形式 并注明出处 拜师资源博客
原文地址:《NumPy的实用函数整理之where》 发布于2022-01-20

分享到:
赞(0) 打赏

评论 抢沙发

评论前必须登录!

  注册



长按图片转发给朋友

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

Vieu3.3主题
专业打造轻量级个人企业风格博客主题!专注于前端开发,全站响应式布局自适应模板。

登录

忘记密码 ?

您也可以使用第三方帐号快捷登录

Q Q 登 录
微 博 登 录