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”值最高的行






评论(0)


暂无数据
推荐帖子
0条评论
0条评论
0条评论