我有非常稀疏的矩阵,因此我想提取具有非零值的最小矩形区域。我知道numpy.nonzero(a)可以给出非零元素的索引,但是如何使用它来提取包含这些索引处矩阵元素的子矩阵呢?
举个例子,这就是我的目标:
有人知道在numpy中简单实现这个的方法吗?谢谢。
举个例子,这就是我的目标:
>>> test
array([[0, 0, 0, 0, 0, 0],
[0, 1, 1, 1, 1, 0],
[0, 0, 1, 1, 0, 0]])
>>> np.nonzero(test)
(array([1, 1, 1, 1, 2, 2]), array([1, 2, 3, 4, 2, 3]))
>>> submatrix(test)
array([[1, 1, 1, 1],
[0, 1, 1, 0]])
有人知道在numpy中简单实现这个的方法吗?谢谢。