在python 3和pandas中,我需要通过重复列中的值来消除数据帧中的重复行。为此,我使用了:

consolidado = df_processos.drop_duplicates(['numero_unico'], keep='last')


列“ numero_unico”具有字符串格式的代码,例如0029126-45.2019.1.00.0000、0026497-98.2019.1.00.0000、0027274-83.2019.1.00.0000 ...

因此,以上命令仅保留找到的最后一个字符串代码外观

请问有人知道如何使用drop_duplicates例外吗?

但是列内容并不总是字符串代码。在几行中显示内容“ Semnúmeroúnico”

我想保留所有存在此异常的行。但是使用上面的命令,生成的数据帧仅保留“ Semnúmeroúnico”的最后一次出现

最佳答案

以我对OP的评论为例,

df = pandas.DataFrame({
    'a': ['snu', 'snu', '002', '002', '003', '003'],
    'b': [1, 2, 2, 1, 5, 6]
})
df_dedupe = pandas.concat([
    df[df['a']=='snu'],
    df[df['a']!='snu'].drop_duplicates(['a'], keep='last')
])

10-04 22:00
查看更多