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

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

/ 猿问

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

largeQ 2019-11-19 15:32:05

我有一个熊猫数据框,如下所示:


A   B   C

1   2   x

1   2   y

3   4   z

3   5   x

我希望在特定列中共享相同值的行只剩下1行。在上面的示例中,我的意思是A和B列。换句话说,如果列A和B的值在数据帧中出现多次,则仅应保留一行(这一点无关紧要)。


FWIW:所谓的重复行(即A列和B列相同)的最大数量为2。


结果应如下所示:


A   B   C

1   2   x

3   4   z

3   5   x

要么


A   B   C

1   2   y

3   4   z

3   5   x


查看完整描述

2 回答

?
POPMUISE

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

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

查看完整回答
反对 回复 2019-11-19

添加回答

回复

举报

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