我想做个蒙版。我找到了一个函数,但它不能满足我的需要。下面是代码示例:
np.isin([1,2,3,4,5,8,6,1,1],[1,2,3,5,1])此代码返回以下内容:
array([ True, True, True, False, True, False, False, True, True], dtype=bool)但是,除了输出数组的最后一个值外,我希望相同的输出为False。因为我需要这个顺序的序列([1,2,3,5,1])的确切掩码,并且不超过它的长度。
发布于 2017-12-02 16:14:21
在一定数量的Trues之后,可以通过以下方式将元素转换为零:
mask[mask.cumsum() > 5] = False
# ^ length of the second arrayimport numpy as np
mask = np.isin([1,2,3,4,5,8,6,1,1],[1,2,3,5,1])
mask[mask.cumsum() > 5] = False
mask
# array([ True, True, True, False, True, False, False, True, False], dtype=bool)https://stackoverflow.com/questions/47609817
复制相似问题