程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长

+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

暂无数据

在Python3 / Numpy中过滤数组并返回索引

发布于2019-10-07 19:25     阅读(825)     评论(0)     点赞(13)     收藏(0)


Python3 / Numpy中是否有任何内置函数可以过滤数组并返回剩余元素的索引?类似于numpy.argsort进行排序。我使用的过滤器同时设置了最小和最大阈值-必须过滤掉低于/高于/低于最小/最大的所有值。

我已经看过Python的函数过滤器,但是我没有看到一种使用它来提取索引的方法。

编辑:答案中有很多有用的信息,谢谢!

正如@SvenMarnach指出的,遮罩就足够了:

mask = (min_value < a) & (a < max_value)

现在,我必须将此蒙版应用于与形状相同的其他数组a,但不确定执行此操作的最佳方法是什么...


解决方案


你可以得到一维数组中的元素的索引a是大于min_value和莱比max_value

indices = ((min_value < a) & (a < max_value)).nonzero()[0]

虽然通常您不需要这些索引,但是使用遮罩可以更有效地工作。

mask = (min_value < a) & (a < max_value)

此遮罩是一个布尔数组,其形状与相同a

编辑:如果有一个数组b相同的形状的a,可以提取的元素b对应于所述True条目mask

b[mask]


所属网站分类: 技术文章 > 问答

作者:黑洞官方问答小能手

链接:https://www.pythonheidong.com/blog/article/133136/9b8332a80459ba8d50dc/

来源:python黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

13 0
收藏该文
已收藏

评论内容:(最多支持255个字符)