如何正確屏蔽兩個 NumPy 陣列?例如,我想找到pe不等于的值255。我還希望我想要的輸出陣列的大小與pdand相同pe,即,(7, 7)并用0's.
實作這一目標的最有效方法是什么?
import numpy as np
pd = np.random.randint(254,256, size=(7,7))
pe = np.random.randint(0,7, size=(7,7))
期望的輸出
[[6 6 0 0 6 6 1]
[2 6 1 1 5 6 3]
[3 4 6 6 3 5 6]
[3 5 0 3 2 0 0]
[0 3 6 1 3 6 1]
[6 3 4 1 0 3 1]
[6 0 4 2 2 6 4]]
非常感謝
uj5u.com熱心網友回復:
邏輯索引似乎是所有選項中最簡單的。
import numpy as np
pd = np.random.randint(254,256, size=(7,7))
pe = np.random.randint(0,7, size=(7,7))
pe[pd == 255] = 0
[[3 6 0 2 0 0 0]
[0 3 4 5 2 0 5]
[0 0 6 0 1 0 5]
[0 3 0 4 0 6 0]
[2 0 0 0 0 0 0]
[2 0 4 0 0 0 5]
[0 0 3 0 2 4 0]]
根據您的資料大小,您可以嘗試其他選項:
pe = np.where(pd == 255, 0, pe)
# OR
pe = pe * (pd == 255)
但我想索引仍然簡單快速。
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/487619.html
