python中numpy模块的功能--科学计算工具

Python中使用NumPy库可以极大地简化科学计算和数据处理的工作。

NumPy(Numerical Python)是Python中用于科学计算的核心库,其核心功能围绕‌多维数组(ndarray)‌ 的高效创建、操作和数学运算展开。‌

‌NumPy的核心功能主要包括:‌ 多维数组对象(ndarray)是其基础,支持快速的‌向量算术运算‌和‌广播机制‌(自动处理不同维度数组的运算);提供广泛的数学函数,如‌数组统计‌(求和、均值)、‌线性代数‌(矩阵乘法、求逆)、‌傅里叶变换‌和‌随机数生成‌(包括正态分布等);同时具备‌数据读写工具‌和‌内存映射‌功能,并能集成C/C++或Fortran代码。‌

‌NumPy的常用用法涵盖数组创建、索引、数学运算和实用工具:‌

  • ‌数组创建‌:可通过多种方式生成数组,例如使用 np.array() 从Python列表创建,np.arange() 生成数值范围,np.zeros()/np.ones() 创建指定形状的零或一数组,np.random.random() 生成随机数,以及 np.linspace() 创建等差数列。‌‌
  • ‌索引与切片‌:支持类似列表的索引操作,如 arr 访问第一个元素,arr[1:3] 获取切片,还允许‌布尔索引‌(如 arr[arr > 5])和‌花式索引‌(使用数组作为索引)。‌
  • ‌数学运算‌:支持‌元素级运算‌(如 arr + 2)、‌数组间运算‌(如 arr1 * arr2)以及高级操作如线性代数(np.dot() 点积)和傅里叶变换(np.fft.fft())。‌
  • ‌实用工具‌:包括数组属性查询(如 .shape 获取维度,.dtype 查看类型)和数据处理(如 np.reshape() 改变形状,np.concatenate() 拼接数组)。‌

1. pip install numpy

  import numpy as np

3. 创建数组

NumPy的核心是N维数组对象ndarray。你可以使用多种方法创建数组:

  • 使用np.array()从列表或元组创建数组:
arr = np.array([1, 2, 3, 4, 5]) print(arr)
  • 使用np.zeros()np.ones()创建全0或全1数组:
zeros_arr = np.zeros((3, 3)) ones_arr = np.ones((3, 3)) print(zeros_arr) print(ones_arr)
  • 使用np.empty()创建未初始化的数组(慎用,因为内容未定义):
empty_arr = np.empty((2, 2)) print(empty_arr)
  • 使用np.arange()创建等差数列数组:
arange_arr = np.arange(0, 10, 2) print(arange_arr)
  • 使用np.linspace()创建等差数列数组,可以指定元素数量:
linspace_arr = np.linspace(0, 10, 5) print(linspace_arr)

4. 数组操作

NumPy提供了丰富的数组操作函数:

  • 数组的形状和大小:
print(arr.shape) # 输出数组形状 print(arr.size) # 输出数组元素总数
  • 数组索引和切片:
print(arr[2]) # 访问第三个元素 print(arr[1:4]) # 切片操作,访问第二个到第四个元素(不包括第四个)
  • 数组的数学运算:
arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) print(arr1 + arr2) # 元素级加法 print(arr1 * arr2) # 元素级乘法
  • 广播机制:
arr3 = np.array([[1], [2], [3]]) arr4 = np.array([10, 20, 30]) print(arr3 + arr4) # 广播机制使形状不同的数组可以进行运算

5. 线性代数运算

NumPy的linalg模块提供了线性代数运算功能:

  • 计算逆矩阵:
A = np.array([[1, 2], [3, 4]]) inv_A = np.linalg.inv(A) print(inv_A)
  • 求解线性方程组:
A = np.array([[1, 2], [3, 4]]) b = np.array([5, 6]) x = np.linalg.solve(A, b) print(x)
  • 计算特征值和特征向量:
eigenvalues, eigenvectors = np.linalg.eig(A) print("Eigenvalues:", eigenvalues) print("Eigenvectors:\n", eigenvectors)

6. 数组统计

NumPy还提供了许多统计函数:

arr = np.array([1, 2, 3, 4, 5]) print(np.mean(arr)) # 计算平均值 print(np.std(arr)) # 计算标准差 print(np.max(arr)) # 计算最大值 print(np.min(arr)) # 计算最小值

7. 保存和加载数组

你可以将NumPy数组保存到文件中,并在需要时加载它们:

np.save('my_array.npy', arr) loaded_arr = np.load('my_array.npy') print(loaded_arr)

这些是使用NumPy的一些基本步骤和示例。NumPy库功能强大且灵活,适用于各种科学计算和数据处理任务。

 

参考:https://cloud.tencent.com/developer/article/2407146

 

posted @ 2025-12-25 15:43  konglingbin  阅读(3)  评论(0)    收藏  举报