Python中求对数方法总结


Posted in Python onMarch 10, 2020

Python中Math库和Python库都具备求对数的函数。

import numpy as np
import math

1. Numpy库

1.1 求以e、2、10为底的对数

函数 功能
np.log(x) 以e为底的对数(自然对数)
np.log10(x) 以10为底的对数
np.log2(x) 以2为底的对数
np.log1p(x) 等价于:np.log(x + 1)

备注:np.expm1(x) 等价于 np.exp(x) - 1,也是np.log1p(x)的逆运算。

1.2 求以任意数为底的对数

在Numpy中以任意数为底的对数需要用到换底公式:

Python中求对数方法总结

例如:以3为底,5的对数

Python中求对数方法总结

代码写出来为:

np.log(5)/np.log(3)

2. Math库

2.1 求以e、2、10为底的对数

与Numpy中的用法完全一样

函数 功能
math.log(x) 以e为底的对数(自然对数)
math.log10(x) 以10为底的对数
math.log2(x) 以2为底的对数
math.log1p(x) 等价于:math.log(x + 1),用于数据平滑

备注:math.expm1(x) 等价于 math.exp(x) - 1,也是math.log1p(x)的逆运算。

2.2 求以任意数为底的对数

math.log(x, n)

其中n为底数

3. 区别

为什么有了一个Math库中求对数的方法,还要在Numpy库中内置一模一样的函数?

原因:

在math库中,函数的输入x只能为单独一个数。

math.log10(100)
[out]: 2.0

如果输入为一个列表:

math.log10([10, 100])   # 会报错
TypeError: must be real number, not list

在Numpy库中,函数的输入x不仅可以为单独一个数,还可以是一个列表,一个Numpy数组。

np.log10([10, 100])
[out]:
array([1., 2.])

np.log10([[10, 100], [1000, 10000]])
[out]:
array([[1., 2.],
    [3., 4.]])

其结果为Numpy数组。也就是说Numpy中的函数不需要循环就可以实现每个元素的批量处理。 

到此这篇关于Python中求对数方法总结的文章就介绍到这了,更多相关Python 求对数 内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python根据经纬度计算距离示例
Feb 16 Python
python字典多条件排序方法实例
Jun 30 Python
使用Python的Tornado框架实现一个Web端图书展示页面
Jul 11 Python
详谈Python 窗体(tkinter)表格数据(Treeview)
Oct 11 Python
Python编程在flask中模拟进行Restful的CRUD操作
Dec 28 Python
使用matplotlib中scatter方法画散点图
Mar 19 Python
Python生成一个迭代器的实操方法
Jun 18 Python
Django中提示消息messages的设置方式
Nov 15 Python
Python脚本操作Excel实现批量替换功能
Nov 20 Python
Django Admin后台添加数据库视图过程解析
Apr 01 Python
Python判断字符串是否为空和null方法实例
Apr 26 Python
使用python求斐波那契数列中第n个数的值示例代码
Jul 26 Python
Python标准库shutil模块使用方法解析
Mar 10 #Python
python实现提取COCO,VOC数据集中特定的类
Mar 10 #Python
Python 生成VOC格式的标签实例
Mar 10 #Python
python3用urllib抓取贴吧邮箱和QQ实例
Mar 10 #Python
python目标检测给图画框,bbox画到图上并保存案例
Mar 10 #Python
python opencv 检测移动物体并截图保存实例
Mar 10 #Python
Python标准库json模块和pickle模块使用详解
Mar 10 #Python
You might like
PHP输出缓存ob系列函数详解
2014/03/11 PHP
php简单定时执行任务的实现方法
2015/02/23 PHP
如何使用jQuery+PHP+MySQL来实现一个在线测试项目
2015/04/26 PHP
postfixadmin忘记密码后的修改密码方法详解
2016/07/20 PHP
Yii2框架制作RESTful风格的API快速入门教程
2016/11/08 PHP
PHP构造二叉树算法示例
2017/06/21 PHP
仿百度输入框智能提示的js代码
2013/08/22 Javascript
Javascript实现颜色rgb与16进制转换的方法
2015/04/18 Javascript
jquery实现左右滑动菜单效果代码
2015/08/27 Javascript
js获取指定时间的前几秒
2017/04/05 Javascript
JavaScript 自定义事件之我见
2017/09/25 Javascript
深入理解JS的事件绑定、事件流模型
2018/05/13 Javascript
Vue-Router基础学习笔记(小结)
2018/10/15 Javascript
JavaScript数组、json对象、eval()函数用法实例分析
2019/02/21 Javascript
Python写的一个简单DNS服务器实例
2014/06/04 Python
Python多线程编程(七):使用Condition实现复杂同步
2015/04/05 Python
python使用reportlab实现图片转换成pdf的方法
2015/05/22 Python
Python 比较两个数组的元素的异同方法
2017/08/17 Python
python读取csv文件并把文件放入一个list中的实例讲解
2018/04/27 Python
python使用turtle库与random库绘制雪花
2018/06/22 Python
学习python分支结构
2019/05/17 Python
python各层级目录下import方法代码实例
2020/01/20 Python
python如何爬取网页中的文字
2020/07/28 Python
利用canvas实现图片下载功能来实现浏览器兼容问题
2019/05/31 HTML / CSS
整理HTML5的一些新特性与Canvas的常用属性
2016/01/29 HTML / CSS
Whistles官网:英国女装品牌
2020/08/14 全球购物
俄罗斯鲜花递送:AMF
2020/04/24 全球购物
加拿大著名的奢侈品购物网站:SSENSE(支持中文)
2020/06/25 全球购物
main 函数执行以前,还会执行什么代码
2013/04/17 面试题
delegate与普通函数的区别
2014/01/22 面试题
shell的种类有哪些
2015/04/15 面试题
J2EE的优越性主要表现在哪些方面
2016/03/28 面试题
涨价通知怎么写
2015/04/23 职场文书
Centos环境下Postgresql 安装配置及环境变量配置技巧
2021/05/18 PostgreSQL
Golang 实现 WebSockets 之创建 WebSockets
2022/04/24 Golang
java.util.NoSuchElementException原因及两种解决方法
2022/06/28 Java/Android