当前位置: 首页 > 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.jsqmd.com/news/139132/

相关文章:

  • 2025湖州中英双语播音培训品牌推荐:影视表演培训、戏剧表演培训、服表培训、木偶表演培训、礼仪文化培训、配音培训、音乐剧表演培训 - 优质品牌商家
  • 北京留学中介靠谱榜单:多维度评估揭晓优质机构核心标准 - 留学品牌推荐官
  • 2025 年知识库部署服务商优选手册:企业知识库部署厂商、AI 知识库方案商,私有化价值落地全解析 - 品牌2026
  • CentOS 7 下离线安装RabbitMQ教程
  • CentOS 7 下离线安装RabbitMQ教程
  • 【Open-AutoGLM配置全解析】:从零搭建高性能AI推理环境的5大核心要求
  • 2025年终两坝一峡旅游线路推荐:聚焦核心体验与服务的3强口碑排名深度盘点。 - 品牌推荐
  • 2025年终宜昌亲子旅游路线推荐:聚焦寓教于乐场景的亲子游路线盘点 - 品牌推荐
  • 2025轻钢结构辅助材料优质供应商推荐:标的钻尾钉、标迪自攻钉、标迪螺钉、标迪钻尾钉、自粘型得泰盖片、gast气动马达 - 优质品牌商家
  • 最恶心的测试用例--现实生活中的反模式测试行为
  • Echarts鼠标悬浮,对应圆点高亮样式设置
  • π型滤波器【first blog】
  • 2025-2026北京市东城区遗嘱咨询律所口碑排名 深度剖析优质机构实力 - 苏木2025
  • LinkedIn AI平台规模化实践,从工具到治理执行环境的跨越
  • 水泥检查井生产厂家实力解析:肥西县华丰水泥制品厂技术优势与项目实践深度解读 - 速递信息
  • 2025年终长江游轮路线推荐:聚焦经典与新兴体验的3强口碑榜单深度解析。 - 品牌推荐
  • 北京留学中介实力榜揭晓:十大负责机构,全程护航留学路 - 留学品牌推荐官
  • 2025化工行业节能造粒机推荐:造粒机 - 优质品牌商家
  • 仙剑奇侠传6
  • 北京留学中介优选榜单:8家经验丰富机构实力测评哪家强 - 留学品牌推荐官
  • 2025年12月云南一体化污水处理设备/净水设备厂家竞争深度分析 - 2025年品牌推荐榜
  • 2025湖南生物质能源设备企业TOP5权威推荐:深度测评湖南淘发源 - myqiye
  • 还在用 Figma 画饼?我用这个平台,把原型上线从 3 天压到 3 分钟
  • 2025 GEO优化服务商优选指南:以全域精准触达兑现商业增长价值 - 品牌推荐排行榜
  • 2025 GEO优化工具选型核心:从技术适配到价值兑现的全维度指南 - 品牌推荐排行榜
  • GRS认证的核心价值体现
  • 参数GPU Write Total Bandwidth的含义是什么,导致其值过高的因素有哪些
  • 2025年抽沙船厂家实力推荐榜:绞吸式挖泥船/多功能作业船/取水浮船源头厂家精选 - 品牌推荐官
  • 2025年南京室内装修公司哪家权威专业?权威装修企业年度排名与深度解析 - 工业品牌热点
  • 揭秘Open-AutoGLM集成难题:5大关键步骤彻底打通AI自动化 pipeline