[英]Python Numpy Matrix Operations - matrix[a==b]?
我一直在嘗試創建一個分水嶺算法,並且所有示例似乎都在Python中,因此我碰到了一堵牆。 我一直試圖在numpy文檔中找到這行的含義:
matrixVariable[A==255] = 0
但沒有運氣。 誰能解釋該操作的作用?
對於上下文,該行在label [lbl == -1] = 0
: label [lbl == -1] = 0
表達式A == 255
創建一個布爾數組,該數組為True
,其中A中x == 255,否則為False
。
表達式matrixVariable[A==255] = 0
將與A == 255中的True
值相對應的每個索引設置為0。
例如:
import numpy as np
A = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])
B = np.zeros([3, 3])
print('before:')
print(B)
B[A>5] = 5
print('after:')
print(B)
出:
[[ 0. 0. 0.]
[ 0. 0. 0.]
[ 0. 0. 0.]]
after:
[[ 0. 0. 0.]
[ 0. 0. 5.]
[ 5. 5. 5.]]
我假設matrixVariable和A是numpy數組。 如果假設正確,則“ matrixVariable [A == 255] = 0”表達式首先獲取數組A的索引,其中A的值等於255,然后獲取這些索引的matrixVariable值並將其設置為“ 0”
例:
import numpy as np
matrixVariable = np.array([(1, 3),
(2, 2),
(3,1)])
A = np.array([255, 1,255])
所以A [0]和A [2]等於255
matrixVariable[A==255]=0 #then sets matrixVariable[0] and matrixVariable[2] to zero
print(matrixVariable) # this would print
[[0 0]
[2 2]
[0 0]]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.