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中文网其他相关文章!