2017-10-24 4 views
0

この要素を引数として取る0以下の行列のすべての要素に関数を適用したいとします。0より小さい配列のすべての要素にPython Apply関数

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

我々は

[0 3 5 
-3 5 3 
9 2 -1] 

を持っているのであれば、たとえば、私はちょうどまた1ずつ追加し、ダミー関数を作成してい3 * func(-1)

+5

funcがベクトル化事業、 'np.where(my_matrix <= 0、3 * funcを(my_matrix)、my_matrixを)'受け入れた場合? – Divakar

答えて

1

3 * func(-3)-1-3を交換したいです変数mの行列をシミュレートします。

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]] 
関連する問題