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 匹配任意字符(包括换行符)的正则表达式写法
Oct 29 Python
python3使用urllib示例取googletranslate(谷歌翻译)
Jan 23 Python
Python通过DOM和SAX方式解析XML的应用实例分享
Nov 16 Python
玩转python爬虫之正则表达式
Feb 17 Python
Python 遍历列表里面序号和值的方法(三种)
Feb 17 Python
Python搭建HTTP服务器和FTP服务器
Mar 09 Python
python中的turtle库函数简单使用教程
Jul 23 Python
TensorFlow实现iris数据集线性回归
Sep 07 Python
Python数据结构之栈、队列及二叉树定义与用法浅析
Dec 27 Python
解析PyCharm Python运行权限问题
Jan 08 Python
Python字典fromkeys()方法使用代码实例
Jul 20 Python
移除Selenium中window.navigator.webdriver值
Jun 10 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邮件专题
2006/10/09 PHP
PHP Zip解压 文件在线解压缩的函数代码
2010/05/26 PHP
PHP基础学习小结
2011/04/17 PHP
如何突破PHP程序员的技术瓶颈分析
2011/07/17 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
2012/02/04 PHP
php递归遍历删除文件的方法
2015/04/17 PHP
PHP二分查找算法示例【递归与非递归方法】
2016/09/29 PHP
Mootools 1.2教程 正则表达式
2009/09/15 Javascript
上传的js验证(图片/文件的扩展名)
2013/04/25 Javascript
jquery操作checkbox实现全选和取消全选
2014/05/02 Javascript
基于jquery实现动态竖向柱状条特效
2016/02/12 Javascript
原生JS实现旋转木马式图片轮播插件
2016/04/25 Javascript
Jquery基础之事件操作详解
2016/06/14 Javascript
Angular ng-repeat指令实例以及扩展部分
2016/12/26 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
对于Javascript 执行上下文的全面了解
2017/09/05 Javascript
jQuery事件对象的属性和方法详解
2017/09/09 jQuery
AngularJS下$http服务Post方法传递json参数的实例
2018/03/29 Javascript
Angularjs实现多图片上传预览功能
2018/07/18 Javascript
详解Vue CLI3 多页应用实践和源码设计
2018/08/30 Javascript
JS Math对象与Math方法实例小结
2019/07/05 Javascript
JS回调函数深入理解
2019/10/16 Javascript
微信小程序实现分页加载效果
2020/11/19 Javascript
javascript局部自定义鼠标右键菜单
2020/12/08 Javascript
Python使用time模块实现指定时间触发器示例
2017/05/18 Python
Python深度优先算法生成迷宫
2018/01/22 Python
pygame游戏之旅 添加icon和bgm音效的方法
2018/11/21 Python
在pycharm中设置显示行数的方法
2019/01/16 Python
Python tkinter三种布局实例详解
2020/01/06 Python
Python爬虫破解登陆哔哩哔哩的方法
2020/11/17 Python
be2台湾单身男女交友:全球网路婚姻介绍的领导品牌
2019/10/11 全球购物
精彩的广告词
2014/03/19 职场文书
关于诚信的活动方案
2014/08/18 职场文书
常务副县长“三严三实”对照检查材料思想汇报
2014/10/05 职场文书
python自动化之如何利用allure生成测试报告
2021/05/02 Python
SQL bool盲注和时间盲注详解
2022/07/23 SQL Server