首页 > 解决方案 > 将空数组与任何标量进行比较将得到一个空数组

问题描述

In [2]: a = np.random.random(4)
In [3]: a
Out[3]: array([0.87932117, 0.77583433, 0.82855167, 0.52718255])

In [4]: empty = a[4:]

In [5]: empty
Out[5]: array([], dtype=float64)

In [9]: normal = a[0]

In [10]: normal
Out[10]: 0.879321173826548

In [11]: bigger = np.maximum(empty, normal)

In [12]: bigger
Out[12]: array([], dtype=float64)

我的代码如上所示。我得到一个空数组empty和一个普通数组normal,然后我使用该np.maximum()函数查找数组元素的元素最大值bigger

我很好奇我得到的结果是一个empty

标签: pythonarraysnumpy

解决方案


根据 Numpy 文档numpy.maximum比较两个数组并返回一个包含元素最大值的新数组。它仅在数组具有相同大小或其中一个或两个参数是标量时才有效。

对于空数组,您没有什么可比较的,因此该函数返回一个空数组。


推荐阅读