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 相关文章推荐
wxpython 学习笔记 第一天
Mar 16 Python
Python中字符串格式化str.format的详细介绍
Feb 17 Python
Python中with及contextlib的用法详解
Jun 08 Python
python贪婪匹配以及多行匹配的实例讲解
Apr 19 Python
使用Python对微信好友进行数据分析
Jun 27 Python
python实现全盘扫描搜索功能的方法
Feb 14 Python
Django 模型类(models.py)的定义详解
Jul 19 Python
jupyter notebook 调用环境中的Keras或者pytorch教程
Apr 14 Python
Python学习之路安装pycharm的教程详解
Jun 17 Python
Python QTimer实现多线程及QSS应用过程解析
Jul 11 Python
python 使用xlsxwriter循环向excel中插入数据和图片的操作
Jan 01 Python
关于python3 opencv 图像二值化的问题(cv2.adaptiveThreshold函数)
Apr 04 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/10/20 PHP
php模块memcache和memcached区别分析
2011/06/14 PHP
PHP逐行输出(ob_flush与flush的组合)
2012/02/04 PHP
解析PHP可变函数的经典用法
2013/06/20 PHP
浅谈PHP正则中的捕获组与非捕获组
2016/07/18 PHP
yii2中dropDownList实现二级和三级联动写法
2017/04/26 PHP
php实现的中秋博饼游戏之掷骰子并输出结果功能详解
2017/11/06 PHP
JavaScript打印网页指定区域的例子
2014/05/03 Javascript
js捕捉键盘事件和按键键值的方法
2016/10/10 Javascript
jQuery实现加入收藏夹功能(主流浏览器兼职)
2016/12/24 Javascript
在Vuex使用dispatch和commit来调用mutations的区别详解
2018/09/18 Javascript
Vue 中的受控与非受控组件的实现
2018/12/17 Javascript
详解关于JSON.parse()和JSON.stringify()的性能小测试
2019/03/14 Javascript
Node.js对MongoDB进行增删改查操作的实例代码
2019/04/18 Javascript
React精髓!一篇全概括小结(急速)
2019/05/23 Javascript
vue+element项目中过滤输入框特殊字符小结
2019/08/07 Javascript
微信头像地址失效踩坑记附带解决方案
2019/09/23 Javascript
详解在IDEA中将Echarts引入web两种方式(使用js文件和maven的依赖导入)
2020/07/11 Javascript
python调用cmd复制文件代码分享
2013/12/27 Python
Python中使用ElementTree解析XML示例
2015/06/02 Python
python 专题九 Mysql数据库编程基础知识
2017/03/16 Python
django DRF图片路径问题的解决方法
2018/09/10 Python
python 判断矩阵中每行非零个数的方法
2019/01/26 Python
python+OpenCV实现车牌号码识别
2019/11/08 Python
Python使用PyQt5/PySide2编写一个极简的音乐播放器功能
2020/02/07 Python
使用python的turtle函数绘制一个滑稽表情
2020/02/28 Python
linux mint中搜狗输入法导致pycharm卡死的问题
2020/10/28 Python
Python高阶函数与装饰器函数的深入讲解
2020/11/10 Python
澳大利亚最大的百货公司:Myer
2018/12/21 全球购物
宝宝周岁宴答谢词
2014/01/26 职场文书
2015年医院创卫工作总结
2015/04/22 职场文书
寻找成龙观后感
2015/06/12 职场文书
2016年社区植树节活动总结
2016/03/16 职场文书
中学生打架《检讨书》范文
2019/08/12 职场文书
python requests模块的使用示例
2021/04/07 Python
解决Laravel使用验证时跳转到首页的问题
2021/11/17 PHP