一個簡單的例子,我有以下幾點:值複製到其他依賴於布爾面具
import numpy as np
a = np.matrix([[0.34, 0.44, 0.21, 0.51]])
a_max = np.matrix([[0.35, 0.40, 0.20, 0.50]])
我想申請一個變換,其中的任何東西,大於a_max,上限爲a_max。我試圖通過這樣做:
a[a>a_max] = a_max[a>a_max]
然而,這將引發一個錯誤:
ValueError: array is not broadcastable to correct shape
什麼是做到這一點的正確方法?忽略我正在做一個簡單的最大限度的事實(我猜測顛簸可能有內建工具來做這個特定的問題)。我真正的問題是使用一組更復雜的布爾值來創建布爾掩碼,然後應該替換替換矩陣中的值。
你執着於與矩陣的工作,或將陣列足夠? (請記住,如果你堅持,你總是可以轉換回來。) – DSM
我更喜歡矩陣,因爲我在矩陣上做了相當多的矩陣數學/線性代數。我想我可以在裝配後進行轉換。 – MarkD