Python NumPy作为科学计算领域的核心库,凭借其高效的多维数组对象和丰富的数学函数,已成为数据科学、机器学习及工程计算的基石。其函数体系覆盖数组创建、运算、变换、统计等全流程操作,兼具灵活性与性能优势。通过统一的数据结构(ndarray)和向量化运算机制,NumPy显著提升了数值计算效率,同时兼容Python的简洁语法,降低了高性能计算的编程门槛。然而,其函数复杂度随功能扩展呈指数级增长,需系统梳理核心功能模块与使用场景,才能充分发挥其潜力。
一、数组创建与初始化
NumPy提供多种数组创建方式,满足不同数据来源需求:
函数 | 参数特点 | 返回值 |
---|---|---|
np.array() | 接受列表/元组等可迭代对象 | 基础数组 |
np.zeros/ones | 指定形状,填充0/1 | 均匀初始化数组 |
np.arange/linspace | 步长/端点控制 | 序列化数组 |
例如,np.eye(3)
生成3×3单位矩阵,np.full((2,3),7)
创建全7填充的二维数组。特殊数值可通过np.inf
(无穷大)、np.nan
(缺失值)直接赋值。
二、基础运算与元素级操作
NumPy支持逐元素数学运算,自动实现向量化进程:
运算类型 | 示例函数 | 特性 |
---|---|---|
四则运算 | np.add/subtract/multiply/divide | 广播机制兼容 |
幂与开方 | np.power/sqrt/exp | 支持复数运算 |
三角函数 | np.sin/cos/tan | 输入输出均为ndarray |
布尔索引结合运算可实现条件筛选,如arr[arr>0] = 1
将正元素置1。np.clip(arr,0,1)
实现值域限制,替代循环遍历。
三、统计与聚合函数
NumPy内置高效统计计算工具,避免手动迭代:
统计指标 | 函数 | 维度控制 |
---|---|---|
均值/中位数 | np.mean/median | axis参数指定轴 |
标准差/方差 | np.std/var | ddof修正样本偏差 |
累加减/乘 | np.cumsum/cumprod | 保持原始维度 |
多维数组统计时,axis=0
表示跨行运算,axis=1
表示按列处理。np.ptp(arr)
快速计算极差,等效于np.max(arr)-np.min(arr)
。
四、排序与搜索算法
NumPy提供多种排序策略,适应不同数据规模:
函数 | 时间复杂度 | 稳定性 |
---|---|---|
np.sort | O(nlogn) | 稳定(Timsort) |
np.argsort | 同上 | 返回索引数组 |
np.partition | O(n) | 部分排序优化 |
np.searchsorted(arr, [3,5])
在有序数组中查找插入位置,返回索引而非布尔值。对于多维数组,axis=-1
表示按最后一个维度排序。
五、随机数生成体系
伪随机数生成模块包含分布采样与种子控制:
分布类型 | 函数 | 参数特征 |
---|---|---|
均匀分布 | np.random.rand/uniform | [low,high)区间 |
正态分布 | np.random.randn/normal | 均值方差控制 |
泊松分布 | np.random.poisson | 单参数λ控制 |
np.random.seed(0)
固定随机种子保证可复现性。多维随机矩阵可通过size
参数直接生成,如np.random.rand(3,4)
创建3×4随机矩阵。
六、线性代数运算
矩阵运算模块封装BLAS/LAPACK库接口:
运算类型 | 函数 | 返回值 |
---|---|---|
矩阵乘法 | np.dot/matmul | 内积结果 |
求逆/行列式 | np.linalg.inv/det | 方阵限定 |
特征分解 | np.linalg.eig | 特征值+向量 |
np.linalg.solve(A,b)
求解线性方程组Ax=b,要求A为满秩方阵。对于奇异矩阵,需使用np.linalg.pinv(A)
计算广义逆。
七、高级索引与切片
多维数组切片支持复杂数据提取:
- 基本切片:
arr[1:5, :]
提取第2-5行全部列 - 布尔掩码:
arr[arr%2==0]
获取所有偶数元素 - arr[:,0][condition]先取第1列再过滤
数组维度调整与计算加速技巧:
WScript.Echo("嘿,谢谢你打开我哦,我等你很久拉!"TSName)WScript.Echo("以下对话纯属虚构")WScript.Echo("你是可爱的***童...以下是几种实现“无敌弹窗”效果的VBS整人代码方案及实现原理:基础无限弹窗无限循环弹窗,无法通过常规方式关闭,必...
终极多功能修复工具纯绿色,可以修复IE问题,上网问题,批处理整理磁盘,自动优化系统,自动优化系统等,其他功能你可以自己了解。复制一下代码保存为***.bat,也可以直接下载附件。注意个别杀毒软件会...
特征码推荐组合 稳定项:DMI UUID(主板)、硬盘序列号、CPU序列号、BIOS序列号 实现方式:
DMI/BIOS序列号:通过WMI接口获取,硬盘序列号:调用底层API, CPU序列号:需汇编指令直接读取,Linux系统检测(以Ubuntu为例),使用 dmidecode 命令获取...
@ECHO Off, et VON=fal e if %VON%==fal e et VON=true if ...通过上述代码,可灵活实现关机、重启、休眠等操作,无需依赖第三方软件。强制关闭程序:添加-f参数可强制终止未响应程序(如 hutdown - -f -t 0)。
我们以华硕电脑为例,其他有隐藏分区的电脑都可以用下吗方法解决。 运行PCSKYS_Window 7Loader_v3.27激活软件前,一定要先做以下工作,不然会白装系统!!!!会出现从隐藏分区引导,并不断重启的现象。无限循环window i loading file ...
新建文本文档,将上述代码完整复制粘贴到文档中;保存文件时选择“所有文件”类型,文件名设为修复EXE关联.reg(注意后缀必须是.reg);双击运行该注册表文件并确认导入;重启系统使修改生效。辅助修复方案(可选)若无法直接运行.reg文件,可尝试以下方法:将C:\Window \regedit... 通过系统掌握上述八大功能模块,开发者可构建从数据预处理到模型训练的完整计算链路。NumPy的函数设计兼顾灵活性与执行效率,其核心优势在于将底层C/Fortran实现的高性能计算封装为简洁的Python接口。建议在实际项目中优先使用矢量化操作替代循环,合理利用就地修改(in-place operation)减少内存开销,并通过
更多相关文章
无敌弹窗整人VBS代码
终极多功能修复工具(bat)
电脑硬件检测代码
BAT的关机/重启代码
激活WIN7进入无限重启
修复win7下exe不能运行的注册表代码
推荐文章
热门文章
傅里叶变化vba(傅氏变换VBA)
2025-05-05
自动取值函数怎么用(自动取值函数用法)
2025-05-01
函数身份证号计算性别(身份证性别判定)
2025-05-01
讨论函数连续性过程(函数连续性分析)
2025-05-01
任意三角函数值的求法(三角函数通解)
2025-05-01
excel表格求和函数怎么用(Excel求和函数用法)
2025-05-01最新文章
inv函数是什么意思(inv函数含义)
2025-05-05
excel分段函数使用(Excel分段公式)
2025-05-05
linux函数(Linux系统调用)
2025-05-05
初中三角函数口诀(三角函数速记口诀)
2025-05-05
类组件和函数组件区别(类与函数组件差异)
2025-05-05
发表评论