python - 在 3D numpy 数组中查找唯一的元组
问题描述
我正在尝试在 numpy 数组中找到唯一元组,但无法找到。根据我np.unique
在设置轴的值时尝试的其他 SO 答案,但它并没有提供我正在寻找的东西。这是一个例子:
我有以下数组
b = np.array([[[255, 0, 0], [255, 0, 0]], [[255, 0, 0], [0, 0, 0]]])
我正在寻找一种方法来告诉我它有两个元组:(255, 0, 0) 和 (0, 0, 0)。以下是使用的结果np.unique
:
np.unique(b, axis=0)
array([[[255, 0, 0],
[ 0, 0, 0]],
[[255, 0, 0],
[255, 0, 0]]])
np.unique(b, axis=1)
array([[[255, 0, 0],
[255, 0, 0]],
[[ 0, 0, 0],
[255, 0, 0]]])
np.unique(b, axis=2)
array([[[ 0, 255],
[ 0, 255]],
[[ 0, 255],
[ 0, 0]]])
我如何让它返回[255, 0, 0], [0, 0, 0]
?
解决方案
先把 b 变成 Nx3 数组。然后使用独特的。
>>> np.unique(b.reshape(-1, 3), axis=0)
array([[ 0, 0, 0],
[255, 0, 0]])
推荐阅读
- python - Python OpenCv 解析进度条
- javascript - 将mysql表数据转换为JSON嵌套格式
- sql - 如何在 SQL 中更新时间以匹配两个日期时间之间定义的平均时间?
- php - 使用 BaseController 检查字段
- c# - Dapper 和大于 decimal.MaxValue 的值
- html - 从 url 下载 html 并将 tem 保存在文件夹中
- excel - 在 Z 列之后不复制数据
- scala - scala play 项目 - Kamon 的问题
- c# - HPC Pack 2019 - C# 调度程序类无法连接到“localhost”
- amazon-web-services - 如果它安装在我的 EC2 虚拟机上,我可以在 docker 容器中使用亚马逊 ecr 凭证助手吗?