热线电话:13121318867

登录
2019-03-06 阅读量: 845
Pandas根据选定的列删除重复项

我有一个pandas数据帧如下:

df1

A B x y

0 10 Z1 106 375

1 11 Z1 111 459

2 10 Z1 109 379

但是我想保留基于A列和B列的唯一行。所以我的输出预期为:(保留最后一行重复)是

df2

A B x y

1 11 Z1 111 459

2 10 Z1 109 379

我使用了groupby,设置索引和子集但没有任何作用:

我期望如果我使用以下它将工作,但不工作:

df2 = df1.drop_duplicates(subset=['A','B'], keep='last')

但是我没有得到我想要的输出,列A的值为10的行都在那里。帮助将不胜感激。

我使用的是Anaconda和Pandas版本23.4。

解决办法:尝试:

df = df1.sort_values(by = ['A', 'B'}).drop_duplicates(subset=['A','B'], keep='last')

这会将最后一行保留为“A”和“B”值最高的行

6.4876
2
关注作者
收藏
评论(0)

发表评论

暂无数据
推荐帖子