python-2.7 - 检查一组索引中的行是否重复并重建
问题描述
我有一个二维二进制数组,其中的值只能取 0 和 1。我有一组索引来检查这些索引的二进制矩阵的条目是否重复。我想获得删除重复行的矩阵和一组重复索引。
例如,
>>>> a
array([[1, 0, 1, 0],
[0, 0, 1, 1],
[1, 0, 1, 0],
[0, 0, 1, 1],
[1, 1, 1, 0],
[1, 1, 1, 0],
[1, 1, 1, 0],
[1, 1, 1, 0],
])
我得到一组索引(0,2,3,4,6,7)。从集合中,对应于 (0,2) 和 (4,6,7) 的行是重复的。我想要删除重复项的结果矩阵(如下所示)
>>>> b
array([[1, 0, 1, 0],
[0, 0, 1, 1],
[0, 0, 1, 1],
[1, 1, 1, 0],
[1, 1, 1, 0],
])
以及从“b”重建矩阵“a”的方法
解决方案
感觉就像您可以在更高层次上表达您的问题以获得更优雅的解决方案;但这似乎解决了所述的字面问题。
idx = [0,2,3,4,6,7]
b = np.concatenate([np.unique(a[idx], axis=0), np.delete(a, idx, axis=0)], axis=0)
推荐阅读
- graphql - 是否有适当的模式在 GraphQLUnionType 中混合不同类型?
- javascript - Javascript 调试器(Chrome 和 Webstorm)总是在不存在的断点处中断
- java - 如何在android中使用sqlite VACUUM
- ruby-on-rails - Heroku 管道 CI 在带有 mysql db 的 Rails 应用程序上失败
- r - 使用循环查找一组列中的最小非零值
- java - 我无法将 Netbeans 连接到我的 Xampp(My Sql) 服务器。当我尝试这样做时,它显示“通信失败错误
- excel - 用户可以在验证 Excel 的情况下输入数据
- sql - 修复在 Amazon Redshift 上计算 DAU 和 MAU 时的 MAU 问题
- gulp - Gulp Watch 不连续观看
- java - 没有任何参数的 AWS Lambda