4

a別の配列によって満たされた条件で配列をマスクする必要がありbます。

たとえば、 の値は、同じ位置の値が0 に等しいa場合にのみ保持する必要があります。それ以外の場合は、 として返します。例えば:bNone

a = np.array([2, 2, 4, 0, 4, 3, 3, 3, 1, 2])

によってマスクされています

b = np.array([0, 0, 0, 1, 0, 3, 0, 5, 0, 0])

戻る

c: [2, 2, 4, None, 4, None, 3, None, 1, 2]

私が試してみました

to_change = np.ma.masked_where(travel_time!=0, new_subareas)

しかし、これは次を返します:

masked_array(data=[2, 2, 4, --, 4, --, 3, --, 1, 2],
             mask=[False, False, False,  True, False,  True, 
                   False,  True, False, False],
                   fill_value=999999)

しかし、 の例のようなものを返すだけのものは見つかりませんc

numpyこれは非常に大きな配列の場合になるため、速度のために、forループまたはifステートメントの有無にかかわらず、完全に何かを行う必要があります。私は何が欠けていますか?

4

2 に答える 2