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

如何移除NumPy二维数组中包含-1.0达2次及以上的行

解决方案

先把你的列表转换成NumPy数组,再按以下步骤处理:

  1. 导入NumPy库:
import numpy as np
  1. 定义原始数据并转为NumPy数组:
data = [[1.1, 1.2, 1.3, 1.4],[2.1, 2.2, 2.3, -1.0],[-1.0, 3.2, 3.3, -1.0],[-1.0, -1.0, -1.0, -1.0]]
np_data = np.array(data)
  1. 统计每行中-1.0的出现次数,筛选出次数小于2的行:
# 计算每行里-1.0的数量
neg1_count = (np_data == -1.0).sum(axis=1)
# 保留数量不足2的行
filtered_data = np_data[neg1_count < 2]
  1. 查看结果:
print(filtered_data)
# 输出:
# [[1.1 1.2 1.3 1.4]
#  [2.1 2.2 2.3 -1.]]

原理说明

  • np_data == -1.0生成布尔数组,True对应值为-1.0的位置
  • .sum(axis=1)按行求和(布尔值True算1,False算0),得到每行-1.0的个数
  • 用布尔索引neg1_count < 2直接提取符合条件的行

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.21 16:46:05