为了账号安全,请及时绑定邮箱和手机立即绑定

从仅某些列具有相同值的Pandas数据框中删除重复的行

从仅某些列具有相同值的Pandas数据框中删除重复的行

largeQ 2019-11-19 15:32:05
我有一个熊猫数据框,如下所示:A   B   C1   2   x1   2   y3   4   z3   5   x我希望在特定列中共享相同值的行只剩下1行。在上面的示例中,我的意思是A和B列。换句话说,如果列A和B的值在数据帧中出现多次,则仅应保留一行(这一点无关紧要)。FWIW:所谓的重复行(即A列和B列相同)的最大数量为2。结果应如下所示:A   B   C1   2   x3   4   z3   5   x要么A   B   C1   2   y3   4   z3   5   x
查看完整描述

2 回答

?
POPMUISE

TA贡献1765条经验 获得超5个赞

drop_duplicates与参数一起使用,subset仅保留最后重复的行add keep='last':


df1 = df.drop_duplicates(subset=['A','B'])

#same as

#df1 = df.drop_duplicates(subset=['A','B'], keep='first')

print (df1)

   A  B  C

0  1  2  x

2  3  4  z

3  3  5  x

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

print (df2)

   A  B  C

1  1  2  y

2  3  4  z

3  3  5  x


查看完整回答
反对 回复 2019-11-19
?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

如果我只想从列中删除重复项而不删除行。假设我有10行对应于同一时刻。所以我想写txt文件,但是我想一次只打印全部10行,而不是每行显示相同的时间。

查看完整回答
反对 回复 2019-11-19
  • 2 回答
  • 0 关注
  • 3042 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信