2
我有一些代碼設置,需要檢查很多不同的情況,比如:如何有效檢查多個條件並在其中分配不同的ID?
cond = np.zeros_like(matrix1)
ids = np.where(matrix1 == value1)
cond[ids] = 1
ids2 = np.where(matrix2 == value2)
cond[ids2] = 2
...
idsn = np.where(matrixn == valuen)
cond[idsn] = n
我不知道是否有這樣做的更簡單的方法。一般來說,條件彼此不相關。我應該提到一些矩陣可能被重用(即條件5正在檢查矩陣2的某些事物),並且一些條件可能比「矩陣等於數字」更復雜。我正在尋找類似的東西:
for j, condition in enumerate(condition_list):
ids = np.where(condition)
cond[ids] = j
我不確定我是否理解您提出的解決方案會出現什麼問題。你想要更優雅或靈活的東西嗎?對於不同的對象類型可能健壯? –
列表中的矩陣和值是什麼?如果不是,我建議你把它們放在一個。 – pzp
@ zom-pro,我絕對尋找更優雅的東西。現在,這佔用了大約40行代碼,看起來很難看,而且之前我發現了一個錯字,因爲我錯誤地輸入了其中一個條件。 –