首页  >  文章  >  后端开发  >  如何使用“where”函数从满足多个条件的 Numpy 数组中选择元素?

如何使用“where”函数从满足多个条件的 Numpy 数组中选择元素?

Barbara Streisand
Barbara Streisand原创
2024-10-27 19:15:01455浏览

How to Select Elements from a Numpy Array Satisfying Multiple Conditions using the `where` Function?

Numpy Where 函数和多个条件

这道题涉及 Numpy where 函数以及根据多个条件选择元素。

问题和问题描述

用户想要应用两个条件(大于和小于)来从数组(dists)中选择属于特定范围的元素。然而,使用 where 函数作为 (np.where(dists >= r)) 和 (np.where(dists

解决方案

方法 1:将条件组合成单个标准

在这种特定情况下,建议将两个条件组合成单个标准:

dists[abs(dists - r - dr/2.) <= dr/2.]

这种简单的方法检查距离和范围中心之间的差的绝对值 (r dr/2) 是否小于或等于范围宽度的一半 (dr/2)。

方法 2:使用花式索引

或者,可以使用花式索引通过布尔掩码直接从原始数组中选择元素:

dists[(dists >= r) & (dists <= r + dr)]

这样做的好处方法是它使用逐元素逻辑运算符(& 和 |)来组合条件,从而生成一个二进制掩码,用于标识满足条件的元素。

问题解释

使用 (np.where(dists >= r)) 和 (np.where(dists

以上是如何使用“where”函数从满足多个条件的 Numpy 数组中选择元素?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn