配列の一部のセグメントに値を割り当てたいとします。 セグメントのインデックスがタプル(start_idx、end_idx)になっています。 セグメントは、互いにオーバーレイするか、またはサブセグメントである可能性があります。オーバーレイされたインデックスのスライスでnumpy配列に値を代入
a = np.zeros(12)
segments = np.array([(0, 3), (1, 2), (6, 8), (8, 10)])
a[segments] = 1
結果は次のとおりです。
a
>> array([1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0])
がどのように私は、この出力を得るために、すべてのセグメントをマスクすることができます。
a
>> array([1, 1, 1, 1, 0, 0, 1, 1, 1, 1, 1, 0])
希望する出力が正しいですか? '[3]'要素が間違っているようですね!それは '0'ではないでしょうか? – MSeifert
@MSeifertセグメントの終了を含むようです。 – Divakar
@Divakarしかし、「10」はどのように処理されるべきですか?通常、少なくとも 'a = np.zeros(10)'では 'IndexError'になります。 – MSeifert