Python:获取2D数组中所有元素的日志
我有一个2D numpy阵列:Python:获取2D数组中所有元素的日志,python,arrays,numpy,Python,Arrays,Numpy,我有一个2D numpy阵列: >>> arr = np.arange(1,10).reshape((3,3)) array([[0, 1, 2], [3, 4, 5], [6, 7, 8]]) 我希望取数组中所有元素的对数。 下面的代码可以工作,但有点笨拙 >>> from math import log10 >>> logArr = np.empty((3,3)) >>> for i in
>>> arr = np.arange(1,10).reshape((3,3))
array([[0, 1, 2],
[3, 4, 5],
[6, 7, 8]])
我希望取数组中所有元素的对数。
下面的代码可以工作,但有点笨拙
>>> from math import log10
>>> logArr = np.empty((3,3))
>>> for i in range(3):
... for j in range(3):
... logArr[i][j] = log10(arr[i][j])
...
array([[ 0. , 0.30103 , 0.47712125],
[ 0.60205999, 0.69897 , 0.77815125],
[ 0.84509804, 0.90308999, 0.95424251]])
有没有更有效的方法来做这样的操作?有一个numpy函数,试试看 或者像在您的实现中一样,您可以使用在base 10中查找日志
>>> np.log10(arr)
array([[ 0. , 0.30103 , 0.47712125],
[ 0.60205999, 0.69897 , 0.77815125],
[ 0.84509804, 0.90308999, 0.95424251]])
有一个numpy函数,试试看 或者像在您的实现中一样,您可以使用在base 10中查找日志
>>> np.log10(arr)
array([[ 0. , 0.30103 , 0.47712125],
[ 0.60205999, 0.69897 , 0.77815125],
[ 0.84509804, 0.90308999, 0.95424251]])