一、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/n/330176.html