我有一個資料集:
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 組中“值”列中的重復值。所以想要的結果是:
id1 id2 value
a1 b1 "main"
a1 b1 "secondary"
a2 b2 "main"
a2 b2 "repair"
a2 b2 "uploaded"
我怎么能那樣做?我知道方法 drop_duplicates 但如何將它與 groupby 一起使用?
uj5u.com熱心網友回復:
嘗試:
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"
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/491312.html
標籤:Python python-3.x 数据框 功能 通过...分组
下一篇:按id分組并根據條件更改列值
