NumPy numpy.log()的使用

NumPy numpy.log()的使用

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,则out数组将被设置为ufunc(通用函数)的结果;否则,将保留其原始值。

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连续的,则为F连续,如果输入是C连续的,则为C连续。’K’表示尽可能匹配输入的元素顺序。

dtype: 数据类型(可选)

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

subok: bool(可选)

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

signature

此参数允许我们为基础计算中的1-d循环提供特定的签名。

extobj

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

返回值

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

示例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值。

示例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 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,其中包含源数组元素的对数值。

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程