我有以下数据集:
id1 id2 value
a1 b1 "main"
a1 b1 "main"
a1 b1 "secondary"
a2 b2 "main"
a2 b2 "repair"
a2 b2 "uploaded"
a2 b2 "main"
我想删除每个 id1
和 id2
组中名为 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/