我有一个熊猫数据框,如下所示: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
慕桂英3389331
TA贡献2036条经验 获得超8个赞
如果我只想从列中删除重复项而不删除行。假设我有10行对应于同一时刻。所以我想写txt文件,但是我想一次只打印全部10行,而不是每行显示相同的时间。
添加回答
举报
0/150
提交
取消