首页 > 行业资讯 > NumPy教程-numpy.log()在 Python 中的使用

NumPy教程-numpy.log()在 Python 中的使用

时间:2023-09-29 来源: 浏览:

NumPy教程-numpy.log()在 Python 中的使用

点击关注 Python架构师
Python架构师

gh_1d7504e4dee1

回复:python,领取Python面试题。分享Python教程,Python架构师教程,Python爬虫,Python编程视频,Python脚本,Pycharm教程,Python微服务架构,Python分布式架构,Pycharm注册码。

收录于合集
#numpy 24
#NumPy教程 24
#NumPy 24
#python web教程 84
#python教程 172
整理: python架构师

numpy.log() 是一个数学函数,用于计算 x(x 属于所有输入数组元素)的自然对数。它是指数函数的反函数,也是逐元素的自然对数。自然对数 log 是指数函数的逆运算,因此 log(exp(x))=x。以 e 为底的对数是自然对数。

语法

numpy.log(x, /, out =None, *, where =True, casting= ’same_kind’ , order= ’K’ , dtype=None, subok=True[, signature, extobj]) = <ufunc ’log’ >

参数

x: array_like
这个参数定义了 numpy.log() 函数的输入值。
out: ndarray、None 或 ndarray 和 None 组成的元组(可选)
这个参数用于定义结果存储的位置。如果定义了这个参数,它的形状必须类似于输入的广播形状;否则,将返回一个新分配的数组。元组的长度等于输出的数量。
where: array_like(可选)
这是一个条件,可以对输入进行广播。在条件为 True 的位置,输出数组将被设置为通用函数的结果;否则,它将保留其原始值。
casting: {’no’,’equiv’,’safe’,’same_kind’,’unsafe’}(可选)
这个参数控制可能发生的数据类型转换。’no’ 表示不进行数据类型转换。’equiv’ 表示只允许字节顺序改变。’safe’ 表示只允许能够保持值不变的转换。’same_kind’ 表示只允许安全的转换或同一种类内的转换。’unsafe’ 表示可以进行任何数据转换。
order: {’K’, ’C’, ’F’, ’A’}(可选)
这个参数指定输出数组的计算迭代顺序/内存布局。默认情况下,顺序是 K。’C’ 表示输出应该是 C 连续的。’F’ 表示 F 连续,而 ’A’ 表示如果输入是 F 连续的,则 ’A’ 表示 F 连续,如果输入是 C 连续的,则 ’A’ 表示 C 连续。’K’ 表示尽量与输入的元素顺序匹配(尽量接近)。
dtype: 数据类型(可选)
它覆盖了计算和输出数组的数据类型。
subok: 布尔值(可选)
默认情况下,这个参数设置为 True。如果设置为 False,输出将始终是严格的数组,而不是子类型。
signature
这个参数允许我们为底层计算中的 1-d 循环提供特定的签名。
extobj
这个参数是一个长度为 1、2 或 3 的列表,指定了通用函数缓冲区大小、错误模式整数和错误回调函数。

资源分享

点击领取:最全Python资料合集

返回值

这个函数返回一个包含 x 的自然对数值的 ndarray,其中 x 属于输入数组的所有元素。

示例 1:

import numpy as np a = np.array([2, 4, 6, 3**8]) a b = np.log(a) b c = np.log2(a) c d = np.log10(a) d

输出:

array ( [ 2, 4, 6, 6561] ) array ( [0.69314718, 1.38629436, 1.79175947, 8.78889831] ) array ( [ 1. , 2. , 2.5849625 , 12.67970001] ) array ( [0.30103 , 0.60205999, 0.77815125, 3.81697004] ) scssCopy codearray ( [ 2, 4, 6, 6561] ) array ( [0.69314718, 1.38629436, 1.79175947, 8.78889831] ) array ( [ 1. , 2. , 2.5849625 , 12.67970001] ) array ( [0.30103 , 0.60205999, 0.77815125, 3.81697004] )

在上面的代码中
  • 我们导入了别名为 np 的 numpy 库。
  • 我们使用 np.array() 函数创建了一个名为 ’a’ 的数组。
  • 我们声明了变量 b、c 和 d,并分别将 np.log()、np.log2() 和 np.log10() 函数的返回值赋给它们。
  • 我们在所有函数中都传递了数组 ’a’。
  • 最后,我们尝试打印 b、c 和 d 的值。
在输出中,显示了一个包含源数组所有元素的对数、log2 和 log10 值的 ndarray。

示例 2:

import numpy as np import matplotlib.pyplot as plt arr = [ 2 , 2.2 , 2.4 , 2.6 , 2.8 , 3 ] result1=np.log(arr) result2=np.log2(arr) result3=np.log10(arr) plt.plot(arr,arr, color= ’blue’ , marker= "*" ) plt.plot(result1,arr, color= ’green’ , marker= "o" ) plt.plot(result2,arr, color= ’red’ , marker= "*" ) plt.plot(result3,arr, color= ’black’ , marker= "*" ) plt.show()

输出:

在上面的代码中
  • 我们导入了别名为 np 的 numpy 库。
  • 我们还导入了别名为 plt 的 matplotlib.pyplot 库。
  • 接下来,我们使用 np.array() 函数创建了一个名为 ’arr’ 的数组。
  • 然后,我们声明了变量 result1、result2 和 result3,并分别将 np.log()、np.log2() 和 np.log10() 函数的返回值赋给它们。
  • 我们在所有函数中都传递了数组 ’arr’。
  • 最后,我们尝试绘制 ’arr’、result1、result2 和 result3 的值。
在输出中,显示了一个带有不同颜色直线的图表,代表了 ’arr’、result1、result2 和 result3 的值。

示例 3:

import numpy as np x = np.log([2, np.e, np.e**3, 0]) x

输出:

__main__:1: RuntimeWarning: divide by zero encountered in log array([0.69314718, 1. , 3. , -inf])

在上面的代码中
  • 首先,我们导入了别名为 np 的 numpy 库。
  • 我们声明了变量 ’x’,并将 np.log() 函数的返回值赋给它。
  • 我们在函数中传递了不同的值,如整数值、np.e 和 np.e**2。
  • 最后,我们尝试打印 ’x’ 的值。

在输出中,显示了一个包含源数组元素的对数值的 ndarray。其中,对于值为 0 的元素,log() 函数引发了一个运行时警告,因为它的对数是无穷小。

 
热门推荐
  • 这5种炫酷的动态图,都是用Python实现的!

  • NumPy教程-numpy.random()在Python中的使用

  • NumPy教程-numpy.sum()在Python中的使用

版权:如无特殊注明,文章转载自网络,侵权请联系cnmhg168#163.com删除!文件均为网友上传,仅供研究和学习使用,务必24小时内删除。
相关推荐