我的任务是在 Pandas 数据框中突出显示所有电子邮件重复项。 是否有此功能或删除所有非重复项的方法,这使我可以从数据集中的所有重复项中获得一个不错的列表?
该表由六列组成:
Email, FirstName, LastName, C_ID, A_ID, CreatedDate
a@a.com, Bill, Schneider, 123, 321, 20190502
a@a.com, Damian, Schneider, 124, 231, 20190502
b@b.com, Bill, Schneider, 164, 313, 20190503
我想去掉最后一列,因为最后一封邮件不是重复的。
答案 0 :(得分:2)
这样的事情可能是您正在寻找的解决方案:
{{1}}
答案 1 :(得分:-1)
df = pd.DataFrame(table, columns = ['Email'])
df_duplicates_removed = pd.DataFrame.drop_duplicates(df)
(其中 table 是原始数据框的名称)。
答案 2 :(得分:-1)
您可以使用 value_counts
它为您提供每封电子邮件的计数(作为一个系列)。然后遍历该系列并删除仅包含 1 个值的任何行。
完整代码如下:
for index, value in df.Email.value_counts().iteritems():
if value == 1:
df = df[df.Email != index]
更新 我不知道重复直到指出,所以看起来最好的方法是:
df[df.Email.duplicated(keep=False)]