【发布时间】:2020-04-09 13:38:28
【问题描述】:
我有以下数据:
data = np.array([[1, 0,-1, 0, 0, 1, 0,-1, 0, 0, 1],
[1, 1, 0, 0,-1, 0, 1, 0, 0,-1, 0],
[1, 0, 0, 1, 0, 0,-1, 0, 1, 0, 0],
[0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0]])
我想计算每行中有多少0,计数是每个相邻的0。
我希望的结果是这样的新数组:
[[1 2 1 2]
[2 1 2 1]
[2 2 1 2]
[2 5 2]]
我想搜索 2 1 2 模式比率(也在每一行中)有一定的公差(如果数字略有偏差)并将 1 的坐标保存在模式中。
所以,我会找到212,或424,或636,或9 5 10(容忍)等
预期结果:
[[0,6],[1,5],[2,7]]
那些是data数组的212模式中每个1的位置
我已尝试使用以下代码:
np.unique(data, return_counts=True, axis=1)
我对此进行了摆弄,结果并不像我预期的那样。这是用于图像处理的,数据量很大
【问题讨论】:
-
如果连续有多个
2 1 2模式,您希望如何捕获这些索引?如果连续有重叠的2 1 2(例如2 1 2 1 2 1 2 1 2)模式,您希望如何捕获这些索引? -
@wwii 这不会发生在我的数据中
-
...查看我的编辑 - 它应该符合。
-
您的示例数据有 11 列 - 真实 数据是否只有 11 列?