Python中求对数方法总结
作者:Fantine_Deng 发布时间:2023-04-13 22:20:28
标签:Python,对数
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中以任意数为底的对数需要用到换底公式:
例如:以3为底,5的对数
代码写出来为:
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中的函数不需要循环就可以实现每个元素的批量处理。
来源:https://blog.csdn.net/Fantine_Deng/article/details/104749807
0
投稿
猜你喜欢
- 如何编写具有良好结构的CSS?如果在设计流程中缺乏"秩序"或"章法"是非常不利的,你得冒着风险去添加
- 处理上传的文件: f1 = request.FILES['pic'] fname = '%s/%s' % (
- 前言又见面了,小伙伴儿们,发现最近大家喜欢看一些简单的小案例?!咳咳,下面进入正题。每个人的电脑里都会有不想让别人知道的隐私,或者是上班时间
- 扪心自问,你真正了解你卖给用户的是什么玩意么?你所认为革命性的,一定会震惊世界的功能、特色,用户真的买单么?我的意思是,我们总是习惯性的忘记
- 本文实例讲述了python通过索引遍历列表的方法。分享给大家供大家参考。具体如下:python中我们可以通过for循环来遍历列表:colou
- 本文实例为大家分享了python实现分页效果展示的具体代码,供大家参考,具体内容如下难点:清空Layout#!/usr/bin/python
- 前序在Python中,集合(Set) 是一个无序、不重复的序列,它不支持索引。集合一般用于元素去重或者一些数学中的操作像union,inte
- 语法结构: 1. Cast 语法结构:CAST ( expression AS data_type [ ( length ) ] ) 2.
- 简单使用最开始,我们用最短的代码体验一下logging的基本功能。import logginglogger = logging.getLog
- 刚接触Python的时候,简单的异常处理已经可以帮助我们解决大多数问题,但是随着逐渐地深入,我们会发现有很多情况下简单的异常处理已经无法解决
- 最近在做一个领券功能的时候,发现在一定并发下会出现重复领券的问题。使用度娘一顿搜索操作之后,发现可以使用分布式锁来解决这个问题。什么是分布式
- 简单的显示记录已经掌握,现在需要的就是通过ASP将信息内容插入到数据库中。一、拥有数据库cnbruce.mdb本数据库的作用就是用来 * 入数
- 数据结构树简介一、树简介树(Tree)是一种抽象的数据结构,是一个数据的集合,集合中的数据组成了一个树状结构。例如上图,看起来像一棵倒挂的树
- 这里介绍几个常用的列表操作添加元素添加元素使用列表的内置方法appendnumber = [1, 2, 3, 4]number.append
- 终于构建出了第一个神经网络,Keras真的很方便。之前不知道Keras这么方便,在构建神经网络的过程中绕了很多弯路,最开始学的TensorF
- LoadRunner监控MySQLhttp://www.docin.com/p-92272846.htmlAdvanced MySQL Pe
- 01.简介当我们使用的鱼眼镜头视角大于160°时,OpenCV中用于校准镜头“经典”方法的效果可能就不是和理想了。即使我们仔细遵循OpenC
- 1.BeautifulSoup简介BeautifulSoup4和 lxml 一样,Beautiful Soup 也是一个HTML/XML的解
- 导言:到目前为止,我们的教程围绕的是text数据。然而,很多应用程序既需要处理text数据,也需要处理二进制数据。比如招聘网站可能需要用户上
- 三、支持XML的公司和它们的开发工具 尽管XML还处在开发阶段,其标准正在由W3C组织制定,但是已经有许多公司表示全力支持XML,并开发了不