numpy - 用值替换数组的numpy数组
问题描述
我正在尝试转换一个 numpy 数组数组。一个示例输入是这样的:
np.array([[[0, 0, 0], [255, 255, 255]], [[255, 255, 255], [0, 0, 0]]], np.uint8)
我想[0, 0, 0]
用0
和[255, 255, 255]
with的值替换所有数组255
。我希望最终结果采用以下格式:
np.array([[0, 255], [255, 0]], np.uint8)
该数组将始终具有上述值,但大小不同。
这是我为此创建的代码:
array_list = []
for row in input_image:
row_list = []
for item in row:
if np.array_equal(item, [0, 0, 0]):
row_list.append(0)
else:
row_list.append(255)
array_list.append(row_list)
output_image = np.array(array_list, np.uint8)
上面的代码对于大数组来说非常慢,我想可能有一种方法可以直接用 numpy 执行此操作,但我找不到方法。你有什么建议可以提高效率吗?
解决方案
X_new = np.mean(X, axis=2)
X_new
array([[ 0., 255.],
[255., 0.]])
推荐阅读
- c++ - 如何在 ROS 中创建点云质心以从 ROS msg 接收的一组点中执行聚类?
- pandas - 拆分列名并将它们设置为 Pandas 中的行
- corda - 有什么方法可以在派对的 shell Terminal 中查看消费状态?
- django - Django 3.0.5 runserver 不工作,执行后没有消息
- azure - Azure 灾难恢复
- java - 如何移除主屏幕上的开关?
- javascript - npm:将依赖项写入“package.json”所必需的“--save”-flag?
- firebase-cloud-messaging - 在虚幻引擎 4 中获取 Firebase Reg 令牌
- php - 如何在 Combobox 中显示来自 MySql 数据库表和文本框中其他字段的数据 - php
- arrays - 如何使用 RxJs 将两个数组组合成一个数组,其中第二个数组的每个元素将分配给每个对象属性的第一个数组?