Python numpy 聚合函数

在 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 Aggregate Functions

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 NumPy sum 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 sum 2

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 average

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 prod

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 NumPy min Example

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))
Python array minimum 1

这次我们在随机生成的 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 array minimum 2

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 max Example

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))
Python Array maximum 1

这次我们生成了两个 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 Array maximum 2

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 mean Example

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 median Example

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 var Example

Python numpy std

Python numpy std 函数返回给定数组或给定轴的标准差。其背后的公式是方差的 numpy 数组平方根。

arr1.std()
arr2.std()
arr3.std()

x.std()
y.std()
Python NumPy std Example

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 cumsum Example

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 cumprod Example

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 percentile  Example

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 argmin Example

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 argmax Example

Python numpy corrcoef

Python numpy corrcoef 函数查找并返回数组的相关系数。 

np.corrcoef(arr1)
np.corrcoef(arr2)
np.corrcoef(arr3)
 
np.corrcoef(x)
np.corrcoef(y)
Python NumPy corrcoef Example