gpt4 book ai didi

python - 我如何获得掩码,反转 numpy.flatnonzero?

转载 作者:太空狗 更新时间:2023-10-30 02:43:49 28 4
gpt4 key购买 nike

给定一个任意的一维掩码:

In [1]: import numpy as np
...: mask = np.array(np.random.random_integers(0,1,20), dtype=bool)
...: mask
Out[1]:
array([ True, False, True, False, False, True, False, True, True,
False, True, False, True, False, False, True, True, False,
True, True], dtype=bool)

我们可以使用 np.flatnonzero 获取 maskTrue 元素数组:

In[2]: np.flatnonzero(mask)
Out[2]: array([ 0, 2, 5, 7, 8, 10, 12, 15, 16, 18, 19], dtype=int64)

但是现在我该如何反转这个过程并从 _2 转到掩码?

最佳答案

创建一个全假掩码,然后使用 numpy 的 index array functionality为掩码分配 True 条目。

In[3]: new_mask = np.zeros(20, dtype=bool)
...: new_mask
Out[3]:
array([False, False, False, False, False, False, False, False, False,
False, False, False, False, False, False, False, False, False,
False, False], dtype=bool)

In[4]: new_mask[_2] = True
...: new_mask
Out[4]:
array([ True, False, True, False, False, True, False, True, True,
False, True, False, True, False, False, True, True, False,
True, True], dtype=bool)

作为检查,我们看到:

In[5]: np.flatnonzero(new_mask)
Out[5]: array([ 0, 2, 5, 7, 8, 10, 12, 15, 16, 18, 19], dtype=int64)

正如预期的那样,_5 == _2:

In[6]: np.all(_5 == _2)
Out[6]: True

关于python - 我如何获得掩码,反转 numpy.flatnonzero?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31998834/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com