You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于索引条件正确为2D numpy数组生成掩码?

生成Numpy索引条件掩码的简便方法

你完全可以用Numpy自带的向量化工具实现需求,不需要写嵌套循环,这里提供两种常用方案:

方案1:切片直接赋值(最适配当前奇偶索引需求)

针对行、列均取偶数索引的固定规则场景,用Numpy步长切片一行就能完成赋值,效率远高于循环实现:

mask = np.zeros(x.shape, dtype=bool)
mask[::2, ::2] = True

::2表示从索引0开始,步长为2选取元素,正好对应0、2、4这类偶数索引,行、列维度同时按该规则赋值,就能得到符合要求的掩码。

方案2:np.indices通用索引判断(适合复杂自定义条件)

如果后续你的判断规则更灵活(比如行索引大于列索引、行列索引之和满足特定公式等),可以用np.indices生成全量行列索引矩阵后做向量化判断,扩展性更强:

row_idx, col_idx = np.indices(x.shape)
mask = (row_idx % 2 == 0) & (col_idx % 2 == 0)

不管判断规则多复杂,只要替换成对应的矩阵运算逻辑即可,全程不需要写循环。

内容的提问来源于stack exchange,提问作者not_alex

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 19:54:03