numpy.where()、numpy.nonzero()结构及用法||参数详解

返回从x或y中依据condition选出的元素。根据是否输入xy分为两种功能:

  • np.where(condition, x, y)

满足条件(condition),输出x,不满足输出y。

返回的是一个与x、y格式相同的数组,当condition为True(也就是所谓的满足),返回x对应位置元素;当condition为False,返回y位置对应的元素。

>>> np.where([[True, False], [True, True]],
...          [[1, 2], [3, 4]],
...          [[9, 8], [7, 6]])
array([[1, 8],
       [3, 4]])

这种用法比较容易理解。

  • np.where(condition)

只有条件 (condition),没有x和y,则输出满足条件 (即非0) 元素的坐标 (等价于numpy.nonzero)。

这里的坐标以tuple的形式给出,通常原数组有多少维,输出的tuple中就包含几个数组,分别对应符合条件元素的各维坐标。

返回非零索引。

返回一个包含数组的元组(元组长度为a的维度),每个数组描述一个维度中非零元素的索引。

  1. 先看一维,相对好理解:

在这里插入图片描述

  1. 对于二维数组:

    返回一个长度为2的tuple,tuple中第一个表示非零元素在第一个维度中的索引;第二个数组表示第二个维度中的索引。

    取tuple中两个array中各自的第0个元素,构成原来c中非零元素的索引。

    在这里插入图片描述

  2. 对于三维数组:

    在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值