首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除另一列中具有多个唯一值的组。

删除另一列中具有多个唯一值的组。
EN

Stack Overflow用户
提问于 2019-01-04 10:25:23
回答 1查看 395关注 0票数 0

我有一个优秀的

代码语言:javascript
复制
Name   X    Y
A      5    9
B      5    10
C      7    9
D      7    9
E      5    10
F      5    8

我希望删除Y列中有重复值但X列中有不同值的行。(换句话说,如果Y的一个值有多个X值,则删除所有这些行)结果应该是:

代码语言:javascript
复制
Name   X    Y
B      5    10
E      5    10
F      5    8
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-01-04 10:26:44

groupbytransform"nunique"一起使用,并在X中筛选出具有超过一个唯一值的组:

代码语言:javascript
复制
df[df.groupby('Y').X.transform('nunique') == 1]

  Name  X   Y
1    B  5  10
4    E  5  10
5    F  5   8

类似的解决方案,使用map广播结果:

代码语言:javascript
复制
df[df.Y.map(df.groupby('Y').X.nunique()) == 1]

  Name  X   Y
1    B  5  10
4    E  5  10
5    F  5   8
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54037062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档