当前位置: 首页 > news >正文

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

 

http://www.rkmt.cn/news/152916.html

相关文章:

  • CentOS 7 下离线安装RabbitMQ教程
  • 2025年终宜昌亲子旅游路线推荐:聚焦寓教于乐场景的亲子游路线盘点 - 品牌推荐
  • 2025化工行业节能造粒机推荐:造粒机 - 优质品牌商家
  • 仙剑奇侠传6
  • 2025年电子半导体工厂环保系统建设合作方选择指南 - 品牌2025
  • 2025 Deepseek 知识库部署服务商全景图谱:AI 知识库部署方案商选型,企业知识库落地路径全覆盖 - 品牌2026
  • 2025年终宜昌旅游项目推荐:基于用户真实评价与实测体验的TOP3盘点。 - 品牌推荐
  • thinkPHP配置邮箱发送邮件、验证码
  • 2025期刊发表星级服务TOP5口碑推荐:期刊发表服务选择哪家好 - mypinpai
  • 告别“裸奔”代码:用 Pydantic 让你的 Python 数据固若金汤
  • 2025浮动连接器十大知名品牌高速连接器公司实力排行榜 - 工业推荐榜
  • 2025 GEO优化服务商优选指南:以全域精准触达兑现商业增长价值 - 品牌推荐排行榜
  • 2025 GEO优化服务商甄选指南:从技术深耕到商业实效的精准破局 - 品牌推荐排行榜
  • 2025冷库厂家推荐 全国范围调研精选(产能规模研发实力服务覆盖) - 爱采购寻源宝典
  • 2025 GEO优化工具选型核心:从技术适配到价值兑现的全维度指南 - 品牌推荐排行榜
  • 你还在手动处理质谱数据?Open-AutoGLM最新地址释放全自动分析潜能
  • (Arxiv-2025)MAGREF:用于任意参考视频生成的掩码引导与主体解耦 - 教程
  • 2025人体工学椅怎么选?十大品牌深度解析,告别久坐疲劳 - 品牌推荐排行榜
  • 2025 GEO优化工具选型指南:以精准占位解锁全球AI搜索效能 - 品牌推荐排行榜
  • Open-AutoGLM+AI芯片融合趋势前瞻:未来3年将淘汰80%传统部署方式?
  • ApiPost
  • Docker Compose
  • 一物一码平台怎么选?深度解析一物一码平台的差异与适配之道 - 品牌智鉴榜
  • 【智谱清言Open-AutoGLM使用秘诀】:掌握5大核心技巧,快速提升AI开发效率
  • EasyGBS施工现场全方位视频监控解决方案
  • Open-AutoGLM为何如此强大?一文看懂其背后3大核心原理
  • 程序员如何用 90 天实现转行黑客(网络安全)的目标?
  • Echarts鼠标悬浮,对应圆点高亮样式设置
  • 参数GPU Write Total Bandwidth的含义是什么,导致其值过高的因素有哪些
  • 2025年抽沙船厂家实力推荐榜:绞吸式挖泥船/多功能作业船/取水浮船源头厂家精选 - 品牌推荐官