python - Python如何在numpy数组中查找第一个重复项
问题描述
当我希望在数组中找到第一个重复项时遇到了问题。
例如:
array = [a, b, c, b, b, a, c, a]
returns: [True, True, True, False, False, False, False, False]
我曾尝试使用 np.unique 函数,但它要么返回唯一值,要么返回唯一值的索引。
有没有能够做到这一点的功能?
解决方案
你有一个很好的方法np.unique
。与return_index
您需要的信息一起返回。
我扩充了您的示例,以表明这通常与唯一值的位置无关。
array = np.array(['a', 'b', 'c', 'b', 'b', 'a', 'c', 'd', 'a'])
_, i = np.unique(array, return_index=True)
res = np.zeros_like(array, dtype=bool)
res[i] = True
print(res)
出去:
[ True True True False False False False True False]
推荐阅读
- svg - SVG
用脚本改变所有 - javascript - 无法读取 null 的属性“cloneNode”,但当脚本在 HTML 上时有效
- javascript - JSP获取输入值
- php - 如何为 travis 构建测试创建作曲家
- excel - CopyFromRecordset 到 Excel 仅复制数字
- javascript - 使用 VueJS 和 Skeleton CSS 在 3 个项目迭代后创建新行
- mysql - 如何将此日期/时间值插入日期时间字段
- angular-cli - Angular 2 框架的 DHTMLX 甘特图使用给出了错误
- python - 自定义 django 管理员
- sql - SQL Server 为每一行创建一个具有随机数的临时表