我有一個這樣的矩陣
h_diag = np.array([[1,0,1], [0,0,0], [1,0,1]])
array([[1, 0, 1],
[0, 0, 0],
[1, 0, 1]])
我想要一個大小相等的矩陣,其中每個元素代表它有多少個相鄰的數字。對于上述矩陣(垂直和水平),它將是
array([[3, 5, 3],
[5, 8, 5],
[3, 5, 3]])
uj5u.com熱心網友回復:
@jaghana 建議的實施
x = np.array([[1,0,1], [0,0,0], [1,0,1]])
y = np.full_like(x, fill_value=8, dtype=int)
y[:, (0, -1)] = y[(0, -1), :] = 5 # edges = 5
y[(0, 0, -1, -1), (0, -1, 0, -1)] = 3 # corners=3
array([[3, 5, 3],
[5, 8, 5],
[3, 5, 3]])
uj5u.com熱心網友回復:
邏輯是,無論矩陣是什么,您都會得到所有四個角,如 3,邊為 5,邊內的剩余元素為 8
if 4X4 ,
3 5 5 3
5 8 8 5
5 8 8 5
3 5 5 3
if 5X4
3 5 5 5 3
5 8 8 8 5
5 8 8 8 5
3 5 5 5 3
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/488936.html
