如何用NumPy为给定数组中的所有元素计算自然数、底10和底2的对数
numpy.log( )函数在Python中返回输入的自然对数,其中一个数字的自然对数是它对数学常数e的基数的对数,其中e是一个无理数和超常数,大约等于2.718281828459。
语法: numpy.log(arr,out)
参数:
arr : 输入值。可以是标量,也可以是numpy ndim数组。
out :一个储存结果的位置。如果提供,它必须有一个形状,即
输入的广播。如果没有提供或没有,将返回一个新分配的数组。
形状必须与输入阵列相同。
如果一个标量被提供给函数作为输入,那么该函数将被应用于该标量,并返回一个标量。
例子:如果3被作为输入,那么log(3)将被作为输出返回。
import numpy
n = 3
print("natural logarithm of {} is".format(n), numpy.log(n))
n = 5
print("natural logarithm of {} is".format(n), numpy.log(n))
输出:
natural logarithm of 3 is 1.0986122886681098
natural logarithm of 5 is 1.6094379124341003
如果输入是一个n-dim数组,那么函数将按元素顺序应用。例如,np.log([1,2,3])相当于[np.log(1),np.log(2),np.log(3)]
示例:
import numpy
arr = np.array([6, 2, 3, 4, 5])
print(numpy.log(arr))
输出:
[1.79175947 0.69314718 1.09861229 1.38629436 1.60943791]
与numpy.log()类似的函数。
- numpy.log2() :计算以2为基数的对数。这个函数的参数与numpy.log()相同。它也被称为二进制对数。y的基数2对数是指为了得到y的值,必须将数字2提高到哪个幂。
- numpy.log10() :计算以10为基数的对数。参数与numpy.log()相同。y的基数10对数是指数字10必须提高到什么程度才能得到y的值。
示例:
# importing numpy
import numpy
# natural logarithm
print("natural logarithm -")
arr = numpy.array([6, 2, 3, 4, 5])
print(numpy.log(arr))
# Base 2 logarithm
print("Base 2 logarithm -")
arr = numpy.array([6, 2, 3, 4, 5])
print(numpy.log2(arr))
# Base 10 logarithm
print("Base 10 logarithm -")
arr = numpy.array([6, 2, 3, 4, 5])
print(numpy.log10(arr))
输出:
natural logarithm -
[1.79175947 0.69314718 1.09861229 1.38629436 1.60943791]
Base 2 logarithm -
[2.5849625 1. 1.5849625 2. 2.32192809]
Base 10 logarithm -
[0.77815125 0.30103 0.47712125 0.60205999 0.69897 ]