首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >删除重复行,但保留其数据的联合

删除重复行,但保留其数据的联合
EN

Stack Overflow用户
提问于 2018-08-11 05:18:09
回答 2查看 47关注 0票数 2

我有一个这样的数据框架:

代码语言:javascript
复制
pd.DataFrame([
    [1, None, 'a'],
    [1, 3.3, None],
    [2, 1.7, 'c']
], columns=['unique_id', 'x', 'target'])

我想删除其中一行unique_id1的行,但取它们的值的并集。也就是说,我想生成以下代码:

代码语言:javascript
复制
pd.DataFrame([
    [1, 3.3, 'a'],
    [2, 1.7, 'c']
], columns=['unique_id', 'x', 'target'])

在Pandas中可以有效地做到这一点吗?

假设这个数据帧有10k到100k行,其中可能有10%是我想要消除的重复项。每个unique_id只有2到3个副本。

编辑:当两行都有不一致的条目时,在我的例子中,只取第一个就可以了。但我对解决方案持开放态度,例如,两个值都收集在一个列表中。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-08-11 05:23:13

这给出了您的示例的结果。它获取每组中每列的第一个非NAN值。

代码语言:javascript
复制
df.groupby("unique_id", as_index=False).first()
票数 4
EN

Stack Overflow用户

发布于 2018-08-11 05:23:37

使用groupbyfirst

代码语言:javascript
复制
df.groupby('unique_id').first()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51794147

复制
相关文章

相似问题

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