numpy.where()函数返回值机制详解:坐标数组的生成逻辑

慢慢来
慢慢来
发布时间:2026-10-13 | 4人浏览过
原创

本文深入解析NumPy中where()函数的返回值机制。通过具体代码示例,阐明当条件满足时,该函数并非直接返回元素值,而是返回两个索引数组。这两个数组分别对应多维数组中满足条件元素的行坐标和列坐标,从而实现对原数组中特定位置元素的精确定位与访问。

numpy.where()返回值机制解析

近期在使用NumPy库时,我接触到了where()函数。虽然其常规用法大多能够理解,但在深入观察特定代码示例时,我对其返回结果的形式产生了困惑。


>>> x = np.arange(9.).reshape(3, 3)
>>> np.where( x > 5 )
(array([2, 2, 2]), array([0, 1, 2]))

起初,我不明白为什么该函数会返回两个数组,而不是预期的元素列表或布尔掩码。

经过进一步分析才意识到,这里的返回值实际上提供的是坐标信息。以具体的表达式为例,其返回结果的结构揭示了这一本质。


x[2, 0], x[2, 1], x[2, 2]

具体而言,对于数组x,返回值由两个数组a和b组成。这两个数组共同标识了x中满足条件的所有元素的位置索引。


x[a[0], b[0]], x[a[1], b[1]], ..., x[a[i], b[i]]

以上就是对numpy.where()函数返回值机制的详细解释,希望能为读者提供清晰的参考,并欢迎大家继续支持本站获取更多技术内容。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表