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

如何筛选包含特定值或多个值的NumPy矩阵行?

提取NumPy数组中包含1的行

给定如下NumPy数组:

import numpy as np
m = np.array([[1, 2, 3],
              [2, 4, 3],
              [1, 2, 1]])

需要筛选出任意列中至少包含一个1的行,最终目标结果为:

np.array([[1, 2, 3],
          [1, 2, 1]])

实现代码

# 生成布尔索引:标记每行是否存在1
has_one = (m == 1).any(axis=1)
# 筛选符合条件的行
result = m[has_one]
print(result)

代码说明

  • m == 1:生成与原数组形状一致的布尔数组,每个元素对应原数组位置是否为1
  • .any(axis=1):沿行维度(axis=1)判断每行是否存在至少一个True,返回一维布尔数组
  • m[has_one]:用布尔数组索引原数组,直接提取符合条件的行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 07:25:23