Quiero eliminar duplicados de DF donde los valores de la columna son iguales para una clave única. Ejemplo:
En:
KEY SYSTEM
TD-438426 AAA
TD-438426 BBB
TD-438426 AAA
TD-438709 BBB
TD-438709 BBB
TD-438750 CCC
TD-438750 CCC
TD-438750 CCC
TD-438874 AAA
TD-438874 BBB
Afuera:
KEY SYSTEM
TD-438426 AAA
TD-438426 BBB
TD-438709 BBB
TD-438750 CCC
TD-438874 AAA
TD-438874 BBB
PD Por supuesto, hay algunas excepciones que quiero captar.
En:
KEY TEST SYSTEM
TD-438426 ABC AAA
TD-438426 ABC BBB
Afuera:
KEY TEST SYSTEM
TD-438426 ABC AAA
TD-438426 ABC BBB
Y
En:
KEY TEST SYSTEM
TD-438426 ABC AAA
TD-438426 CBA AAA
Afuera:
KEY TEST SYSTEM
TD-438426 ABC AAA
Como @mcsioni mencionó en los comentarios, lo que estás buscando esdf.drop_duplicates()
Además, es útil comprender dos argumentos de este método, a saber, subset
y keep
.
Por ejemplo, desea conservar solo valores únicos en la KEY
columna y mantener el primer SYSTEM
valor para cada único KEY
, haría lo siguiente:
df.drop_duplicates(subset=['KEY'], keep='first')
Si acaba de usar df.drop_duplicates()
sin ningún argumento, el subconjunto serán todas las columnas, que es lo que solicita el resultado deseado.
EDITAR
Para mantenerse al día con su nuevo requisito, haga lo siguiente:
df.drop_duplicates(subset=['KEY', 'SYSTEM'], keep='first')
Nota: el comportamiento predeterminado para el keep
argumento es 'first'
, pero no está de más, ser explícito cuando se trabaja con bibliotecas de alto nivel como pandas.
Este artículo se recopila de Internet, indique la fuente cuando se vuelva a imprimir.
En caso de infracción, por favor [email protected] Eliminar
Déjame decir algunas palabras