Python将函数应用于小于0的数组的所有元素

Python将函数应用于小于0的数组的所有元素,python,arrays,numpy,matrix,Python,Arrays,Numpy,Matrix,我想将一个函数应用于矩阵中所有小于或等于0的元素,这些元素以该元素为参数 my_matrix[my_matrix <= 0] = 3 * (func(my_input_here)) 我想用3*func-3替换-3,用3*func-1替换-1,我正在创建一个虚拟函数,它只需加1。并用变量m模拟矩阵 输出: [[3, 3, 5], [-6, 5, 3], [9, 2, 0]] 如果func接受矢量化运算,则np.wheremy_矩阵 m = [[0, 3, 5], [-3

我想将一个函数应用于矩阵中所有小于或等于0的元素,这些元素以该元素为参数

   my_matrix[my_matrix <= 0] = 3 * (func(my_input_here))

我想用3*func-3替换-3,用3*func-1替换-1,我正在创建一个虚拟函数,它只需加1。并用变量m模拟矩阵

输出:

[[3, 3, 5],
 [-6, 5, 3], 
[9, 2, 0]]

如果func接受矢量化运算,则np.wheremy_矩阵
m = [[0, 3, 5],
    [-3, 5, 3],
     [9, 2, -1]]

def my_func(x):
    return x + 1

m = [[element if element > 0 else 3 * my_func(element) for element in row ] for row in m] 
print(m)
[[3, 3, 5],
 [-6, 5, 3], 
[9, 2, 0]]