官方api介绍

几种用法

1. 仅输入condition

import numpy as npa = np.array([0,5,4,1,9,7])
b = np.where(a>5)
print(b)

结果如下

它的结果是非0元素在原数组中的下标

2. 仅输入数组

1D数组

在官方note中,已经注明,如果是仅仅输入condition;那么它的作用等同于
np.asarray(condition).nonzero()

如:

b = np.where([0,0,0,1,1,1,0,0,0])
print(b)

输出为:

2D数组

如果是2D,则返回为一个tuple,第一个值表示2D数组0维度的下标,第二个值表示2D数组1维度的下标

i = np.array([[False, False],[False, True],[True, True]])print(np.where(i))

3. 三参数输入,并且每个参数都是1D

它等同于
[xv if c else yv for c, xv, yv in zip(condition, x, y)]

如下面例子

import numpy as npa = np.arange(9)
b = np.where(a<5, a, 0)
print(b)

4. 三参数输入,并且每个参数是2D

如果是2D,则标识对应的元素从对应的True、False数组中获取

例如,

b = np.where([[True, False], [True, True]],[[1, 2], [3, 4]],[[9, 8], [7, 6]])
print(b)

结果如下,

解释一下
2D数组
[True, False], [True, True]
2行2列来标识:
[ True, False
True, True]
它标识结果中的True从第二个参数数组中获取,False从第三个参数数组中获取。


总结

1个参数输出的是下标;3个参数输出的是对应的数值

【numpy】numpy.where的使用相关推荐

  1. numpy numpy.concatenate()函数

    @[TOC](numpy numpy.concatenate()函数)

  2. 玩转NumPy——NumPy数组的切片和索引

    NumPy数组可以基于 0 ~n 的下标进行索引,切片对象可以通过内置的 slice 函数,并设置 start, stop 及 step 参数进行,从原数组中切割出一个新数组. eg: import ...

  3. NumPy————NumPy广播机制的学习笔记

    1 致谢 感谢网友"FINTHON"的帮助, 原文链接如下: https://finthon.com/numpy-broadcast/ 2 前言 今天在学习K-means算法~ 想 ...

  4. Numpy——numpy的索引

    文章目录 1.一维索引 2.二维索引 3.打印矩阵的行与列 4.打印矩阵中的每一个 1.一维索引 在元素列表或者数组中,我们可以用如同A[n]来索引某一个元素,同样的,在Numpy中也有相对应的表示方 ...

  5. Numpy——numpy的基本运算

    文章目录 1.初始化两个矩阵 2.矩阵加法 3.矩阵减法 4.矩阵乘法 5.矩阵的乘方 6.矩阵的三角函数 7.矩阵的逻辑运算 8.二维矩阵计算 9.sum(), min(), max()的使用 10 ...

  6. Numpy——numpy属性

    文章目录 1.列表转化为矩阵 2.numpy 的几种属性 3.创建数组 4.指定数据 dtype 5.创建特定数据 1.列表转化为矩阵 使用numpy首先要导入模块 import numpy as n ...

  7. numpy : numpy.random

    随机抽样 (numpy.random) 简单的随机数据 rand(d0, d1, ..., dn) 随机值 >>> np.random.rand(3,2) array([[ 0.14 ...

  8. python安装镜像numpy_[Python]使用镜像网站自动、自动和手动安装numpy,Numpy

    直接安装numpy模块 在cmd输入直接 pip install numpy 若出现报错:ou are using pip version 18.1, however version 20.2.2 i ...

  9. [Numpy] Numpy对于NaN值的判断

    美图欣赏2022/06/23 numpy.nan的数据类型是float类型 import numpy as np type(np.nan) # float 任何数字和numpy.nan进行计算,返回的 ...

  10. 机器学习四剑客1——Numpy

    求业之精,别无他法,日专而已矣! 一.概论 1.机器学习是什么 2.机器学习做什么 3.机器学习基本概念 二.机器学习第一步:数据分析 1.Python被大量应用在数据挖掘和深度学习领域: 2.其中使 ...

最新文章

  1. 如何删除windows上面的jdk文件
  2. 新雨个人面试经验总结
  3. Vue面试中经常会被问到的面试题
  4. mysql 评论回复表设计_【数据库】评论回复表设计
  5. android设备获取wifi和蓝牙状态并进行打开或关闭操作
  6. Vue移动端项目——搜索联想建议功能的实现(结合watch属性和使用lodash防抖节流)
  7. java 二叉树特点_二叉树的Java实现及特点总结
  8. 电脑投屏软件哪个好_电脑绘画软件哪个好?
  9. 数据结构笔记(二十三)--哈夫曼树
  10. python3中报错No module named 'numpy'
  11. 给神经网络加入先验知识!
  12. 思科模拟器完成实验报告
  13. Unity3D手游开发实践《腾讯桌球》客户端开发经验总结
  14. TFP与TFTP的联系与区别
  15. 联想y7000p怎么连接显示器_这一次,做中华良心想—联想Y7000P游戏本体验评测
  16. 【ChatGPT整活大赏】写论文后自动生成视频
  17. Taichi 加速 Python 中图像处理
  18. 无尽神域服务器维护,关于对无尽神域的感受亲爱的无尽神域开发团队:
  19. 阿木动态 | 助力机器人教育!一站式智能无人机专业课程建设方案!
  20. 全国首例微信三级分销被认定为传销,三级分销“身世”揭秘(上)

热门文章

  1. 什么品牌的游戏蓝牙耳机比较好?玩游戏延迟低的蓝牙耳机推荐
  2. 计算机毕业设计ssm缺陷管理系统d6ltf系统+程序+源码+lw+远程部署
  3. 高完整性系统(4)Formal Logic (形式逻辑和 Alloy 简介)
  4. HTML 表格跨行与跨列
  5. build文件下的build.js解释
  6. dhs手术是什么意思_手术技巧:微创DHS治疗股骨转子间骨折
  7. 图解!《养老机构服务安全基本规范》—养老第一项强制性国家标准
  8. 一个新开始的地方—魔都
  9. linux c文件路径,LINUX C编程中的文件路径
  10. python画猪猪侠_python的学习笔记/002-3(2018-5-20)