1. ホーム
  2. python

[解決済み】2D numpy配列のしきい値

2022-02-20 05:21:22

質問内容

512x512の配列があり、i番目とj番目の位置に0から100までの数字が含まれています。ここで、array[i,j] < 25を選択し、他の位置で0を選択したいのですが、可能でしょうか?私は、次のように試してみました。 array = array[where(array<25)] これは1次元の配列を与えますが、私は2次元が欲しいのです。これを解決するために私を助けてください。

どのように解決するのですか?

解決方法は一つです。

result = (array < 25) * array

最初の部分 array < 25 は、値が 25 未満の場合に 1 (True) となり、それ以外の場合に 0 (False) となる、同じ形状の配列を返します。元の配列との要素ごとの掛け算では、25より小さい値が保持され、残りは0になります。

もう一つの可能性は、元の配列で >= 25 の値をすべて 0 にすることです。

array[array >= 25] = 0