where基本使用
15.1、使用where 按照条件查询出两个字段的值
xarr = np.array([1, 2, 3, 4, 5])yarr = np.array([-1, -2, -3, -4, -5])cond = np.array([True, False, True, False, False])np.where(cond, xarr, yarr)
Out[174]: array([ 1, -2,  3, -4, -5])
15.2、使用where在原有的array中填充常数
arr = np.random.randn(4, 4)arr
Out[176]:
array([[ 1.2961233 , -2.88646621,  0.93438555, -1.25265235],[ 0.48880916,  0.42995708, -0.64266328,  0.78978925],[ 0.45636547, -0.73146585,  1.4273524 , -0.35658024],[-0.33206549, -0.43699776, -1.3090687 , -0.22809868]])np.where(arr > 0, 2, 4)
Out[178]:
array([[2, 4, 2, 4],[2, 2, 4, 2],[2, 4, 2, 4],[4, 4, 4, 4]])

也可以将标量和数组联合:

np.where(arr > 0, 2, arr)
Out[179]:
array([[ 2.        , -2.88646621,  2.        , -1.25265235],[ 2.        ,  2.        , -0.64266328,  2.        ],[ 2.        , -0.73146585,  2.        , -0.35658024],[-0.33206549, -0.43699776, -1.3090687 , -0.22809868]])
where扩展使用
15.3、使用where 查询出符合条件的值的位置
x = np.arange(9.).reshape(3, 3)x
Out[12]:
array([[0., 1., 2.],[3., 4., 5.],[6., 7., 8.]])np.where( x > 5 )
Out[13]: (array([2, 2, 2]), array([0, 1, 2]))np.where( x > 4 )
Out[14]: (array([1, 2, 2, 2]), array([2, 0, 1, 2]))x[np.where(x > 4)]
Out[15]: array([5., 6., 7., 8.])
15.4、获取bool矩阵中True的位置
goodvalues = [3, 4, 7]ix = np.isin(x, goodvalues)ix
Out[18]:
array([[False, False, False],[ True,  True, False],[False,  True, False]])np.where(ix)
Out[19]: (array([1, 1, 2]), array([0, 1, 1]))

参考:https://docs.scipy.org/doc/numpy-1.15.1/reference/generated/numpy.where.html
暂时完结。

随笔记录(扩展)——np.where相关推荐

  1. 【原创】微信支付遇到的各种坑及解决方案随笔记录,invalid signature, “errMsg“:“chooseWXPay:fail“

    [原创]微信支付遇到的各种坑及解决方案随笔记录,invalid signature, "errMsg":"chooseWXPay:fail" 参考文章: (1) ...

  2. 【Numpy学习记录】np.transpose讲解

    想了很久,决定还是追寻大神之路,开始写写博客,记录一下成长之路     废话不多说,我们开始讲正题: what is np.transpose? 1.首先看看二维矩阵: import numpy as ...

  3. 小记~随笔[记录一个Matlab的中的一个错误]

    记录一个Matlab的错误 导语 : 今天打开了Matlab , 在初始化完毕后出现了一个报错 , 通过回忆之前的操作我解决了这个问题. 并产生了一些思考. 这篇属于随笔类的文章 , 文笔散乱 , 想 ...

  4. MySQL学习随笔记录

    安装选custmer自定义安装.默认安装全部在c盘. 自定义安装的时候有个advance port选项用来选择安装目录. -----------------------MySQL常见的一些操作命令-- ...

  5. MySQL 随笔记录

    engine=innodb和engine=myisam的区别 myisam是默认类型它是存储记录和文件的标准方法与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被 ...

  6. 【Numpy学习记录】np.cov详解

    写在篇前   在概率论和统计学中,协方差用于衡量两个变量的总体误差.而方差是协方差的一种特殊情况,即当两个变量是相同的情况.其定义的数学形式是:Cov(X,Y)=E[(X−E(X))(Y−E(Y))] ...

  7. 【Numpy 学习记录】np.stack 和 np.concatenate

    np.stack 和 np.concatenate两个函数都是用来连接数组的, 但是他们之间还是有一些探讨之处,直接上代码,一看便知: import numpy as npa = np.zeros(1 ...

  8. 自己初学时的随笔记录

    如果富文本编辑器 jsp....文件可以找到但是就是显示不出来,可能是Controller控制器中@RequestMapping后边没有写路径 ---------------------------- ...

  9. 随笔记录——numpy4(伪随机数生成)

    numpy.random模块填补了Python内建的random模块的不足,可以高效地生成多种概率分布下的完整样本值数组. 22.指定均值方差,生成符合正态分布的随机数 np.random.norma ...

最新文章

  1. linux100day(day3)--常用文本处理命令和vim文本编辑器
  2. gis中开始编辑之后显示空间参考_空间参考—帮助 | ArcGIS Desktop
  3. ui自动化测试框架_浅谈前端(UI)自动化测试
  4. 《spring-boot学习》-14-spring boot整合freeMarker模板
  5. Mac 10.10下安装MySQL5.6.21提示安装失败
  6. 【React框架-1】React概览
  7. 移动端APP测试概要
  8. 网络远程计算机终止,电脑拨号上网出现错误629:连接被远程计算机终止怎么办...
  9. 云更新网吧系统服务器,云更新网吧无盘
  10. c语言编译笑脸,C语言快速入门——笑脸绘图程序:窗口实现
  11. 网易互娱2022校园招聘在线笔试 -《魔塔》
  12. 按照角度进行图片旋转
  13. css沿曲线进行动画,jQuery沿贝兹曲线运动动画特效
  14. 这个充电宝不仅支持无线充,关键还小
  15. itchat与微软小冰的碰撞!--微软小冰接入itchat实现微信自动回复
  16. 基于CentOs下的Hadoop完全分布式集群环境搭建
  17. Django-rest-framework简介
  18. 【java】环境变量安装
  19. maven打包--同时将仓库依赖和本地依赖的jar包也打进去
  20. ZBrush:生物角色无脑重拓扑神器ZWrap

热门文章

  1. 微信企业付款到银行卡
  2. 快手爬虫,解决粉丝数,关注数等字体加密!python快手爬虫
  3. Antd Form表单Input非汉字输入(支持输入数字、字母、特殊符号)
  4. 高通三星1700万美元出资可穿戴芯片公司Ineda
  5. 51.最后一块石头的重量
  6. HDL4SE:软件工程师学习Verilog语言(二)
  7. 深度模型调参知识总结
  8. 彩虹之家--采集器操作说明以下两种方式:
  9. 英菲尼迪tlme是什么意思_谁能说说英菲尼迪车标的含义?
  10. CString 中Releasebuffer GetBuffer 相关实现原理