NumPy具有log
,log2
和log10
方法,可以执行矢量化日志库e / 2/10(分别)。但是,为了进行逆运算(取幂),我只看到exp
。为什么没有exp2
/ exp10
/ etc?
我尝试过使用np.power(10, nums)
,但它不会让我屈服于负面力量。 10 ** nums
也不起作用。
答案 0 :(得分:2)
如果您使用10 ** nums
dtype,它应该可以与float
一起使用。否则它将创建一个整数数组:
>>> a = numpy.array([-1, 0, 1, 2, 3], dtype=int)
>>> 2 ** a
array([0, 1, 2, 4, 8])
>>> 10 ** a
array([ 0, 1, 10, 100, 1000])
>>> a = numpy.array([-1, 0, 1, 2, 3], dtype=float)
>>> 10 ** a
array([ 1.00000000e-01, 1.00000000e+00, 1.00000000e+01,
1.00000000e+02, 1.00000000e+03])
您也可以使用float
代替10.0
强制转为10
:
>>> a = numpy.array([-1, 0, 1, 2, 3], dtype=int)
>>> 10.0 ** a
array([ 1.00000000e-01, 1.00000000e+00, 1.00000000e+01,
1.00000000e+02, 1.00000000e+03])