首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在多个列上放置重复项,而不考虑顺序(a/b == b/a)

在多个列上放置重复项,而不考虑顺序(a/b == b/a)
EN

Stack Overflow用户
提问于 2022-01-07 13:08:46
回答 1查看 692关注 0票数 0

有没有办法在不考虑订单的情况下删除大熊猫中的重复配对呢?

删除前的数据->要删除重复对(黄色)

删除重复之后

示例数据:

代码语言:javascript
复制
df = pd.DataFrame({'a': [1,2,1,1,2,2],
                   'b': [2,1,3,4,3,4]
                  })
EN

回答 1

Stack Overflow用户

发布于 2022-01-07 13:15:42

您可以生成一个frozenset,使其具有一个公共的、无序的项到groupby,然后按组获取first项:

代码语言:javascript
复制
df.groupby(df.apply(frozenset, axis=1), as_index=False).first()

或者在duplicated系列中使用frozenset

代码语言:javascript
复制
df[~df.apply(frozenset, axis=1).duplicated()]

产出:

代码语言:javascript
复制
   a  b
0  1  2
1  1  3
2  1  4
3  2  3
4  2  4
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70621746

复制
相关文章

相似问题

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