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和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)

    用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)

    这篇文章主要介绍了用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-01-01
  • python实现在线翻译

    python实现在线翻译

    这篇文章主要介绍了python实现在线翻译,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2020-06-06
  • 使用Python脚本提取基因组指定位置序列

    使用Python脚本提取基因组指定位置序列

    这篇文章主要为大家介绍了使用Python脚本提取基因组指定位置序列的示例详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-07-07
  • 如何远程使用服务器上的Jupyter notebook

    如何远程使用服务器上的Jupyter notebook

    这篇文章主要介绍了如何远程使用服务器上的Jupyter notebook,主要是在服务器端执行操作,需要特别注意为了防止远程中断,使用挂起操作,即执行nohup jupyter notebook,需要的朋友可以参考下
    2023-02-02
  • 使用Python实现Excel表格转图片

    使用Python实现Excel表格转图片

    在数据处理与信息分享过程中,Excel表格作为一种强大的数据管理工具被广泛应用,这篇文章主要为大家详细介绍了如何使用Python将Excel表格转换为图片,需要的可以参考下
    2024-04-04
  • python tkinter实现连连看游戏

    python tkinter实现连连看游戏

    这篇文章主要介绍了python tkinter实现连连看游戏的示例,帮助大家更好的理解和使用python,感兴趣的朋友可以了解下
    2020-11-11
  • python实现图像随机裁剪的示例代码

    python实现图像随机裁剪的示例代码

    这篇文章主要介绍了python实现图像随机裁剪的示例代码,帮助大家更好的理解和使用python处理图片,感兴趣的朋友可以了解下
    2020-12-12
  • 在numpy矩阵中令小于0的元素改为0的实例

    在numpy矩阵中令小于0的元素改为0的实例

    今天小编就为大家分享一篇在numpy矩阵中令小于0的元素改为0的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • Python 生成短8位唯一id实战教程

    Python 生成短8位唯一id实战教程

    这篇文章主要介绍了Python 生成短8位唯一id实战教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2021-01-01
  • 使用matplotlib绘制图例标签中带有公式的图

    使用matplotlib绘制图例标签中带有公式的图

    今天小编就为大家分享一篇使用matplotlib绘制图例标签中带有公式的图,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-12-12

最新评论