如果值重复X次以上,则删除熊猫行

时间:2020-04-15 18:09:06

标签: python pandas

如何删除重复的列值超过2次的行。它可能是连续的,也可能不是连续的。喜欢:

NAME      EMAIL
Joe       joe@email.com
John      joe@email.com
Eric      eric@mymail.com
Melissa   mel@email.com
Ron       joe@email.com

我想用joe@email.com删除所有行,因为它重复两次以上。

1 个答案:

答案 0 :(得分:0)

创建数据框

import pandas as pd
import numpy as np

data = {'Name': ['Michael', 'Larry', 'Shaq', 'barry'], 'email': ['asf@gmail.com', 'akfd@gmail.com', 'asf@gmail.com', 'asf@gmail.com'] }

df1 = pd.DataFrame.from_dict(data)

print(df1)

      Name           email
0  Michael   asf@gmail.com
1    Larry  akfd@gmail.com
2     Shaq   asf@gmail.com
3    barry   asf@gmail.com

然后通过大于2的列中的值对其进行过滤

fil =  df1.groupby('email').filter(lambda x : len(x)<2)

print(fil)

    Name           email
1  Larry  akfd@gmail.com