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判断Abundant Number的方法
Jun 15 Python
Python基于回溯法解决01背包问题实例
Dec 06 Python
Python用imghdr模块识别图片格式实例解析
Jan 11 Python
python基于物品协同过滤算法实现代码
May 31 Python
Python实现读写INI配置文件的方法示例
Jun 09 Python
Python3.4学习笔记之列表、数组操作示例
Mar 01 Python
为什么说Python可以实现所有的算法
Oct 04 Python
python是怎么被发明的
Jun 15 Python
浅谈python处理json和redis hash的坑
Jul 16 Python
基于python实现复制文件并重命名
Sep 16 Python
python对批量WAV音频进行等长分割的方法实现
Sep 25 Python
python中strip(),lstrip(),rstrip()函数的使用讲解
Nov 17 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
ThinkPHP 连接Oracle数据库的详细教程[全]
2012/07/16 PHP
解析csv数据导入mysql的方法
2013/07/01 PHP
简单实用的网站PHP缓存类实例
2014/07/18 PHP
thinkPHP5框架实现基于ajax的分页功能示例
2018/06/12 PHP
Jquery知识点一 Jquery的ready和Dom的onload的区别
2011/01/15 Javascript
让人期待的2011年度最佳 jQuery 插件分享
2012/03/16 Javascript
javascript日期对象格式化为字符串的实现方法
2014/01/14 Javascript
jquery实现个人中心导航菜单效果和美观都非常不错
2014/09/02 Javascript
浅谈javascript中的instanceof和typeof
2015/02/27 Javascript
JS+CSS实现精美的二级导航效果代码
2015/09/17 Javascript
AngularJS基础 ng-paste 指令简单示例
2016/08/02 Javascript
js实现四舍五入完全保留两位小数的方法
2016/08/02 Javascript
jquery仿微信聊天界面
2017/05/06 jQuery
Jquery EasyUI $.Parser
2017/06/02 jQuery
基于JQuery的Ajax方法使用详解
2017/08/16 jQuery
vue用Object.defineProperty手写一个简单的双向绑定的示例
2018/07/09 Javascript
JS学习笔记之数组去重实现方法小结
2019/05/29 Javascript
vue项目中监听手机物理返回键的实现
2020/01/18 Javascript
python列出目录下指定文件与子目录的方法
2015/07/03 Python
Python利用递归和walk()遍历目录文件的方法示例
2017/07/14 Python
python 读取DICOM头文件的实例
2018/05/07 Python
通过python的matplotlib包将Tensorflow数据进行可视化的方法
2019/01/09 Python
Python3 无重复字符的最长子串的实现
2019/10/08 Python
Python selenium模块实现定位过程解析
2020/07/09 Python
美国知名的时尚购物网站:Anthropologie
2016/12/22 全球购物
北美最大的参茸药食商城:德成行
2020/12/06 全球购物
北大青鸟学生求职信
2013/09/24 职场文书
美术师范毕业生自荐信
2013/11/16 职场文书
小学防溺水制度
2014/01/29 职场文书
会计学自我鉴定
2014/02/06 职场文书
2014年最新离婚协议书范本
2014/10/11 职场文书
解除劳动合同证明书模板
2014/11/20 职场文书
工会工作个人总结
2015/03/03 职场文书
python实现socket简单通信的示例代码
2021/04/13 Python
UNION CREATIVE《Re:从零开始的异世界生活》雷姆手办
2022/03/20 日漫
MySQL外键约束(Foreign Key)案例详解
2022/06/28 MySQL