私は、行と束が3列の配列を持っています。私は、この値を下回るすべての値を0に変更するこのコードを持っています。どちらの数値がしきい値を超えているか否かを判断するトリックはありますか?私は配列np.array([[1,2,3],[4,5,6],[7,8,9]])
を持っていると言うことができます。私は列1を選択し、値1,4,7(各行の最初の値)で配列を取得します。しきい値が5の場合、5より大きいすべての値を自己の負にする方法があるので、1 、4,7は1,4、-7に変化する。しきい値を超えるすべての値をそれ自身の負数に変更します。
import numpy as np
arr = np.ndarray(my_array)
threshold = 5
column_id = 0
replace_value = 0
arr[arr[:, column_id] > threshold, column_id] = replace_value
これはまさに私がそれを望むように動作します。それがどのように機能するかを理解しようとしています。なぜ、 '* -2 + 1'の終わりに? – Stumpp
'arr [:、column_id]> threshold'は' 1'または '0'として扱われる' true'または 'false'配列を返します。 '* -2 + 1'は' -1'と '1'をそれぞれマップします – jinhwanlazy