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 检查数组元素是否存在类似PHP isset()方法
Oct 14 Python
详解Python中__str__和__repr__方法的区别
Apr 17 Python
浅析Python中将单词首字母大写的capitalize()方法
May 18 Python
Python Requests安装与简单运用
Apr 07 Python
Python中Threading用法详解
Dec 27 Python
对Pandas DataFrame缺失值的查找与填充示例讲解
Nov 06 Python
Python实现去除列表中重复元素的方法总结【7种方法】
Feb 16 Python
解决Django Static内容不能加载显示的问题
Jul 28 Python
python飞机大战pygame游戏之敌机出场实现方法详解
Dec 17 Python
在notepad++中实现直接运行python代码
Dec 18 Python
基于python的docx模块处理word和WPS的docx格式文件方式
Feb 13 Python
python3+PyQt5+Qt Designer实现界面可视化
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类中Static方法效率测试代码
2010/10/17 PHP
php获取随机数组列表的方法
2014/11/13 PHP
php实现redis数据库指定库号迁移的方法
2015/01/14 PHP
Yii2中设置与获取别名的函数(setAlias和getAlias)用法分析
2016/07/25 PHP
基于jQuery的淡入淡出可自动切换的幻灯插件
2010/08/24 Javascript
js禁止document element对象选中文本实现代码
2013/03/21 Javascript
jquery下拉select控件操作方法分享(jquery操作select)
2014/03/25 Javascript
Jquery方式获取iframe页面中的 Dom元素
2014/05/07 Javascript
jQuery提交多个表单的小技巧
2014/07/27 Javascript
详解AngularJS中module模块的导入导出
2015/12/10 Javascript
jQuery插件Validate实现自定义表单验证
2016/01/18 Javascript
JavaScript进阶练习及简单实例分析
2016/06/03 Javascript
微信小程序 视图容器组件的详解及实例代码
2017/01/19 Javascript
Angular2使用Angular-CLI快速搭建工程(二)
2017/05/21 Javascript
JavaScript之Canvas_动力节点Java学院整理
2017/07/04 Javascript
JavaScript数组,JSON对象实现动态添加、修改、删除功能示例
2018/05/26 Javascript
微信小程序开发之自定义tabBar的实现
2018/09/06 Javascript
你可能不知道的CORS跨域资源共享
2019/03/13 Javascript
Ajax获取node服务器数据的完整步骤
2020/09/20 Javascript
[02:48]DOTA2英雄基础教程 暗夜魔王
2013/12/12 DOTA
python基础入门学习笔记(Python环境搭建)
2016/01/13 Python
python用BeautifulSoup库简单爬虫实例分析
2018/07/30 Python
Mac安装python3的方法步骤
2019/08/09 Python
使用python去除图片白色像素的实例
2019/12/12 Python
Python pip安装模块提示错误解决方案
2020/05/22 Python
keras的backend 设置 tensorflow,theano操作
2020/06/30 Python
详解Pymongo常用查询方法总结
2021/01/29 Python
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
2014/04/10 HTML / CSS
Melissa香港官网:MDreams
2016/07/01 全球购物
在印度上传处方,在线订购药品:Medlife
2019/03/28 全球购物
高中毕业生生活的自我评价
2013/12/08 职场文书
采购部部长岗位职责
2014/02/06 职场文书
群众路线教育实践活动的心得体会
2014/09/03 职场文书
2014年纪检部工作总结
2014/11/12 职场文书
四年级作文之说明文作文
2019/10/14 职场文书
创作书写之导游词实用技巧分享(干货)
2019/12/20 职场文书