NumPy 函数手册:数学运算
在科学计算与数据分析中数组中的数值往往需要进行各种数学运算例如求绝对值、指数、对数、三角函数或向量长度等。NumPy 提供了一组高度向量化的数学函数可以对数组中的所有元素进行批量计算而无需使用 Python 循环。按照功能划分NumPy 中常用的数学运算函数通常可以分为以下几类1基本数值运算2幂与指数运算3对数运算4三角函数与角度转换5取整与数值限制6向量与几何计算7双曲函数与反双曲函数8指数与对数的数值稳定函数9常用数学常量一、基本数值运算abs()计算数组元素的绝对值Absolute Value。numpy.abs(x)参数说明• x输入数组示例import numpy as np a np.array([-3,-1,2,-5])np.abs(a)# [3 1 2 5]说明numpy.abs 是 NumPy 的向量化绝对值函数对应 Python 内置函数 abs()的数组版本。fabs()计算浮点数绝对值Floating Absolute Value。numpy.fabs(x)参数说明• x输入数组示例a np.array([-2.5, -1.2, 3.0])np.fabs(a)# [2.5 1.2 3. ]说明fabs() 主要用于实数绝对值计算返回值总是浮点类型若要处理复数绝对值应使用 np.abs()。square()计算数组元素的平方Square。numpy.square(x)参数说明• x输入数组示例a np.array([1,2,3,4]) np.square(a)# [ 1 4 9 16]sqrt()计算数组元素的平方根Square Root。numpy.sqrt(x)参数说明• x输入数组示例a np.array([1,4,9,16]) np.sqrt(a)# [1. 2. 3. 4.]cbrt()计算立方根Cube Root。numpy.cbrt(x)参数说明• x输入数组示例 1np.cbrt([1, -8, 27])# [1. -2. 3.]说明与 sqrt() 相比cbrt() 支持负数输入。reciprocal()计算每个元素的倒数。常用于数值归一化或比例计算。numpy.reciprocal(x)参数说明• x输入数组示例np.reciprocal([1., 2., 4.])# [1. 0.5 0.25]说明当输入为整数数组时结果仍为整数类型小数部分会被截断。二、幂与指数运算power()幂运算Power。numpy.power(x1, x2)参数说明• x1底数数组• x2指数示例a np.array([1,2,3]) np.power(a,2)# [1 4 9]exp()指数函数Exponential Function。numpy.exp(x)计算其中 e 是自然常数约等于 2.71828。示例np.exp([0,1,2])# [1. 2.71828183 7.3890561 ]三、对数运算log()计算自然对数Natural Logarithm。numpy.log(x)自然对数指的是以 e 为底的对数。示例np.log([1, np.e, np.e**2])# [0. 1. 2.]log10()计算以 10 为底的对数Logarithm Base 10。numpy.log10(x)示例np.log10([1,10,100])# [0. 1. 2.]log2()计算以 2 为底的对数Logarithm Base 2。numpy.log2(x)示例np.log2([1,2,4,8])# [0. 1. 2. 3.]四、三角函数与角度转换NumPy 提供常见的三角函数用于信号处理、物理建模与工程计算。注意NumPy 的三角函数默认使用弧度radian。1、三角函数sin()计算正弦值Sine。numpy.sin(x)示例np.sin(np.pi/2)# 1.0cos()计算余弦值Cosine。numpy.cos(x)示例np.cos(0)# 1.0tan()计算正切值Tangent。numpy.tan(x)示例np.tan(np.pi/4)# 1.02、逆三角函数逆三角函数用于根据函数值反求角度。返回值单位为弧度。arcsin()反正弦函数Inverse Sine。numpy.arcsin(x)参数说明• x输入数组或数值取值范围通常为 [-1, 1]示例np.arcsin(1)# 1.5707963267948966arccos()反余弦函数Inverse Cosine。numpy.arccos(x)参数说明• x输入数组或数值取值范围通常为 [-1, 1]示例np.arccos([1, 0, -1])# [0. 1.57079633 3.14159265]arctan()反正切函数Inverse Tangent。numpy.arctan(x)参数说明• x输入数组或数值可以为任意实数示例np.arctan(1)# 0.7853981633974483arctan2()根据平面点坐标计算角度。numpy.arctan2(y, x)参数说明• y点的纵坐标• x点的横坐标返回从 x 轴正方向到点 (x,y) 的极角单位为弧度。示例y np.array([1, 1, -1, -1])x np.array([1, -1, -1, 1]) np.arctan2(y, x)# [ 0.78539816 2.35619449 -2.35619449 -0.78539816]3、角度与弧度转换deg2rad() / radians()角度转换为弧度。numpy.deg2rad(x)numpy.radians(x)参数说明• x输入数组角度值示例np.deg2rad([0, 90, 180])# [0. 1.57079633 3.14159265] np.radians(180)# 3.141592653589793rad2deg() / degrees()弧度转换为角度。numpy.rad2deg(x)numpy.degrees(x)参数说明• x输入数组弧度值示例np.rad2deg([0, np.pi/2, np.pi])# [ 0. 90. 180.] np.degrees(np.pi/2)# 90.0五、取整与数值限制ceil()向上取整。numpy.ceil(x)示例np.ceil([1.2, 2.8])# [2. 3.]floor()向下取整。numpy.floor(x)round()按指定小数位进行舍入。对于恰好位于中间的值NumPy 采用“舍入到最近的偶数”的规则。numpy.round(a, decimals0)参数说明• a输入数组或数值。可以是标量、列表或 NumPy 数组• decimals可选指定保留的小数位数默认值为 0decimals 0保留指定的小数位数。decimals 0舍入到最接近的整数对于恰好位于中间的值采用取最近偶数的规则。decimals 0在整数部分进行四舍五入。例如 decimals -1 表示四舍五入到十位。示例 1默认取整np.round([1.4, 2.6, 3.5])# [1. 3. 4.]示例 2保留两位小数a np.array([1.234, 2.567, 3.891])np.round(a, 2)# [1.23 2.57 3.89]示例 3对整数部分取整np.round([123, 456, 789], -2)# [100 500 800]trunc()截断小数部分。numpy.trunc(x)示例np.trunc([1.4, 2.6, 3.5])# [1. 2. 3.]说明该函数直接去掉小数部分相当于朝 0 的方向取整。clip()将数值限制在指定区间。numpy.clip(a, a_min, a_max)参数说明• a输入数组或数值。可以是标量、列表或 NumPy 数组• a_min下界最小允许值。当数组元素小于该值时将被替换为 a_min• a_max上界最大允许值。当数组元素大于该值时将被替换为 a_max示例np.clip([1, 5, 10], 2, 8)# [2 5 8]sign()返回符号值。numpy.sign(x)返回• -1负数• 0零• 1正数mod()计算取模Modulo。其结果与除数具有相同的符号。numpy.mod(x1, x2)参数说明• x1被除数• x2除数返回余数。示例 1np.mod(7, 3)# 1示例 2np.mod([5, 6, 7], 3)# [2 0 1]示例 3np.mod(-5, 3)# 1fmod()计算浮点取模Floating Modulo。numpy.fmod(x1, x2)参数说明• x1被除数• x2除数返回浮点余数。示例 1np.fmod(7, 3)# 1说明与 mod() 的主要区别是fmod() 的结果符号与被除数相同示例 2np.fmod(-5, 3)# -2六、向量与几何计算在机器学习与线性代数中经常需要计算向量长度或矩阵范数。hypot()计算直角三角形斜边长度。numpy.hypot(x1, x2)示例np.hypot(3, 4)# 5.0norm()计算向量或矩阵的范数Norm。numpy.linalg.norm(x, ordNone, axisNone, keepdimsFalse)参数说明• x输入向量或矩阵• ord范数类型常见类型None二范数Euclidean norm1L1 范数2L2 范数• axis指定沿哪个轴计算范数• keepdims是否保留被约简的维度示例a np.array([3,4]) np.linalg.norm(a)# 5.0说明这里计算的是向量长度欧几里德范数。七、双曲函数与反双曲函数1、双曲函数双曲函数Hyperbolic Functions在形式上类似三角函数但对应的是双曲线。sinh()双曲正弦。numpy.sinh(x)参数说明• x输入数组或数值表示自变量示例 1np.sinh(0)# 0.0示例 2数组计算np.sinh([0, 1, 2])# [0. 1.17520119 3.62686041]cosh()双曲余弦。numpy.cosh(x)参数说明• x输入数组或数值示例 1np.cosh(0)# 1.0示例 2np.cosh([0, 1, 2])# [1. 1.54308063 3.76219569]tanh()双曲正切。numpy.tanh(x)参数说明• x输入数组或数值。示例 1np.tanh(0)# 0.0示例 2np.tanh([-2, -1, 0, 1, 2])# [-0.96402758 -0.76159416 0. 0.76159416 0.96402758]说明tanh() 的函数值范围为(-1,1)。随着 x 增大函数值逐渐接近 1随着 x 减小函数值逐渐接近 -1。tanh() 在机器学习中曾被广泛用作神经网络激活函数。2、反双曲函数反双曲函数Inverse Hyperbolic Functions用于根据双曲函数值反求自变量。arcsinh()计算反双曲正弦Inverse Hyperbolic Sine。numpy.arcsinh(x)参数说明• x输入数组或数值可以为任意实数。示例 1np.arcsinh(0)# 0.0示例 2np.arcsinh([0, 1, 2])# [0. 0.88137359 1.44363548]说明反双曲正弦函数在整个实数范围内都有定义。arccosh()计算反双曲余弦Inverse Hyperbolic Cosine。numpy.arccosh(x)参数说明• x输入数组或数值示例 1np.arccosh(1)# 0.0示例 2np.arccosh([1, 2, 3])# [0. 1.3169579 1.76274717]说明arccosh(x) 在实数范围通常要求 x 1。arctanh()计算反双曲正切Inverse Hyperbolic Tangent。numpy.arctanh(x)参数说明• x输入数组或数值示例 1np.arctanh(0)# 0.0示例 2np.arctanh([0, 0.5, -0.5])# [ 0. 0.54930614 -0.54930614]说明arctanh(x) 在实数范围通常要求 |x| 1。八、指数与对数的数值稳定函数在科学计算和机器学习中有些表达式在直接计算时容易出现数值精度损失floating-point precision loss。NumPy 提供了一些专门的函数用于提高数值计算的稳定性。log1p()返回 ln(1x) 的计算结果。numpy.log1p(x)参数说明• x输入数组或数值示例 1np.log1p(0.001)# 0.0009995003330835331示例 2np.log1p([0.1, 1, 10])# [0.09531018 0.69314718 2.39789527]说明当 x 非常接近 0 时log(1x) 的直接计算可能产生精度损失。log1p() 在内部使用更稳定的算法因此更适合小数值计算。expm1()返回 e^x − 1 的计算结果。numpy.expm1(x)参数说明• x输入数组或数值示例 1np.expm1(0.001)# 0.0010005001667083417示例 2np.expm1([0, 1, 2])# [0. 1.71828183 6.3890561 ]说明当 x 接近 0 时直接计算 exp(x) - 1 可能会产生精度误差。expm1() 使用数值稳定算法可以提高计算精度。九、常用数学常量NumPy 提供了一组常用数学常量可直接参与数组运算。pi圆周率常量。数值约为 3.141592653589793。numpy.pi示例np.sin(np.pi / 2)# 1.0e自然常数。数值约为 2.718281828459045。numpy.e示例np.log(np.e)# 1.0inf正无穷。numpy.inf示例np.array([1, 2, np.inf])# [ 1. 2. inf]nan非数值Not a Number。numpy.nan说明通常用于表示未定义的浮点结果也常在数值计算中充当缺失值标记。NumPy 提供一组专门处理 NaN 的函数例如np.nanmean()np.nanmax()np.nanmin() 小结NumPy 提供了一组用于数组数学计算的函数体系包括基本数值运算abs、sqrt、square、幂与指数运算power、exp、对数运算log、log10、log2、三角函数与角度转换sin、cos、tan、deg2rad、取整与数值限制ceil、round、clip以及向量范数计算hypot、linalg.norm。此外NumPy 还提供双曲函数sinh、tanh、数值稳定函数log1p、expm1以及常用数学常量pi、e、inf、nan。这些函数均采用向量化实现可对整个数组进行高效计算是科学计算、机器学习与数据分析中的基础工具。“点赞有美意赞赏是鼓励”

相关新闻

3大突破!教育资源解析工具如何破解数字教材获取难题

3大突破!教育资源解析工具如何破解数字教材获取难题

3大突破!教育资源解析工具如何破解数字教材获取难题 【免费下载链接】tchMaterial-parser 国家中小学智慧教育平台 电子课本下载工具 项目地址: https://gitcode.com/GitHub_Trending/tc/tchMaterial-parser 在数字化教育加速推进的今天,国家中小…

2026/7/5 0:43:23 阅读更多 →
零门槛使用mPLUG:视觉问答本地工具,图片理解+自然语言交互

零门槛使用mPLUG:视觉问答本地工具,图片理解+自然语言交互

零门槛使用mPLUG:视觉问答本地工具,图片理解自然语言交互 1. 从“看图”到“懂图”,你只差一个本地AI助手 想象一下这个场景:你收到一张产品设计图,想快速确认界面上的按钮数量、文字内容是否完整;或者拿…

2026/7/4 18:36:57 阅读更多 →
UV-UI:跨平台开发框架的多端适配与组件化实践指南

UV-UI:跨平台开发框架的多端适配与组件化实践指南

UV-UI:跨平台开发框架的多端适配与组件化实践指南 【免费下载链接】uv-ui uv-ui 破釜沉舟之兼容vue32、app、h5、小程序等多端基于uni-app和uView2.x的生态框架,支持单独导入,开箱即用,利剑出击。 项目地址: https://gitcode.co…

2026/5/17 10:36:28 阅读更多 →

最新新闻

英雄联盟智能助手Seraphine:5分钟快速上手的游戏增强工具

英雄联盟智能助手Seraphine:5分钟快速上手的游戏增强工具

英雄联盟智能助手Seraphine:5分钟快速上手的游戏增强工具 【免费下载链接】Seraphine 英雄联盟战绩查询工具 项目地址: https://gitcode.com/gh_mirrors/se/Seraphine 你是否厌倦了在英雄联盟中手动查询对手战绩、错过对局接受,或是在BP阶段手忙脚…

2026/7/5 21:26:35 阅读更多 →
求自然对数e的近似值

求自然对数e的近似值

【问题描述】求自然对数e的近似值,当任意项的值小于10-4时结束计算,近似公式为:【输入形式】无 【输出形式】可参考:print("e的近似值值为:{:.6f}".format(e))【样例输入】 【样例输出】 【样例说明】 【评分…

2026/7/5 21:26:35 阅读更多 →
Redis 主从复制,哨兵,集群——(2)哨兵篇

Redis 主从复制,哨兵,集群——(2)哨兵篇

目录 一. Redis 哨兵是什么? 二. Redis 哨兵有什么用? 三. Redis 哨兵数量配备要求 四. 哨兵配置文件详解 五. quorum 投票数详解 5.1 quorum 的含义 5.2 网络抖动导致主观下线 5.3 quorum 票数达到设定值客观下线 六. 最好让所有 redis 服务器…

2026/7/5 21:24:35 阅读更多 →
如何从huggingface快速下载

如何从huggingface快速下载

插播广告一条😂🐶:我制作的一个免费语音识别网站,欢迎体验! 方法一:使用Access Tokens # 安装准备 pip install huggingface-hub # 先登录,它会提示你输入你的 Hugging Face 访问令牌 (Access …

2026/7/5 21:24:35 阅读更多 →
从混乱到优雅:SQL Formatter如何让你的数据库查询代码焕然一新

从混乱到优雅:SQL Formatter如何让你的数据库查询代码焕然一新

从混乱到优雅:SQL Formatter如何让你的数据库查询代码焕然一新 【免费下载链接】sql-formatter A whitespace formatter for different query languages 项目地址: https://gitcode.com/gh_mirrors/sql/sql-formatter 你是否曾面对过同事提交的SQL代码&#…

2026/7/5 21:22:34 阅读更多 →
docker-flask-example数据库管理:使用Flask-DB进行迁移与种子数据操作

docker-flask-example数据库管理:使用Flask-DB进行迁移与种子数据操作

docker-flask-example数据库管理:使用Flask-DB进行迁移与种子数据操作 【免费下载链接】docker-flask-example A production ready example Flask app thats using Docker and Docker Compose. 项目地址: https://gitcode.com/gh_mirrors/do/docker-flask-example…

2026/7/5 21:22:34 阅读更多 →

日新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/5 0:03:34 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/5 0:03:34 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/5 0:07:38 阅读更多 →

月新闻