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

如何按首元素小于3的条件对numpy三维数组对应行整行清零

Numpy 实现方案

核心逻辑:先提取所有行的首个元素生成布尔判断掩码,再通过 numpy 布尔索引直接对符合条件的行批量置0。
完整可运行代码如下:

import numpy as np

# 初始化输入的3维数组
input_arr = np.array([
    [[0, 2, 3, 4],
     [4, 2, 3, 4],
     [6, 2, 3, 4]],
    [[2, 2, 3, 4],
     [3, 2, 3, 4],
     [2, 2, 3, 4]]
])

# 生成掩码:判断每行第一个元素是否小于3
mask = input_arr[:, :, 0] < 3
# 符合条件的行所有元素置0
input_arr[mask] = 0

print(input_arr)

按你描述的规则执行后输出为:

[[[0 0 0 0]
  [4 2 3 4]
  [6 2 3 4]]
 [[0 0 0 0]
  [3 2 3 4]
  [0 0 0 0]]]

如果你需要得到你给出的示例期望输出(第二个二维数组所有行全置0),只需要将判断条件修改为 input_arr[:, :, 0] <= 3 即可。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.12 19:33:03