python - 在两个数组中查找重复值,Python
问题描述
我有两个数组(A 和 B),每个数组有大约 50 000 个值。每个值都代表一个 ID。我想创建一个包含三列的熊猫数据框,col1:来自数组 A 的值,col2:来自数组 B 的值,col3:带有标签“唯一”或“重复”的字符串。在每个数组中,ID:s 都是唯一的。
数组的长度不同。所以我不能做这样的事情来开始。
a = np.array([1, 2, 3, 4, 5])
a = np.array([5, 6, 7, 8, 9, 10])
pd.DataFrame({'a':a, 'a':b})
然后我想创建一个不同的熊猫数据框,也有三列。一个用于 ID,另一个用于 ID 来自哪个数组(a 或 b)。然后按 ID 分组并计算出现次数。如果 >=2 那么我们有一个副本。
但我不知道如何在同一列中一个接一个地获取 numpy 数组(如 R 中的 rbind),同时根据值来自哪个数组创建另一列。
很可能有比我上面建议的更好的解决方案。有任何想法吗?
解决方案
要在两个数组中查找重复元素,请使用numpy.intersect1d
:
In [458]: a = np.array([1, 2, 3, 4, 5])
In [459]: b = np.array([5, 6, 7, 8, 9, 10])
In [462]: np.intersect1d(a,b)
Out[462]: array([5])
推荐阅读
- ios - 如何在没有开发选项和摇动设备或没有打包程序的情况下在 ios 中运行本机应用程序?
- excel - 如何在显示 Userform 时阻止用户做任何其他事情?
- javascript - 带有 React 问题的纯 Javascript mouseenter 和 mouseleave 事件委托
- sql - 操作数类型冲突 - SQL Server INSERT 存储过程
- java - Vaadin ConfirmDialog 自定义
- vb6 - 将 VB6 编译为 Server 2016 上的后台进程
- html - 按登录按钮 Excel Vba
- gcc - tcmalloc 不会覆盖aligned_alloc?
- c# - 在构造函数中构造派生类属性而不调用虚拟成员
- oracle - 在 SQL 中从每月付款计算利率