numpy日志示例| Python中的np 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]) =
参量
np.log()方法很简单,因为它只有非常大的参数。
np.log()的三个参数是x,out和where,但是有三个以上的参数。
这些参数中的两个参数out和awhere参数不太常用。让我们一一看。
x:类似数组
x参数定义numpy log()函数的输入值。
out:ndarray,None或ndarray和None的元组(可选)
out参数用于定义存储结果的位置。如果我们定义out参数,它的形状必须类似于输入广播。否则,将返回一个新分配的数组。元组的长度等于输出的数量。
其中:array_like(可选)
这是通过输入广播的条件。在此条件为True的位置,将out数组设置为ufunc(通用函数)结果;否则,它将保留其原始值。
强制转换:{‘no’,’equiv’,’safe’,’same_kind’,’unsafe’}(可选)
广播参数控制可能发生的数据广播的类型。
“否”表示完全不应该转换数据类型。
“ equiv”表示仅允许字节顺序更改。
“安全”参数表示可以保留保留值的唯一强制类型转换。
参数“ same_kind”仅表示安全类型转换或同类中的类型转换。
“不安全”参数表示可能会进行任何数据转换。
顺序:{‘K’,’C’,’F’,’A’}(可选)
order参数定义输出数组的计算迭代顺序/内存布局。默认情况下,订单为K。
订单“ C”表示输出应为C连续的。
订单“ F”表示F连续,
如果输入是F连续的,则顺序“ A”表示F连续;如果输入是C连续的,则“ A”表示C连续。 “ K”表示匹配输入的元素顺序(尽可能接近)。
dtype:数据类型(可选)
它覆盖计算和输出数组的dtype。
subok:bool(可选)
默认情况下,subok参数设置为True。如果将其设置为False值,则输出将始终是严格数组,而不是子类型。
签名
通过签名参数,我们可以为基础计算中使用的一维循环“ for”提供特定的签名。
extobj
extobj参数是一个长度为1、2或3的列表,指定ufunc缓冲区大小,错误模式整数和错误回调方法。
返回值
Numpy log()函数返回包含x的自然对数值的ndarray,该值属于输入数组的所有元素。
例
使用log()函数的语法非常简单,但是当您有一些使用示例时,总是很容易理解代码。话虽如此,让我们看一些例子。
import numpy as np data = np.array([1, 3, 5, 9]) print('The data array is: ', data) logval = np.log(data) print('The "logval" array is: ', logval)
输出量
The data array is: [1 3 5 9] The "logval" array is: [0. 1.09861229 1.60943791 2.19722458]
在上面的代码中,首先,我们导入了别名为np的numpy,然后使用np.array()函数创建了一个数组数据。然后,我们使用了np log()方法来获取自然对数。
NP日志的图形表示
我们可以使用matplotlib库创建日志值的图形表示。
import numpy as np import matplotlib.pyplot as plt arr = [3, 3.4, 3.8, 4.2, 4.6, 5] res = np.log(arr) res2 = np.log2(arr) res3 = np.log10(arr) plt.plot(arr, arr, color="blue", marker="*") plt.plot(res, arr, color="green", marker="o") plt.plot(res2, arr, color="red", marker="*") plt.plot(res3, arr, color="black", marker="*") plt.show()
输出量
将np.log()与单个数字一起使用
在这里,我们将计算数学常数e(也称为欧拉数)的自然对数。
为此,我们将能够使用Numpy数组中的常量np.e。
如果进行打印,则可以看到该值:
print(np.e)
输出量
2.718281828459045
现在,让我们计算一下 使用np.log()。
import numpy as np print(np.log(np.e))
输出量
python3 app.py 1.0
这是相对简单的。
在这里,我们正在计算常数的自然对数 是指数的倒数。
如果您愿意,请尝试使用其他数字来运行此代码 。
在二维Numpy阵列上应用日志
首先,让我们创建Numpy数组。我们将使用np.arange来创建值从1到6的Numpy数组,然后使用Numpy reshape()方法将该数组重新整形为二维。
import numpy as np D2_Array = np.arange(start=1, stop=7).reshape((2, 3)) print(D2_Array)
输出量
[[1 2 3] [4 5 6]]
现在,让我们使用Numpy log()计算自然对数。
import numpy as np D2_Array = np.arange(start=1, stop=7).reshape((2, 3)) print(np.log(D2_Array))
输出量
[[0. 0.69314718 1.09861229] [1.38629436 1.60943791 1.79175947]]
同样,np.log()只是计算输入数组中每个元素的自然对数。
在这种情况下,输入是2 X 3数组(具有两行三列的二维数组),因此输出具有相同的形状。
总结
总结一下,Numpy对数函数相对简单:我们使用它来计算Numpy数组中值的自然对数。您可能会记得数学课中的对数。
自然对数是指数函数的倒数, ,这样:
计算日志在科学任务中相当普遍,而Numpy日志为我们提供了一种简便的方法来计算Python中的自然对数。
也可以看看
百分位数()
numpy convolve()
numpy随机randn()