python - 如何在 numpy 数组中设置阈值?
问题描述
我有一个值数组,我想将特定值设置为整数。低于 0.95 的值设置为 0,高于 1.6 的值设置为 2。如何将 0.95 和 1.6 之间的所有值设置为 1?
n1_binary = np.where(n1_img_resize < 0.95, 0, n1_img_resize)
n1_binary = np.where(n1_binary > 1.6, 2, n1_binary)
解决方案
像这样在一行中使用np.where
:
n1_binary = np.where((n1_binary > 0.95) & (n1_binary <= 1.6), 1, n1_binary)
检查以下示例:
In [652]: a = np.array([0.99, 1.23, 1.7, 9])
In [653]: a = np.where((a > 0.95) & (a <= 1.6), 1, a)
In [654]: a
Out[654]: array([1. , 1. , 1.7, 9. ])
推荐阅读
- sql - 从 SQL 转换为 Power BI
- ansible - Ansible - Cisco NX-OS 无法确定设备操作系统
- python - VS Code 中 MediaPipe 库的自动完成
- r - 使用 R 平滑绘图并添加置信区间(ggplot2 上的平滑和 geom_ribbon 函数)
- python - 在 Tkinter 上没有按钮的情况下,在应用程序运行时更新标签
- reactjs - 在 NextJS 中使用 SWR 查询 MongoDb Atlas 时如何使用动态变量
- robot - Siemens S7 - 1500,多屏
- python - 使用python获取beautifulsoup的特定行
- git - 从 master 中删除功能分支合并,但保留所有其他功能分支合并
- devexpress - SSRS 报告中的最终用户报告设计器