python - Numpy:创建一个掩码数组来选择矩形

标签 python arrays numpy indexing mask

有没有办法生成一个数组,屏蔽一个矩形区域,而不需要先初始化一个空数组?

mask = np.zeros((10,10), dtype=bool)
mask[10/2:,10/2:] = True

我正在寻找一个 numpy 表达式来替换这两行并生成 mask

最佳答案

如果你真的非常想要一句俏皮话,这是一种可能的方法。但我想说你原来的代码更干净、更清晰、总体更好......

>>> np.logical_and.outer(np.arange(10) >= 5, np.arange(6) >= 3)
array([[False, False, False, False, False, False],
       [False, False, False, False, False, False],
       [False, False, False, False, False, False],
       [False, False, False, False, False, False],
       [False, False, False, False, False, False],
       [False, False, False,  True,  True,  True],
       [False, False, False,  True,  True,  True],
       [False, False, False,  True,  True,  True],
       [False, False, False,  True,  True,  True],
       [False, False, False,  True,  True,  True]], dtype=bool)

关于python - Numpy:创建一个掩码数组来选择矩形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23113407/

相关文章:

python - 在 Cython 中共享扩展类型以进行静态类型化

javascript - 循环遍历数组并计数

c - 如何使用数组将句子分成单词

python - 使用 Pandas 按不同列分组后,如何使用时间和数据列查找连续行的变化率?

python - 如何在 Python 中考虑正则表达式的重音字符?

python - 使用 OPENCV 进行产品识别

Python:在没有输入被分解的情况下打印行

c - C中的十六进制到字符数组

python - 使用 Matplotlib 在对数刻度上绘制直方图

python - 用 Python 进行蒙特卡洛模拟 : building a histogram on the fly