Python_AI库 Numpy常用的统计函数介绍
本文默认读者具备以下技能:
- 熟悉python基础知识,vscode或其它编辑工具
- 熟悉表格文件的基本操作
- 具备基本的高等数学常识,能看得懂矩阵运算
- 具备自主扩展学习能力
本文涉及的函数主要包含:
-
np.sum(arr)
: 计算数组arr
中所有元素的和。 -
np.mean(arr)
: 计算数组arr
中所有元素的平均值。 -
np.median(arr)
: 计算数组arr
的中位数,即将数组元素排序后位于中间的数(如果数组元素个数为奇数),或中间两个数的平均值(如果为偶数)。 -
np.max(arr)
: 找出数组arr
中的最大值。 -
np.ptp(arr)
: 计算数组arr
中最大值与最小值之差,即峰值到峰值(Peak to Peak)。 -
np.std(arr)
: 计算数组arr
的标准差,标准差是方差的平方根,用于衡量数据集中数值的离散程度。
涉及以上知识点的实例完整代码如下:
import numpy as np
# 创建一个二维数组
arr_2d = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 使用sum函数计算二维数组所有元素的和
sum_of_elements = np.sum(arr_2d)
print(f"二维数组所有元素的和: {sum_of_elements}")
# 使用mean函数计算二维数组所有元素的平均值
mean_of_elements = np.mean(arr_2d)
print(f"二维数组所有元素的平均值: {mean_of_elements}")
# 使用np.median函数计算二维数组所有元素的中位数
median_of_elements = np.median(arr_2d)
print(f"二维数组所有元素的中位数: {median_of_elements}")
# 使用max函数找出二维数组中的最大值
max_of_elements = np.max(arr_2d)
print(f"二维数组中的最大值: {max_of_elements}")
# 使用np.ptp函数计算二维数组中的峰值到峰值(最大值与最小值之差)
ptp_of_elements = np.ptp(arr_2d)
print(f"二维数组的峰值到峰值: {ptp_of_elements}")
# 使用std函数计算二维数组的标准差
std_of_elements = np.std(arr_2d)
print(f"二维数组的标准差: {std_of_elements}")
# 如果想要沿着某个轴(如行或列)来计算统计量,可以使用axis参数
# 沿着axis=0(列)计算每列的和
sum_per_column = np.sum(arr_2d, axis=0)
print(f"每列的和: {sum_per_column}")
# 沿着axis=1(行)计算每行的平均值
mean_per_row = np.mean(arr_2d, axis=1)
print(f"每行的平均值: {mean_per_row}")
# 沿着axis=0计算每列的中位数
median_per_column = np.median(arr_2d, axis=0)
print(f"每列的中位数: {median_per_column}")
# 沿着axis=1找出每行的最大值
max_per_row = np.max(arr_2d, axis=1)
print(f"每行的最大值: {max_per_row}")
# 沿着axis=0计算每列的峰值到峰值
ptp_per_column = np.ptp(arr_2d, axis=0)
print(f"每列的峰值到峰值: {ptp_per_column}")
# 沿着axis=1计算每行的标准差
std_per_row = np.std(arr_2d, axis=1)
print(f"每行的标准差: {std_per_row}")
运行上述代码,你将看到如下输出:
二维数组所有元素的和: 45
二维数组所有元素的平均值: 5.0
二维数组所有元素的中位数: 5.0
二维数组中的最大值: 9
二维数组的峰值到峰值: 8
二维数组的标准差: 2.872281323006733
每列的和: [12 15 18]
每行的平均值: [2. 5. 8.]
每列的中位数: [2. 5. 8.]
每行的最大值: [3 6 9]
每列的峰值到峰值: [2 2 2]
每行的标准差: [0.81649658 0.81649658 0.81649658]
在二维数组的情况下,使用axis
参数来指定沿着哪个轴(行或列)计算统计量。
默认情况下,如果不指定axis
参数,函数会计算整个数组的统计量。在这个例子中,我展示了如何沿着axis=0
(即沿着列)和axis=1
(即沿着行)来计算各种统计量。
这些函数在处理多维数组时非常有用,因为它们允许你按照不同维度来聚合数据并获取有关数据的统计信息。