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实现删除文件与目录的方法
Nov 10 Python
线程和进程的区别及Python代码实例
Feb 04 Python
python编程开发之类型转换convert实例分析
Nov 13 Python
Python常用库推荐
Dec 04 Python
Python学习笔记之if语句的使用示例
Oct 23 Python
PyQt5每天必学之创建窗口居中效果
Apr 19 Python
Python pickle模块实现对象序列化
Nov 22 Python
python字符串反转的四种方法详解
Dec 02 Python
python输出数组中指定元素的所有索引示例
Dec 06 Python
Keras Convolution1D与Convolution2D区别说明
May 22 Python
基于nexus3配置Python仓库过程详解
Jun 15 Python
详解python内置模块urllib
Sep 09 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发送邮件类代码附详细说明
2008/07/10 PHP
php简单的会话类代码
2011/08/08 PHP
php学习之function的用法
2012/07/14 PHP
php获取中文拼音首字母类和函数分享
2014/04/24 PHP
8个PHP程序员常用的功能汇总
2014/12/18 PHP
php-redis中的sort排序函数总结
2015/07/08 PHP
php操作xml并将其插入数据库的实现方法
2016/09/08 PHP
基于jsTree的无限级树JSON数据的转换代码
2010/07/27 Javascript
用原生JS获取CLASS对象(很简单实用)
2014/10/15 Javascript
JavaScript DOM 学习总结(五)
2015/11/24 Javascript
JavaScript操作class和style样式代码详解
2016/02/13 Javascript
JS+HTML5手机开发之滚动和惯性缓动实现方法分析
2016/06/12 Javascript
js实现table添加行tr、删除行tr、清空行tr的简单实例
2016/10/15 Javascript
微信小程序之小豆瓣图书实例
2016/11/30 Javascript
javascript中的try catch异常捕获机制用法分析
2016/12/14 Javascript
JavaScript 中定义函数用 var foo = function () {} 和 function foo()区别介绍
2018/03/01 Javascript
vue 表单输入格式化中文输入法异常问题
2018/05/30 Javascript
webpack打包多页面的方法
2018/11/30 Javascript
VueCli4项目配置反向代理proxy的方法步骤
2020/05/17 Javascript
详解vue中在父组件点击按钮触发子组件的事件
2020/11/13 Javascript
使用python绘制人人网好友关系图示例
2014/04/01 Python
Django中login_required装饰器的深入介绍
2017/11/24 Python
python使用matplotlib画饼状图
2018/09/25 Python
pytorch中的自定义反向传播,求导实例
2020/01/06 Python
python操作docx写入内容,并控制文本的字体颜色
2020/02/13 Python
Python多线程thread及模块使用实例
2020/04/28 Python
百思买美国官网:Best Buy
2016/07/28 全球购物
Volcom法国官网:美国冲浪滑板品牌
2017/05/25 全球购物
DERMAdoctor官网:美国著名皮肤护理品牌
2019/07/06 全球购物
高中生学习生活的自我评价
2013/10/09 职场文书
党校培训思想汇报
2013/12/30 职场文书
洗车工岗位职责
2014/03/15 职场文书
公司领导班子四风对照检查材料
2014/09/27 职场文书
2015年度房地产工作总结
2015/04/09 职场文书
2016教师节感恩话语
2015/12/09 职场文书
Win11任务栏无法正常显示 资源管理器不停重启的解决方法
2022/07/07 数码科技