请教Numpy语法:array[:, mask] = a 的含义解析
解析Numpy语法
array[:, mask] = a 这段代码是Numpy中的布尔索引赋值操作,拆解细节如下:
1. 索引部分 [:, mask]
- 逗号分隔Numpy数组的不同维度:
- 第一个维度的
:表示取该维度的所有元素(如果是二维数组,就是取所有行); - 第二个维度的
mask是布尔数组,它会筛选出该维度中对应值为True的位置——也就是只有mask里为True的列(二维场景下)会被选中。
- 第一个维度的
2. 赋值操作 = a
把通过上述索引选中的所有位置,全部赋值为整数a。
实际示例
用代码直观展示效果:
import numpy as np # 初始化一个3行4列的数组 array = np.arange(12).reshape(3,4) # 布尔掩码:选中第0、2列 mask = np.array([True, False, True, False]) a = 99 # 执行赋值 array[:, mask] = a print(array)
输出结果:
[[99 1 99 3] [99 5 99 7] [99 9 99 11]]
能看到所有行的第0、2列都被替换成了99。
内容的提问来源于stack exchange,提问作者alzbeta.srutkova
相关产品推荐
相关产品推荐

