我有两个数组(A 和 B),每个数组约有 50 000 个值。每个值代表一个 ID。我想创建一个包含三列的 pandas 数据框,col1:数组 A 中的值,col2:数组 B 中的值,col3:带有标签“唯一”或“重复”的字符串。在每个数组中,ID: 都是唯一的。
数组的长度不同。所以我不能做这样的事情来开始。
a = np.array([1, 2, 3, 4, 5])
a = np.array([5, 6, 7, 8, 9, 10])
pd.DataFrame({'a':a, 'a':b})
然后我想创建一个不同的 pandas 数据框,也包含三列。一个表示 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])
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)