np.nonzero, np.argwhere, np.where, np.squeeze用法小结

一、功能

1. np.nonzero(arr)  或者 np.nonzero(condition) 

返回一个元组tuple_of_arrays,其中每个array元素为输入数据arr中符合条件condition的元素值(或非零值)的索引数组(下标数组)。这个元组中元素的个数等于数据arr的维度,即一维输入返回一个单值元组,二维数组返回二值元组,三维数组范围三值元组,每一个值都是一个一维的数组,它表示数据arr中符合条件的元素在该维度上的索引(下标)。

2. np.where(condition, x, y) 或者 np.where(condition)

(1)当条件condition满足则返回x,不满足则返回y。
(2)只有条件condition而没有x和y时,则返回满足条件 (即非0) 元素的坐标,此时等价于np.nonzero()。

3. np.argwhere(condition) 或者 np.argwhere(arr) 
返回一个数组(至少是2D的),其中每个元素为arr中符合条件condition的元素值(或非零值)的索引。对一维arr,索引即元素下标;对于二维arr,索引即元素的坐标。

4. np.squeeze(a, axis=None)
返回一个降维的数组,即从数组shape中删除一维项。

二、评估

np.nonzero是最基础的非零选择,返回索引数组的元组;
np.where的比np.nonzero功能更多,可根据筛选条件对数据进行处理。
np.argwhere的返回值是二维以上的坐标数组,相当于np.transpose(np.nonzero(arr))。
np.squeeze就是降维(当然,可以指定某个维度)。

三、参考

秒懂np.nonzero, np.argwhere, np.where_mabel92的博客-CSDN博客

【python】np.where和np.argwhere、np.squeeze_peanut。的博客-CSDN博客

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值