要按行屏蔽Numpy数组,可以使用numpy的ndarray对象的掩码操作。下面是一个示例代码,演示如何按行屏蔽一个Numpy数组:
import numpy as np
# 创建一个示例数组
arr = np.array([[1, 2, 3],
[4, 5, 6],
[7, 8, 9]])
# 创建一个掩码数组,与arr的形状相同,初始值为True
mask = np.ones_like(arr, dtype=bool)
# 根据需要屏蔽的行号,将对应行的掩码设置为False
rows_to_mask = [1, 2]
mask[rows_to_mask] = False
# 应用掩码,将被屏蔽的行设置为0
masked_arr = np.where(mask, arr, 0)
print(masked_arr)
这个示例代码中,首先创建了一个示例数组arr
,然后创建了一个与arr
形状相同的掩码数组mask
,初始值为True。然后,根据需要屏蔽的行号,将对应行的掩码设置为False。最后,使用np.where
函数应用掩码,将被屏蔽的行设置为0,并打印输出结果。
运行以上代码,输出结果如下:
[[1 2 3]
[0 0 0]
[0 0 0]]
可以看到,第2行和第3行被成功屏蔽,并被设置为0。