我想显示列中任何值的所有行 - "网站"不止一次出现.例如 - 如果某个网站"xyz.com"出现不止一次,那么我想显示所有这些行.我使用以下代码 -
df[df.website.isin(df.groupby('website').website.count() > 1)]
Run Code Online (Sandbox Code Playgroud)
上面的代码返回零行.但我实际上可以看到有这么多网站通过运行以下代码不止一次出现 -
df.website.value_counts()
Run Code Online (Sandbox Code Playgroud)
我应该如何修改我的第一行代码以显示所有这些行?
使用duplicated与subset='website'和keep=False:
df[df.duplicated(subset='website', keep=False)]
Run Code Online (Sandbox Code Playgroud)
样本输入:
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
Run Code Online (Sandbox Code Playgroud)
样本输出:
col1 website
0 A abc.com
1 B abc.com
2 C abc.com
4 E xyz.com
6 G xyz.com
Run Code Online (Sandbox Code Playgroud)