我有以下資料集:
id1 id2 value
a1 b1 "main"
a1 b1 "main"
a1 b1 "secondary"
a2 b2 "main"
a2 b2 "repair"
a2 b2 "uploaded"
a2 b2 "main"
我想value在每個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/yidong/492285.html
標籤:Python python-3.x 数据框 功能 通过...分组
下一篇:類方法中的常見默認引數
