我想提取多個子矩陣,如果我的稀疏矩陣具有非零值的多個區域。在Python中提取多個子矩陣
例如, 說我有下面的矩陣:
x = np.array([0,0,0,0,0,0],
[0,1,1,0,0,0],
[0,1,1,0,0,1],
[0,0,0,0,1,1],
[0,0,0,0,1,0])
然後我需要能夠具有非零值來提取的區域,即
x_1 = [[1,1]
[1,1]]
和
x_2 = [[0,1],
[1,1],
[1,0]]
我一直在使用np.where()來查找非零值和returni的索引這個區域只有一個子矩陣,但是我怎樣才能將它擴展到我的稀疏矩陣中所有可能的子區域?
謝謝!
謝謝你,但我得到一個錯誤與全局定義: NameError:全局名稱「水庫」沒有定義 – alvarezcl 2014-11-30 20:16:26
這也似乎並不奏效任何兩個子矩陣的一般情況。 – alvarezcl 2014-11-30 21:13:46
@alvarezcl,你需要首先在主函數中定義'res = []'。我已經上傳了實際的完整代碼。嘗試一下。此外,它適用於任何兩個子矩陣的情況。我已經在很多情況下首先進行了測試。 – 2014-12-01 04:30:37