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

是否有NumPy函数可按条件删除两个数组中的对应元素?

解决方案

你可以通过布尔索引实现需求:先创建一个掩码标记出两个数组对应位置都不为0的索引,再用这个掩码筛选元素。

import numpy as np

a = np.array([0.0, 3.0, 5.0, 0.0, 10.0])
b = np.array([0.0, 0.0, 1.0, 4.0, 1.0 ])

# 创建掩码:仅保留a和b对应位置都不为0的元素
mask = (a != 0) & (b != 0)

# 应用掩码筛选数组
a_filtered = a[mask]
b_filtered = b[mask]

print(a_filtered)  # 输出: [ 5. 10.]
print(b_filtered)  # 输出: [1. 1.]

说明

mask是一个布尔数组,每个位置的值为True的前提是a和b在该位置的元素都不为0。用这个布尔数组索引原数组,会自动保留对应位置为True的元素,完全匹配你需要的结果。

内容的提问来源于stack exchange,提问作者Matías Liempi

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 14:18:08