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

如何比较numpy数组并查找删除两数组的共有元素

实现方案

首先导入numpy库,构造你的目标数组:

import numpy as np

text = np.array(["one.csv", "two.csv", "three.csv"])
result = np.array(["one.csv", "two.csv", "three.csv", "four.csv", "five.csv"])

方法1:使用numpy内置差集函数np.setdiff1d

直接计算仅在result中出现、不在text中出现的元素:

  • 不需要保留原有顺序的写法:
filtered_result = np.setdiff1d(result, text)
  • 需要保留result原有元素顺序(numpy 1.24及以上版本支持):
filtered_result = np.setdiff1d(result, text, keep_order=True)

方法2:全版本兼容保序写法

通过np.isin生成布尔掩码筛选元素,无版本依赖,默认保留原有顺序:

# 取反得到不在text中的元素的掩码
mask = ~np.isin(result, text)
filtered_result = result[mask]

两种方法最终输出的filtered_result均为['four.csv' 'five.csv'],符合需求。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 09:03:03