一、np.maximum.reduce函數
np.maximum.reduce函數表示對於給定的一組數據,通過將每個值與後面的值進行比較,返回數組中的最大值。
import numpy as np a = np.array([3, 2, 7, 5, 9]) result = np.maximum.reduce(a) print(result)
該代碼的輸出結果為:“9”,因為在數組a中,9是最大的數。
值得注意的是,np.maximum.reduce函數並不會改變原始數據,而是返回一個新的最大值。同時,np.maximum.reduce函數也可以在多維數組中使用,即可以返回每一列、每一行或整個數組中的最大值。
二、np.maximum函數
np.maximum函數接受兩個參數,分別為x和y,返回這兩個參數中的最大值。當x和y都是數組時,他們的形狀必須相同。
import numpy as np x = np.array([1, 3, 5, 7]) y = np.array([2, 4, 6, 8]) result = np.maximum(x, y) print(result)
該代碼的輸出結果為[2,4,6,8],對於x和y中的每個位置,都返回它們的最大值。
同時,np.maximum函數也支持將一個標量值與數組進行比較:
import numpy as np x = 5 y = np.array([3, 7, 9, 2]) result = np.maximum(x, y) print(result)
該代碼的輸出結果為[5,7,9,5],因為在y數組中,2的值小於x的值5,所以y數組中的第四個元素被替換為5。
三、np.maximum.at函數
np.maximum.at函數可以將兩個數組的最大值分別賦值到第一個數組中。它接受兩個參數,分別為arr和indices,其中indices是一個元素為整數的列表,用於指定arr中將要賦值的位置。如下面的例子所示:
import numpy as np arr = np.zeros(10) indices = [0, 1, 2, 3, 5] value = 5 np.maximum.at(arr, indices, value) print(arr)
該代碼的輸出結果為[5,5,5,5,0,5,0,0,0,0]。在這個例子中,np.maximum.at函數將value的值5分別賦值到了arr數組的第1,2,3,4,6個位置中。
四、np.maximum.reduceat函數
np.maximum.reduceat函數是一個有些複雜的函數,他可以讓我們在數組中切分成不同的塊,並對每個塊應用np.maximum.reduce函數,最終得到一個新的數據集。
import numpy as np a = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9]) indices = [0, 4, 5, 8] result = np.maximum.reduceat(a, indices) print(result)
該代碼的輸出結果為[4,6,9,9]。可以看出,np.maximum.reduceat函數先將a數組劃分為四個塊:[1,2,3,4]、[5]、[6,7,8]、[9],並分別對每個塊應用np.maximum.reduce函數。
總結
通過這篇文章,我們對np.maximum函數有了更加清晰和深入的認識。np.maximum.reduce函數是對於給定數組中的所有元素,通過不斷對比返回最大值。np.maximum函數是比較兩個數組或者一個數組和標量值,並返回它們的最大值。同時,np.maximum.at函數可以將兩個數組的最大值分別賦值到第一個數組中,而np.maximum.reduceat函數可以將一個數組切分成不同的塊,並對每個塊應用np.maximum.reduce函數,最終得到一個新的數據集。
原創文章,作者:FPCKR,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/330176.html