【发布时间】:2017-08-14 21:15:20
【问题描述】:
我正在尝试提出一种算法,用于从 python 中的 2D numpy 数组中提取矩形地址和值。输入看起来像这样:
[[1, 1, 0, 0, 0, 0, 2],
[1, 1, 0, 0, 0, 0, 2],
[0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 3, 3, 3, 0],
[0, 0, 0, 3, 3, 3, 0],
[0, 4, 4, 3, 3, 3, 0],
[0, 0, 0, 0, 0, 0, 3]]
在数组的不同位置有不同的相同数据簇。我正在尝试将其输出为一种格式,该格式由集群起始地址(startY、startX)、集群结束地址(endY、endX)和该集群的值组成,采用矩形格式。所以对于上面的二维数组,一系列的输出值看起来像这样(为了简洁,我已经排除了零值,但它们会包含在输出中):
(0, 0, 1, 1, 1)
(0, 6, 1, 6, 2)
(3, 3, 5, 5, 3)
(5, 1, 5, 2, 4)
(6, 6, 6, 6, 3)
numpy 中是否有一个函数可以做这样的事情?我浏览了文档,似乎找不到任何东西,尽管我承认我对 numpy 很陌生,所以我可能遗漏了一些东西,或者没有将嵌套函数的逻辑放在一起以使过程二维.
谢谢!
【问题讨论】:
-
谢谢!我会检查一下。
标签: python numpy multidimensional-array