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

如何筛选Numpy数组中第二个元素大于倒数第二个元素的行

Numpy 数组按行条件筛选实现

直接使用Numpy布尔索引即可实现需求,不需要循环遍历,性能更高。

完整代码示例

import numpy as np

# 输入示例数组
input_arr = np.array([
    [5, 0, 3, 3],
    [7, 9, 3, 5],
    [2, 4, 7, 6],
    [8, 8, 1, 6]
])

# 生成筛选掩码:每行第二个元素(索引为1) > 每行倒数第二个元素(索引为-2)
filter_mask = input_arr[:, 1] > input_arr[:, -2]

# 筛选符合条件的行
output_arr = input_arr[filter_mask]

print(output_arr)

输出结果

[[7 9 3 5]
 [8 8 1 6]]

逻辑说明

  • Numpy数组索引从0开始计数,[:, 1]表示取所有行的第二个元素,[:, -2]表示取所有行的倒数第二个元素,该写法对任意列数≥2的数组都能生效
  • 布尔索引是Numpy原生特性,对比逐行循环判断的写法,数据量越大性能优势越明显

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 12:48:02