在 Python numpy 模块中,我们有许多聚合函数或统计函数用于处理一维或多维数组。Python numpy 聚合函数包括 sum、min、max、mean、average、product、median、standard deviation、variance、argmin、argmax、percentile、cumprod、cumsum 和 corrcoef。
为了演示这些 Python numpy 聚合函数,我们使用下面显示的数组。
import numpy as np arr1 = np.array([10, 20, 30, 40, 50]) arr1 arr2 = np.array([[0, 10, 20], [30, 40, 50], [60, 70, 80]]) arr2 arr3 = np.array([[14, 6, 9, -12, 19, 72],[-9, 8, 22, 0, 99, -11]]) arr3

Python numpy 聚合函数示例
可用的 Python numpy 聚合函数列表,并附有每个函数的示例。
Python numpy sum
Python numpy sum 函数计算数组中值的总和。
arr1.sum() arr2.sum() arr3.sum()
此 Python numpy sum 函数允许您使用一个可选参数,称为 axis。此 Python numpy 聚合函数有助于计算给定轴的总和。例如,axis = 0 返回 NumPy 数组中每列的 总和。
arr2.sum(axis = 0) arr3.sum(axis = 0)
axis = 1 返回数组中每行的总和
arr2.sum(axis = 1) arr3.sum(axis = 1)

您不必在那些 Python 数组 sum 括号中使用此 axis 名称。我的意思是,arr2.sum(axis = 1) 与 arr2.sum(1) 相同。
arr2.sum(0) arr2.sum(1) arr3.sum(0) arr3.sum(1)

Python numpy average
Python numpy average 函数返回给定数组的平均值。
np.average(arr1) np.average(arr2) np.average(arr3)
X 和 Y 轴的平均值
np.average(arr2, axis = 0) np.average(arr2, axis = 1)
计算 numpy 数组平均值而不使用 axis 名称。
np.average(arr3, 0) np.average(arr3, 1)

Python numpy prod
Python numpy prod 函数查找给定数组中所有元素的乘积。此 numpy prod 函数对空数组返回 1。
np.prod([]) np.prod(arr1) np.prod(arr2) # any number multiply by zero gives zero
这次我们使用的是一个二维数组。
x = np.array([[1, 2, 3], [4, 5, 6]]) np.prod(x) y = np.random.randint(1, 10, size = (5, 5)) np.prod(y)
接下来,我们想分别计算 X 轴和 Y 轴上所有数字的乘积。
np.prod(x, axis = 0) np.prod(x, axis = 1) np.prod(y, axis = 0) np.prod(y, axis = 1)
查找 numpy 数组乘积而不使用 axis 名称。
np.prod(x, 1) np.prod(y, 1)

Python numpy min
Python numpy min 函数返回数组或给定轴中的最小值。
arr1.min() arr2.min() arr3.min()
我们使用 min 函数查找 X 和 Y 轴上的 numpy 数组最小值。
arr2.min(axis = 0) arr2.min(axis = 1) arr3.min(0) arr3.min(1)

Python Array minimum
与 min 函数不同,此 Python 数组 minimum 函数接受两个数组。接下来,numpy 数组 minimum 对一个数组中的每个数组项进行一对一比较,并返回一个最小值数组。
import numpy as np
a = np.array([1, 20, 5, 22, 8, 15])
print(a)
b = np.array([12, 9, 3, 42, 6, 33])
print(b)
print('\n-----Minimum Array----')
print(np.minimum(a, b))

这次我们在随机生成的 5x5 矩阵上应用 Python 数组 minimum 函数。
import numpy as np
x = np.random.randint(1, 10, size = (5, 5))
print(x)
print()
y = np.random.randint(1, 10, size = (5, 5))
print(y)
print('\n-----Minimum Array----')
print(np.minimum(x, y))

Python numpy max
Python numpy max 函数返回给定数组或给定轴中的最大值。
arr1.max() arr2.max() arr3.max()
使用 numpy max 函数查找 X 和 Y 轴上的最大值。
arr2.max(axis = 0) arr2.max(axis = 1) arr3.max(0) arr3.max(1)

Python numpy Array maximum
与 max 函数不同,此 Python numpy array maximum 函数接受两个数组作为参数。接下来,此函数以一对一的方式比较每个数组项与其他数组项,并返回一个最大值数组。
import numpy as np
a = np.array([1, 20, 5, 22, 8, 15])
print(a)
b = np.array([12, 9, 3, 42, 6, 33])
print(b)
print('\n-----Maximum Array----')
print(np.maximum(a, b))

这次我们生成了两个 5x5 的随机数矩阵。接下来,我们在它们上使用了此 Python 数组 maximum 函数。
import numpy as np
x = np.random.randint(1, 10, size = (5, 5))
print(x)
print()
y = np.random.randint(1, 10, size = (5, 5))
print(y)
print('\n-----Maximum Array----')
print(np.maximum(x, y))

Python numpy mean
Python numpy mean 函数返回给定数组或给定轴的平均值。此 numpy mean 的数学公式是:数组中所有项的总和 / 数组总元素数。
arr1.mean() arr2.mean() arr3.mean()
X 和 Y 轴(或每行和每列)的平均值
arr2.mean(axis = 0) arr2.mean(axis = 1)
我们正在计算 numpy 数组的平均值而不使用 axis 名称。
arr3.mean(0) arr3.mean(1)

Python numpy median
Python numpy median 函数返回数组或轴的中位数。
np.median(arr1) np.median(arr2) np.median(arr3) # Median of x and Y axis np.median(arr2, axis = 0) np.median(arr2, axis = 1) # Find median with axis number. np.median(arr3, 0) np.median(arr3, 1)

Python numpy var function
Python numpy var 函数返回给定数组或给定轴的方差。此 Python numpy var 的公式是:(item1 – mean)2 + …(itemN – mean)2 / 总项数
arr1.var() arr2.var() arr3.var() x.var() y.var()

Python numpy std
Python numpy std 函数返回给定数组或给定轴的标准差。其背后的公式是方差的 numpy 数组平方根。
arr1.std() arr2.std() arr3.std() x.std() y.std()

Python numpy cumsum
Python numpy cumsum 函数返回给定数组或给定轴的累积和。
arr1.cumsum() arr2.cumsum() arr3.cumsum()
查找 X 和 Y 轴的累积和
arr2.cumsum(axis = 0) arr2.cumsum(axis = 1) # Cumulative Sum of an array by axis without using the axis name. arr3.cumsum(0) arr3.cumsum(1)

Python numpy cumprod
Python numpy cumprod 函数返回给定数组或给定轴的累积乘积。
arr1.cumprod() arr2.cumprod() arr3.cumprod() # Let me find the cumulative product of array elements in x and Y axis arr2.cumprod(axis = 0) arr2.cumprod(axis = 1)
我们正在通过 axis 查找第三个数组的累积乘积,而不使用 axis 名称。
arr3.cumprod(0) arr3.cumprod(1)

Python numpy percentile
Python numpy percentile 函数根据给定的值查找数组或轴的百分位数。
np.percentile(arr1, 10) np.percentile(arr1, 30) np.percentile(arr1, 50) np.percentile(arr1, 75) np.percentile(arr1, 100) np.percentile(arr2, 50) np.percentile(arr3, 50) # Let me find the percentile of x and Y axis np.percentile(arr2, 50, axis = 0) np.percentile(arr2, 50, axis = 1) # Cumulative Product of third array by axis without using the axis name. np.percentile(arr3, 75, 0) np.percentile(arr3, 75, 1)

Python numpy argmin
Python numpy argmin 返回给定数组或给定轴中最小值的索引位置。为了演示此 numpy argmin 和 argmax 函数,我们声明了另外两个包含随机值的数组。
arr4 = np.random.randint(9, size = (9)) arr4 arr5 = np.random.randint(25, size = (5, 5)) arr5
接下来,我们在这些数组上使用此 Python numpy argmin 函数。
arr4.argmin() arr5.argmin() arr3.argmin() # Let me find the index position of minimum value in arr5 x and Y axis arr5.argmin(axis = 0) arr5.argmin(axis = 1) # Index of minimum values in third array by axis. arr3.argmin(0) arr3.argmin(1)

Python numpy argmax
Python numpy argmax 返回给定数组或给定轴中最大值的索引位置。这里,我们对 arr3、arr4 和 arr5 使用了 numpy.argmax 函数。
arr4.argmax() arr5.argmax() arr3.argmax()
让我们通过 X 和 Y 轴查找 arr3 和 arr5 中最大值的索引位置。
arr3.argmax(axis = 0) arr3.argmax(axis = 1) # Index of the maximum values in an array arr5 by axis. arr5.argmax(0) arr5.argmax(1)

Python numpy corrcoef
Python numpy corrcoef 函数查找并返回数组的相关系数。
np.corrcoef(arr1) np.corrcoef(arr2) np.corrcoef(arr3) np.corrcoef(x) np.corrcoef(y)
