我希望可以给数组的一些部分赋值。我已经获得了这些部分的索引,它们是元组(start_idx, end_idx)的形式。这些部分可能会重叠或者互相包含。
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
吗? - MSeiferta = np.zeros(10)
,至少会引发一个IndexError
异常。 - MSeiferta = np.zeros(12)
,因为最终输出似乎有12个元素。 - Divakar