首页 > 解决方案 > 将 Pandas 数据帧中的重复项移动到新数据帧

问题描述

我正在尝试对熊猫数据框进行排序并找到重复项。

在此处输入图像描述

但是,我不只是试图找到重复项并摆脱它们。我需要准确查看哪些两个(或多个)文件编号包含相同的 EIN,并将其移至新的数据框。

例如,如果 file_num 376 和 7212 包含完全相同的 EIN (12370123723),我想创建一个如下所示的数据框:

EIN:            file_num
12370123723     376, 7212

如果有人对如何做这样的事情有任何建议,我们将不胜感激。我尝试使用 .duplicated() 方法,但这只会返回布尔值,并不能准确告诉我哪些文件是哪些文件的副本。

标签: pythonpandasdataframe

解决方案


请执行下列操作:

dups = df[df.EIN.duplicated(keep=False)]
dups.groupby("EIN")["file_num"].apply(list)

这些是合成数据的结果:

数据:

   EIN  file_num
0    2         0
1    5         1
2    0         2
3    5         3
4    5         4
5    5         5
6    6         6
7    0         7
8    2         8
9    3         9

输出:

EIN
0          [2, 7]
2          [0, 8]
5    [1, 3, 4, 5]

推荐阅读