14 NumPy数组运算之数组的统计函数

在上一章中,我们学习了如何进行NumPy数组的基本运算,包括数组之间的加法、减法、乘法和除法等运算。在本章中,我们将深入探讨NumPy中的统计函数,这些函数可以帮助我们快速地从数组中提取出有用的统计信息。

1. 基本统计函数

NumPy提供了一系列强大的统计函数,帮助我们计算数组的常见统计量。以下是一些基本的统计函数:

  • np.sum(): 计算数组元素的和
  • np.mean(): 计算数组元素的均值
  • np.median(): 计算数组元素的中位数
  • np.std(): 计算数组的标准差
  • np.var(): 计算数组的方差
  • np.min(): 找出数组的最小值
  • np.max(): 找出数组的最大值
  • np.percentile(): 计算指定百分位的值

1.1 示例代码

让我们使用一些代码示例来展示这些统计函数的用法:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
import numpy as np

# 创建一个随机数组
data = np.array([1, 2, 3, 4, 5, 6, 7, 8, 9, 10])

# 计算基本统计量
total = np.sum(data)
mean = np.mean(data)
median = np.median(data)
std_dev = np.std(data)
variance = np.var(data)
minimum = np.min(data)
maximum = np.max(data)
percentile_50 = np.percentile(data, 50)

# 输出统计量
print("总和:", total)
print("均值:", mean)
print("中位数:", median)
print("标准差:", std_dev)
print("方差:", variance)
print("最小值:", minimum)
print("最大值:", maximum)
print("第50百分位数:", percentile_50)

输出结果:

1
2
3
4
5
6
7
8
总和: 55
均值: 5.5
中位数: 5.5
标准差: 2.8722813232690143
方差: 8.25
最小值: 1
最大值: 10
第50百分位数: 5.5

2. 指定维度的统计计算

当我们处理多维数组时,我们可以使用参数axis来指定计算的维度。对于二维数组,axis=0表示沿着列方向计算,axis=1表示沿着行方向计算。

2.1 示例代码

我们来看看如何在二维数组上使用统计函数:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# 创建一个二维数组
data_2d = np.array([[1, 2, 3], [4, 5, 6], [7, 8, 9]])

# 计算沿着列的统计量
column_sum = np.sum(data_2d, axis=0)
column_mean = np.mean(data_2d, axis=0)

# 计算沿着行的统计量
row_sum = np.sum(data_2d, axis=1)
row_mean = np.mean(data_2d, axis=1)

# 输出结果
print("列总和:", column_sum)
print("列均值:", column_mean)
print("行总和:", row_sum)
print("行均值:", row_mean)

输出结果:

1
2
3
4
列总和: [12 15 18]
列均值: [4. 5. 6.]
行总和: [ 6 15 24]
行均值: [2. 5. 8.]

3. 统计函数的实际应用

统计函数在数据分析和科学计算中具有广泛的应用。比如,在进行数据预处理时,我们可以通过计算均值和标准差来对数据进行归一化处理。此外,还可以利用中位数来识别和处理异常值。

3.1 示例代码

以下是一个对数据进行归一化处理的示例:

1
2
3
4
5
6
7
8
9
10
11
12
# 生成一个随机数组
data_random = np.random.randn(100) # 生成100个标准正态分布随机数

# 计算均值和标准差
mean_random = np.mean(data_random)
std_dev_random = np.std(data_random)

# 对数据进行标准化处理
normalized_data = (data_random - mean_random) / std_dev_random

# 输出归一化后的数据
print("归一化后的数据:", normalized_data)

在这个示例中,我们生成了一组随机数,并计算它们的均值和标准差。通过从原始数据中减去均值并除以标准差,我们得到了归一化后的数据,这对于后续的分析是非常重要的。

4. 小结

在本章中,我们探讨了NumPy中常用的统计函数及其在一维和二维数组上的应用。掌握这些统计函数可以使我们在数据分析过程中更加高效。在下一章中,我们将会学习数组的广播机制,以及它如何帮助我们进行更复杂的数组运算。

希望本章的内容能帮助你更好地理解NumPy的统计功能,使你在数据处理中游刃有余!

14 NumPy数组运算之数组的统计函数

https://zglg.work/numpy-zero/14/

作者

AI免费学习网(郭震)

发布于

2024-08-10

更新于

2024-08-10

许可协议

分享转发

交流

更多教程加公众号

更多教程加公众号

加入星球获取PDF

加入星球获取PDF

打卡评论