一、NumPy简介
NumPy,全称Numerical Python,是基于Python语言的一个拥有强大数学计算能力的库。主要用于数组数据的处理,例如科学计算,数据分析等领域。NumPy支持高效的数组操作,可以与其他科学计算和数据处理库配合使用,例如Scipy、pandas等。
NumPy还包含一些线性代数和随机数生成函数。除了NumPy之外,Python的数学计算库还有NumPy的升级版NumPy 2、TensorFlow等。
二、NumPy 1.20.1新特性
NumPy 1.20.1是2021年1月发布的新版本,该版本包含数千个功能改进和bug修复,其中一些重要的特性包括:
- 提高数组、矩阵、向量和标量的算术性能
- 增加dtype取反和~的支持
- 新增了不少函数
- 提高了内存和性能
三、NumPy基础操作
NumPy的主要功能是创建和操作数组。可以使用一下代码创建一维和二维数组:
import numpy as np # 创建一维数组 a1 = np.array([1, 2, 3]) # 创建二维数组 a2 = np.array([[1, 2, 3], [4, 5, 6]])
可以使用以下代码访问数组的形状、元素个数和尺寸:
print(a1.shape) # 输出 (3,) print(a1.size) # 输出 3 print(a1.ndim) # 输出 1 print(a2.shape) # 输出 (2, 3) print(a2.size) # 输出 6 print(a2.ndim) # 输出 2
四、数组操作
数组操作是NumPy的高级特性之一,可以对数组进行排序、筛选、索引和切片等处理。以下是对数组进行排序并取最大值和最小值的代码示例:
arr = np.array([3, 2, 8, 4, 6, 5]) # 排序并取最大值和最小值 print("Sorted array: ", np.sort(arr)) print("Maximum value: ", np.max(arr)) print("Minimum value: ", np.min(arr))
五、矩阵计算
NumPy不仅支持数组操作,还支持矩阵计算,以下是实现矩阵加法的代码示例:
matrix1 = np.array([[1, 2], [3, 4]]) matrix2 = np.array([[5, 6], [7, 8]]) # 矩阵加法 matrix_sum = np.add(matrix1, matrix2) print(matrix_sum)
六、随机数生成
NumPy还提供了各种随机数生成函数,可以用于模拟实验和数据分析。以下是生成随机整数和正态分布随机数的代码示例:
# 生成5个0-9之间的随机整数 r = np.random.randint(0, 10, 5) print(r) # 生成20个均值为1,标准差为0.1的正态分布随机数 mu, sigma = 1, 0.1 s = np.random.normal(mu, sigma, 20) print(s)
七、使用NumPy进行数据分析
NumPy不仅可以用于科学计算,还可以用于数据分析。以下是对一组体重数据进行分析的代码示例:
weights = np.array([60, 70, 80, 85, 90, 75, 72, 68, 93, 100]) mean_weight = np.mean(weights) # 平均体重 median_weight = np.median(weights) # 中位数 std_weight = np.std(weights) # 标准差 print("Mean weight: ", mean_weight) print("Median weight: ", median_weight) print("Standard deviation: ", std_weight)
八、总结
NumPy是Python语言中最流行的科学计算库之一,为计算和处理大型多维数组提供了高效的解决方案。NumPy 1.20.1版本增加了许多新的特性和改进,使得它更加易用和高效。它适用于数据分析、计算机视觉、自然语言处理、信号处理、机器学习和深度学习等领域,成为了进行科学计算和数据分析不可或缺的工具。