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 14 Python
Python中文编码那些事
Jun 25 Python
从Python的源码来解析Python下的freeblock
May 11 Python
Python实现简单的文本相似度分析操作详解
Jun 16 Python
使用python对excle和json互相转换的示例
Oct 23 Python
Python使用post及get方式提交数据的实例
Jan 24 Python
Python使用while循环花式打印乘法表
Jan 28 Python
python3.6环境安装+pip环境配置教程图文详解
Jun 20 Python
Python将string转换到float的实例方法
Jul 29 Python
python怎么删除缓存文件
Jul 19 Python
Python爬虫实战案例之爬取喜马拉雅音频数据详解
Dec 07 Python
浅谈Python中对象是如何被调用的
Apr 06 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+ajax实现无刷新分页的方法
2014/11/04 PHP
PHP如何将XML转成数组
2016/04/04 PHP
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
基于JS2Image实现圣诞树代码
2015/12/24 Javascript
分享两款带遮罩的jQuery弹出框
2015/12/30 Javascript
jquery操作select元素和option的实例代码
2016/02/03 Javascript
javascript的几种写法总结
2016/09/30 Javascript
jQuery上传多张图片带进度条样式(DEMO)
2017/03/02 Javascript
Vue.js在使用中的一些注意知识点
2017/04/29 Javascript
JavaScript事件对象深入详解
2018/12/30 Javascript
Vue动态生成el-checkbox点击无法赋值的解决方法
2019/02/21 Javascript
微信小程序动态显示项目倒计时
2019/06/20 Javascript
layui表格 列自动适应大小失效的解决方法
2019/09/06 Javascript
Angular value与ngValue区别详解
2019/11/27 Javascript
封装 axios+promise通用请求函数操作
2020/08/11 Javascript
原生js实现自定义消息提示框
2020/11/19 Javascript
[01:00:44]DOTA2上海特级锦标赛主赛事日 - 3 败者组第三轮#1COL VS Alliance第三局
2016/03/04 DOTA
跟老齐学Python之有容乃大的list(4)
2014/09/28 Python
python实现查找两个字符串中相同字符并输出的方法
2015/07/11 Python
在Django同1个页面中的多表单处理详解
2017/01/25 Python
Python数据分析之获取双色球历史信息的方法示例
2018/02/03 Python
python爬虫基本知识
2018/03/05 Python
Python 最大概率法进行汉语切分的方法
2018/12/14 Python
用xpath获取指定标签下的所有text的实例
2019/01/02 Python
基于python的BP神经网络及异或实现过程解析
2019/09/30 Python
python将字符串转变成dict格式的实现
2019/11/18 Python
Python网络爬虫信息提取mooc代码实例
2020/03/06 Python
关于tensorflow softmax函数用法解析
2020/06/30 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
CSS3制作酷炫的三维相册效果
2016/07/01 HTML / CSS
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
托管代码(Managed Code)和非托管代码(Unmanaged Code)有什么区别
2014/09/29 面试题
法学专业求职信
2014/07/15 职场文书
创业计划书之蛋糕店
2019/08/29 职场文书
解决Pytorch修改预训练模型时遇到key不匹配的情况
2021/06/05 Python