可以高效地实现验证 Numpy 数组是否包含特定行无需迭代整个数组。在处理大型数据集时,这种优化变得尤其重要。
1。使用 .tolist()
将 Numpy 数组转换为列表,以进行 Pythonic 和直接比较。
2.利用视图
创建数组视图以有效地执行逐元素比较。
3.在数组上生成
在 Numpy 数组上生成,将每一行与目标行进行比较。请注意,对于大型数组,此方法可能会很慢。
4。使用 Numpy 逻辑函数
利用 Numpy 的逻辑函数(例如 np.equal)执行高效的逐元素比较。
虽然每种方法根据数组的大小和搜索模式而有所不同, np.equal 往往是最快的纯 Numpy 选项。对于早期命中,Python in 运算符可能会稍微快一些。生成器方法在搜索数组的大部分时表现不佳。
以下是基准比较的结果:
方法 | 时间(秒) | 准确度 |
---|---|---|
查看 | 0.1 | 真 |
Python列表 | 0.3 | True |
生成器 | 3.2 | True |
逻辑等于 | 0.1 | 真 |
免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。
Copyright© 2022 湘ICP备2022001581号-3