簡體   English   中英

如果第三列不同,pandas dataframe刪除2列上的重復項

[英]pandas dataframe delete duplicates on 2 columns if the third is different

我想使用熊貓解決以下問題。 我想刪除具有相同id和y值且具有不同z列的行。 這是一個簡單的示例:

  id  y  z
0  a  0  3
1  a  0  1
2  a  0  3
3  b  3  4
4  b  0  2
5  b  0  2

我想獲得以下結果

  id  y  z
0  b  3  4
1  b  0  2
2  b  0  2

有人有主意嗎?

聯合會

x = df.set_index(['id', 'y'])
x.loc[x.groupby(level=[0,1]).transform(lambda k: k.duplicated(keep=False).all() or k.size==1).z].reset_index()

    id  y   z
0   b   3   4
1   b   0   2
2   b   0   2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM