python - 将空数组与任何标量进行比较将得到一个空数组
问题描述
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
?
解决方案
根据 Numpy 文档numpy.maximum
比较两个数组并返回一个包含元素最大值的新数组。它仅在数组具有相同大小或其中一个或两个参数是标量时才有效。
对于空数组,您没有什么可比较的,因此该函数返回一个空数组。
推荐阅读
- php - Laravel - 由于用户不活动而导致的通知消息
- python - 尝试打开 exec 文件时加载 Python lib 时出错 (OS X)
- html - 如何使用 golang 运行带有 css 的 html
- rust - 存储 Fn 类型会产生错误:强制转换要求 ... 被借用为“静态”
- html - 在页面宽度上对称放置三个导航元素的最干净的方法是什么?
- blockchain - Hyperledger Indy - 启动时出错 - 库状态无效:MerkleTree 包含无效项目
- powershell - Powershell:模块 PSFTP - 下载日期比本地文件更新的所有文件
- angular - ngx-bootstrap 模态自定义类不起作用
- c# - 为什么我的 64 位程序成功调用了 32 位 DLL?
- swift - Audiokit Audiobus 集成错误,例如:-1:未定义符号:_OBJC_CLASS_$_ABPort