條件邏輯運算
numpy使用where函數實現數組的條件選擇和替換
where(cond, arr1, arr2) cond中元素為真時,返回arr1數組中元素,否則返回arr2數組中元素
<code>arr1 = np.array([1, 2, 3, 4])
arr2 = np.array([5, 6, 7, 8])
cond = np.array([True, False, False, True])
rssult = np.where(cond, arr1, arr2)
# arr1=[1, 2, 3, 4]
# arr2=[5, 6, 7, 8]
# cond=True, False, False, True[]/<code>
條件替換
<code>arr = np.random.randn(4, 4)
result = np.where(arr>0, 1, -1)/<code>
- 當arr中的元素大於1時,用1替換,小於等於0時,用-1替換,返回數組只有1和-1兩個元素
where多條件判斷
where(cond1, value1, where(cond2, value2, value3))。cond1中元素為真時,返回value1 ,為假時判斷cond2,若cond2為真返回value2,為假返回value3
<code>arr = np.random.randn(4, 4)
result = np.where(arr>10, 1, np.where(arr>5, 2, 0))/<code>
閱讀更多 出水菱角 的文章