python - 如何删除数据框中每个组中的重复项?

标签 python python-3.x dataframe function group-by

我有以下数据集:

id1   id2     value
a1    b1     "main"
a1    b1     "main"
a1    b1     "secondary"
a2    b2     "main"
a2    b2     "repair"
a2    b2     "uploaded"
a2    b2     "main"

我想删除每个 id1id2 组中名为 value 的列中的重复值。所以想要的结果是:

id1   id2     value
a1    b1     "main"
a1    b1     "secondary"
a2    b2     "main"
a2    b2     "repair"
a2    b2     "uploaded"

我怎样才能做到这一点?我知道 drop_duplicates 方法,但如何将它与 groupby 一起使用?

最佳答案

尝试:

x = (
    df.groupby(["id1", "id2"])
    .apply(lambda x: x.drop_duplicates("value"))
    .reset_index(drop=True)
)
print(x)

打印:

  id1 id2        value
0  a1  b1       "main"
1  a1  b1  "secondary"
2  a2  b2       "main"
3  a2  b2     "repair"
4  a2  b2   "uploaded"

关于python - 如何删除数据框中每个组中的重复项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/72630745/

相关文章:

python - 无效的 block 标记 : 'endblock' django

python - 如何在redis-py中设置等待管道响应的redis超时?

python - 计算 pandas 列中指定范围值的平均值并存储为另一列

python - python 中的作用域规则

python - 在多个日期窗口上应用 pandas rolling 的更快方法

python - Pandas : Get the least number of records so all columns have at least one non null value

pandas - 重命名 pandas 中的多索引

python - 如何使用python3.7处理ib_insync中的异步错误?

python - 我可以仅克隆 Git 存储库中大小低于指定限制的文件吗?

python - 是否可以覆盖类的 __call__ 方法?