numpy.where() 有两种用法:

1. np.where(condition, x, y)
满足条件(condition),输出x,不满足输出y。

import numpy as np
a = np.arange(10)
print(a)
aa = np.where(a, 1, -1)
print(aa)
aaa = np.where(a > 5, 1, -1)
print(aaa)[0 1 2 3 4 5 6 7 8 9]
[-1  1  1  1  1  1  1  1  1  1]
[-1 -1 -1 -1 -1 -1  1  1  1  1]
np.where([[True,False], [True,True]],    # 官网上的例子[[1,2], [3,4]],[[9,8], [7,6]])array([[1, 8],[3, 4]])
``
`
上面这个例子的条件为[[True,False], [True,False]],分别对应最后输出结果的四个值。第一个值从[1,9]中选,因为条件为True,所以是选1。第二个值从[2,8]中选,因为条件为False,所以选8,后面的以此类推。同理,再看下面的一个例子:```python
a = 10
np.where([[a > 5,a < 5], [a == 10,a == 7]],[["chosen","not chosen"], ["chosen","not chosen"]],[["not chosen","chosen"], ["not chosen","chosen"]])array([['chosen', 'chosen'],['chosen', 'chosen']], dtype='<U10')

2. np.where(condition)
只有条件 (condition),没有x和y,则输出满足条件 (即非0) 元素的坐标 。这里的坐标以tuple的形式给出,通常原数组有多少维,输出的tuple中就包含几个数组,分别对应符合条件元素的各维坐标。

一维的情况:

a = np.array([2, 4, 6, 8, 10])
print(np.where(a > 5))
print(type(np.where(a > 5)))
print(a[np.where(a > 5)])
print(type(a[np.where(a > 5)]))(array([2, 3, 4], dtype=int64),)
<class 'tuple'>
[ 6  8 10]
<class 'numpy.ndarray'>

二维的情况:

a = np.arange(27).reshape(3,3,3)
aarray([[[ 0,  1,  2],[ 3,  4,  5],[ 6,  7,  8]],[[ 9, 10, 11],[12, 13, 14],[15, 16, 17]],[[18, 19, 20],[21, 22, 23],[24, 25, 26]]])np.where(a > 5)(array([0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2, 2, 2, 2, 2, 2],dtype=int64),array([2, 2, 2, 0, 0, 0, 1, 1, 1, 2, 2, 2, 0, 0, 0, 1, 1, 1, 2, 2, 2],dtype=int64),array([0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2],dtype=int64))a[np.where(a > 5)]
array([ 6,  7,  8,  9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22,23, 24, 25, 26])

所以满足条件的坐标为(0, 2, 0), (0, 2, 1)…

所以np.where会输出每个元素的对应的坐标,因为原数组有三维,所以tuple中有三个数组。

Python中numpy的np.where()函数相关推荐

  1. python使用numpy的np.float_power函数计算numpy数组中每个数值的指定幂次(例如平方、立方)、np.power函数默认返回整数格式、np.float_power函数返回浮点数

    python使用numpy的np.float_power函数计算numpy数组中每个数值的指定幂次(例如平方.立方).np.power函数默认返回整数格式.np.float_power函数默认返回浮点 ...

  2. python使用numpy的np.power函数计算numpy数组中每个数值的指定幂次(例如平方、立方)、np.power函数默认返回整数格式、np.float_power函数默认返回浮点数

    python使用numpy的np.power函数计算numpy数组中每个数值的指定幂次(例如平方.立方).np.power函数默认返回整数格式.np.float_power函数默认返回浮点数 目录

  3. Python中numpy.linalg库常用函数

    Python中numpy.linalg库常用函数 numpy.linalg Python中numpy.linalg库常用函数 简单记录所遇到的numpy库内置函数 矩阵与向量积 ①np.linalg. ...

  4. python使用numpy的np.fmod函数计算numpy数组除以某一特定数值剩余的余数(remainder)、np.mod函数和np.fmod函数对负值的处理方式有差异

    python使用numpy的np.fmod函数计算numpy数组除以某一特定数值剩余的余数(remainder).np.mod函数和np.fmod函数对负值的处理方式有差异 目录

  5. python中Numpy库的ravel()函数

    python 中的 ravel() 函数将数组多维度拉成一维数组. 书上这样写"如果结果中的值在原始数组中是连续的,则 ravel 不会生成底层数值的副本".按照书上的内容,可知是 ...

  6. python中np没有定义_第六篇:python中numpy.zeros(np.zeros)的使用方法

    用法:zeros(shape, dtype=float, order='C') 返回:返回来一个给定形状和类型的用0填充的数组: 参数:shape:形状 dtype:数据类型,可选参数,默认numpy ...

  7. 学习笔记27—python中numpy.ravel() 和 flatten()函数

    简介 首先声明两者所要实现的功能是一致的(将多维数组降位一维).这点从两个单词的意也可以看出来,ravel(散开,解开),flatten(变平).两者的区别在于返回拷贝(copy)还是返回视图(vie ...

  8. python中zeros用法_python中numpy.zeros(np.zeros)的使用方法

    python 的 python中numpy.zeros(np.zeros)的使用方法 翻译: 用法:zeros(shape, dtype=float, order='C') 返回:返回来一个给定形状和 ...

  9. python中numpy.random.gamma()函数

    python中numpy.random.gamma()函数 根据官网,地址如下: https://www.w3cschool.cn/doc_numpy_1_11/numpy_1_11-generate ...

  10. Python中numpy.power()函数介绍

    Python中numpy.power()函数介绍 power(x, y) 函数,计算 x 的 y 次方. 示例: x 和 y 为单个数字: import numpy as npprint(np.pow ...

最新文章

  1. ​网页图表Highcharts实践教程之图表代码构成
  2. mysql集群从节点无法启动_一次galera cluster集群故障节点无法启动问题排查
  3. 埃及分数The Rotation Game骑士精神——IDA*
  4. 车牌识别之车牌定位(方案总结)
  5. mysql 4升级,MySQL_Sql_打怪升级_进阶篇_进阶4:常见函数
  6. call和apply的作用和不同
  7. 怎么做301永久重定向
  8. 一文读懂腾讯云“AI即服务”战略新品“智能云”
  9. GCC vector 叠加示例
  10. python怎么下载numpy?
  11. 儒豹手机搜索发布2008年各频道关键词排行榜
  12. VS2005 执行控制台程序的时候,窗口一闪就没了的问题
  13. linux 改变用户组、文件拥有者、文件属性
  14. 低价战略 革命主机价格将低于299美金
  15. Python爬虫教程(一):基础知识
  16. 自然辩证法问题思考范围(开卷可用)
  17. 常用算法——解析算法
  18. 轻松学习JavaScript十一:JavaScript基本类型(包含类型转换)和引用类型
  19. 【Unity3D】纹理贴图 ( 纹理 Texture 简介 | 为 3D 模型设置纹理贴图 )
  20. 邦纳LTF12KC2LDQ激光传感器

热门文章

  1. 利用CH341A编程器刷新BIOS,恢复BIOS,妈妈再也不用担心BIOS刷坏了
  2. ffmpeg水印制作
  3. 《我爱我的祖国》受捧 再现专线另类舌尖上中国
  4. ASML大举向中国出口光刻机,或在于忧虑中国光刻机技术取得突破
  5. 【知识总结】数学必修二立体几何总结
  6. 领导合影站位图_领导座次安排示意图,各种场合都有,不懂很容易闹笑话!
  7. android 指纹识别 怎么使用方法,android实现指纹识别
  8. 《知识产权知识产权信用管理规定》解读问答
  9. 数据开发者启示录:《我,阿里P7,找不到工作》
  10. 出没干日月鸿蒙之内翻译,李白《大鹏遇希有鸟赋》原文及翻译赏析