【发布时间】:2017-07-24 11:55:52
【问题描述】:
给定以下 numpy 矩阵:
import numpy as np
mymatrix = np.matrix('-1 0 1; -2 0 2; -4 0 4')
matrix([[-1, 0, 1],
[-2, 0, 2],
[-4, 0, 4]])
以及以下函数(sigmoid/logistic):
import math
def myfunc(z):
return 1/(1+math.exp(-z))
我想获得一个新的 NumPy 数组/矩阵,其中每个元素都是将 myfunc 函数应用于原始矩阵中的相应元素的结果。
map(myfunc, mymatrix) 失败,因为它试图将 myfunc 应用于行而不是每个元素。我尝试使用numpy.apply_along_axis 和numpy.apply_over_axis,但它们也用于将函数应用于行或列,而不是逐个元素地应用。
那么如何将myfunc(z) 应用到myarray 的每个元素上得到:
matrix([[ 0.26894142, 0.5 , 0.73105858],
[ 0.11920292, 0.5 , 0.88079708],
[ 0.01798621, 0.5 , 0.98201379]])
【问题讨论】:
标签: numpy