Python 将函数应用于numpyarray,并检查每个元素,以了解返回的结果

Python 将函数应用于numpyarray,并检查每个元素,以了解返回的结果,python,numpy,Python,Numpy,我有以下功能: def Leaky(x): if(x > 0): return x else: return 0.01*x 以及以下numpy阵列: a = np.array([[-1,2],[-3,4]]) 如何将“Leaky”函数应用于“a”numpy数组并消除它所产生的错误: ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all() 期望输出: [[-0.01,2],[-0.03,4]] 提前谢谢

我有以下功能:

def Leaky(x):
    if(x > 0):
        return x
    else:
        return 0.01*x
以及以下numpy阵列:

a = np.array([[-1,2],[-3,4]])
如何将“Leaky”函数应用于“a”numpy数组并消除它所产生的错误:

ValueError:包含多个元素的数组的真值不明确。请使用a.any()或a.all()

期望输出:

[[-0.01,2],[-0.03,4]]

提前谢谢你

如果您使用的是
numpy
,最好的打点方式是:


代码的问题在于,当您执行以下操作时:

a > 0
array([[False,  True],
       [False,  True]])

正如您所看到的,当您将条件应用于
a
中的所有值时,将得到一个与
a
形状相同的数组,因此操作结果不明确

谢谢,这很有帮助!
a > 0
array([[False,  True],
       [False,  True]])