numpy中关于where函数的用法

 更新时间:2024年02月02日 14:50:47   作者:坝坝头伯爵  
这篇文章主要介绍了numpy中关于where函数的用法,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

关于where函数用法

在我的理解中np.where函数有三个用法

1. np.where()[0] 和 np.where()[1]

where在我的理解中是一个寻找数组中某个元素的函数

在此用法中np.where()[0] 表示行索引,np.where()[1]表示列索引

具体如下:

import numpy as np
array = np.arange(12).reshape(3,4)
print('array:', array)
print('np.where(array > 5):', np.where(array > 5))
print('array[np.where(a > 5)]:', array[np.where(array > 5)])
print('np.where(array > 5)[0]:', np.where(array > 5)[0])
print('np.where(array > 5)[1]:', np.where(array > 5)[1])
print(array[np.where(array > 5)[0], np.where(array > 5)[1]])

array: [[ 0 1 2 3]
 [ 4 5 6 7]
 [ 8 9 10 11]]
np.where(array > 5): (array([1, 1, 2, 2, 2, 2]), array([2, 3, 0, 1, 2, 3]))
array[np.where(array > 5)]: [ 6 7 8 9 10 11]
np.where(array > 5)[0]: [1 1 2 2 2 2]
np.where(array > 5)[1]: [2 3 0 1 2 3]
[ 6 7 8 9 10 11]

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

满足condition 这个条件的输出x,不满足输出y。

如下所示:

小于2的数改为0,否则改为10

import numpy as np
t2=np.array([[1,2,3],[1,2,3]])
print(np.where(t2<2,0,10))

[[ 0 10 10]
 [ 0 10 10]]#输出

3. np.where(condition)

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

举个简单的例子:

import numpy as np
t2=np.array([[1,2,3],[1,2,3]])
print(np.where(t2<2))

(array([0, 1], dtype=int64), array([0, 0], dtype=int64)) #输出

所以 np.where会输出每个符合要求的元素的对应的坐标

需要注意的一点是:

输入的不能直接是list,需要转为array或者为array才行。

比如range(10)和np.arange(10)后者返回的是数组,使用np.where才能达到效果。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。 

相关文章

  • 详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)

    详解Python数据可视化编程 - 词云生成并保存(jieba+WordCloud)

    这篇文章主要介绍了Python数据可视化编程 - 词云生成并保存(jieba+WordCloud),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-03-03
  • python 测试实现方法

    python 测试实现方法

    使用python进行测试也足够简明了
    2008-12-12
  • Python入门教程1. 基本运算【四则运算、变量、math模块等】

    Python入门教程1. 基本运算【四则运算、变量、math模块等】

    这篇文章主要介绍了Python教程的基本运算,包括四则运算、变量的使用与类型检测、math模块等,并附带了相关说明,代码备有较为详尽的说明,便于理解,需要的朋友可以参考下
    2018-10-10
  • python微信公众号之关注公众号自动回复

    python微信公众号之关注公众号自动回复

    这篇文章主要为大家详细介绍了python微信公众号之关注公众号自动回复,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • Python3学习笔记之列表方法示例详解

    Python3学习笔记之列表方法示例详解

    Python3 列表 序列是Python中最基本的数据结构,下面这篇文章主要给大家介绍了关于Python3学习笔记之列表方法的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下。
    2017-10-10
  • 如何用Python编写一个电子考勤系统

    如何用Python编写一个电子考勤系统

    这篇文章主要介绍了用Python编写一个电子考勤系统,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2021-02-02
  • Python导出并分析聊天记录详解流程

    Python导出并分析聊天记录详解流程

    这篇文章主要介绍了Python将QQ聊天记录生成词云的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-02-02
  • python中tab键是什么意思

    python中tab键是什么意思

    在本篇内容里小编给大家整理了关于python中的tab键表示什么意思的相关内容,需要的朋友们可以参考学习下。
    2020-06-06
  • 跟老齐学Python之一个免费的实验室

    跟老齐学Python之一个免费的实验室

    学习Python也要做实验,也就是尝试性地看看某个命令到底什么含义。在《集成开发环境(IDE)》一章中,我们介绍了Python的IDE时,给大家推荐了IDLE,进入到IDLE中,看到>>>符号,可以在后面输入一行指令。其实,这就是一个非常好的实验室。
    2014-09-09
  • Python使用matplotlib实现绘制自定义图形功能示例

    Python使用matplotlib实现绘制自定义图形功能示例

    这篇文章主要介绍了Python使用matplotlib实现绘制自定义图形功能,结合实例形式分析了Python基于matplotlib模块实现自定义图形绘制相关操作技巧,需要的朋友可以参考下
    2018-01-01

最新评论