Python 显示特定列中任何值多次出现的行

Python 显示特定列中任何值多次出现的行,python,pandas,Python,Pandas,我想显示列“网站”中任何值多次出现的所有行。例如,如果某个网站“xyz.com”出现多次,那么我想显示所有这些行。我正在使用以下代码- df[df.website.isin(df.groupby('website').website.count() > 1)] 上面的代码返回零行。但我可以通过运行下面的代码看到有很多网站不止一次出现- df.website.value_counts() 我应该如何修改我的第一行代码以显示所有这样的行 与subset='website'和keep=Fal

我想显示列“网站”中任何值多次出现的所有行。例如,如果某个网站“xyz.com”出现多次,那么我想显示所有这些行。我正在使用以下代码-

df[df.website.isin(df.groupby('website').website.count() > 1)]
上面的代码返回零行。但我可以通过运行下面的代码看到有很多网站不止一次出现-

df.website.value_counts()
我应该如何修改我的第一行代码以显示所有这样的行

subset='website'
keep=False一起使用:

df[df.duplicated(subset='website', keep=False)]
样本输入:

  col1  website
0    A  abc.com
1    B  abc.com
2    C  abc.com
3    D  abc.net
4    E  xyz.com
5    F  foo.bar
6    G  xyz.com
7    H  foo.baz 
样本输出:

  col1  website
0    A  abc.com
1    B  abc.com
2    C  abc.com
4    E  xyz.com
6    G  xyz.com

这管用!谢谢还有另一个困惑。在使用上述代码行之后,我得到了200行(这意味着200行有重复的网站)。当我使用df.drop_duplicates(subset='website')时,它会删除2500行。为什么会这样?它不应该只删除200行吗?如果您想删除所有重复项,您可以使用
df.drop\u duplicates(subset='website',keep=False)
。默认情况下,
drop\u duplicates
保留副本的第一个实例,然后删除其余实例,除非您使用
keep
另外指定。但这并不能解释您看到的行为,测试
drop\u duplicates
的效果与我预期的一样。您可能需要深入挖掘,看看哪些行被删除了,而哪些行不在
duplicated
输出中。调查这可能有助于解释差异。
drop_duplicates
将删除除第一行以外的所有重复行。从上面的代码中可以看到200行,这意味着唯一的行是200行,而所有其他行都是这200行的副本,所以它减少了2500行。检查删除重复项后剩余的行数。我想你会再次得到200分