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中threading超线程用法实例分析
May 16 Python
使用pdb模块调试Python程序实例
Jun 02 Python
Python中asyncore异步模块的用法及实现httpclient的实例
Jun 28 Python
利用numpy+matplotlib绘图的基本操作教程
May 03 Python
Python学习之用pygal画世界地图实例
Dec 07 Python
Python实现霍夫圆和椭圆变换代码详解
Jan 12 Python
Django之Mode的外键自关联和引用未定义的Model方法
Dec 15 Python
pygame库实现俄罗斯方块小游戏
Oct 29 Python
双向RNN:bidirectional_dynamic_rnn()函数的使用详解
Jan 20 Python
Selenium之模拟登录铁路12306的示例代码
Jul 31 Python
Python数据库封装实现代码示例解析
Sep 05 Python
python基于opencv 实现图像时钟
Jan 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
动画 《Pokemon Sword·Shield》系列WEB动画《薄明之翼》第2话声优阵容公开!
2020/03/06 日漫
mysql limit查询优化分析
2008/11/12 PHP
设为首页加入收藏兼容360/火狐/谷歌/IE等主流浏览器的代码
2013/03/26 Javascript
自己使用jquery写的一个无缝滚动的插件
2014/04/30 Javascript
JavaScript遍历table表格中的某行某列并打印其值
2014/07/08 Javascript
使用JavaScript为Kindeditor自定义按钮增加Audio标签
2016/03/18 Javascript
老生常谈Javascript中的原型和this指针
2016/10/09 Javascript
微信小程序 教程之注册页面
2016/10/17 Javascript
js实现Tab选项卡切换效果
2020/07/17 Javascript
Node.js引入UIBootstrap的方法示例
2018/05/11 Javascript
JavaScript事件冒泡与事件捕获实例分析
2018/08/01 Javascript
微信小程序获取用户openid的实现
2018/12/24 Javascript
ES6知识点整理之数组解构和字符串解构的应用示例
2019/04/17 Javascript
原生js代码能实现call和bind吗
2019/07/31 Javascript
纯js实现无缝滚动功能代码实例
2020/02/21 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
[10:39]DOTA2上海特级锦标赛音乐会纪录片
2016/03/21 DOTA
python网络编程学习笔记(二):socket建立网络客户端
2014/06/09 Python
Python实现的微信公众号群发图片与文本消息功能实例详解
2017/06/30 Python
django利用request id便于定位及给日志加上request_id
2018/08/26 Python
在python中实现强制关闭线程的示例
2019/01/22 Python
关于Python中定制类的比较运算实例
2019/12/19 Python
python3 字符串知识点学习笔记
2020/02/08 Python
Python3实现个位数字和十位数字对调, 其乘积不变
2020/05/03 Python
html5指南-5.使用web storage存储键值对的数据
2013/01/07 HTML / CSS
香港草莓网:Strawberrynet香港
2019/05/10 全球购物
武汉世纪畅想数字传播有限公司.NET笔试题
2014/07/22 面试题
大学生水文观测实习自我鉴定
2013/09/29 职场文书
公司年会演讲稿范文
2014/01/11 职场文书
小学生期末自我鉴定
2014/01/19 职场文书
财产公证书格式
2014/04/10 职场文书
让生命充满爱演讲稿
2014/05/10 职场文书
签字仪式主持词
2015/07/03 职场文书
学生会任命书范本
2015/09/21 职场文书
mysql 8.0.27 绿色解压版安装教程及配置方法
2022/04/20 MySQL
Go gorilla/sessions库安装使用
2022/08/14 Golang