リストからアウトライナーを置き換えたい。したがって、上限と下限を定義します。upper_bound
これで、上下のすべての値lower_bound
がバインドされた値に置き換えられます。私のアプローチは、numpy 配列を使用して 2 つのステップでこれを行うことでした。
パフォーマンスと可読性を向上させることができると思うので、これを 1 つのステップで実行できるかどうか疑問に思います。
これを行うためのより短い方法はありますか?
import numpy as np
lowerBound, upperBound = 3, 7
arr = np.array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9])
arr[arr > upperBound] = upperBound
arr[arr < lowerBound] = lowerBound
# [3 3 3 3 4 5 6 7 7 7]
print(arr)