numpy中的log和ln函数解读

Hazel
Hazel
发布时间:2026-10-16| 5人浏览过
原创

本文详解Python中numpy库的log系列函数。np.log()对应自然对数ln,np.log10()对应常用对数lg。通过换底公式可计算任意底数的对数值。此外还介绍了数组算术运算符、绝对值、三角函数及指数对数等通用函数的使用方法。

numpy中的log和ln函数解析

在Python编程中,许多开发者在尝试实现自然对数ln时,常因习惯性地输入错误函数名而遇到困扰。本文旨在明确记录并澄清numpy库中ln和log函数的正确调用方式,帮助读者避免常见误区。

自然对数函数解析

import numpy as np


class NumpyStudy:
    def lnFunction(self):
        const = np.e
        result = np.log(const)
        print("函数ln(e)的值为:")
        print(result)


if __name__ == "__main__":
    main = NumpyStudy()
    main.lnFunction()
"""
函数ln(e)的值为:
1.0
"""

通过运行相关代码,我们观察到输出结果为1。这一现象表明,在Python的numpy库中,np.log()函数实际上执行的是数学定义中的自然对数ln运算,即以常数e为底的对数。

常用对数函数解析

import numpy as np


class NumpyStudy:
    def logFunction(self):
        const = 100
        result = np.log10(const)
        print("函数ln(e)的值为:")
        print(result)


if __name__ == "__main__":
    main = NumpyStudy()
    main.logFunction()
"""
函数ln(e)的值为:
2.0
"""

代码执行结果显示数值为2。这证实了在Python中,np.log10()函数对应的是数学中的常用对数lg,即以10为底的对数运算。

此前有读者留言提问:既然已经掌握了以10为底和以自然常数e为底的对数函数,那么如何计算以其他数字(如2、3、4等)为底的对数呢?

解决这一问题需要借助数学中的换底公式进行转换。例如,若需计算以2为底16的对数值,我们可以利用该公式进行推导和计算。

import numpy as np


class NumpyStudy:
    def lnFunction(self):
        result = np.log(16) / np.log(2)
        result1 = np.log10(16) / np.log10(2)
        print("函数ln(e)的值为:")
        print(result)
        print(result1)


if __name__ == "__main__":
    main = NumpyStudy()
    main.lnFunction()
"""
函数ln(e)的值为:
4.0
4.0
"""

最终计算成功获取了正确结果4.0。采用这种换底方法,我们可以灵活地计算出以任意数为底数的对数值,满足多样化的计算需求。

numpy通用函数概览

1. 数组算术运算符

运算符对应的通用函数描述
+np.add加法运算(即1+1=2)
-np.substract减法运算(即3-2=1)
-np.negative负数运算(即-2)
*Nnp.multiply乘法运算(即2*3=6)
/np.divide除法运算(即3/2=1.5)
//np.floor_divide向下整除运算(floor division,即3//2=1)
**np.power指数运算(即2 ** 3=8)
%np.mod模/余数(即9%4=1)

上述列出的均为通用函数,在实际编写代码时,开发者可以直接使用左栏所示的运算符来替代相应的函数调用,以提高代码简洁性。

x=np.arrange(4)
#array([0, 1, 2, 3])
x + 2
#array([2, 3, 4, 5])
np.add(x,2)
#array([2, 3, 4, 5])

2. 绝对值通用函数np.absolute()

该功能同样可以通过np.abs()进行访问和调用。

值得注意的是,当处理复数数据时,该函数的运算结果为求取复数的模。

x=np.array([-2, -1, 0, 1, 2])
abs(x)
#array([2, 1, 0, 1, 2])
np.absolute(x)
#array([2, 1, 0, 1, 2])

3. 三角函数

  • np.sin()
  • np.cos()
  • np.tan()

反三角函数的用法与上述三角函数类似,遵循相同的调用逻辑。

4. 指数和对数函数

表达函数
e^xnp.exp(x)
2^xnp.exp2(x)
3^xnp.power(3, x)
ln(x)np.log(x)
log2(x)np.log2(x)
log10(x)np.log10(x)
exp(x)-1np.expm1(x)
log(1+x)np.log1p(x)

以上内容为个人经验分享,旨在为读者提供参考。希望本文能帮助大家更好地理解和使用numpy的相关功能,也欢迎大家继续支持本站获取更多技术资讯。

相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。