numpy - log()函数

numpy - log()函数 首页 / Numpy入门教程 / numpy - log()函数

numpy.log()是一个数学函数,用于计算x(x属于所有输入数组元素)的自然对数。它是指数函数的倒数,也是元素自然对数。自然对数对数是指数函数的逆函数,因此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的位置,将out数组设置为ufunc(通用函数)结果;否则,它将保留其原始值。

casting:{'no','equiv','safe','same_kind','unsafe'}(可选)

此参数控制可能发生的数据强制转换的类型。 "否"表示完全不应该转换数据类型。 " equiv"表示仅允许字节顺序更改。 "安全"是指唯一可以保留值的强制转换。 " same_kind"仅表示安全类型转换或同一类型中的类型转换。 "不安全"表示可能会进行任何数据转换。

order:{'K','C','F','A'}(可选)

此参数指定输出数组的计算迭代顺序/内存布局。默认情况下,顺序为K。顺序" C"表示输出应为C连续的。如果输入是F连续的并且如果输入是C连续的,则顺序'F'表示F连续,'A'表示F连续,则'A'表示C连续。 " K"表示匹配输入的元素顺序(尽可能接近)。

dtype:data-type(可选)

它覆盖计算和输出数组的dtype。

subok:bool(可选)

默认情况下,此参数设置为true。如果将其设置为false,则输出将始终是严格数组,而不是子类型。

signature

此参数允许我们为基础计算中使用的1-d循环" for"提供特定的语法。

extobj

此参数是长度1、2或3的列表,指定ufunc缓冲区大小,错误模式整数和错误回调函数。

返回值

此函数返回一个ndarray,该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])

在上述代码中

  • 我们导入了别名为np的numpy。
  • 我们已经使用np.array()函数创建了一个数组'a'。
  • 我们已经声明了变量b,c和d,并分别分配了np.log(),np.log2()和np.log10()函数的返回值。
  • 我们已经在所有函数中传递了数组'a'。
  • 最后,我们尝试打印b,c和d的值。

在输出中,显示了一个ndarray,其中包含源数组的所有元素的log,log2和log10值。

链接:https://www.learnfk.comhttps://www.learnfk.com/numpy/numpy-log.html

来源:LearnFk无涯教程网

范例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()

输出:

numpy.log()

在上面的代码中

  • 我们导入了别名为np的numpy。
  • 我们还导入了别名为plt的matplotlib.pyplot。
  • 接下来,我们使用np.array()函数创建了一个数组'arr'。
  • 之后,我们声明了变量result1,result2,result3,并分别分配了np.log(),np.log2()和np.log10()函数的返回值。
  • 我们在所有函数中都传递了数组'arr'。
  • 最后,我们尝试绘制'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,其中包含源数组元素的日志值。

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

人工智能基础课 -〔王天一〕

赵成的运维体系管理课 -〔赵成〕

Web协议详解与抓包实战 -〔陶辉〕

深入拆解Tomcat & Jetty -〔李号双〕

零基础学Java -〔臧萌〕

OAuth 2.0实战课 -〔王新栋〕

Spring编程常见错误50例 -〔傅健〕

结构思考力 · 透过结构看思考 -〔李忠秋〕

手把手带你写一个 MiniTomcat -〔郭屹〕

好记忆不如烂笔头。留下您的足迹吧 :)